Cs 425 625 software engineering software processes
Download
1 / 31

ocesses - PowerPoint PPT Presentation


  • 325 Views
  • Uploaded on

CS 425/625 Software Engineering Software Processes Based on Chapter 3 of the textbook [Somm00]: Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley, 2000 and on Ch3 PowerPoint presentation from www.comp.lancs.ac.uk/computing/resources/IanS/SE6/Slides/index.html

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ocesses' - Mercy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cs 425 625 software engineering software processes l.jpg
CS 425/625 Software EngineeringSoftware Processes

Based on Chapter 3 of the textbook [Somm00]:

Ian Sommerville, Software Engineering, 6th Ed., Addison-Wesley, 2000

and on Ch3 PowerPoint presentation from

www.comp.lancs.ac.uk/computing/resources/IanS/SE6/Slides/index.html

September 3, 2003


Outline l.jpg
Outline

  • Software Process Models

    • Waterfall model

    • Evolutionary development

    • Formal development

    • Reuse-oriented development

    • Incremental model

    • Spiral model

  • Software Process Activities

    • Specification

    • Design and implementation

    • Validation

    • Evolution

  • Automated Process Support


Software process models l.jpg
Software Process Models

  • Software process = organized set of activities aimed at building a software system

  • Software process model = an abstract representation of a software process

  • Fundamental software process activities:

    • Software specification

    • Software design and implementation

    • Software validation

    • Software evolution


Software process models waterfall l.jpg
Software Process Models: Waterfall..

  • The Waterfall model[Somm00, Fig 3.1]


Software process models waterfall5 l.jpg
Software Process Models: .Waterfall.

  • Main characteristics:

    • Also called classic software life cycle or sequential model

    • Process activities (phases/stages) are clearly separated

    • After a number of iterations, phases of the life cycle (such as specification and design) are “frozen”


Software process models waterfall6 l.jpg
Software Process Models: ..Waterfall

  • Advantages:

    • Organized approach, provides robust separation of phases

    • Reflects common engineering practice

  • Disadvantages:

    • Doesn’t cope well with changes required by the client

    • Development teams might wait for each other

    • A working version of the product is available only late

  • Applicability:

    • When requirements are well known and few changes are likely to be needed

    • Can be used also for parts of larger software systems


Software process models evolutionary development l.jpg
Software Process Models: Evolutionary Development…

  • Evolutionary Development model [Somm00, Fig 3.2]


Software process models evolutionary development8 l.jpg
Software Process Models: .Evolutionary Development..

  • Main characteristics:

    • The phases of the software construction are interleaved

    • Feedback from the user is used throughout the entire process

    • The software product is refined through many versions

  • Types of evolutionary development:

    • Exploratory development

    • Throw-away prototyping


Software process models evolutionary development9 l.jpg
Software Process Models: ..Evolutionary Development.

  • Advantages:

    • Deals constantly with changes

    • Provides quickly an initial version of the system

    • Involves all development teams

  • Disadvantages:

    • Quick fixes may be involved

    • “Invisible” process, not well-supported by documentation

    • The system’s structure can be corrupted by continuous change


Software process models evolutionary development10 l.jpg
Software Process Models: …Evolutionary Development

  • Disadvantages [cont’d]:

    • Special tools and techniques may be necessary

    • The client may have the impression the first version is very close to the final product and thus be less patient

  • Applicability:

    • When requirements are not well understood

    • When the client and the developer agree on a “rapid prototype” that will be thrown away

    • Good for small and medium-sized software systems


Software process models formal development l.jpg
Software Process Models: Formal Development….

  • The Formal System Development model[Somm00, Fig 3.3]


Software process models formal development12 l.jpg
Software Process Models: .Formal Development…

  • The Formal Transformation process [Somm00, Fig 3.4]


Software process models formal development13 l.jpg
Software Process Models: ..Formal Development..

  • Main characteristics:

    • Approach based on formal, mathematics-based techniques for specification, refinement, and verification

    • A formal specification is produced, than transformed using mathematical methods into the software product’s design and code; formal verification is also used


Software process models formal development14 l.jpg
Software Process Models: ...Formal Development.

  • Advantages:

    • Transformations between stages are sufficiently close to ensure better verification and less expensive proofs

    • Errors, omissions, ambiguities, and contradictions in specifications are more completely detected

    • The final product is more likely to satisfy the requirements

    • The product’s reliability is increased


Software process models formal development15 l.jpg
Software Process Models: ….Formal Development

  • Disadvantages:

    • Requires knowledge of and experience with formal methods

    • Are resource consuming

  • Applicability:

    • Safety- and security-critical systems

    • Parts of the systems that must be thoroughly verified


Software process models reuse oriented development l.jpg
Software Process Models: Reuse-Oriented Development…

  • The Reuse-oriented Development model[Somm00, Fig 3.5]


Software process models reuse oriented l.jpg
Software Process Models: .Reuse-Oriented..

  • Main characteristics:

    • Makes intensive use of existing reusable components

    • The focus is on integrating the components rather than on creating them from the scratch


Software process models reuse oriented18 l.jpg
Software Process Models: ..Reuse-Oriented.

  • Advantages:

    • Reduces considerably the software to be developed “in-house”

    • Allows faster delivery

    • In principle, more reliable systems, due to using previously tested components


Software process models reuse oriented19 l.jpg
Software Process Models: …Reuse-Oriented

  • Disadvantages:

    • Compromises in requirements are needed

    • Less control over the system’s evolution

  • Applicability:

    • When there is a pool of existing components that could satisfy the requirements of the new product


Software process models incremental development l.jpg
Software Process Models: Incremental Development…

  • The Incremental Model [Somm00, Fig 3.6]


Software process models incremental l.jpg
Software Process Models: .Incremental..

  • Main characteristics:

    • Hybrid model that combines elements of the waterfall and evolutionary paradigms

    • The specification, design, and implementation phases are broken in smaller increments


Software process models incremental22 l.jpg
Software Process Models: ..Incremental.

  • Advantages:

    • Provides better support for process iteration

    • Reduces rework in the software construction process

    • Some decisions on requirements may be delayed

    • Allows early delivery of parts of the system

    • Supports easier integration of sub-systems

    • Lower risk of project failure

    • Delivery priorities can be more easily set


Software process models incremental23 l.jpg
Software Process Models: ...Incremental

  • Disadvantages:

    • Increments need be relatively small

    • Mapping requirements to increments may not be easy

    • Common software facilities may be difficult to identify

  • Applicability:

    • When it is possible to deliver the system “part-by-part”


Software process models spiral model l.jpg
Software Process Models: Spiral Model..

  • Boehm’s Spiral Model[Somm00, Fig 3.7]


Software process models spiral model25 l.jpg
Software Process Models: .Spiral Model.

  • Main characteristics:

    • Also a hybrid model that support process iteration

    • The process is represented as a spiral, each loop in the spiral representing a process phase

    • Four sectors per loop: objective setting, risk assessment and reduction, development and validation, planning

    • Risk is explicitly taken into consideration


Software process models spiral model26 l.jpg
Software Process Models: ..Spiral Model

  • Advantages:

    • Risk reduction mechanisms are in place

    • Supports iteration and reflects real-world practices

    • Systematic approach

  • Disadvantages:

    • Requires expertise in risk evaluation and reduction

    • Complex, relatively difficult to follow strictly

    • Applicable only to large systems

  • Applicability:

    • Internal development of large systems


Process activities specification l.jpg
Process Activities: Specification

  • Requirements engineering [Somm00, Fig 3.8]


Process activities design implementation l.jpg
Process Activities: Design & Implementation

  • A general model for design [Somm00, Fig 3.9]


Process activities testing l.jpg
Process Activities: Testing

  • The debugging process [Somm00, Fig 3.10]

  • The testing process [Somm00, Fig. 3.11]


Process activities evolution l.jpg
Process Activities: Evolution

  • System evolution[Somm00, Fig 3.13]


Automated process support l.jpg
Automated Process Support

  • Classification of CASE technology [Somm00, Fig 3.16]


ad