Unformatted text preview:

University of Toronto University of Toronto Department of Computer Science Department of Computer Science What is Engineering Lecture 2 Context for RE Last Last Week Week INTRO INTRO Syllabus Syllabus Course CourseGoals Goals Definitions Definitions Definition of Engineering Engineering is the development of cost effective solutions to practical problems through the application of scientific knowledge This This Week Week Context Context for for RE RE What What isis Engineering Engineering Types Types of of engineering engineering project project RE RE inin the the engineering engineering lifecycle lifecycle Systems Thinking Systems Thinking cost effective involves trade offs especially with resource usage solutions engineering is creative and interventionist practical problems the problems must matter to people scientific knowledge uses analytical techniques based on applied science Normal or Radical design Normal design old problems whose solutions are well known Engineering codifies standard solutions Engineer selects appropriate methods and technologies Design focuses on well understood devices Radical design never been done or past solutions have failed Often the challenge is to deal with a very complex problem Bring together complex assemblies of devices into new systems Systems Engineering is always radical design by definition Next Next Week Week Project ProjectStarting Startingpoints points Stakeholders Stakeholders Boundaries Boundaries Goals Scenarios Goals Scenarios Risks Risks 2000 2004 Steve Easterbrook 1 University of Toronto 2000 2004 Steve Easterbrook University of Toronto Department of Computer Science Is software different Software is different 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 Software alone is useless its purpose is to configure some hardware to do something there are no physical laws underlying software behaviour there are no physical constraints on software complexity software never wears out traditional reliability measures don t apply software can be replicated perfectly no manufacturing variability 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 2000 2004 Steve Easterbrook Department of Computer Science Professional Responsibility software is invisible intangible abstract 2 Of particular relevance in RE 3 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 4 1 University of Toronto University of Toronto Department of Computer Science Project Management Where Projects Come From A manager can control 4 key variables Source of Requirements Customer specific A problem has arisen that demands a response e g existing system is broken Change driven Specific customer with a specific problem The customer is the ultimate authority Market based Changes in the business or its environment existing system becoming less useful Approach applies to any management Opportunity driven Understand the goals and objectives Understand the constraints if there is uncertainty use probability estimates System designed to be sold widely Marketing team acts as proxy for customers users Product must generate customers Socially useful New technology opens up new possibilities New markets open up etc quantify them where possible System is intended as a general benefit to society No paying customer E g some open source free software software created in scientific research Legacy driven Plan to meet the objectives within the constraints Monitor and adjust the plan Preserve a calm productive positive work environment Initiation of the project Problem driven 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 Department of Computer Science Project created because of prior commitment e g earlier work left unfinished Hybrid developed for a specific customer but want to market the software eventually Note You cannot control what you cannot measure 2000 2004 Steve Easterbrook 5 University of Toronto Department of Computer Science 2000 2004 Steve Easterbrook 6 University of Toronto Software Types Waterfall Model perceived need 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 Control Systems code Examples flight control industrial plant an elevator system credit card reader Generic Services Problems Static view of requirements ignores volatility Lack of user involvement once specification is written Unrealistic separation of specification from design Doesn t accommodate prototyping reuse etc design software that drives some sort of a hardware process View of development a process of stepwise refinement largely a high level management view requirements Examples Payroll and personnel Financial transactions Customer relations database Department of Computer Science test systems that provide some services for other systems Examples many internet applications e g search engines stock quote services credit card processing etc Such systems will be developed using a variety of languages and middleware including Java C CORBA HTML XML etc 2000 2004 Steve Easterbrook integrate 7 2000 2004 Steve


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?