Process Models In Software Engineering

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CSC 532 Term Paper Process Models In Software Engineering By Xiancong Xiong Fall 2004.
Lecture # 2 : Process Models
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
CSE 470 : Software Engineering The Software Process.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Alternate Software Development Methodologies
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
CS 425/625 Software Engineering Software Processes
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Lecturer: Dr. AJ Bieszczad Chapter 22-1 Process includes: all major process activities resources used, subject to set of constraints (such as schedule)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
Chapter 2 The process Process, Methods, and Tools
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
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.
Software Processes.
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:
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Developed by Reneta Barneva, SUNY Fredonia The Process.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Systems Development Life Cycle
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Advanced Software Engineering Dr. Cheng
Software Engineering Management
Software Prototyping.
Lecture 3 Prescriptive Process Models
SNS College of Engineering Coimbatore
Software Processes (a)
Chapter :Software Process Model
CS 425/625 Software Engineering Software Processes
Software Engineering PPT By :Dr. R. Mall.
Software Process Models
Chapter 2 SW Process Models
Software Process Models
Life Cycle Models PPT By :Dr. R. Mall.
Software Life Cycle Models
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
HCI in the software process
Software Processes.
System Development Life Cycle
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Chapter 2 Software Processes
Lecture 2 Revision of Models of a Software Process
Software life cycle models
Software Process Models
HCI in the software process
Software Processes Process should be
Software Processes.
Software Engineering Lecture 17.
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Human Computer Interaction Lecture 14 HCI in Software Process
Chapter 1: Introduction to Systems Analysis and Design
What is Software Engineering?
Chapter 2 Software Processes
Presentation transcript:

Process Models In Software Engineering

Why we need process modeling? Several researchers report that: Used properly, process modeling offers great benefits for understanding processes and revealing inconsistencies. For example, Barghouti, Rosenblum, Belanger, and Alliegro (1995) conducted two case studies.

Basic Concepts Process: A series of steps involving activities, constraints, and resources that produce an intended output of some kind [Pfleeger 01].

Basic Concepts Characteristics of A Process: Proscribes all the major process activities. Process uses resources and produce products. Be composed of subprocesses. Each process activity has entry and exit criteria. Process activities are organized in a sequence. Each process has a set of guilding principles that explain the goals of each activity. Constraints or controls may apply to an activity,resource,or product.

Basic Concepts Process Model: Description of a process expressed in a suitable process modeling language. It is an abstract representation of software process [Finkelstein 94] . It is an abstract representation of software process.

Basic Concepts Two kinds of Process models: Prescriptions process models: prescriptions for the way software development should progress Descriptions process models: descriptions of the way software development is done in actuality.

Basic Concepts Benefits of using process models: First, with a process model’s help, the software development team can easily understand the project they will develop. The description of the processes provides every one a common understanding of the activities, resources, and constraints involved in software development. A process model can help the development team find inconsistencies, redundancies, and omissions in the process and in its constituent parts.

Basic Concepts Desired properties of process modeling tools and techniques [Cuitis 1992]: Easy of understanding and communication. Supports process improvement. Supports process management. Provides automated guidance in performing the process. Supports automated process execution.

Process Models After many years evolution, there appear many process models, for example: Waterfall model, Rapid prototyping, software automation, V-Model Spiral Model Iteration model Increment model

Fig 1: Waterfall Model [Royce 70]

Waterfall Model The Waterfall Model consists of the following main steps: Requirements Analysis. System Design and Program Design. Coding. Testing.

Waterfall Model Disadvantages of the Waterfall Model: You can not think out all the detailed requirements and goals at the beginning of most projects. Sometime you have to go further and then you can get more information to do the job. The model does not accommodate this natural uncertainty very well. The Waterfall Model does not tell how to transfer from one stage to another. Practically, there are a few project which always follow the sequential steps that the model proposes. Developing a system using the Waterfall Model does not yield a working version of the system until late in the process.

Prototyping Fig.2 : Prototyping Model [Yeh 94 ]

Prototyping Prototyping is comprised of the following steps: Requirements Definition/Collection. Design. System Implementation. Assessment. Prototype Refinement. Prototype Creation/Modification.

Prototyping Disadvantages of the Prototyping Model: Prototyping can lead to poorly designed systems. Prototyping can lead to false expectations.

Iterative Development In Iterative Development Model, the project is divided into small parts. When each of them is finished, it can be demonstrated to customers and feedbacks from customers are collected. Thus enable users to have some functionality while the rest is being developed.

Iterative Development Disadvantages of the Iterative Model: Communication and coordination skills play an important role in project development. The customers’ expectation may change when they see the system develop. The user have to be actively involved throughout the project. Though this involvement is a positive for the project, sometime it may delay the project progress. A controlled mechanism should be developed to deal with the huge requests . Some time these requests may lead to confusion.

The Spiral Model Fig. 3: Spiral Model [Boehm 88]

The Spiral Model The Spiral Model is made up of the following steps: Project Objectives. Risk Assessment. Planning and Management. Engineering & Production.

The Spiral Model Disadvantages of the Spiral Model: The risk assessment component of the Spiral Model provides both developers and customers with a measuring tool that earlier Process Models do not have. The measurement of risk is a feature that occurs everyday in real-life situations, but (unfortunately) not as often in the system development industry. The practical nature of this tool helps to make the Spiral Model a more realistic Process Model than some of its predecessors.

Summary Process modeling is an very important process in software engineering. By using a good process model and good process, the quality of products of development can be guaranteed.

Future work Software simulation Web-based software engineering Software process reengineering

References [Keller 90] Marc Keller and H. D. Rombach, “Comparison of software processes descriptions”, 1990. [Royce 70] W.W. Royce, “Managing the development of large software systems: Concepts and techniques.” August, 1970 [Boehm 88] B.W. Boehm, “A spiral model for software development and enhancement.” IEEE computer, 1988 [Forrester 91] J. Forrester, “System dynamics and the lessons of 35 years.” 1991. [Yeh 94] Yeh, “ Rapid Prototyping”. 1994 [Raffo 00] D. Raffo and W. Scacchi, Special Issue on Software Process Simulation and modeling. 2000. [Humphrey 89] W. Humphery, software process modeling: principle and entities. 1989 [Pfleeger 01] Shari Pfleeger, Software Engineering, Pearson Education, 2001. [Finkelstein 94] A. Finkelstein, Software Process Modeling and Technology. 1994 [SEI 04] www.sei.cmu.deu [ESPI 04] www.espi.co.uk [IEEE 04] www.se.cs.mcgill.ca [USC 04] www.sunset.usc.edu