380 likes | 502 Views
Software Engineering. Week 3 – Modelling the Process and Life Cycle. A.A. Gde Bagus Ariana , S.T. gungariana@yahoo.com http://gungariana.wordpress.com. Content. define s/w process, product and life-cycle describe various s/w dev. Models Waterfall Model “V” Model Prototyping Model
E N D
SoftwareEngineering Week 3 – Modelling the Process and Life Cycle A.A. GdeBagusAriana, S.T. gungariana@yahoo.com http://gungariana.wordpress.com
Content • define s/w process, product and life-cycle • describe various s/w dev. Models • Waterfall Model • “V” Model • Prototyping Model • Throw away • Evolutionary • RAD Model • Incremental Model • Iterative Model • Spiral Model
Understand Process Process • Definition Process OUTPUT [ Results ] [ Product ] [ Set of Goals ] [ Standards ] INPUT [ Source ] [ Requirements ] ACTIVITIES (TASKS), CONSTRAINTS, RESOURCES PROCEDURES TOOLS & TECHNIQUES • Characteristics • Prescribes all major process activities • Uses resources • Composed of sub processes • Has entry & exit criteria • Organised in sequence • Has guiding principles • Has constraints or controls FINAL OUTPUT [ Results ] [ Product ] [ Set of Goals ] [ Standards ]
Understand Process • Example Requirement Analysis and Definition ACTIVITIES (TASKS), CONSTRAINTS, RESOURCES OUTPUT [set of requirements] INPUT [statements from user ] PROCEDURES TOOLS & TECHNIQUES • Constraint • budget • schedule • Activities • Interviews • Observation
Waterfall Model Status Quo & Problem Identification Feasibility Study Detailed Analysis Detailed Design Construction Testing System Delivery Operation & Maintenance • Evaluates costs & benefits of proposed application. • Produce feasibility report • Problem definition • Alternative solutions & benefits • Required resources & scheduling
Waterfall Model Status Quo & Problem Identification Feasibility Study Detailed Analysis Detailed Design Construction Testing System Delivery Operation & Maintenance • Evaluates costs & benefits of proposed application. • Produce feasibility report • Problem definition • Alternative solutions & benefits • Required resources & scheduling
Waterfall Model Status Quo & Problem Identification Feasibility Study Investigation Detailed Analysis Requirement Analysis Detailed Design Construction Testing System Delivery Operation & Maintenance • Identifies all aspects of requirements • Functionality • Quality • Produce req specification document • Functional req • Non-functional req • Quality controls
Waterfall Model Status Quo & Problem Identification Feasibility Study Detailed Analysis System Design Detailed Design Program Design Construction Testing System Delivery Operation & Maintenance • Decomposing system into modules • Produce design spec. anddocument • S/W Architecture • Its relationships
Waterfall Model Status Quo & Problem Identification Feasibility Study Detailed Analysis Detailed Design Coding Construction Module Testing Testing Unit & Integration Test System Test Function Test Performance Test User Acceptance Test Installation Test System Delivery Operation & Maintenance • Evaluates costs & benefits of proposed application. • Produce feasibility report • Problem definition • Alternative solutions & benefits • Required resources & scheduling
Waterfall Model Status Quo & Problem Identification Feasibility Study Investigation Detailed Analysis Requirement Analysis System Design Detailed Design Program Design Coding Construction Module Testing Testing Unit & Integration Test System Test Function Test Performance Test User Acceptance Test Installation Test System Delivery Operation & Maintenance • Evaluates costs & benefits of proposed application. • Produce feasibility report • Problem definition • Alternative solutions & benefits • Required resources & scheduling • Identifies all aspects of requirements • Functionality • Quality • Produce req specification document • Functional req • Non-functional req • Quality controls • Decomposing system into modules • Produce design spec. and document • S/W Architecture • Its relationships System / Information engineering [Roger. S. Pressman]
Waterfall : Advantages • Detailed layout • Suitable for user not familiar with s/w development • Explicitly state prior deliverables • Focuses on documentation & artefacts
Waterfall : Disadvantages • Rare adherence to sequence • Iterations confusion • Natural uncertainty vs. model req. stage • Does the system meet user expectations? • Unclear paths • nothing about back and forth activities • End-product realisation end • No guidelines for mgmt./developers if changes occurs during the cycle
“V” Model Requirements Analysis Operation & Maintenance Acceptance Testing System Design System Testing Program Design Unit & Integration Testing Coding • Acceptance test to VALIDATE Customers Requirements • Unit & Integration test to VERIFY Program Design • System test to VERIFY System Design
“V” Model • Problems found during verification and validation then re-execute to fix and improve the requirements, design and code before the testing steps on the right are re-anacted. • Waterfall model focus is on documents and artifacts but in V model focus is on activity and correctness.
Prototyping Model
Prototyping Model • Partially developed product • Customers & developers examination • Examine some aspect of proposed system • Suitability or Appropriateness • Quick construction all or part • Understand or clarify issues
Prototyping Model Lists of Revisions Lists of Revisions Prototype Design Prototype System Test Delivered System • One / more of the loops may be eliminated • ? goals of the prototyping (reduce risk and uncertainty in development) • May begin with nominal set of requirements Lists of Revisions Prototype Requirements • Alternatives are explored • Having interested parties look at possible screen, reports etc. • Based on what they want, the requirements are revised System Requirements[sometimes informal or incomplete]
Prototyping Model Lists of Revisions Lists of Revisions Prototype Design Prototype System Test Delivered System • Alternative design explored • Decided design revised until satisfied • Alternative design reveals problem in req activities • Drop back to req activity Lists of Revisions Prototype Requirements • Eventually, system is coded • Alterations discussed • # of iterations System Requirements[sometimes informal or incomplete]
Evolutionary Prototyping • An approach to system development where an initial prototype is produced and refined through a number of stages to the final system. • deliver a working system to end-users • used for systems where the specification cannot be developed in advance e.g. AI systems and user interface systems • Verification is impossible as there is no specification. Validation means demonstrating the adequacy of the system • uses CASE , 4GL tools, GUI toolkits • rapid development (using incremental model)
Throw-away Prototyping • A prototype which is usually a practical implementation of the system is produced to help discover requirements problems and then discarded. • To validate or derive the system requirements • Not an actual system to be delivered to the user
Rapid App. Dev. (RAD) • Incremental - • End users make evaluation on the increment and make proposals for later increments • Short development cycle • High speed adaptation • Linear models (eg. Waterfall) • Rapid development • Uses component-based construction • Short period • 60 – 90 days
Rapid App. Dev. (RAD) Team # 3 Team # 2 Team # 1 Business modeling Business modeling Business modeling Data modeling Data modeling Data modeling Process modeling Process modeling Process modeling Application generation Application generation Testing & turnover Testing & turnover Application generation Testing & turnover 60 – 90 days • Modelling business function information flow • What info ? business process • What info is generated ? • Who processes it ? • Who generates it ? • Where does info go to next ? • Info flow refined into data objects to support business process • Data object characteristics identified • Relationship between each data object defined
Rapid App. Dev. (RAD) Team # 3 Team # 2 Team # 1 Business modeling Business modeling Businessmodeling Data modeling Data modeling Data modeling Process modeling Process modeling Process modeling Application generation Application generation Testing & turnover Testing & turnover Application generation Testing & turnover 60 – 90 days • Data objects transformed to implement a business function • Processing description created • Add, Modify, Delete & Retrieve data objects • Applies 4th Generation techniques (E.g. Code generators) • Reusable components • Automated tools • Since emphasizes on reuse • Many components have already been tested • New components to be tested only
Incremental Model • Requirements is partitioned into subsystems by functionality Use Case 1 Use Case 2 Use Case 1 Use Case 2 Use Case 3 Use Case 1
Iterative Model • Delivers a full system at the beginning and then changes the functionality of each subsystem with each new release Use Case 1 Use Case 2 Use Case 3 (release 1) Use Case 1 Use Case 2 Use Case 3 (release 2) Use Case 1 Use Case 2 Use Case 3 (release 3)
RAD: Advantages • Suitable for short projects • Minimum testing difficulties • Reusable components • Quick development • Automated tools • Straight forward approach
RAD: Disadvantages • Not suitable for large projects • Multiple teams working on different sites • Team utmost commitment deadlines • Not suitable for • Systems requires fine tuning • System new tech. interaction • System other sys. interaction
Spiral Model • Simplified form • Waterfall model plus risk analysis preceding each phase • If all risks cannot be resolved, the project is immediately terminated
Spiral Model • View of spiral
Spiral Model EVALUATE ALTERNATIVES AND RISKS DETERMINE GOALS, ALTERNATIVES, CONSTRAINTS Constraints4 Risk analysis4 Risk analysis3 Constraints3 Alternatives4 Constraints2 Risk analysis2 Alternatives3 Alternatives2 Risk analysis1 Constraints1 Proto- type2 Proto- type3 Proto- type4 Alternatives1 Budget4 Budget3 Budget2 Prototype1 Budget1 start Requirements, life-cycle plan Concept of operation Detailed design Software requirements Software design Development plan Validated requirements Integration and test plan Code Validated, verified design Unit test System test Implementation plan Acceptance test PLAN DEVELOP AND TEST
Spiral Model • Process is represented as a spiral rather than as a sequence of activities with backtracking. • Each loop in the spiral represents a phase in the process. • No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. • Risks are explicitly assessed and resolved throughout the process.
Spiral Model • Objective setting • Specific objectives for the phase are identified. • Risk assessment and reduction • Risks are assessed and activities put in place to reduce the key risks. • Development and validation • A development model for the system is chosen which can be any of the generic models. • Planning • The project is reviewed and the next phase of the spiral is planned.
Summary • define s/w process, product and life-cycle • describe various s/w dev. Models • Waterfall Model • “V” Model • Prototyping Model • Throw away • Evolutionary • RAD Model • Incremental Model • Iterative Model • Spiral Model