Presentation is loading. Please wait.

Presentation is loading. Please wait.

Alyce Brady, Kalamazoo College Engineering = cost-effective solutions to practical problems by applying scientific knowledge in building things in service.

Similar presentations


Presentation on theme: "Alyce Brady, Kalamazoo College Engineering = cost-effective solutions to practical problems by applying scientific knowledge in building things in service."— Presentation transcript:

1 Alyce Brady, Kalamazoo College Engineering = cost-effective solutions to practical problems by applying scientific knowledge in building things in service of mankind Science Production Engineering Commercial Craft Mary Shaw, Carnegie Mellon University

2 Alyce Brady, Kalamazoo College Evolution of Software Engineering Single-person projects: “Back of the envelope” design followed by coding, debugging Multiple-person projects: More formal design, identify modules, code modules, group debugging of whole project

3 Alyce Brady, Kalamazoo College CS and Software Engineering Shari Lawrence Pfleeger, Software Engineering: Theory & Practice Computer ScienceCustomer Theories Computer Functions Problem Software Engineering Tools and Techniques to Sove Problem

4 Alyce Brady, Kalamazoo College Goals of Software Engineering Improved quality: –formal design (e.g., structured or object-oriented design) –identify modules –develop a test plan based on the design –code modules –develop test plan of individual module based on code –test modules in isolation –test integrated whole

5 Alyce Brady, Kalamazoo College Why Are All These Steps Necessary? Writing a program is much easier than writing a programming system, which is much easier than writing a programming system product. documented thoroughly usable in many environments operations are robust F. Brooks estimated that each is at least 3 times more expensive than the previous.

6 Alyce Brady, Kalamazoo College Why Software Engineering? Barry Boehm has estimated that specification errors repaired in later stages of software development can cost as much as 100 times more to fix than if caught at specification time.

7 Alyce Brady, Kalamazoo College Evolution of Software Engineering Software Lifecycle –Requirements Analysis –System Specification –Design –Implementation (programming) –Unit Testing –Integration Testing, System Testing –System Delivery (Acceptance Testing, Training) –Maintenance (fixing problems, adding enhancements)

8 Alyce Brady, Kalamazoo College Waterfall Lifecycle Requirements System Spec. Design Code, Unit Test Integration Test

9 Alyce Brady, Kalamazoo College “Over-the-Wall” Lifecycle Implementation Unit Testing Integration Requirements System Spec. Design

10 Alyce Brady, Kalamazoo College Modified Waterfall Lifecycle Requirements System Spec. Design Code, Unit Test Integration Test

11 Alyce Brady, Kalamazoo College Whirpool Lifecycle Req. Sys. Spec. Design Code Unit Test Integration

12 Alyce Brady, Kalamazoo College Levels of Abstraction –Requirements Analysis –System Specification –Design –Implementation (programming) –Unit Testing –Integration Testing –Maintenance (fixing problems, adding enhancements)

13 Alyce Brady, Kalamazoo College Types of Testing “Black box” testing –based on Requirements Analysis, System Specification –test plan developed before design; run as part of integration testing “Gray box” testing –based on Detailed Design –test plan developed before implementation; run as part of integration testing (some may be part of unit testing) “White box” testing –based on Implementation (code) –unit testing

14 Alyce Brady, Kalamazoo College Levels of Abstraction –Requirements Analysis –System Specification –Design –Implementation (programming) –Unit Testing –Integration Testing –Maintenance (fixing problems, adding enhancements)

15 Alyce Brady, Kalamazoo College Unit Testing yes no yes no A? B? Do X Do Y Do Z

16 Alyce Brady, Kalamazoo College Traditional Analysis and Design Methodologies –Thorough Analysis and Design Processes –Thoroughly Document Analysis and Design –Structured Analysis and Design Graphical notations showing data flow and function hierarchies –Object-Oriented Analysis and Design Graphical notations showing encapsulated data, object interactions, and class hierarchies, e.g., UML

17 Alyce Brady, Kalamazoo College Agile Methodologies –Agile Methods React quickly and flexibly to changes in requirements Less time spent separately doing analysis and design Less documentation of analysis and design


Download ppt "Alyce Brady, Kalamazoo College Engineering = cost-effective solutions to practical problems by applying scientific knowledge in building things in service."

Similar presentations


Ads by Google