Introduction to Software         Engineering Software ProcessM L UN P CORT S,M A,M A,B EJ     .    E B     P SCS          ...
Software ProcessCommon Process Framework                                                                                 ...
Software Process• It consists of:   – framework activities that are applicable to all     software projects regardless of ...
Software Process• It consists of:   – umbrella activities such as software project     management, formal technical review...
Software Process Model    Is a strategy that a software development team    incorporates in order to build software proje...
Types of Software        Process Models• Linear Sequential Model• Prototyping Model• The RAD Model• The Evolutionary Softw...
Linear Sequential Model  also known as the classic life cycle or waterfall  model  suggests a systematic, sequential app...
Linear Sequential Model  Requirements   Engineering               Design             Engineering                          ...
Linear Sequential Model• Advantages:   – Better than nothing   – Provides a basis for other Software Engineering     Model...
Prototyping Model    best approach for the following situations:    – a customer defines a set of general objectives for ...
Prototyping Model    Listen                      Build or Revise      to                         Prototype by  Customers  ...
Prototyping Model• Advantages:    - Users get a feel of actual system    Disadvantages:    − Customers see what appears t...
Rapid Application         Development (RAD)                       Modeldevelopment process    is a linear sequential soft...
RAD Model                           Functional Partition 3- Team                                                          ...
RAD Model• Advantages:  – A fully functional system is created within a    short span of time.                     Softwar...
RAD Model• Disadvantage   − For large, but scalable projects, RAD requires sufficient     human resources to create the ri...
Evolutionary Software       Process Model  recognizes that software evolves over a period of  time  are iterative in nat...
Incremental Model    combines elements of the linear sequential    model with the iterative philosophy of    prototyping...
Incremental ModelFirst Increment                                        Second Increment                                  ...
Spiral Model    originally proposed by Boehm    is an evolutionary software process model    that couples the iterative ...
Spiral Model    is divided into framework models also known as tasks    regions:    1. Customer Communication    2. Plann...
Spiral Model                          Planning     Communication                                 Risk Analysis            ...
Spiral Model• Disadvantage  – Demands considerable risk assessment expertise; not    widely used                        So...
Component-Based         Assembly Model    makes use of object technologies    emphasizes the creation of classes that   ...
Component-based                           Assembly                             Planning                                   ...
Component-Based        Assembly Model• Advantage:  – Good software process model if reusability is a development    object...
Concurrent Development        Model    also known as concurrent engineering    makes use of state charts to represent th...
Concurrent Development        Model        Analysis                                                Enter        Activity  ...
Formal Methods    encompasses a set of activities that lead to    mathematical specification of computer    software    ...
Factors Affecting the    Choice of Process Model•   Type of Project•   Methods and Tools to be Used•   Requirements of the...
Summary    Software Process    Types of Software Process    −   Linear Sequential Model    −   Prototyping Model    −   ...
Summary    Types of Software Process Model     −   Formal Methods    Factors that affect the choice of software developm...
Upcoming SlideShare
Loading in...5
×

MELJUN CORTES Software Eng'g Chapter3

526
-1

Published on

MELJUN CORTES Software Eng'g Chapter3

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
526
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MELJUN CORTES Software Eng'g Chapter3

  1. 1. Introduction to Software Engineering Software ProcessM L UN P CORT S,M A,M A,B EJ . E B P SCS Software Engineering 1
  2. 2. Software ProcessCommon Process Framework  provides the Framework Activity 1 Framework Activity 2 framework from Task Set Framework Activity n Tasks 1: Task Set 1: Task Set 1: Tasks Milestones which a Tasks Milestones Deliverables Milestones Deliverables SQA Points comprehensive Deliverables SQA Points SQA Points plan for software development can Umbrella Activities be established Software Engineering 2
  3. 3. Software Process• It consists of: – framework activities that are applicable to all software projects regardless of size or complexity – tasks sets, which consists of tasks, milestones, deliverables and SQA points that enable the framework activities to be adapted to the characteristics of the software projects and the requirements of the project team Software Engineering 3
  4. 4. Software Process• It consists of: – umbrella activities such as software project management, formal technical reviews, quality assurance, configuration management, documentation, risk management and measurement Software Engineering 4
  5. 5. Software Process Model Is a strategy that a software development team incorporates in order to build software projects. Is chosen based on the nature of the project and application, methods and tools to be used, and the controls and deliverables that are required. Software Engineering 5
  6. 6. Types of Software Process Models• Linear Sequential Model• Prototyping Model• The RAD Model• The Evolutionary Software Process Models – The Incremental Model – The Spiral Model – The Component-based Assembly Model – The Concurrent Development Model• The Formal Methods Model• Fourth Generation Techniques Software Engineering 6
  7. 7. Linear Sequential Model also known as the classic life cycle or waterfall model suggests a systematic, sequential approach to software development that begins at the system level and progresses through analysis, design, coding, testing and maintenance Software Engineering 7
  8. 8. Linear Sequential Model Requirements Engineering Design Engineering Coding Testing Operation and Maintenance Software Engineering 8
  9. 9. Linear Sequential Model• Advantages: – Better than nothing – Provides a basis for other Software Engineering Models• Disadvantages: – Real projects rarely follow the sequential flow. – Customers have difficulty stating all requirements. – Customer involvement occurs during beginning and end of the project. – Customers must have patience. – Developers are often delayed unnecessarily. Software Engineering 9
  10. 10. Prototyping Model best approach for the following situations: – a customer defines a set of general objectives for the software but does not identify detailed input, processing, or output requirements – the developer may be unsure of the efficiency of an algorithm, the adaptability of an operating system or the form that human-machine interaction should take Software Engineering 10
  11. 11. Prototyping Model Listen Build or Revise to Prototype by Customers Developers Test-drive the Prototype by Customer Software Engineering 11
  12. 12. Prototyping Model• Advantages: - Users get a feel of actual system Disadvantages: − Customers see what appears to be working version of the software unaware that the prototype is held together “with chewing gum and baling wire” without consideration on software quality and long-term maintainability. − Developers make implementation compromises in order to have a working prototype. Software Engineering 12
  13. 13. Rapid Application Development (RAD) Modeldevelopment process is a linear sequential software model that emphasizes an extremely short development cycle is achieved through component-based construction approach best if all requirements are well-understood and project scope constrained Software Engineering 13
  14. 14. RAD Model Functional Partition 3- Team Requirements Functional Partition 2- Team Engineering Requirements Engineering DesignFunctional Partition 1- Team Engineering Design Requirements Engineering Engineering Coding Coding Design Testing Engineering Testing Coding Turn-over Turn-over Testing Turn-over 60 – 90 Days Software Engineering 14
  15. 15. RAD Model• Advantages: – A fully functional system is created within a short span of time. Software Engineering 15
  16. 16. RAD Model• Disadvantage − For large, but scalable projects, RAD requires sufficient human resources to create the right number of RAD teams − RAD requires developers and customers who are committed to the rapid-fire activities necessary to complete a system in a much-abbreviated time frame. − It is not a good software process model for systems that cannot be modularized. − It is also not a good software process model for systems that require high performance. − It is not appropriate when new technology is used or software requires high degree of inter-operability with existing computer programs. Software Engineering 16
  17. 17. Evolutionary Software Process Model recognizes that software evolves over a period of time are iterative in nature enables the development of an increasingly more complicated versions of software• Examples: 1. Incremental Model 2. Spiral Model 3. Component-based Assembly Model 4. Concurrent Development Model Software Engineering 17
  18. 18. Incremental Model combines elements of the linear sequential model with the iterative philosophy of prototyping linear sequences are defined, that is, each sequence produces a deliverable “increment” of the software unlike prototyping, at each increment an operational product is delivered Software Engineering 18
  19. 19. Incremental ModelFirst Increment Second Increment Third Increment Requirements Requirements Requirements Engineering Engineering Engineering Design Design Design Engineering Engineering Engineering Coding Coding Coding Testing Testing Testing Delivery of the 1st Turn-over Turn-over Increment Third SW Second SW Second SW Increment Increment Increment First First First SW Increment SW Increment SW Increment Software Engineering 19
  20. 20. Spiral Model originally proposed by Boehm is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of linear sequential model provides the potential for rapid development of incremental versions of the software Software Engineering 20
  21. 21. Spiral Model is divided into framework models also known as tasks regions: 1. Customer Communication 2. Planning 3. Risk Analysis 4. Engineering 5. Construction and Release 6. Customer Evaluation Software Engineering 21
  22. 22. Spiral Model Planning Communication Risk Analysis D C B AEvaluation Analysis & Design Coding & Release A. Initial Software Project B. Maintenance of New Software C. Enhancement of Software D. Development of another interrelated system Software Engineering 22
  23. 23. Spiral Model• Disadvantage – Demands considerable risk assessment expertise; not widely used Software Engineering 23
  24. 24. Component-Based Assembly Model makes use of object technologies emphasizes the creation of classes that encapsulate both data and the algorithms that are used to manipulate data OO classes are reusable across different applications and computer-based system architectures incorporates many of the characteristics of the Spiral Model Software Engineering 24
  25. 25. Component-based Assembly Planning Determine Candidate Communication Risk Analysis Classes D C B A Look for theEvaluation Classes in OO Analysis & Design the Library Coding & Release Build Get the New Class ClassesA. Initial Software ProjectB. Maintenance of New Software Put NewC. Enhancement of Software Classes inD. Development of another interrelated system Library Build the nth Iteration of Software Software Engineering 25
  26. 26. Component-Based Assembly Model• Advantage: – Good software process model if reusability is a development objective. Software Engineering 26
  27. 27. Concurrent Development Model also known as concurrent engineering makes use of state charts to represent the concurrent relationship existent among activities associated with a specific event can be represented schematically as a series of major technical activities, tasks, and their associated states driven by user needs, management decisions, and review results Software Engineering 27
  28. 28. Concurrent Development Model Analysis Enter Activity Review as New Model Baseline Develop Revise EndStart Model Model Wait for Changes Software Engineering 28
  29. 29. Formal Methods encompasses a set of activities that lead to mathematical specification of computer software provides a mechanism for eliminating many of the problems that are difficult to overcome using other software engineering paradigm serves as program verification and enable to discover and correct errors that might otherwise go undetected Software Engineering 29
  30. 30. Factors Affecting the Choice of Process Model• Type of Project• Methods and Tools to be Used• Requirements of the Stakeholders• Common sense and Judgement Software Engineering 30
  31. 31. Summary Software Process Types of Software Process − Linear Sequential Model − Prototyping Model − Rapid Application Development (RAD) Model − Evolutionary Process Model  Incremental Process Model  Spiral Process Model  Component-based Assembly  Concurrent Development Model Software Engineering 31
  32. 32. Summary Types of Software Process Model − Formal Methods Factors that affect the choice of software development process Software Engineering 32
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×