Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Model Process

Similar presentations


Presentation on theme: "Software Model Process"— Presentation transcript:

1 Software Model Process
PI2134 Software Engineering IT Telkom

2 Outline Definition Model Process Waterfall Model Incremental Model
RAD Model Evolutionary Model Prototyping Model Spiral Model Component Based Development V Shapes Model The Unified Process

3 What SW Model Process? Software Model Process is an abstract representation of a software process. Software Model Process provide a useful roadmap for software engineering work All software models can accommodate the generic framework activity (fundamental activity) in SE, but each applies different emphasis to these activities and defines workflow that invokes each framework activity in different manner

4 The Waterfall Model The Oldest paradigm (process model), sometime called the Classic life cycle The Principle Stage are Requirement analysis and definition System and SW design Implementation and unit testing Integration and system testing Operation and maintenance

5 The Waterfall Model (cont’)

6 The Waterfall Model (cont’)
The following phase should not start until the previous phase has finished In practice, the stage could overlap The problem with waterfall model is its inflexible partitioning of the project into these distinct stages

7 The Waterfall Model (cont’)
Advantages Simple and easy to use. Easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process. Phases are processed and completed one at a time. Works well for smaller projects where requirements are very well understood.

8 The Waterfall Model (cont’)
Disadvantages Adjusting scope during the life cycle can kill a project No working software is produced until late during the life cycle. High amounts of risk and uncertainty. Poor model for complex and object-oriented projects. Poor model for long and ongoing projects. Poor model where requirements are at a moderate to high risk of changing.

9 Diskusi Buat 6 Kelompok Diskusikan masing2 model yang di pilih pada tiap kelompok

10 The Incremental Model Combines elements of the waterfall model applied in an iterative fashion Applies linear sequences in a staggered fashion as calendar time progresses Each linear sequence produces deliverables ‘increments’ of the software. When an incremental model is used, the first increment is often a core product.

11 The Incremental Model (Cont’)

12 The Incremental Model (Cont’)
Advantages Generates working software quickly and early during the software life cycle. More flexible – less costly to change scope and requirements. Easier to test and debug during a smaller iteration. Easier to manage risk because risky pieces are identified and handled during its iteration. Each iteration is an easily managed milestone. Disadvantages Each phase of an iteration is rigid and do not overlap each other. Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.

13 The RAD Model RAD is an incremental software process model that emphasizes a short development cycle Using Component based construction approach

14 The RAD Model (Cont’)

15 The RAD Model (Cont’) The advantages and disadvantages of RAD
RAD reduces the development time Reusability of components help to speed up development. All functions are modularized so it is easy to work with. For large projects RAD require highly skilled engineers in the team. Both end customer and developer should be committed to complete the system in a much abbreviated time frame If commitment is lacking RAD will fail. RAD is based on Object Oriented approach and if it is difficult to modularize the project the RAD may not work well.

16 Evolutionary Model Business and product requirement often change as development proceed Software engineer need a process model that has been explicitly designed to accommodate a product that evolves over time Evolutionary models are iterative. Enables software engineers to develop increasingly more complete version of the software

17 Evolutionary Model : Prototyping
Customer defines a set of general objectives for software but doesn’t identify the detail Assist the software engineer and the customer to better understand what is to be built when requirement are fuzzy

18 Evolutionary Model : Prototyping (Cont’)

19 Evolutionary Models: The Spiral
Proposed by Boehm Evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspect of the waterfall model Each loop in the spiral represents a phase of the software process. The important distinction between spiral model and other software models is the explicit consideration of risk

20 Evolutionary Models: The Spiral (Cont’)

21 Evolutionary Models: The Spiral (Cont’)
Advantages High amount of risk analysis Good for large and mission-critical projects. Software is produced early in the software life cycle. Disadvantages Can be a costly model to use. Risk analysis requires highly specific expertise. Project’s success is highly dependent on the risk analysis phase. Doesn’t work well for smaller projects.

22 Component – based development
development—the process to apply when reuse is a development objective The model composes applications from prepackage software components Components can be designed as either conventional software module or OO classes or Package of classes.

23 Component – based development

24 V Shapes Model The V-Shaped life cycle is a sequential path of execution of processes Testing is emphasized in this model in every stages

25 V Shapes Model (Cont’)

26 V Shapes Model (Cont’) Advantages Disadvantages
Simple and easy to use. Each phase has specific deliverables. Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle. Works well for small projects where requirements are easily understood. Disadvantages Very rigid, like the waterfall model. Little flexibility and adjusting scope is difficult and expensive. Software is developed during the implementation phase, so no early prototypes of the software are produced. Model doesn’t provide a clear path for problems found during testing phases.

27 The Unified Process a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML) Detail Discussion in OOT

28 The Unified Process (Cont’)

29 The Unified Process (Cont’)

30 Review Model Process Waterfall Model Incremental Model
RAD Model Evolutionary Model Prototyping Model Spiral Model Component-Based Development V Shapes Model The Unified Process


Download ppt "Software Model Process"

Similar presentations


Ads by Google