PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.

Slides:



Advertisements
Similar presentations
Departemen Ilmu Komputer IPB
Advertisements

Lecture # 2 : Process Models
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
 2004 by SEC Chapter 2 Software Development Process Models.
Chapter 3 Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
More CMM Part Two : Details.
Chapter 2 The Software Process
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
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 Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Developed by Reneta Barneva, SUNY Fredonia The Process.
Capability Maturity Model
Chapter : Software Process
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Chapter 2 Software Process: A Generic View
Chapter 2 The process Process, Methods, and Tools
Chapter 2 The Process.
Software Process and Models
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
N By: Md Rezaul Huda Reza n
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 2 The Process.
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Chapter 3 Project Management Concepts
Software Process Models
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,
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
The Process Infsy 570 Dr. R. Ocker. Chapter 2 (Pressman, 1997) and Readings (Boehm88, Alavi84, Mantei&Teorey88 )
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Developed by Reneta Barneva, SUNY Fredonia The 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 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 Introduction (The Process). Objectives lTo define software engineering lTo introduce a range of software engineering process models.
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 Development Life Cycle (SDLC)
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
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 (CSI 321) Software Process: A Generic View 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Process By Sabeen Amjad Chapter-2. Objectives To comprehend  Software process  Software Engineering as layered technology  Generic view of.
Software Engineering Process Lecture -2:. –Software development life cycle –overview of software development process models.
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 Process Models. Process model or software engineering paradigm – development strategy encompassing Process Method Tool Generic phases Chosen.
1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
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 – A layered Technology
School of Business Administration
CS4311 Spring 2011 Process Improvement Dr
Software Life Cycle “What happens in the ‘life’ of software”
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Chapter 2 The Process.
Chapter 2 The Process.
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools A road map that helps you create a timely, high-quality result. Provide technical how-to’s for building software. Computer-Aided Software Engineering

PART ONE – The Process The 3 generic phases of software engineering: Definition Development Support What ?  info to be processed  function and performance  system behavior  interfaces  design constrains  validation criteria How ?  data structure  function and procedure implementation  interfaces  design translation and testing Change ( also called maintenance )  corrective maintenance: correct defects  adaptive maintenance: accommodate changes to its external environment  perfective maintenance: extend the software beyond its original functional requirements  preventive maintenance (software reengineering): make the software being more easily corrected, adapted, and enhanced

PART ONE – The Process Common process framework Umbrella Activities  Project tracking & control  Formal technical reviews  Quality assurance  Configuration management  Documentation  Reusability management  Measurement  Risk management Framework Activities work tasks work products milestones & deliverables QA checkpoints Framework Activities work tasks work products milestones & deliverables QA checkpoints

PART ONE – The Process The Capability Maturity Model (CMM) —— by Software Engineering Institute (SEI) of Carnegie Mellon University (CMU) Level 1 Initial Level 2 Repeatable Level 5 Optimizing Level 4 Managed Level 3 Defined Ad hoc and chaotic  Configuration management  Quality assurance  Subcontract management  Project tracking & oversight  Project planning  Requirements management  Peer reviews  Intergroup coordination  Product engineering  Integrated software management  Training program  Organization process definition  Organization process focus  Quality management  Quantitative process management  Process change management  Technology change management  Defect prevention Key Process Area KPA Description  Goals  Commitments  Abilities  Activities  Methods for monitoring implementation  Methods for verifying implementation 能力成熟度模型 (CMM): 软件过程改进指南 The Capability Maturity Model Guidelines for Improving the Software Process SEI of CMU 编著 刘孟仁 等译 电子工业出版社 ( 2001 )

PART ONE – The Process  Software Process Models status quo problem definition technical development solution integration A problem solving loop

PART ONE – The Process Waterfall Model Definition Feasibility Study Requirements Analysis System Design Program Design Coding & Module Testing Integration & System Testing Definition Development Delivery & Maintenance Support  Real projects rarely follow the sequential flow.  Customers usually can’t state all requirements explicitly.  A working version will not be available until late in the project time- span. System Lifecycle

PART ONE – The Process Prototyping Model listen to customer build/revise mock-up customer test-drives mock-up The prototype must be thrown away.

PART ONE – The Process Rapid Application Development Model Reuse  Require sufficient human resources.  If a system cannot be properly modularized, RAD may not work.  RAD is not appropriate when technical risks are high.  Require commitment to the rapid-fire activities from both developers and customers.

PART ONE – The Process Incremental Model calendar time analysis designcodetest System/information engineering increment 1 delivery of 1st increment Core product analysis designcodetest increment 2 delivery of 2nd increment More features and functionality analysis designcodetest analysis designcodetest increment 3 increment 4 delivery of 3rd increment delivery of 4th increment  Makes a better use of resources.

PART ONE – The Process Spiral Model Review Commitment Partition Risk analy- sis Prototype 1 Simulations, models, benchmarks Requirements plan, life-cycle plan Concept of operation Prototype 2 Risk analysis Software requirements Requirements validation Develop- ment plan Risk analysis Prototype 3 Software product design Design validation and verification Integration and test plan Risk analysis Operational prototype Detailed design Unit test Code Integration and test Acceptance test Implementation Plan next phases Develop, verify next-level product Determine objectives, alternatives, constrains Evaluate alternatives, identify, resolve risks Cumulative cost Progress through steps Not yet widely used.

PART ONE – The Process  Concurrent development model — especially good for client/server applications; defines a network of activities instead of linear sequence of events. Still Other Process Models  Component-based model — the process to apply when reuse is a development objective.  Formal methods and clean-room software engineering — the process to apply when a formal mathematical specification is to be developed. Good at detecting ambiguity, incompleteness, and inconsistency. Unified Modeling Language  Fourth Generation Techniques (4GT) — automatically generate source code based on high-level specifications. May become the dominant approach when coupled with component-based development.