Chapter 2 Process: A Generic View

Slides:



Advertisements
Similar presentations
Departemen Ilmu Komputer IPB
Advertisements

PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Chapter 2 The Software Process
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.
Chapter 2 Process Models
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CS487 Software Engineering Omar Aldawud
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 ENGINEERING LECTURE-3 CSE-477.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 3 Software process Structure Chapter 3 Software process Structure Moonzoo Kim KAIST 1.
Software Engineering Introduction. Why are you here? …alternatively, why do we think you need to be here? Why a course on software engineering? How is.
Chapter : Software Process
Process: A Generic View
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
Chapter 2 Software Process: A Generic View
Chapter 2 The process Process, Methods, and Tools
Chapter 2 The Process.
Chapter 2 Process: A Generic View
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.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Lecture 1 Introduction to Software Engineering
Software process improvement Framework for SPI SPI support groups, maturity and immaturity models Assessment and gap analysis Education and training Selection.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Lecture Topics covered CMMI- - Continuous model -Staged model PROCESS PATTERNS- -Generic Process pattern elements.
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 Engineering - I
Chapter 4 프로세스 모델 Process Models
Process: A Generic View
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process.
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.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1 2.1 Software Engineering Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software;
Software Engineering Introduction.
CS 281 Intro to Software Engineering Lecture 02 Software Engineering (1)
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Engineering CE 501 Prepared by : Ashwin Raiyani.
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.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter 2.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Software Engineering (CSI 321)
Chapter 2 Software Engineering
Chapter 2 Process: A Generic View
Chapter 2 The Process.
Chapter 2 Software Engineering
Chapter 2 Process Models
For University Use Only
Chapter 2 Process Models
Chapter 2 The Process.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering I
Chapter 2 Process Models.
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Chapter 2 Process Models
Chapter 2 Process Models
Presentation transcript:

Chapter 2 Process: A Generic View

Overview The roadmap to building high quality software products is software process. Software processes are adapted to meet the needs of software engineers and managers as they undertake the development of a software product. A software process provides a framework for managing activities that can very easily get out of control. Different types of projects require different software processes. The software engineer's work products (programs, documentation, data) are produced as a consequence of the activities defined by the software process. The best indicators of how well a software process has worked are the quality, timeliness, and long-term viability of the resulting software product.

Software Engineering Software engineering is the establishment and sound engineering principles applied to obtain reliable and efficient software in an economical manner. Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. Software engineering encompasses a process, management techniques, technical methods, and the use of tools.

Software Engineering - Goals deliver on time within budget required quality Satisfying the true needs of stakeholders

A Layered Technology Software Engineering tools methods process model a “quality” focus

A Process Framework Process framework Framework activities work tasks work products milestones & deliverables QA checkpoints Umbrella Activities

Common Process Framework Communication Customer collaboration Requirement gathering Planning - work plan, technical risks, resource requirements, work products produced, and work schedule Modeling Analysis of requirements Design Construction Code generation Testing Deployment - software delivered for customer evaluation and feedback

Software Engineering Umbrella Activities Software project management Tracking and control Formal technical reviews Assess engineering work products to uncover and remove errors before they propagate to next activity Software quality assurance Maintain software quality Software configuration management Manage effects of change

Software Engineering Umbrella Activities Work product preparation and production Create models, documents, logs, forms, lists, etc. Reusability management Defines criteria for work product reuse and establish mechanisms to achieve component reuse Measurement Define and collect process, project, and product measures Risk management Assess risks that may affect project outcomes or quality

Arranging Framework Activities the framework activities will always be applied on every project ... BUT the tasks (and degree of rigor) for each activity will vary based on: the type of project characteristics of the project common sense judgment; concurrence of the project team There are few different process models that vary in the way that frameworks activities are arranges

Process Assessment The process should be assessed to ensure that it meets a set of basic process criteria that have been shown to be essential for a successful software engineering. Many different assessment options are available: SCAMPI CBA IPI SPICE ISO 9001:2000 CMM and CMMI involves process assessment and process improvement

Assessment and Improvement

Software Engineering Institute (SEI) Capability Maturity Model Integration (CMMI) Level 0: Incomplete (process is not performed or does not achieve all goals defined for Level 1: Performed (work tasks required to produce required work products are being conducted) Level 2: Managed (people doing work have access to adequate resources to get job done, stakeholders are actively involved, work tasks and products are monitored, reviewed, and evaluated for conformance to process description)

CMMI (cont) Level 3: Defined (management and engineering processes documented, standardized, and integrated into organization-wide software process) Level 4: Quantitatively Managed (software process and products are quantitatively understood and controlled using detailed measures) Level 5: Optimizing (continuous process improvement is enabled by quantitative feedback from the process and testing innovative ideas)

The CMMI The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals. Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective. Specific practices refine a goal into a set of process-related activities.

Personal Software Process (PSP) Recommends five framework activities: Planning High-level design High-level design review Development Postmortem stresses the need for each software engineer to identify errors early and as important, to understand the types of errors

Team Software Process (TSP) Objectives Build self-directed teams that plan and track their work, establish goals, and own their processes and plans Show managers how to coach and motivate their teams and maintain peak performance Accelerate software process improvement by making CCM Level 5 behavior normal and expected Provide improvement guidance to high-maturity organizations Measures are analyzed with the intent of improving the team process

Team Software Process (TSP) Each project is “launched” using a “script” that defines the tasks to be accomplished Scripts for Project Activities Project launch Design Implementation Integration and system testing Postmortem

Process Technology Tools Used to adapt process models to be used by software project team Allow organizations to build automated models of common process framework, task sets, and umbrella activities These automated models can be used to determine workflow and examine alternative process structures Tools can be used to allocate, monitor, and even control all software engineering tasks defined as part of the process model

The Primary Goal of Any Software Process: High Quality Remember: High quality = project timeliness Why? Less rework!