Lectures 2 & 3: Software Process Models Neelam Gupta.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Software Project Management
Prescriptive Process Models Developed to bring order and structure to the software development process. To get away from the chaos of most development.
CS487 Software Engineering Omar Aldawud
Software Process Model
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
 2004 by SEC Chapter 2 Software Development Process Models.
Chapter 3 Process Models
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 2 – Software Processes
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Process Models
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Alternate Software Development Methodologies
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 3Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
CS 425/625 Software Engineering Software Processes
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Software Life Cycle Model
Chapter 3 Software Processes.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Chapter 2 The process Process, Methods, and Tools
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering MCS-2 Lecture # 6
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Introduction to Software Development (Software Engineering - I)
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
Systems Development Life Cycle
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Methodologies/Life Cycle Models
Chapter3:Software Processes
Lecture 3 Prescriptive Process Models
Software Life Cycle “What happens in the ‘life’ of software”
Software Processes (a)
CS 425/625 Software Engineering Software Processes
Software Process Models
Life Cycle Models PPT By :Dr. R. Mall.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Introduction to Software Engineering
An Overview of Software Processes
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Evolutionary Software Process Models
Presentation transcript:

Lectures 2 & 3: Software Process Models Neelam Gupta

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

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

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

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

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

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

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

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.

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.

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

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.

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.

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.

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.

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.

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