Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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 Engineering, 7 th Ed., Addison-Wesley, 2004 and on Ch4 PPT presentation from http://www.software-engin.com/http://www.software-engin.com/ September 14, 2005

2 2 Outline n n Software Process Models u u Waterfall model u u Evolutionary development u u Component-based software engineering u u Incremental model u u Spiral model n n Software Process Activities u u Specification u u Design and implementation u u Validation u u Evolution n n The Rational Unified Process n n Computer-Aided Software Engineering

3 3 Software Process Models n Software process = organized set of activities aimed at building a software system n Software process model = an abstract representation of a software process n Fundamental software process activities: u Software specification u Software design u Software implementation u Software validation u Software evolution

4 4 Software Process Models: Waterfall.. n The Waterfall model [SE-7, Fig 4.1]

5 5 Software Process Models:.Waterfall. n n Main characteristics: u u Also called classic software life cycle or sequential model u u Process activities (phases/stages) are clearly separated u u After a number of iterations, phases of the life cycle (such as specification and design) are “frozen”

6 6 Software Process Models:..Waterfall n n Advantages: u u Organized approach, provides robust separation of phases u u Reflects common engineering practice n n Disadvantages: u u Doesn’t cope well with changes required by the client u u Development teams might wait for each other u u A working version of the product is available only late n n Applicability: u u When requirements are well known and few changes are likely to be needed u u Can be used also for parts of larger software systems

7 7 Software Process Models: Evolutionary Development… n Evolutionary Development model [SE-7, Fig 4.2]

8 8 Software Process Models:.Evolutionary Development.. n n Main characteristics: u u The phases of the software construction are interleaved u u Feedback from the user is used throughout the entire process u u The software product is refined through many versions n n Types of evolutionary development: u u Exploratory development u u Throw-away prototyping

9 9 Software Process Models:..Evolutionary Development. n n Advantages: u u Deals constantly with changes u u Provides quickly an initial version of the system u u Involves all development teams n n Disadvantages: u u Quick fixes may be involved u u “Invisible” process, not well-supported by documentation u u The system’s structure can be corrupted by continuous change

10 10 Software Process Models: …Evolutionary Development n n Disadvantages [cont’d]: u u Special tools and techniques may be necessary u u The client may have the impression the first version is very close to the final product and thus be less patient n n Applicability: u u When requirements are not well understood u u When the client and the developer agree on a “rapid prototype” that will be thrown away u u Good for small and medium-sized software systems

11 11 Software Process Models: Component-based Software Engineering… n CBSE process model [SE-7, Fig 4.3]

12 12 Software Process Models:.Component-based Software Engineering.. n n Main characteristics: u u Makes intensive use of existing reusable components u u The focus is on integrating the components rather than on creating them from the scratch

13 13 Software Process Models:..Component-based Software Engineering. n Advantages: u Reduces considerably the software to be developed “in-house” u Allows faster delivery u In principle, more reliable systems, due to using previously tested components

14 14 Software Process Models: …Component-based Software Engineering n n Disadvantages: u u Compromises in requirements are needed u u Less control over the system’s evolution n n Applicability: u u When there is a pool of existing components that could satisfy the requirements of the new product u u Emerging trend: integration of web services from a range of suppliers

15 15 Software Process Models: Incremental Development… n The Incremental model [SE-7, Fig 4.4]

16 16 Software Process Models:.Incremental.. n n Main characteristics: u u Hybrid model that combines elements of the waterfall and evolutionary paradigms u u The specification, design, and implementation phases are broken in smaller increments

17 17 Software Process Models:... Software Process Models:..Incremental. n n Advantages: u u Provides better support for process iteration u u Reduces rework in the software construction process u u Some decisions on requirements may be delayed u u Allows early delivery of parts of the system u u Supports easier integration of sub-systems u u Lower risk of project failure u u Delivery priorities can be more easily set

18 18 Software Process Models:...Incremental n n Disadvantages: u u Increments need be relatively small u u Mapping requirements to increments may not be easy u u Common software facilities may be difficult to identify n n Applicability: u u When it is possible to deliver the system “part-by-part”

19 19 Software Process Models: Spiral Model.. n n Boehm’s Spiral Model [SE, Fig 4.5]

20 20 Software Process Models:.Spiral Model. n Main characteristics: u Also a hybrid model that support process iteration u The process is represented as a spiral, each loop in the spiral representing a process phase u Four sectors per loop: objective setting, risk assessment and reduction, development and validation, planning u Risk is explicitly taken into consideration

21 21 Software Process Models:..Spiral Model n n Advantages: u u Risk reduction mechanisms are in place u u Supports iteration and reflects real-world practices u u Systematic approach n n Disadvantages: u u Requires expertise in risk evaluation and reduction u u Complex, relatively difficult to follow strictly u u Applicable only to large systems n n Applicability: u u Internal development of large systems

22 22 Process Activities: Specification n Requirements engineering [SE-7, Fig. 4.6]

23 23 Process Activities: Design & Implementation n A general model for design [SE-7, Fig 4.7]

24 24 Process Activities: Testing.. n The debugging process [SE-7, Fig 4.8]

25 25 Process Activities:.Testing. n The testing process [SE-7, Fig 4.0] n Testing phases in the sw. process [SE-7, Fig. 4.10]

26 26 Process Activities:..Testing n Testing phases in the sw. process [SE-7, Fig. 4.10]

27 27 Process Activities: Evolution n System evolution [SE-7, Fig 4.11]

28 28 The Rational Unified Process. n RUP phases [SE-7, Fig 4.12]

29 29.The Rational Unified Process n RUP workflows [SE-7, Fig 4.13]

30 30CASE n Classification of CASE technology [SE-7, Fig 4.14]


Download ppt "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."

Similar presentations


Ads by Google