Unformatted text preview:

University of Toronto create knowledge study the world as it is are trained in scientific method use explicit knowledge are thinkers Devices vs Systems How is software engineering different Engineering as a profession Engineering Projects create knowledge are problem driven seek to understand and explain design experiments to test theories prefer abstract knowledge but rely on tacit knowledge Project Initiation Project Lifecycles Software Engineering lifecycles Waterfalls spirals etc Requirements Lifecycles Engineers apply that knowledge seek to change the world are trained in engineering design use tacit knowledge are doers More realistic View Scientists Project Management Traditional View Scientists What is engineering about Engineering vs Science Department of Computer Science Engineering vs Science Lecture 3 What is Engineering University of Toronto Department of Computer Science Engineers create knowledge are problem driven seek to understand and explain design devices to test theories prefer contingent knowledge but rely on tacit knowledge Both involve a mix of design and discovery 1 Easterbrook 2004 University of Toronto University of Toronto Department of Computer Science What is engineering Department of Computer Science Devices vs Systems Engineering is the development of cost effective solutions to practical problems through the application of scientific knowledge Normal design Old problems whose solutions are well known Engineering codifies standard solutions Engineer selects appropriate methods and technologies Cost effective Design focuses on well understood devices Consideration of design trade offs esp resource usage Devices can be studied independent of context Differences between the mathematical model and the reality are minimal Minimize negative impacts e g environmental and social cost Solutions Emphasis on building devices Radical design Never been done or past solutions have failed Practical problems Often involves a very complex problem Bring together complex assemblies of devices into new systems solving problems that matter to people Such systems are not amenable to reductionist theories Such systems are often soft no objective criteria for describing the system improving human life in general through technological advance Application of scientific knowledge Systematic application of analytical techniques Easterbrook 2004 2 Easterbrook 2004 Examples Most of Computer Engineering involves normal design All of Systems Engineering involves radical design by definition Much of Software Engineering involves radical design soft systems 3 Easterbrook 2004 4 1 University of Toronto University of Toronto Department of Computer Science Is software different Professional Responsibility Software is different CLIENT AND EMPLOYER act in a manner that is in the best interests of your client and employer consistent with the public interest its purpose is to configure some hardware to do something useful PRODUCT ensure that your products and related modifications meet the highest professional standards possible there are no physical laws underlying software behaviour there are no physical constraints on software complexity JUDGEMENT maintain integrity and independence in your professional judgment software never wears out MANAGEMENT subscribe to and promote an ethical approach to the management of software development and maintenance traditional reliability measures don t apply software can be replicated perfectly PROFESSION advance the integrity and reputation of the profession consistent with the public interest no manufacturing variability COLLEAGUES be fair to and supportive of your colleagues Software Myths SELF participate in lifelong learning and promote an ethical approach to the practice of the profession Myth Cost of software is lower than cost of physical devices Myth Software is easy to change Myth Computers are more reliable than physical devices Myth Software can be formally proved to be correct Myth Software reuse increases safety and reliability Myth Computers reduce risk over mechanical systems Of particular relevance in RE Competence never misrepresent your level of competence Confidentiality respect confidentiality of all stakeholders Intellectual property rights respect protections on ideas and designs Data Protection be aware of relevant laws on handling personal data 5 Easterbrook 2004 University of Toronto ACM IEEE code of ethics PUBLIC act consistently with the public interest software is invisible intangible abstract University of Toronto Department of Computer Science Department of Computer Science Project Types A manager can control 4 things Reasons for initiating a software development project Resources can get more dollars facilities personnel Problem driven competition crisis Time can increase schedule delay milestones etc Change driven new needs growth change in business or environment Product can reduce functionality e g scrub requirements Opportunity driven exploit a new technology Risk can decide which risks are acceptable Legacy driven part of a previous plan unfinished work To do this a manager needs to keep track of Effort How much effort will be needed How much has been expended May be another company with contractual arrangement May be a division within the same company Size How big is the planned system How much have we built Market based system to be sold to a general market Defects How many errors are we making How many are we detecting In some cases the product must generate customers Marketing team may act as substitute customer And how do these errors impact quality Initially a manager needs good estimates Community based intended as a general benefit to some community E g open source tools tools for scientific research funder customer if funder has no stake in the outcome and these can only come from a thorough analysis of the problem Hybrid a mix of the above You Youcannot cannotcontrol controlthat thatwhich whichyou youcannot cannotmeasure measure Easterbrook 2004 Relationship with Customer s Customer specific one customer with specific problem Time What is the expected schedule How far are we deviating from it 6 Easterbrook 2004 Project Management Department of Computer Science 7 Easterbrook 2004 8 2 University of Toronto University of Toronto Department of Computer Science Project Context Lifecycle of an Engineering Project Existing System There is nearly always an existing system Not enough detail for project planning


View Full Document

Toronto CSC 340 - Lecture 3 - What is Engineering

Documents in this Course
Scoping

Scoping

10 pages

Load more
Loading Unlocking...
Login

Join to view Lecture 3 - What is Engineering and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 3 - What is Engineering and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?