CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.

Slides:



Advertisements
Similar presentations
HCI in the Software Process and Design Rules
Advertisements

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.
ISBN Prentice-Hall, 2006 Chapter 2 Modeling the Process and Life Cycle Copyright 2006 Pearson/Prentice Hall. All rights reserved.
CSC 532 Term Paper Process Models In Software Engineering By Xiancong Xiong Fall 2004.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Project Management
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
CSE 470 : Software Engineering The Software Process.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Alternate Software Development Methodologies
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Introduction to Software Engineering Dr. Basem Alkazemi
Object-oriented Analysis and Design
Software Engineering General Project Management Software Requirements
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Lecturer: Dr. AJ Bieszczad Chapter 22-1 Process includes: all major process activities resources used, subject to set of constraints (such as schedule)
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Project Documentation and its use in Testing JTALKS.
Configuration Management
Software Life Cycle Model
Software Development Process
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
RUP Implementation and Testing
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering Environment  A quality focus: constant incremental improvement  Process: framework to organize development activities  Methods:
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4 th Edition.
Chapter 2 Modelling the Process and Life Cycle. Pfleeger and Atlee, Software Engineering: Theory and PracticeChapter 2.2 Contents 2.1 The Meaning of Process.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Project Life Cycles.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
1 SWE Introduction to Software Engineering Lecture 4.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
SOFTWARE PROCESS MODELING Benjamin Dixon U
1 CEN 4020 Software Engineering PPT2: Software process modeling.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Process Modelling
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering 1A/1B/1C/1M School of Computer and Information Science, University of South Australia Week 1, Lecture 2, Page 1 Software Engineering.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
Information Systems Development
Object-oriented Analysis and Design
Object-Oriented Software Engineering Using UML, Patterns, and Java,
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
The Systems Engineering Context
Process Models In Software Engineering
HCI in the software process
Formulation of Abstract Machine for SPM Based on Finite State Machine
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Software life cycle models
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Copyright 2006 Pearson/Prentice Hall. All rights reserved.
HCI in the software process
Software Processes Process should be
HCI in the software process
Test Process “V” Diagram
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Human Computer Interaction Lecture 14 HCI in Software Process
Information Systems Development (ISD) Systems Development Life Cycle
Presentation transcript:

CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the software and the speed with which it is developed * The Meaning of Process * Software Process Models * Tools and Techniques for Process Modeling * Practical Process Modeling TECH Computer Science

The Meaning of Process We can think of a set of ordered tasks as a process: a series of steps involving activities, constraints and resources that produce an intended output of some kind. When the process involves the building of some product, we sometimes refer to the process as a life cycle.

Following a Process A process is a collection of procedures (a recipe), organized so that we build products to satisfy a set of goals or standards. Processes are important because they impose consistency and structure on a set of activities. When we know how to do something well and we want to ensue that others do it the same way.

Writing a Process (Writing a “program” for others to follow) Prescribe all major activities Uses resources, subject to a set of constraints May composed of sub-processes Each activities has entry and exit criteria Activities are organized in a sequence. State the goals of each activity.

Software Process Models are prescriptions for the way software development should progress. are descriptions of the way software development is done in actuality. Every software development process model includes system requirements as input and delivered product as output.

Waterfall Model REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT & INTE- GRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE

(Development process in reality) REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN PROGRAM IMPLEMENTATION UNIT TESTING INTEGRATION TESTING SYSTEM TESTING DELIVERY MAINTENANCE

V Model REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT & INTE- GRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE Verify design Validate requirements

Prototyping Model LIST OF REVISIONS LIST OF REVISIONS LIST OF REVISIONS PROTOTYPE REQUIREMENTS PROTOTYPE DESIGN PROTOTYPE SYSTEM TEST DELIVERED SYSTEM REQUIREMENTS (sometimes informal or incomplete) revise prototype user/ customer review

Operational Specification: requirements enacted (automated) using a software package TEST DELIVERED SYSTEM Execute and Revise OPERATIONAL SPECIFICATION (problem-oriented) TRANSFORMED SPECIFICATION (implementation- oriented) SYSTEM REQUIREMENTS (sometimes informal or incomplete)

Transformational Model TEST DELIVERED SYSTEM Compare with requirements; update as needed FORMAL SPECIFICATION TRANSFORM N. SYSTEM REQUIREMENTS (sometimes informal or incomplete) TRANSFORM 2 TRANSFORM 1 FORMAL DEVELOPMENT RECORD Sequence of transformations plus rationale for them

Phases Development Development systems Production systems DEVELOPERS USERS Build Release 1 Use Release 1 Build Release 2 Use Release 2 Build Release 3 Use Release 3 Time

(Increments and Interactions) INCREMENTAL DEVELOPMENT ITERATIVE DEVELOPMENT

Spiral Model // PLAN DEVELOP & TEST DETERMINE GOALS, ALTERNATIVES, CONSTRAINTS EVALUATE ALTERNATIVES AND RISKS start Requirements, life-cycle plan Budget 1 Alternatives 1 Constraints 1 Risk analysis 1 Risk analysis 2 Risk analysis 3 Risk analysis 4 Constraints 2 Constraints 3 Constraints 4 Budget 2 Budget 3 Budget 4 Alternatives 2 Alternatives 3 Alternatives 4 Prototype 1 Proto- type 2 Proto- type 3 Proto- type 4 Concept of operation Software requirements Validated requirements Development plan Integration and test plan Software design Validated, verified design Detailed design Code Unit test System test Acceptance test Implementation plan

Tools and Techniques for Process Modeling Choose Language or Notation A static model depicts the process, showing that the inputs are transformed to outputs. A dynamic model can enact the process, so that the user can see how intermediate and final products are transformed over time.

Static Modeling: Lai Notation State tables show information about the completeness of each artifact at a given time. Transition diagrams show how the states are related to one another.

State table and Transition diagram INITIATEDMOVING PARKED initiate go stop get-out Parked: ((state_of(car.engine) = off) (state_of(car.gear) = park) (state_of(car.speed) = stand))

Dynamic Modeling: System Dynamics Simulate the process and make changes before the resources are actually expended. Factors affecting overall productivity. (Quantified) Relationships (links) between the factors. System dynamics models are supported by software that simulates the overall process.

Practical Process Modeling used properly, process modeling offers great benefits for understanding processes and revealing inconsistencies. Develop special language to help defining and enacting processes, e.g. Marvel specification language. A process model is useful for guiding your behavior when you are working with a group.