2.1/65 The Software Process. 2.2/65 Overview Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases,

Slides:



Advertisements
Similar presentations
Software Life Cycle and Models
Advertisements

Software Quality Assurance Plan
Ch 3: Unified Process CSCI 4320: Software Engineering.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
CSE 470 : Software Engineering The Software Process.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Chapter 2 – Software Processes
Software Engineering Introduction and Overview RA402 jcmtCSE1320 Intermediate Programming Essence and Accident Inherent Difficulties –Complexity –Conformity.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
No Silver Bullet “There is no single development, in either technology or management technique, which by itself promises even one order-of magnitude improvement.
Slide 2.1 ©Center for Research in Electronic Commerce, Xiamen University, 2004 Object-Oriented and Classical Software Engineering Fifth Edition, McGraw-Hill,
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Slide 2.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Illinois Institute of Technology
CSC Software Engineering I 1 Overview - Software Lifecycles, Processes, Methods and Tools Software lifecycle basics Software lifecycles – build-and-fix.
Software lifecycle. CS351 - Software Engineering (AY2004)2 Software lifecycle “student view” Design & Specification Coding Testing (optional) Hand it.
The Software Process Xiaojun Qi.
Software Lifecycle Software Lifecycle Basics Lifecycle Models Methods and Tools.
CMMI Overview Quality Frameworks.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Slide 3.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
Essence and Accident in Software Engineering By: Mike Hastings.
Chapter 10.
Introduction to Software Quality Assurance (SQA)
Software Engineering CEN 4010 What is Software Engineering Historical Aspects NATO group coined the phrase during a 1968 meeting in Garmisch, Germany (
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
1 CMPT 275 Software Engineering Software life cycle.
Modified from the notes of Stephen R. Schach
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Software Quality Assurance Activities
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.
ISO 9000 & TOTAL QUALITY ISO 9000 refers to a group of quality assurance standards established by the International Organization for Standardization.This.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
SQA System Overview Chapter 4. Where we have been so far, Where we are going Where do software errors come from? What is quality? How can quality be measured?
S Q A.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Quality Concepts within CMM and PMI G.C.Reddy
Slide 2.1 CHAPTER 2 THE SOFTWARE PROCESS. Slide 2.2 Overview l Client, Developer, and User l Requirements Phase l Specification Phase l Design Phase l.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Advanced Software Engineering Lecture 2: The Software Process.
Slide 3.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
Software Engineering Lecture # 1.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Software Engineering (CSI 321) Software Process: A Generic View 1.
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
Systems Development Process and Methodologies Dr. T. Ravichandran.
Advanced Software Engineering Dr. Cheng
CS4311 Spring 2011 Process Improvement Dr
The Systems Engineering Context
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
THE SOFTWARE PROCESS (revisited)
Software Engineering I
Presented by KARRI GOVINDA RAO ,
Presentation transcript:

2.1/65 The Software Process

2.2/65 Overview Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.3/65 Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.4/65 Session 2 – 2,000 Ft. Location Commentary Session 1 – 100,000 Ft.,,

2.5/65 Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.6/65 Terminology – מינוח Systems analysis, –Requirements + specifications phases, Operations mode –Maintenance, Design –Architectural design, detailed design, Client, Developer, Vendor, Manufacturer, User, “עולם הדג של אברום” ספק לקוח משתמש יצרן Made in China מפתח

2.7/65 Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.8/65 Testing Phase? There is NO testing phase!, Testing is an activity performed throughout SW production, Testing related terminology: Verification – אימות, אישור –Performed at the end of each phase, Validation - מתן תוקף חוקי –Performed before delivering the product to the client,

2.9/65 Documentation Phase? There is NO documentation phase!, Why?: Every phase must be fully documented before starting the next phase, Postponed documentation may never be completed, The responsible individual may leave, The product is constantly changing, we need the documentation to do this, The design (for example) will be modified during development, but the original designers may not be available to document it.

2.10/65 Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.11/65 Requirements Phase Assumption: –The SW being considered is economically justifiable, Concept exploration –Determine what the client needs, not what the client wants, Requirement Engineering,, Moving target problem –The Rapid prototype,

2.12/65 Requirements Phase Documentation Rapid prototype or, Requirements document.

2.13/65 Requirements Phase Testing Requirements Review, Rapid prototyping.

2.14/65 Requirements Phase Testing

2.15/65 Specification Phase Specifications document (“specifications”): –Legal document, –Must not have phrases like “optimal,” or “98% complete”, –Explicitly describes the functionality of the product, –List all inputs and outputs, –Lists all constrains, … Specifications must not be: –Ambiguous, foggy, misty –Incomplete, –Contradictory.

2.16/65 Specification Phase Documentation Only when specification is completed – we can really plan the project! Only now we can appreciate time & money, (the needed personnel, environment, tools …), SDP, SDP Specification document (specifications) – EPS. EPS

2.17/65 Specification Phase Testing Check the spec doc. Check the SDP, Traceability, –Every part of the specification can be linked to a statement in the requirements, Review – walkthrough.

2.18/65 Design Phase Specification Phase — what, Design Phase — how, Architectural design: –Decompose the product into modules, Detailed design: –Design each module: data structures, algorithms, Retain design decisions: –When a dead-end is reached, –For the maintenance team, –Ideally, the design should be open-ended.

2.19/65 Design Phase Documentation Architectural design, Detailed design, Keeping records of design decisions.

2.20/65 Design Phase Testing Traceability: –Every part of the design can be linked to a statement in the specification document, and –Every statement of the specification document is reflected in some part of the design, Review, looking for: –Logical faults, –Interface fault, –Lack of exception handling & nonconformance to specifications.

2.21/65 Implementation Phase Implement the detailed design in code, The modules should be tested while they are being implemented.

2.22/65 Implementation Phase Documentation Source code –Test cases (with expected output), Test case and Test case results, –They will be the base for the regression testing library.

2.23/65 Implementation Phase Testing Review, –Code review, Test cases, –Informal testing (desk checking): Modules should be tested while they are being implemented, –These tests are verification, –Formal testing (SQA).

2.24/65 Integration Phase Combine the modules and check the product as a whole, Bottom-up vs. Top-Down integration methods.

2.25/65 Integration Phase Documentation Commented source code, Test cases for the product as a whole.

2.26/65 Integration Phase Testing SQA involvement, Special care for interfaces, Product testing, Acceptance testing – customer, (Checking correctness, robustness, …), Validation testing.

2.27/65 Integrating COTS SW – תוכנת מדף “Shrink-wrapped SW”, Commercial Off-The-Shelf (COTS), COTS SW is often downloaded, “Click-wrapped SW”, –First version, Alpha version – Alpha testing, –Corrected Alpha version – Beta testing.

2.28/65 Maintenance Phase Maintenance: –Any change once the client has accepted the SW: Corrective, Enhancement, Perfective, Adaptive, Most of the money is devoted to this phase, The problem of lack of documentation.

2.29/65 Maintenance Phase Documentation Record of all changes made, with reasons, The CCB – (Change Control Board) meeting minutes, Regression test cases.

2.30/65 Maintenance Phase Testing New change testing &… Regression testing, Customer are very happy with new capabilities, but they are more than upset with disappearance of previous capabilities!

2.31/65 Retirement – פרישה Good SW is maintained, Sometimes SW is rewritten from scratch, SW might become un-maintainable because: 1.Maintenance is no longer cost-effective, 2.A drastic change in design has occurred, 3.The product must be implemented on a totally new hardware/operating system, 4.Documentation is missing or inaccurate, 5.Hardware is to be changed — it may be cheaper to rewrite the SW from scratch than to modify it, True retirement is a rare event.

2.32/65 Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.33/65 Inherent Problems of SW Production Aristotelian categories –Essence – תמצית, מהות, –Accidents – תאונות, Hardware has inherent limits – so does SW, SW inherent limits [Brooks 1986]:Brooks 1986 –Complexity – מורכבות, –Conformity – קבלת מוסכמות, תאימות, –Changeability – גמישות, –Invisibility – אי נראות, Brooks claim: No Silver Bullet,,

2.34/65 (Essence) Complexity – מורכבות While (X>t) read (t) … How many test cases? (assuming integers: 2 16 X what about DW?) SW is far more complex than hardware: –Traditional abstraction will not work, –“We cannot understand the whole, so we cannot understand any part” – Is that true? –Management is difficult, –Maintenance is a nightmare (documentation, too), OOP can reduce Complexity!

2.35/65 (Essence) Complexity – מורכבות (Cont’d) Complexity affects management as well, How to obtain accurate data regarding the process?, How to manage turnover?, Complexity affects maintenance as well, Poor docs >> No docs >> Incorrect docs.

2.36/65 (Essence) Conformity – קבלת מוסכמות, תאימות Does SW needs to conform the world – or is it the other way? Type 1: Existing gold refinery: –In order to increase the gold yield, management wants to computerize the control system, –The SW model – must conform to the real world – not the other way…, Type 2: New gold refinery: –Is SW the most conformable component?

2.37/65 (Essence) Changeability – גמישות Software is easier to change than hardware, Pressure to change: –Reality is changing, –Useful SW – users pressure to extend functionality, –Easier to change (what about programmable HW?), –SW has a longer lifetime (~15 yrs) compared to hardware (~4 yrs).

2.38/65 (Essence) Invisibility – אי נראות SW is invisible and un-visualizable, Complete views are incomprehensible, Partial views are misleading, However, all views can be helpful… –Control Flow, –Data Flow, –Time sequences, –Dependency Pattern.

2.39/65 Is There a Silver Bullet? What about: –High-level languages, –Rapid prototype, –Incremental development, –Time sharing, –CASE tools, These did not solve the intrinsic problems, We have experienced, –6% annual productivity increase!, –Productivity is doubled every 12 years!, But, no “silver bullet” (order-of-magnitude increase) is possible!

2.40/65 Is There a Silver Bullet? (Cont’d) What can be improved? Whenever possible – Buy (instead of make), The NIH syndrome, Emphasis the requirements, specification and design phases, Training designers, There is hope!

2.41/65 Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.42/65 Improving the SW Process U.S. Department of Defense initiative: –“After two decades of largely unfulfilled promises about productivity and quality gains from applying new SW methodologies and technologies, industry and government organizations are realizing that their fundamental problem is the inability to manage the SW process [DoD, 1987]”, Translate…, SW Engineering Institute (SEI) Initiatives: –CMM - Capability maturity model, –ISO 9000-series, –SPICE – SW Process Improvement Capability dEtermination (ISO 15504).

2.43/65 Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.44/65 SEI CMM – Capability Maturity Model … Not a life-cycle model, Set of strategies for improving the SW process: –SW–CMM for SW, –P–CMM for human resources (“people”), –SE–CMM for systems engineering, –IPD–CMM for integrated product development, –SA–for SW acquisition, These strategies are being unified into CMMI (Capability Maturity Model Integration).

2.45/65 SEI CMM … A strategy for improving the SW process: –Put forward in 1986 by the SEI, Fundamental idea: –Improving the SW process leads to: Improved SW quality, Delivery on time, within budget, –Improved management leads to Improved techniques, Five levels of “maturity” are defined: –Organization advances stepwise from level to level.

2.46/65 SEI CMM (Cont’d) … 5 STAGES OF MATURITY 1. Initial level Ad hoc process, 2. Repeatable level Basic project management, 3. Defined level Process definition, 4. Managed level Process measurement, 5. Optimizing level Process control.

2.47/65 [SEI CMM] Level 1. – Initial The Lowest Level, Most organizations world-wide are at level 1!, Ad hoc approach: –Entire process is unpredictable, –Management consists of… responses to crises, How can we tell?,

2.48/65 [SEI CMM] Level 2. – Repeatable Basic SW management, Management decisions should be made on the basis of previous experience with similar products, Measurements (“metrics”) are made, these can be used for making cost and duration predictions in the next project –(e.g. Tracking costs and schedules), Problems are identified, immediate corrective action is taken.

2.49/65 [SEI CMM] Level 3. קו פרשת המים

2.50/65 [SEI CMM] Level 3. – Defined The SW process is fully documented, Managerial and technical aspects are clearly defined, Continual efforts are made to improve quality, productivity, Reviews are performed to improve SW quality (e.g. Walkthrough, inspection), CASE tools are applicable now (and not at levels 1 or 2).

2.51/65 [SEI CMM] Level 4. – Managed Quality and productivity goals are set for each project, Quality, productivity are continually monitored, Statistical quality controls are in place –e.g. Faults per 1,000 LOC.

2.52/65 [SEI CMM] Level 5. – Optimizing Continuous process improvement, Statistical quality and process controls, Information from one project is always being used for projects that are built later on.

2.53/65 [SEI CMM Levels] Summary

2.54/65 [SEI CMM] Key Process Areas There are key process areas (KPAs) for each level, Example: level 2 KPAs include: –Requirements management, –Project planning, –Project tracking, –Configuration management, –Quality assurance, Compare: –Level 2: Detection and correction of faults, –Level 5: Prevention of faults.

2.55/65 [SEI CMM] Experience … It takes: –3 to 5 years to get from level 1 to level 2, –1.5 to 3 years from level 2 to level 3, –SEI questionnaires highlight shortcomings, suggest ways to improve the process, Original idea: Defense contracts would be awarded only to capable firms.

2.56/65 [SEI CMM] Experience (cont’d) Profitability: Hughes Aircraft (Fullerton, CA) spent $500K (1987–90): –Savings: $2M per year, moving from level 2 to level 3, Raytheon moved from level 1 in 1988 to level 3 in 1993: –Productivity doubled, –Return of $7.70 per dollar invested in process improvement,

2.57/65 Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.58/65 ISO 9000 … A different attempt to improve SW quality, International Standards Organization – ISO, Standards which are applicable to a wide variety of industrial activities, ISO 9001 for quality systems, ISO , guidelines to apply ISO 9001 to SW.

2.59/65 ISO 9000 (Cont’d) There is an overlap with CMM, but they are not identical, Not process improvement, Stress on documenting the process, Emphasis on measurement and metrics, ISO 9000 is required to do business with the E.U., Also by many U.S. businesses, for example, GE, More and more U.S. businesses are ISO 9000 certified.

2.60/65 SPICE - ISO/IEC … International process improvement initiative, Original name: SW Process Improvement Capability dEtermination (SPICE), Started by British Ministry of Defence (MOD), Includes process improvement, SW procurement, Extends and improves CMM, ISO 9000, Framework, not a method CMM, ISO 9000 conform to this framework, Now referred to as ISO/IEC 15504, Or just for short, SPICE. SPICE

2.61/65 SPICE (Cont’d) SPICE is an international initiative to support the development of an international standard for SW Process Assessment. The project has three principal goals: To develop a working draft for a standard for SW process assessment, To conduct industry trials of the emerging standard, To promote the technology transfer of SW process assessment into the SW industry world-wide.

2.62/65 Process Improvement Data … SEI report on 13 organizations in the original study, They used a variety of process improvement techniques, not just SW–CMM,

2.63/65 Process Improvement Data (Cont'd) Results of 34 Motorola projects:

2.64/65 Summary Location Commentary, Terminology, “Documentation” and “Testing” Phases, The Classical Development Phases, Inherent Problems of SW Production, Improving the SW Process, SEI Capability Maturity Model, ISO 9000 & SPICE.

2.65/65 The Software Process The End