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.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Prescriptive Process models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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.
SE Fundamentals: 1. Software Processes
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Processes Modified by Randy K. Smith
CS487 Software Engineering Omar Aldawud
CSE 470 : Software Engineering The Software Process.
1 Chapter 2 Software Processes An overview of conventional software process models, Rational Unified Process, and CASE tools.
EE6421/ED5031Software Engineering Slide 1 Section # 2 (Read Sommerville Ch (3 or 4) and Pressman Ch 2) Software Processes.
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.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 3Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
1 CS 691z/791z Topics on Software Engineering CS 691z/791z Topics on Software Engineering Software Processes Based on Chapter 4 of the book [SE-8] Ian.
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.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
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.
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
Software Processes. Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©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 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Lecture 3 Software Engineering Models (Cont.)
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
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
An Introduction to Software Engineering
Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
Software Model Process
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 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.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Software Processes (a)
CS 425/625 Software Engineering Software Processes
Chapter 2 SW Process Models
Software Processes.
An Overview of Software Processes
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
Presentation transcript:

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 September 14, 2005

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 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 Software Process Models: Waterfall.. n The Waterfall model [SE-7, Fig 4.1]

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 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 Software Process Models: Evolutionary Development… n Evolutionary Development model [SE-7, Fig 4.2]

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 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 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 Software Process Models: Component-based Software Engineering… n CBSE process model [SE-7, Fig 4.3]

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 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 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 Software Process Models: Incremental Development… n The Incremental model [SE-7, Fig 4.4]

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 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 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 Software Process Models: Spiral Model.. n n Boehm’s Spiral Model [SE, Fig 4.5]

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 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 Process Activities: Specification n Requirements engineering [SE-7, Fig. 4.6]

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

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

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 Process Activities:..Testing n Testing phases in the sw. process [SE-7, Fig. 4.10]

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

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

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

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