Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.

Slides:



Advertisements
Similar presentations
Process 18:11 19/04/2015 Geir Skylstad SINTEF DELAB 1 ITUF 61.UP.93 miniseminar Programvareutviklingsprosessen, 16 sep 1993, Holmenkollen Restaurant Utviklingsparadigmer.
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
More CMM Part Two : Details.
How ISO9001 Compares with CMM Mark C. Paulk JAN,1995 CMM version 1.1 ISO9001 July 1994 presented by Zhilan Zhou.
1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
Chapter 2 The Software Process
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
SE 470 Software Development Processes James Nowotarski 12 May 2003.
Capability Maturity Model (CMM) in SW design
Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Development Process Models are different ways to look at the processes.
SOFTWARE ENGINEERING LECTURE-3 CSE-477.
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
CMM Overview - 1 © Paul Sorenson CMPUT Software Engineering refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, (Capability.
Chapter 3 The Structure of the CMM
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.
Software Engineering Institute Capability Maturity Model (CMM)
Capability Maturity Model
Chapter : Software Process
Chapter 2 Software Process: A Generic View
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
Chapter 2 The Process.
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.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
Software Engineering I
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
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?
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Engineering Lecture # 17
By Ritesh Reddy Nagaram.  Organizations which are developing software processes are facing many problems regarding the need for change of already existing.
Quality Concepts within CMM and PMI G.C.Reddy
Georgia Institute of Technology CS 4320 Fall 2003.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
CS Process Improvement CMM Hans Van Vliet, Software Engineering, Principles and Practice, 3 rd edition, John Wiley & Sons, Chapter 6. W. Humphrey,
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
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.
Page 1 The Capability Maturity Model (CMM) distinguishes between immature and mature software organizations. Immature software organizations are typically.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming.
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
COMP 6710 Course NotesSlide 3-0 Auburn University Computer Science and Software Engineering Course Notes Set 3: Software Process Maturity Computer Science.
Software Engineering INTRODUCTION TO SOFTWARE DEVELOPMENT.
Software Engineering (CSI 321) Software Process: A Generic View 1.
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
Cmpe 589 Spring Fundamental Process and Process Management Concepts Process –the people, methods, and tools used to produce software products. –Improving.
Introduction to Software Project Management Lecture1.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Software Engineering – A layered Technology
School of Business Administration
State of Michigan Achieving Software Process Improvement with
CS4311 Spring 2011 Process Improvement Dr
Software Engineering (CSI 321)
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Software Engineering Lecture #2
A possible solution: Personal Software Process (PSP)
KEY PROCESS AREAS (KPAs)
Software Engineering Lecture 16.
Software Engineering I
Software Engineering Lecture # 01
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

Software Engineering II Lecture 1 Fakhar Lodhi

Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. 2.The study of approaches as in 1.

‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production. -Sommerville Software Engineering

A software engineer is challenged to produce high-quality software with finite amount of resources and to a predicted schedule and budget.

Law of diminishing returns Making the engineering decision! Benefit Cost

Software Engineering Software Engineering is not just about producing software, but about producing software in a COST-EFFECTIVE manner.

The Balancing Act! Potentially conflicting requirements  Cost vs. Efficiency  Cost vs. Reliability  Efficiency vs. User-interface Challenge is to balance these requirements.

Software Development Loop Problem Definition Solution Integration Technical Development Status Quo

The name of the game is continuous change and evolution in all dimensions!

Well-Engineered Software  Provides the required functionality  Reliable  User-friendly  Cost-effective  Efficient  Maintainable

Breakdown of Effort Cost - Software Cost Estimation by Capers Jones No. ActivityEffort 1Requirements3.84% 2Prototyping4.50% 3Architecture2.25% 4Project Plans1.33% 5Initial Design3.84% 6Detailed Design4.50% 7Design Reviews3.02% 8Coding13.50% 9Reuse acquisition1.13% 10Package Purchase1.69% 11Code Inspection4.50% 12Independent V&V5.42% 13 Configuration Mgt. 0.41% 14 Integration 2.71% 15 User Documentation 9.67% 16 Unit Testing 4.50% 17 Function Testing 4.50% 18 Integration Testing 3.84% 19 System Testing 3.38% 20 Beta Testing 3.02% 21 Acceptance Testing 1.94% 22 Independent Testing 3.38% 23 Quality Assurance 4.50% 24 Installation and Training 1.94% 25 Project Management 6.75%

Effort Breakdown Project Management 8.08% Requirements 14.43% Design 11.36% Coding 13.50% SQA 30.64% SCM 13.02% Integration 6.54% Misc. ~3%

Software Engineering Practices Software product realization Software project management Software process management Software quality assurance Software configuration management

Management Construction project planning and management configuration management quality assurance installation and training etc. Requirements Design Coding Testing Maintenance etc.

Quality Focus Process TOOLSTOOLS Task Set Method A Software Engineering Framework

Common Process Framework Umbrella Activities Framework Activities TASKS MILESONES, DELIVERABLES SQA POINTS Task Sets

The Process A software process is a road map that helps you create a timely, high quality result. It is the way we produce software Provides stability and control Work Product –Programs, documents, and data produced as a consequence of the software engineering activities

Process Maturity SEI – Software Engineering Institute 5 maturity levels Capability Maturity Model (CMM)

INITIAL – Ad hoc Process REPEATABLE – Project Management DEFINED – Process Definition MANAGED – Process Measurement OPTIMIZED – Process Improvement CMM Maturity Levels

Goals Abilities Key Process Areas (KPAs) Methods for monitoring implementation Commitments Activities Methods for verifying implementation

Software Configuration Management Software Quality Assurance Software subcontract Management Level 2 KPAs

Software project tracking and oversight Software project planning Requirement management Level 2 KPAs - Continued

Peer reviews Inter-group coordination Software product Engineering Integrated software management Level 3 KPAs

Level 3 KPAs - Continued Training program Organization process management Organization process focus

Software quality management Quantitative process management Level 4 KPAs

Process change management Technology change management Defect prevention Level 5 KPAs

Software Lifecycle Models The way you organize your activities Lifecycle model is a series of steps through which the product progresses

1.Vision – focus on why 2.Definition – focus on what 2. Development – focus on how 3. Maintenance – focus on change Software Engineering Phases VisionDefinitionDevelopmentMaintenance