Download presentation
Presentation is loading. Please wait.
1
Information system analysis and design
Dr. Dina Tbaishat
2
Recap Last lecture we discussed the concept of system development life cycle Today we will look at two models: waterfall model and formal system development model Today we shall also introduce two process development methods: incremental and spiral development
3
Different development models
Having learnt that there is a system development life cycle to follow, it is important to know that there are lots of models available in the literature to follow Each model has its own characteristics and can be used in certain situation The models that we are going to discuss in this course are: the waterfall model and the formal systems development model We shall also discuss two development methods: incremental development and spiral development
4
Waterfall model
5
Cascade from one phase to another:
1. System requirements, constraints, goals and objectives are established 2. Defining system abstractions and their relationships 3. Programming then takes place 4. Verification and testing to make sure that system is working correctly against its requirements 5. Finally maintenance needs to take place to insure that early errors are detected
6
This model is straight forward, however, its inflexible partitioning of the project into these distinct stages makes it difficult to respond to customer’s changing requirements Moreover, note that there is no going back to previous stages So when to use this model?? Only when requirements are well understood and defined
7
Formal systems development
Based on formal mathematical transformation of a system specification to an executable programme It differs from the waterfall model in the following points: Requirements definition Formal specification Formal transformation Integration & system testing
8
Formal specification is basically a refined requirements specification but expressed in a mathematical notation The transformational stage here replaces the design, implementation and unit testing in the waterfall model, at this stage the formal specification goes through stages (transformations) to become a programme There are advantages and disadvantages related tot his model:
9
Advantages: It is made up of a sequence of simple transformational steps which makes the programme more traceable Disadvantages: However, choosing the right transformational step is a skilled task
10
Incremental development
This approach was suggested “as a means of reducing rework in the development process and giving customers some opportunities to delay decisions or their detailed requirements until they had some experience with the system” (Sommerville, 2001) The next figure (from the same book) illustrates this model:
12
Customers identify the services to be provided by the system and order them (priorities)
A number of delivery increments are then defined (each supporting some system functionality) highest priority to be delivered first Once system increments have been identified, the requirements for the services to be delivered in the first increment are defined in detail and that increment is developed During that increment development, more system analysis for later increments can take place without changes to the current increment requirements
13
Once an increment is delivered, it can be put into service early delivery of part of the system which can help them update requirements for later increments or for later version of current increment Integrating all increments when done In this model, different models can be used, there is no need to use the same model for developing the increments (ex: well known increment requirements use waterfall model, unclear increment requirements use evolutionary model
14
Incremental process development advantages:
No need to wait for the whole system, important parts can be put into service early Use first developed increments to improve later ones Lower risk of overall project failure Most critical and important services receive the most testing lower possibility in encountering failure in the important parts of the system Incremental process development disadvantages however are:
15
Increments should be small mapping customers’ requirements onto increments of the right size might be difficult Hard to define common facilities that all increments require (as requirements are not defined in full until each increment is developed) Next time we’ll start with the spiral development method
16
References Sommerville, I. (2001). Software Engineering. UK: Addison Wesley
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.