Unformatted text preview:

University of Toronto University of Toronto Department of Computer Science What is engineering Lecture 2 Context for RE Engineering is the development of cost effective solutions to practical problems through the application of scientific knowledge Last Last Week Week INTRO INTRO Syllabus Syllabus Course CourseGoals Goals Definitions Definitions Cost effective Consideration of design trade offs esp resource usage Minimize negative impacts e g environmental and social cost This This Week Week Context Context for for RE RE Solutions What What isis Engineering Engineering Types Types of of engineering engineering project project RE RE inin the the engineering engineering lifecycle lifecycle Systems Systems Thinking Thinking Emphasis on building devices Practical problems solving problems that matter to people improving human life in general through technological advance Application of scientific knowledge Next Next Week Week Project ProjectStarting Startingpoints points Stakeholders Stakeholders Boundaries Boundaries Goals Goals Scenarios Scenarios Risks Risks 2000 2004 Steve Easterbrook Systematic application of analytical techniques 1 University of Toronto 2000 2004 Steve Easterbrook Normal design Software alone is useless its purpose is to configure some hardware to do something Design focuses on well understood devices there are no physical laws underlying software behaviour there are no physical constraints on software complexity software never wears out Devices can be studied independent of context Differences between the mathematical model and the reality are minimal Radical design traditional reliability measures don t apply software can be replicated perfectly Never been done or past solutions have failed no manufacturing variability Often involves a very complex problem Bring together complex assemblies of devices into new systems Such systems are not amenable to reductionist theories Such systems are often soft no objective criteria for describing the system Software Myths 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 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 2000 2004 Steve Easterbrook Software is different software is invisible intangible abstract Engineering codifies standard solutions Engineer selects appropriate methods and technologies Department of Computer Science Is software different Old problems whose solutions are well known 2 University of Toronto Department of Computer Science Devices vs Systems Department of Computer Science 3 2000 2004 Steve Easterbrook 4 University of Toronto University of Toronto Department of Computer Science Professional Responsibility Project Management ACM IEEE code of ethics PUBLIC act consistently with the public interest CLIENT AND EMPLOYER act in a manner that is in the best interests of your client and employer consistent with the public interest PRODUCT ensure that your products and related modifications meet the highest professional standards possible JUDGEMENT maintain integrity and independence in your professional judgment MANAGEMENT subscribe to and promote an ethical approach to the management of software development and maintenance PROFESSION advance the integrity and reputation of the profession consistent with the public interest COLLEAGUES be fair to and supportive of your colleagues SELF participate in lifelong learning and promote an ethical approach to the practice of the profession And how do these errors impact quality Initially a manager needs good estimates and these can only come from a thorough analysis of the problem You Youcannot cannotcontrol controlthat thatwhich whichyou youcannot cannotmeasure measure 5 University of Toronto To do this a manager needs to keep track of Effort How much effort will be needed How much has been expended Time What is the expected schedule How far are we deviating from it Size How big is the planned system How much have we built Defects How many errors are we making How many are we detecting 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 2000 2004 Steve Easterbrook A manager can control 4 things Resources can get more dollars facilities personnel Time can increase schedule delay milestones etc Product can reduce functionality e g scrub requirements Risk can decide which risks are acceptable Of particular relevance in RE 2000 2004 Steve Easterbrook Initiation of the project Problem driven A problem has arisen that demands a response e g existing system is broken Change driven Changes in the business or its environment existing system becoming less useful Opportunity driven New technology opens up new possibilities New markets open up etc Legacy driven Project created because of prior commitment e g earlier work left unfinished 6 University of Toronto Department of Computer Science Where Projects Come From Department of Computer Science Department of Computer Science Software Types Source of Requirements Customer specific Information Systems software to support organizational work includes files databases as well as applications More than 70 of all software falls in this category written in languages such as COBOL RPG and 4GLs Specific customer with a specific problem The customer is the ultimate authority Market based System designed to be sold widely Marketing team acts as proxy for customers users Product must generate customers Examples Payroll and personnel Financial transactions Customer relations database Socially useful System is intended as a general benefit to society No paying customer E g some open source free software software created in scientific research Control Systems software that drives some sort of a hardware process Examples flight control industrial plant an elevator system credit card reader Hybrid Generic Services systems that provide some services for other systems developed for a specific customer but want to market the software eventually Examples


View Full Document
Loading Unlocking...
Login

Join to view Lecture 2 - Context for RE 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 2 - Context for RE 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?