Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lectures 2 & 3: Software Process Models Neelam Gupta.

Similar presentations


Presentation on theme: "Lectures 2 & 3: Software Process Models Neelam Gupta."— Presentation transcript:

1 Lectures 2 & 3: Software Process Models Neelam Gupta

2 Linear Sequential Model (Waterfall Model) Requirement Analysis and Specification Design and Specification Coding and Module Testing Integration and System Testing

3 Contributions Introduces discipline into the software development process Implementation of a product should be postponed until after the objectives of implementation are well understood Drawbacks Linear Rigid Monolithic

4 The Prototyping Model “Do it twice” principle by Brooks First version: Throwaway prototype Second version: Actual solution using Waterfall model Drawbacks Quick fixes may not be evaluated Does not eliminate the time gap between the definition of requirements and final delivery of application No emphasis on need for anticipating changes

5 Evolutionary Process Model Software evolves Requirements may change Market competition Iterative in nature –Deliver core product to the real user –Measure the added value of the user –Develop the next increment of the product

6 Incremental Model Special care is placed on useful subsets of the system that might be delivered to the user and on definition of interfaces that will later allow new subsystems to be added smoothly. Example – Word processing software –Basic file management, editing, and document production –More sophisticated editing features –Spelling and grammar –Advanced page layout

7 Transformation Model Software Development Formal Specification Sequence of Automated Transformations Implementatio n

8 Informal Requirements Requirement Analysis And Specification Formal Specifications Verification Reusable Components Detailed Formal Specifications Executable Formal Specifications Optimized Executable Specifications Test Release Formal Development Record

9 In contrast to Waterfall model –supports program evolution Also provides a method for proving program correctness. Program correctness proofs represent an analytic mathematical approach for analyzing correctness of program after it is developed. Given P and Specification={,…..}, verify truth of {Pre} P {Post}. Transformation approach is constructive –Given specification pairs –Derive P that satisfies all the pairs in the specification. –Automatically derives a program that satisfies specification.

10 Advantages Enable a software engineer to specify, develop, and verify a software system by applying a rigorous mathematical notation. Ambiguity, incompleteness, and inconsistency can be discovered/corrected easily by mathematical analysis. Use of formal methods serves as a basis of program verification. Offers promise of defect free software development. Programmer is constrained to operate within well defined formal boundaries; can focus on design; complexity kept under control.

11 Recent Research Use of techniques developed in Artificial Intelligence to support environment for transformational model. Automated Assistant mediates and supports activities of the software process as directed by Software Engineer –Recording derivation steps and rationale –Producing necessary information for SE to make decisions –Suggesting strategies

12 Drawbacks Requires extensive mathematical background and training in applying formal methods. Still a research oriented approach; but promising for software development for safety critical systems such as aircraft avionics and medical devices.

13 Spiral Model Provides a framework for designing software processes that incorporate risk assessment and management into each phase of software development. Meta model. Definitions: Risks: potentially adverse circumstances that may impair the development process and quality of products. Risk Management: identify, address and eliminate software risk items before they become a threat to successful software operation or a major source of expensive software rework.

14 Planning Prototyping & Risk Analysis Development Validation Customer Evaluation Customer Communication Soft. Req. Soft. Design Req. Validation Req. Doc. Design Validation Design Doc. Product Det. Design Code System Unit Acc.

15 Cyclic Each cycle of spiral consists of 4-6 stages Radius of spiral – cost accumulated so far in the process Introduces prototyping and risk and cost evaluation in each phase. Couples evolutionary nature of software development with controlled and systematic aspects of linear sequential model. Provides potential for rapid development of incremental versions of software.

16 Allows to restate the issues of robustness vs correctness –After one cycle, unstated requirements checked as part of robustness of application –May become part of specifications in the next cycle  After each cycle, robustness approximates correctness more closely.

17 Spectrum of Models Waterfall Life Cycle Model Evolutionary Approaches Transformational Approach Spiral Method (meta model)  Documentation driven  Increment driven  Specification driven  Risk driven


Download ppt "Lectures 2 & 3: Software Process Models Neelam Gupta."

Similar presentations


Ads by Google