Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall 2012 1.

Slides:



Advertisements
Similar presentations
Software Testing and Quality Assurance
Advertisements

Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
The Architecture Design Process
Capturing the requirements
Requirements Analysis Concepts & Principles
CS351 © 2003 Ray S. Babcock Requirements What not How “The Pizza Experiment” 1994, 350 companies, 8000 software projects. 31% were canceled before they.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
SE 555 Software Requirements & Specification Requirements Validation.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Requirements Engineering Process – 1
Modelling information systems
ITEC224 Database Programming
Business Analysis and Essential Competencies
Requirements Engineering Requirements Elicitation Process Lecture-8.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Approaching a Problem Where do we start? How do we proceed?
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Lecture 7: Requirements Engineering
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Chapter 4 Requirements Engineering (3/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Requirements Validation
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
SmartPosition Customer Review and Feedback Presentation.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
1 Requirements Elicitation – 2 Lecture # Requirements Engineering Process Requirements Elicitation Requirements Analysis and Negotiation Requirements.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Scope of Systems Requirements: Definition o f Requirements Not to define the full system Not to define the full system Describe or define the essential.
Data Modeling Using the Entity- Relationship (ER) Model
Principles of Programming & Software Engineering
Chapter 5 – System Modeling
Pepper modifying Sommerville's Book slides
Chapter 4: Business Process and Functional Modeling, continued
Chapter 1 The Systems Development Environment
Chapter 5 System modeling
Chapter 5 – System Modeling
Fundamentals of Information Systems, Sixth Edition
Architecture Concept Documents
Chapter 1 The Systems Development Environment
Chapter 8 – Software Testing
TechStambha PMP Certification Training
SYSTEMS ANALYSIS Chapter-2.
Chapter 1 The Systems Development Environment
System Modeling Chapter 4
Verification and Validation
Abstract descriptions of systems whose requirements are being analysed
Requirements Elicitation – 1
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
Software Requirements analysis & specifications
Methodologies For Systems Analysis.
Model based design.
Chapter 2 – Software Processes
Requirements Engineering Processes
Requirements Engineering Process – 1
Chapter 4 System Modeling.
Chapter 1 The Systems Development Environment
Software Development Process Using UML Recap
Presentation transcript:

Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall 2012 1

Deviations between Processes Software Process Definition and Management - Chapter 3 Deviations between Processes Desired Process Descriptive Process Model Discrepancies Actual Process Prescriptive Process Model Process Owner Observed Process Perceived Process Process Agent Stimuli, Interpretations, Errors Results in Actual Behavior

The Importance of Teaching Descriptive Modeling Software Process Definition and Management - Chapter 3 The Importance of Teaching Descriptive Modeling  Descriptive modeling is concerned with building useful abstractions of real processes without making assumptions that are not true

8 Steps of Descriptive Process Modeling Software Process Definition and Management - Chapter 3 8 Steps of Descriptive Process Modeling Configure the process modeling approach – relatively stable For every process to be modeled State objectives and scope Select or develop a process modeling schema Select (a set of) process modeling formalisms Select or tailor tools Elicitation Create the process model Analyze the process model Analyze the process

1. State Objectives and Scope Software Process Definition and Management - Chapter 3 1. State Objectives and Scope Goal: Determine the goal(s) of the process modeling and the organizational context Activities: Define what the process model will be used for Identify the intended users of the model Get to know what the intended users expect from the process model and explicitly state their needs Identify the granularity of the model Determine scope, characteristics, and organizational context Input: - Output: Process modeling goal

1. Example of a Process Modeling Goal Software Process Definition and Management - Chapter 3 1. Example of a Process Modeling Goal Here, for instance, the structure of a GQM goal is used: Object (Scope): Review process of a single module Purpose: Documentation of the process in order to use it for training Quality Focus: Responsibilities and workflow between developers and reviewers Viewpoint: Developer and reviewer of a single module Context: Software development company XY

2. Select or Develop a Process Modeling Schema Software Process Definition and Management - Chapter 3 2. Select or Develop a Process Modeling Schema Goal: Schema that identifies and structures the kinds of information to be captured and their relationships Activities: Identify the concepts to be described using the process modeling goals of step 1 Select or develop a schema that supports modeling of the identified concepts Input: Process modeling goal Output: Process modeling schema Example: For the described goal, the schema has to contain Activities Control flow between activities Assignment of activities to roles

3. Select (a Set of) Process Modeling Formalisms Software Process Definition and Management - Chapter 3 3. Select (a Set of) Process Modeling Formalisms Goal: Select a process modeling language or notation Activities: Select a language or notation that supports the aspects defined in the schema If not all aspects are covered by a single language: add other languages or notations until all aspects of the schema can be modeled Keep in mind the possible training effort for learning a new complex language! Input: Process modeling schema Output: (Set of) process modeling languages and/or notations Example: UML activity charts contain all aspects of the defined schema

Find tools that support modeling using the defined modeling languages Software Process Definition and Management - Chapter 3 4. Select or Tailor Tools Goal: Select or tailor tools that support modeling using the previously defined language(s) Activities: Find tools that support modeling using the defined modeling languages The tools do not necessarily have to be process modeling tools, they can also be simple drawing tools If necessary, tailor the tools to the specific needs of the languages For the selected tools, identify the functionality that should be used for modeling Input: Process modeling languages or notations Output: Set of modeling tools Example: Microsoft Visio for modeling activity charts, SPEARMINT for the SPEARMINT process modeling notation

Commercial tools without reference to process modeling Software Process Definition and Management - Chapter 3 4. Modeling Tools Commercial tools without reference to process modeling e.g., Microsoft Visio, iGrafx Flowcharter Workflow management systems e.g., ARIS Toolset (event-driven process chains) Research prototypes e.g., SPEARMINT e.g., Modeling Support Tool (MoST)

Goal: Acquire all information needed to describe the software process Software Process Definition and Management - Chapter 3 5. Elicitation Goal: Acquire all information needed to describe the software process Activities: Identify all entities (agents, activities, products,…), their relationships, and their properties (e.g., start conditions of activities) Get information through: Interviews (used most often) Observation Analysis of protocols Analysis of process documents Analysis of products Make sure the process agents do not feel judged or evaluated by the person eliciting! If they do, they will describe an ideal process, not the actual process!

5. Elicitation (continued) Software Process Definition and Management - Chapter 3 5. Elicitation (continued) Input: Real process to be modeled Output: All needed information about the process (interview protocols, observation protocols, process documents,…) Example: Interviews with developers and reviewers Analysis of existing review documents Analysis of existing documents describing the review process

5. Elicitation: Interviews Software Process Definition and Management - Chapter 3 5. Elicitation: Interviews Structured interview, 1 - max. 2 hours 2 interviewers Interviewees isolated according to roles no large groups clear focus manageable process models no mutual interaction (horizontal and vertical hierarchical relations) Perform interviews one after another, however, not more than 3 interviews per day Role 1 Role n Information Information Steps 6-8 Process model

5. Characteristics of Example Projects Software Process Definition and Management - Chapter 3 5. Characteristics of Example Projects Project A Embedded real-time system Engine control 14 - 100 developers Project B Time recording system 6-8 developers 6 months development time Project C Telecommunication system 400 developers 12 - 18 months development time

6. Create the Process Model Software Process Definition and Management - Chapter 3 6. Create the Process Model Goal: Create a process model in the defined language or notation that represents the analyzed process Activities: Start by modeling the products Model activities and product flow Assign agents and responsibilities to activities Model behavior (start, end of activities) Review the process model together with process participants If necessary, go back to the elicitation step to get needed information Input: Process modeling languages or notations (Step 3) Process modeling tools (Step 4) Elicited information about the process (Step 5) Output: process model representing the observed process

6. Example: Process Model for Module Review Software Process Definition and Management - Chapter 3 6. Example: Process Model for Module Review

7. Analyze the Process Model Software Process Definition and Management - Chapter 3 7. Analyze the Process Model Goal: Detect inconsistencies in the model to check whether the model correctly describes the real process and to identify improvement possibilities Activities: Static analysis Completeness (does the model contain all information needed to reach the modeling goal?) Correctness (is the model free of contradictory information?) Structural consistency (e.g., are all products used by a refined activity used by at least one of its child activities?) Dynamic analysis (analysis of behavior during execution) Identification of deadlocks, ambiguous situations,… Identification of process weaknesses (critical paths, cost overruns,…) If an identified inconsistency is due to a misunderstanding of the process, refine the process model Input: process model; process modeling goal Output: refined process model; suggestions for improvement

7. Example: Process Model for Module Review Software Process Definition and Management - Chapter 3 7. Example: Process Model for Module Review Incomplete model: Incorrect model: Correct & complete model:

Qualitative analysis: weaknesses of the process Software Process Definition and Management - Chapter 3 8. Analyze the Process Goal: Use the process model to track or analyze process performances, depending on the process modeling goal Activities: Track the performance of the process by registering starts or endings of activities or by asking developers about their current activities If necessary, fine-tune the process model with the results of the tracking Qualitative analysis: weaknesses of the process For example: Too many responsibilities at one position, excessive feedback loops,… Quantitative analysis: correlation between process attributes Input: process modeling goal; process model Output: depending on goal Refined process model, improvement options,… Example: If the goal was to create a process documentation for training, the process model is used to teach new employees the review process

Rules of Descriptive Modeling (1/3) Software Process Definition and Management - Chapter 3 Rules of Descriptive Modeling (1/3) Obtain information about the organization the software domain Analyze existing documents and products Check the relationship between developers and quality assurance Ask whether one of the latest restructurings has had impacts on the process Make sure that the interview partner is selected according to your instructions / guidelines Begin the interviews with quality assurance people or project manager

Rules of Descriptive Modeling (2/3) Software Process Definition and Management - Chapter 3 Rules of Descriptive Modeling (2/3) Process of an interview Beginning Summary Explain goal and purpose Confidentiality agreement General questions about the process, specialties Main part Behave neutrally Ask first about products Then ask about processes What are typical deviations? Which other roles participate in the processes? (cross-check) Always remain precise Try to identify variants

Rules of Descriptive Modeling (3/3) Software Process Definition and Management - Chapter 3 Rules of Descriptive Modeling (3/3) Process of an interview (continuation) Closure Explain future steps Adjust the times for the review Thank your interview partner Ask questions even when you only identify small ambiguities; often, big problems are hidden behind it Do not try to solve all ambiguities and conflicts After the interview: give a quick feedback to the interviewee

There exist different purposes of descriptive modeling Software Process Definition and Management - Chapter 3 Summary Descriptive process models should explicitly represent the actual process There exist different purposes of descriptive modeling Elicitation is the most important sub-step of descriptive modeling Structured interviews are currently the best practice