Software Process Modeling. Sadaf Mustafiz School of Computer Science McGill University

Similar documents
Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Introduction to Systems Analysis and Design

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Chapter 3 Prescriptive Process Models

Lecture- 10. Project Scheduling. Dronacharya College of Engineering

Software Engineering

Business Process Modeling

Introduction to Software Engineering: Project Management ( Highlights )

ISSN Number: Modelling Time-Constrained Software Development. Dr. Antony Powell Department of Management Studies, University of York

Software Engineering Part 2

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Information Systems. Rationale Aims & Objectives. Rationale Aims & Objectives. Introduction to Project management. Ruel Ellis

Software Processes 1

Chapter 24. Software Project Scheduling

Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM. An Oracle White Paper April 2012

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

PMP Exam Preparation Course Project Time Management

Explore Comparative Analysis Software Development Life Cycle Models

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Engineering COMP 201


The software process

Software Engineering

FACTFILE: GCE DIGITAL TECHNOLOGY

Chapter 2 The Project Management Life Cycle

Pertemuan 2. Software Engineering: The Process

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

MBP1133 Project Management Framework Prepared by Dr Khairul Anuar

MBP1123 Project Scope, Time and Cost Management Prepared by Dr Khairul Anuar

The Systems Development Lifecycle

03. Perspective Process Models

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

Software project management. ITNP090 Object Oriented Software Design. Management activities. Software Management Challenges

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

MBH1123 Project Scope, Time and Cost Management Prepared by Dr Khairul Anuar. Lecture 6b Project Time Management - II

CMPT 275 Software Engineering

Software Development Software Development Activities

Introduction to Software Engineering

Chapter 5 Project Scheduling. (Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill,

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

ICS 52: Introduction to Software Engineering

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae

CHP 1: AN OVERVIEW OF IT PROJECT MANAGEMENT

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Tuesday, October 25. Announcements

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

HIGHLIGHTING THE IMPORTANCE OF TESTING IN THE PRODUCT DEVELOPMENT PROCESS

PMBOK Guide Fifth Edition Pre Release Version October 10, 2012

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

A New Divide & Conquer Software Process Model

Project Time Management

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Cambridge University Press Agile Testing: How to Succeed in an Extreme Testing Environment John Watkins Excerpt More information

What is Software Engineering?

Project Time Management

Moving Toward CMM Levels 4 and 5: Combining Models and Metrics to Achieve Quantitative Process Management

Chapter 3 Software Process Model

Software Design COSC 4353/6353 D R. R A J S I N G H

Communication Model for Cooperative Robotics Simulator. Project Plan. Version 1.0

Planning & scheduling

Chapter 2 Software Product Lifecycles: What Can Be Optimized and How?

Design approaches the Waterfall Model. COSC345 Software Engineering

Monitoring and controlling of a multi - agent based workflow system

Object-Oriented Software Design and Software Processes

Schedule metric analysis: a formalized approach to more realistic planning...

Chapter 3 Managing the Information Systems Project

Chapter 8. Systems Development. Ralph M. Stair George W. Reynolds

Geog 469 GIS Workshop. Project Management

Using Software Process Simulation to Assess the Impact of IV&V Activities 1

IMPLEMENTATION, EVALUATION & MAINTENANCE OF MIS:

Global Project Management, LLC

Understanding and Managing Uncertainty in Schedules

SDLC AND MODEL SELECTION: A STUDY

Before You Start Modelling

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SOFTWARE ENGINEERING 1. Examiners Report March 2018

SYED AMMAL ENGINEERING COLLEGE (An ISO 9001: 2008 Certified Institution)

SDLC Models- A Survey

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

Software development activities

Software Engineering. Page 1. Objectives. Steps in Project Planning. Software Project Planning. Scope. Estimating Resources

Charting and Diagramming Techniques for Operations Analysis. How to Analyze the Chart or Diagram. Checklist of Questions - Example

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

PMP EXAMINATION PREP CHAPTER 6 SCHEDULE MANAGEMENT. PMP Exam Prep

course factsheet EPM Practicalities project solutions that make a difference duration availability course overview designed for prerequisites

An Overview of Software Process

The Basic Waterfall Model. Software Process Models. Concurrent Development. (Concurrent Development) The Agile Critique of the Waterfall

7. Model based software architecture

Agile Projects 7. Agile Project Management 21

In general, a model is used to understand a system. It is only a representation of a more complicated original system based on mutual

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

7. Project Management

Project Management. Business Administration 458. Enterprise IT Governance Professor Michael J. Shaw. By: Michael Pantazis

Organization of Software Projects

6 Steps to Designing a Flexible Control System with ISA-88. Quality, Experience, and Peace of Mind: Cross Company Process Control Integration

Chapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Certkiller.OG questions

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

Schedule Compression

Transcription:

Software Process Modeling Sadaf Mustafiz School of Computer Science McGill University Winter 2003

Outline (1) The Need for a Defined Software Process Objectives of Software Process Modeling Current Software Process Models Waterfall Model Spiral Model Incremental Development Model Shortcomings of Current Models Causes of Current Model Problems Process Modeling Considerations 2

Outline (2) Entity Process Model Differences of EPM and WM Stability of EPMs Entities and Software Process Entities Producing Software Process Models Example EPM Scheduling Considerations 3

The Need for a Defined Software Process The software process is the technical and management framework established for applying tools, methods, and people to the software task. A thoughtfully defined and approved process can be a great help for the software professionals to do a consistently professional job. 4

Objectives to assess and analyse the as-is process to design the to-be process to forecast process trajectories for a better project control to simulate outcomes under different what-if conditions without affecting the actual environment 5

Process Models Represent the way the work is actually (or is to be) performed. Provide a flexible and easily understandable, yet powerful, framework for representing and enhancing the process. Be refinable to whatever level of detail is needed. 6

Current Software Process Models Waterfall Model Spiral Model Incremental Development Model Entity Model 7

Waterfall Model (the traditional view) First described in 1970 s for aerospace/defense projects. 8

Shortcomings of the Waterfall Model It does not adequately address the pervasiveness of changes in software development. It unrealistically implies a relatively uniform and orderly sequence of development activities. It does not easily accommodate such recent developments as rapid prototyping or advanced languages. It provides insufficient detail to support process optimization. 9

The Reality 10

Spiral Model (1) This is a refinement of the traditional waterfall, explicitly recognizing that development cycles. The spiral incorporates risk analysis into the process, and allows developers to stop the process as well as clients, depending on expected returns from new requirements. 11

Spiral Model (2) Described by Barry Boehm as a metamodel 12

Incremental Development Model Each release is a mini-waterfall 13

Causes of Current Model Problems The fundamental problem with current software process models is that they do not accurately represent the behavioural (or timing) aspects of what is really done. Traditional process models are extremely sensitive to task sequence; consequently, simple adjustments can require a complete restructuring of the model. 14

Process Modeling Considerations "What is the right way to model the process?" but "What is the most appropriate way to model this process for this purpose? Most efforts have focused on the functional, or task-oriented, aspects of processes. The Entity Process Model proposes an entity orientation to behavioural modeling. 15

Entity Process Model Considers basing process models on entities. Here, one deals with real entities and the actions performed on them. Each entity is a real object that exists and has an extended lifetime. Examples: the requirements, the finished program, the program documentation, or the design. 16

Differences of EPM and WM The traditional waterfall model deals with tasks such as producing the requirements. This task is then presumed completed before the next one (design) starts. In reality, the requirements entity must survive throughout the process. While it undergoes many transformations, there is a real requirements entity that should be available at all later times in the process. The same is true of the design, the implementation, and the test suite. 17

The Stability of Entity Process Models (EPMs) The reasons that EPMs provide a useful representation of a software process are: EPMs deal with real objects (entities) that persist. Each entity is considered by itself and is viewed as having a defined sequence of states. 18

The Stability of EPMs (2) State transitions result from well defined causes, although they may depend on the states of other entities as well as process events and conditions. As long as the relative sequential relationships of these transitions are retained within each entity stream and as long as any prerequisites and dependencies between entities are maintained, the timing within the various entity streams is not material. 19

Entities An entity must: Exist in the real world and not merely within the model or process. Be identifiable and uniquely named. Be transformed by the process through a defined set of states. 20

Software Process Entities Some obvious entities are: Deliverable code Users installation and operation manuals Some more entities are (debatable): Requirements documents Design Test cases and procedures 21

Producing Entity Process Models Identify the process entities and their states. Define the triggers that cause the transitions between these states. Complete the process model without resource constraints an unconstrained process model (UPM). Impose the appropriate limitations to produce a final constrained process model (CPM). 22

Example EPM (1) Modeled using a commercially available software system called STATEMATE. Focuses on behavioural modeling perspective Approach to behavioural modeling utilizes statecharts 23

Example EPM (2) Considering the activities occurring between the time when 1. detailed design for the module has been developed, and 2. the module has successfully passed unit testing. Three entities of interest: 1. Module code 2. Unit tests for the module 3. Test execution and analysis results 24

Example EPM (3) Example Time Line for Module Code Entity Passive State Active State Entities remain for a non-zero time in each state. Transitions take negligible time. In the life span of an entity, it must always be in some state. 25

Example EPM (4) Statechart depicting an entity process modeling view of the example process. The boxes in the diagram represent states, while the lines represent transitions between states. 26

Example EPM (5) Module Code Entity 27

Example EPM (6) Module Unit Tests Entity 28

Example EPM (7) Test Execution and Analysis Results Entity 29

Example EPM (8) States can have orthogonal components, separated by dashed lines. These orthogonal components represent parallelism (concurrency); for example, the module code, tests, and test execution report all exist concurrently, as illustrated in the upper left quadrant (labelled module_code), lower left quadrant (labelled module_tests), and upper right quadrant (labelled test_exec_report) of the diagram, respectively. 30

Example EPM (9) Because STATEMATE does not offer an entity construct, the entities themselves have to be represented as high-level orthogonal state components, as shown by the major quadrants in the figure. At all lower levels, states in the statechart do indeed depict the various states of these entities. 31

Basic EPM Example (10) 32

Example EPM (11) When the overall process is in a state (such as the large outer state labelled sw_process), it must also be in a substate in each orthogonal component. Components have been included in the lower right quadrant for upstream entities and downstream entities. These are simply placeholders to illustrate where the rest of the software process would be depicted, and would include states for the entities requirements, designs, system builds, integration tests, etc. 33

Example with Feedback (1) Module Code Entity 34

Example with Feedback (2) Module Unit Tests Entity 35

Example with Feedback (3) Test Execution and Analysis Results Entity 36

Further Refinement EPM Example Developing_Code Details 37

Scheduling Considerations Entity process models can be used for schedule planning and analysis. The example EPM developed is called unconstrained because it does not include any consideration of resource constraints in performing tasks and making transitions between states. The EPM can be used to derive an unconstrained process model (UPM), which is a schedule for the unconstrained case. 38

The Unconstrained Process Model (UPM) These tasks correspond to the active states in the statechart model. The basic plan forecasts that after initial development of code and tests, test execution will uncover errors calling for the rework of both code and tests at half their initial effort level. The second round of testing will uncover more errors, but only in the code, requiring one-quarter the initial effort to correct. The tests will then be passed on the third round. It has been assumed that each of these tasks is a one-person task that cannot be distributed among multiple workers. 39

Example UPM 40

The Constrained Process Model (1) Real software organizations have limited resources, some tasks may have to wait for personnel to become available to accomplish them. The CPM is produced by adjusting task timing to obtain the overall results desired, subject to the resource constraints. A typical objective would be to complete the process in the shortest time. 41

The Constrained Process Model (2) The UPM revealed that the process could be completed in 29 hours, but required two workers during 12 of those hours. What happens when only one worker is available? The shortest possible time with this resource constraint is 41 hours. 42

Example CPM 43

Schedule Management (1) Software Process Models can be valuable tools for schedule management. From the UPM (slide 41), it can be seen that there is slack time for initial test development: it can begin any time between time 0 and 4 without delaying completion of the process. On the other hand, initial code development is on the critical path; if any way could be found to speed up that task, overall completion would occur sooner. These charts also indicate that the addition of a second worker at certain points could speed up completion. 44

Schedule Management (2) The models are also useful during process execution. In the occurrence of a crisis delaying completion of a key task, the models allow management to determine if this task is on the critical path. If it is, then the completion schedule is threatened, and management can use the models to assess the available corrective actions. By examining the models, it becomes apparent whether added resources could help and where they should be applied to rebalance the schedule. 45

Conclusions (1) The most attractive feature of EPMs is the new forces they generate: The prime entities of the software process are seen as persistent objects. A focus on states facilitates the tracking of 100% completed items rather than vague partial task completions. The UPM/CPM duality assists in adjusting for crises without bypassing essential elements of the process. 46

Conclusions (2) The use of the UPM/CPM pair simplifies initial scheduling and planning and permits simple adjustments to conform to new demands and available resources. The EPM models focus on the dynamic behaviour of a process and its impacts on the relevant entities. The EPMs, based on statecharts, are formal and enactable in that we are able to run interactive, animated simulations of our EPMs with STATEMATE, as well as perform automated tests and analyses. 47

References (1) 1. Watts S. Humphrey, Marc I. Kellner, Software process modeling: principles of entity process models, Proceedings of the 11th international conference on Software engineering, p.331-342, May 1989, Pittsburgh, Pennsylvania, United States http://portal.acm.org/citation.cfm?doid=74587.74631 2. M. I. Kellner, Representation formalisms for software process modelling, Proceedings of the 4th international software process workshop on Representing and enacting the software process, p.93-96, April 1988, Devon, United Kingdom http://portal.acm.org/citation.cfm?doid=75111.751 25 48

References (2) 3. Hybrid Simulation Modelling of the Software Process Paolo Donzelli, Giuseppe Iazeolla, Laboratory for Computer Science, University of Rome http://www.prosim.pdx.edu/prosim2000/paper/prosime A23.pdf 4. Software Process. http://www.cs.unc.edu/~stotts/comp145/kmsnotes/seprocess. html 5. Software Process Models. http://www.cc.gatech.edu/computing/sw_eng/people/faculty/c olin.potts/courses/3302/1-08-mgt/sld001.htm 49