CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 3 Prescriptive Process Models Discussion of the Software Process models:

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Chapter 3 Prescriptive Process Models
Prescriptive Process Models Developed to bring order and structure to the software development process. To get away from the chaos of most development.
CS487 Software Engineering Omar Aldawud
SW Process Models It is a set of activities required to:
Chapter 3 Process Models
Chapter 2 Software Process Models
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Software Life Cycles ECE 417/617: Elements of Software Engineering
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 501: Software Engineering
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 2 The process Process, Methods, and Tools
Software Process and Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class.
Prescriptive Process Models
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?
Software Engineering MCS-2 Lecture # 6
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class project.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Chapter 4 프로세스 모델 Process Models
Software Engineering B.Tech II csE Sem-II
Introduction to Software Development (Software Engineering - I)
SWE311_Ch03 (071) Software & Software Engineering Slide 1 Chapter 3 Prescriptive Process Models.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
© Bennett, McRobb and Farmer 2005
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Model Process
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Engineering Process Models Models for Guiding the Development of Software.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Chapter 3 Prescriptive Process Models
Lecture 3 Prescriptive Process Models
Software Engineering: A Practitioner’s Approach
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Prescriptive Process Models
Introduction to Software Engineering
Process Models Coming up: Prescriptive Models.
Software engineering -1
Software Process Models
Chapter 3 Prescriptive Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Processes Process should be
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Presentation transcript:

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 3 Prescriptive Process Models Discussion of the Software Process models: Prescriptive Process Models

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Software Process Models (1) Prescriptive process models evolved over the years to bring some order to the software development (structure, order, consistency)… But, the software industry is fast changing! A prescriptive process model is a strategy/paradigm that prescribes a set of process elements (activities, actions, work tasks, product, QA, CM) and a workflow. Different software projects require different process models! Why? - nature of the application - complexity - methods and tools - required control - expected quality - outcomes/products

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Software Process Models (2) Key phases of a software process model:

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Waterfall Model (1) Known as classic life cycle or sequential model. Communication Planning Modeling Deployment Development

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Waterfall Model (2) Life cycle phases: 1. Communication (Requirements Analysis): Good understanding of the system (databases, performance, interface/user, functions). Document: SRS - What the system will do. 2. Planning: Developing project development plan (estimation, scheduling, tracking, and risk management). Document: SDP – The project development plan.

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Waterfall Model (3) 3. Modeling (Design): Translating requirement specifications of a software systems that can be assessed for against requirements. Design elements: data structures, software architecture, interfaces, implementation (algorithmic) details. Document: SDD - How the system will work. 4. Coding: Translation design into code (programming task). Document: generated code (modules, procedures, packages, classes, etc..)

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Waterfall Model (4) 5. Testing: Process of finding unknown errors and defects using a test plan that consist of test cases. Testing begins before coding starts! Test cases are traceable to requirements Testing begins in the small Unit testing Integration testing System testing Acceptance testing Document: Test Plan and Test Cases

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Waterfall Model (5) 5. Deployment (Support): Delivery, support, and feedback. Application of previous phases when making a change to deployed system (new requirements, environment changes, interface/user changes, etc…). Potential Problems: - Incomplete requirements - Long waiting for a working version (client perspective) - Critical path - blocking states and waiting time - Projects do not follow sequential flow! Too many changes BUT, the model defines essential activities for software development...

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Incremental Model (1) It is an iterative linear process that produces functional increments (usable modules) of the system. analysis d esi g n c o d et e st increment 1 delivery of 1st increment analysis de si g nc o d e t est increment 2 delivery of 2nd increment delivery of analysis des ig nc o d ete st increment 3 3rd increment calendar time Core Product Additional Features

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Incremental Model (2) - It is an evolutionary model. - First increment is the core product (focus on the essential requirements of the system) - Plans for future increments (additional requirements) must be developed. Advantages: - Increments are functional products (unlike prototyping) - Staffing is not an issue, adjusted as needed - Facilitates managing technical and other risks Any disadvantages?

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The RAD Model (1) - Incremental process that uses component-based development for business applications, and emphasizes short life cycle. - Ideally, each business function is completed in 2 to 3 months. Business Modeling Data Modeling Process modeling Application generation Testing and turnover business modeling data modeling process modeling application generation testing & turnover business modeling data modeling process modeling application generation testing & turnover team #1 team #2 team # days

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The RAD Model (2) RAD phases: (Applied to modeling and development phases) 1. Business modeling - identify business functions, processes, and what/how/who generates information. 2. Data modeling - redefine business information to data objects, and define object attributes and relationships among objects. 3. Process modeling - describe how processes manipulate (add, delete, retrieve, update) data objects to implement business functions. 4. Application generation - automated tools (4th generation techniques) are used to create the application by using component reuse.

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The RAD Model (3) 5. Testing - mainly component integration and system testing since components are already tested. Challenges: - Requires sufficient human resources - Require careful planning for multiple teams - Requires commitment (developer and customer) - Limited to specific systems (with modularity nature) (business applications) - Inappropriate when technical risks are high (technology and interoperability)

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Prototyping Model (1) - Evolutionary model - iterative - Incomplete requirements? Go prototyping! - The prototype shows software aspects visible to the user. Listen to customer Quick Plan Design/Build /Revise mock-up Customer test-drives mock-up

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Prototyping Model (2) The purpose: - to satisfy customer needs - to understand system requirements What to do with the prototype? - throw it away or reuse it? Must decide before you build it. Potential problems: - Pressure to extend the prototype to a working system! - The “less-than-ideal choice” becomes part of the system! Prototyping keeps everyone happy! Only if the customer agrees to its purpose and what you will do with it...

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Spiral Model (1) An evolutionary iterative process (with controlled step-wise waterfall) that produces incremental releases of the system (not necessarily functional increments!) Engineering Customer Communication Construction & Release Risk Analysis Planning Customer Evaluation SRS Prototype Working Version Complete System

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Spiral Model (2) - Each release goes through task regions, each task region defines a set of work tasks relevant to the project type and size. - It is appropriate for large-scale evolving software projects. - It facilitates prototyping (in early passes) to reduce risks! - Allows constant risk assessment in all region - Each pass thought the planning region, the project plan, schedule, and cost are adjusted accordingly. Drawback: - Less popular than sequential and prototype models - Does not appeal to the customer! - Require considerable risk assessment expertise

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. The Unified Process (1) -A “use-case driven, architecture-centric, iterative and incremental” software process. -It integrates different component-based development models into one scenario-based unified model. -It emphasizes customer communications through use-cases. -It is a framework for OO development with UML modeling. -Developed by James Rumbaugh, Grady Booch, and Ivar Jacobson in early 1990s, by combing the best of their individual OOA and OOD methods.

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Unified Process (2) Phase: inception software increment Release Inception Elaboration construction transition production Communication Planning Modeling Deployment Construction

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Unified Process (3)

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Unified Process (4) See Figure 3.8, page 67: UP Work Products.

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Other Process Models (1) Component-Based Development model: A specialized model that Integrates OO technology to the engineering and construction activities of the spiral model. Used when reuse of COTS components is the main objective. This model aims to improve software development. (70% saving in time, 84% saving in cost, 26.2 productive index (the norm is 16.9) (see page 60)

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Other Process Models (2) Formal Methods (Cleanroom SE): The application of formal mathematical specifications to develop safety-critical software applications. The emphasis is on defect-free software using formal methods during analysis and design. Issues: cost is high, training is extensive, communication with customer is difficult. Aspect-Oriented Model: New “immature” process model that focus on modeling aspects as customer concerns that cut cross multiple system functions, features, and information. (self-reading)

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Suggested Problems Try to work problems 2, 3, 4, 5, 6, 7, 8, 10, 11, 14, and 15 from Chapter 3, page 69. No submission is required for practice assignments. Work it for yourself!

CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Last Slide End of chapter 3