Requirements Engineering Acknowledgments

Requirements Engineering Acknowledgments

Requirements Engineering CSE491-602 (Fall 2006) Instructor: Dr. B. Cheng © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Acknowledgments ? Waterloo Software Engineering Team (Atlee, Berry, Day, Svetinovic, Godfrey ? Steve Easterbrook ? Tony Torre, Detroit Diesel Corp. © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. What is Software Engineering ??? ? The study of systematic and effective processes and technologies for supporting software development and maintenance activities ? Improve quality ? Reduce costs © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 1 Historical Perspective ? 1940s: computers invented ? 1950s: assembly language, Fortran ? 1960s: COBOL, ALGOL, PL/1, operating systems 1969: First conference on Software Eng ? 1970s: multi-user systems, databases, structured programming © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Historical Perspective (cont.) ? 1980s: networking, personal computing, embedded systems, parallel architectures ? 1990s: information superhighway, distributed systems, OO in widespread use. ? 2000s: virtual reality, voice recognition, video conferencing, global computing, ... © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Hardware Costs vs Software Costs (% of overall costs) s/w costs h/w costs Time © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 2 Why is software so expensive? ? Hardware has made great advances ? But, software has made great advances ... ? We do the least understood tasks in software ? When task is simple & understood, encode it in hardware ? Demand more and more of software © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Size of programs continues to grow ? Trivial: 1 month, 1 programmer, 500 LOC, ? Intro programming assignments ? Very small: 4 months, 1 programmer, 2000 LOC ? Course project ? Small: 2 years, 3 programmers, 50K LOC ? Nuclear power plant, pace maker ? Medium: 3 years, 10s of programmers, 100K LOC ? Optimizing compiler © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Size of programs continues to grow * ? Large: 5 years, 100s of programmers, 1M LOC ? MS Word, Excel ? Very large: 10 years, 1000s of programmers, 10M LOC ? Air traffic control, ? Telecommunications, space shuttle ? Unbelievable: ? years, ? programmers, 35M LOC ? W2K © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 3 Goals of this Course ? Gain a better understanding of requirements and requirements engineering ? Expose you to some of the RE techniques that have been found to be effective ? Give you hands-on experience with performing requirements engineering © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Overview of Course ? Emphasis on analysis and design ? Learn/apply new techniques for engineering requirements ? Learn to work with a group ? Improve technical writing skills ? Become up to date on current trends in RE ? Explore presentation media and techniques © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. What’s the problem? ? Software cannot be built fast enough to keep up with ? H/W advances ? Rising expectations ? Feature explosion ? Increasing need for high reliability software ? Cell phones ? Transportation systems (cars, planes, trains) ? Information systems (medical records, financial/banking) © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 4 What’s the problem? ? Software is difficult to maintain “aging software” ? Difficult to estimate software costs and schedules ? Too many projects fail ? Arianne Missile ? Denver Airport Baggage System ? Therac-25 © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Why is software engineering needed? ? To predict time, effort, and cost ? To improve software quality ? To improve maintainability ? To meet increasing demands ? To lower software costs ? To successfully build large, complex software systems ? To facilitate group effort in developing software © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Structure of Course ? Weekly reading assignments ? Short assignments ? Written critiques over reading assignments ? Specification and modeling problems ? Group projects (prototype, analysis) ? Two - one hour exams (mid-semester and end) ? Presentations: oral presentations, prototype demos © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 5 Grading of course ? Exams (2) = 40% ? Homework and Design Exercises = 35% ? Term project = 20% ? Class participation = 5% ? Attendance ? Participation in class discussion © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Software Engineering A Brief Introduction © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Software Engineering Phases ? Definition: What? ? Development: How? ? Maintenance: Managing change ? Umbrella Activities: Throughout lifecycle © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 6 Definition ? Requirements definition and analysis ? Developer must understand ? Application domain ? Required functionality ? Required performance ? User interface © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Definition (cont.) ? Project planning ? System analysis ? Allocate resources ? Allocate system ? Estimate costs resources to ? Define work tasks ? Hardware ? Define schedule ? Software ? Users © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Development ? Software design ? User interface design ? High-level design ? Define modular components ? Define major data structures ? Detailed design ? Define algorithms and procedural detail © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 7 Development (cont.) ? Coding ? Integration ? Develop code for each ? Combine modules module ? System testing ? Unit testing © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Maintenance ? Correction - Fix software defects ? Adaptation - Accommodate changes ? New hardware ? New company policies ? Enhancement - Add functionality ? Prevention - make more maintainable © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Umbrella Activities ? Reviews - assure quality ? Documentation - improve maintainability ? Version control - track changes ? Configuration management - integrity of collection of components © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 8 Software Engineering Costs Maintenance Development Defintiion © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Relative Costs to Fix Errors This is why software process pays off 80 70 60 50 40 Cost 30 20 10 0 Code Design Testing Delivery Requirements © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Waterfall Process Model Requirements Design Coding Testing Maintenance © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. 9 Prototyping Process Model Requirements Quick Design Prototype Evaluate Design © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. When to use prototyping? ? Help the customer pin down the requirements ? Concrete model to “test out” ? Often done via the user interface ? Explore alternative solutions to a troublesome component ? e.g., determine if an approach gives acceptable performance ? Improve morale ? Partially running system provides visibility into a project NEVER Press a prototype into production © 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us