Software Design & Production Methodologies

Slides:



Advertisements
Similar presentations
Project Management and Software Quality See accompanying Word file “Software PM tools 3”
Advertisements

Web Development Engineering Processes Introduction to Web Development Outsourcing Processes.
Metrics to improve software process
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Chapter 4 Quality Assurance in Context
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
WHY BOTHER TO UNIT TEST Suprinder Pujji. OVERVIEW What is Unit testing Emphasis of Unit testing Benefits of Unit Testing Popular Misconceptions Prevailing.
Software Design & Production Methodologies STRUCTURED & OBJECT-ORIENTED METHODS for SYSTEMS ANALYSIS & DESIGN Vassilka Kirova Computer & Information Science.
Software Design & Production Methodologies STRUCTURED & OBJECT-ORIENTED METHODS for SYSTEMS ANALYSIS & DESIGN Vassilka Kirova Computer & Information Science.
Software Measurement and Process Improvement
SE 450 Software Processes & Product Metrics Reliability Engineering.
Capability Maturity Model (CMM) in SW design
SE 450 Software Processes & Product Metrics Software Metrics Overview.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Ch7: Software Production Process. 1 Questions  What is the life cycle of a software product?  Why do we need software process models?  What are the.
1 SOFTWARE QUALITY ASSURANCE Basic Principles. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance SW Quality:
Software Quality Assurance What is software quality?
Capability Maturity Model
System Analysis and Project Management Key terms and definitions Presentation.
Software Project Management Fifth Edition
Extreme Programming Software Development Written by Sanjay Kumar.
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
N By: Md Rezaul Huda Reza n
Software Quality Assurance Activities
CS3100 Software Project Management Week 26 - Quality Dr Tracy Hall.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1.  Project: temporary endeavor to achieve some specific objectives in a defined time  Project management ◦ Dynamic process ◦ Controlled and structured.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Software Development Process and Management (or how to be officious and unpopular)
Software Engineering Saeed Akhtar The University of Lahore Lecture 8 Originally shared for: mashhoood.webs.com.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
Software Methods Mö/ slide 1 Methods and Techniques of Software Quality Management ICEL Quality Management Systems: Methods and Techniques of Software.
Measuring and Estimating Software Defects Loren Stroup UCF EEL6883: Software Engineering II.
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…
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
SOFTWARE PROCESS IMPROVEMENT
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(C.S.E) UIT, M.S(S.E) AAU Denmark Assistant Professor Department.
Software Process Models.
Chapter 05 Quality Planning SaigonTech – Engineering Division Software Project Management in Practice By Pankaj Jalote © 2003 by Addison Wesley.
303KM, Introduction to Project Management1 Chapter 1: Introduction to Project Management.
CMMI Certification - By Global Certification Consultancy.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
Swami NatarajanOctober 1, 2016 RIT Software Engineering Software Metrics Overview.
Why is software engineering worth studying?
Continuous Delivery- Complete Guide
Software Engineering (CSI 321)
Software Quality Engineering
School of Business Administration
Testing More In CS430.
State of Michigan Achieving Software Process Improvement with
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Chapter 18 Maintaining Information Systems
Why Every Dev. Team Needs Static Analysis
Software Quality Engineering
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.
Software Development Life Cycle
Introduction to Software Engineering
Quality management standards
Software Quality Engineering
By: David Hoang Martin Hoffman
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Projects: In the Beginning
Software Engineering I
Capability Maturity Model
Projects: In the Beginning
Capability Maturity Model
Presentation transcript:

Software Design & Production Methodologies STRUCTURED & OBJECT-ORIENTED METHODS for SYSTEMS ANALYSIS & DESIGN Vassilka Kirova Computer & Information Science Department New Jersey Institute of Technology

Efficient & Effective Production SOFTWARE PRODUCTION DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient & Effective Production Means: Methods & Heuristics Measure of Success: Productivity Output= f(Effort)

Software Engineering Framework BASIC CONCEPTS Analysis and Design as Elements of a larger Software Engineering Framework

Beyond Programming ... ANALYSIS DESIGN Programming QUALITY ASSURANCE MAINTENANCE

Problems in System Development Development costs: SW dominates HW Software backlog: 3 - 6 years Software maintenance: 60% - 70% of budget ====> SOFTWARE ENGINEERING

The Project Concept A project is a set of ... - activities, interactions and results, - targeted to reach a given goal - with limited resources - and within a limited time-frame. (Fruehauf, Ludewig, Sandmayr)

The Project Project Restrictions Quality Goals Methods Environ- ments Product Team Customer Needs

Project Influence Factors Methods Development Management Restrictions Time Money Environment Tools Organization Quality Specification Assurance

Where to improve? A project is a set of ... - activities, interactions and results - targeted to reach a given goal - with limited resources - and within a limited time-frame.

Where the effort Goes ( Source – Boehm) Requirements 2 – 15 % with mean of 7% Design 17% Programming: Detailed design 23-27% Code and unit test 29 – 37% Integration and test 19 – 31%

An illustration: What does a programmer do? % of daily work volume

Software Projects are Tough Only 28% of projects succeeded in 2000 On time, on budget with all required features Up from 16% in 1994 Process and tools are beginning to show results Reasons project succeed: Clear business objectives 16% Clear customer requirements and user involvement 6% Minimized scope 10% Firm basic requirements Executive support 12% 18% 14% 8% 5% Experienced Project Manager Standard software infrastructure Reliable Estimates Formal methodology Other  Source: “Extreme Chaos” The Standish Group - 2001. www.standishgroup.com

Can you afford not to? As much as a 200:1 cost savings results from finding errors in the requirements stage versus finding errors in the maintenance stage of the software life-cycle. Barry Boehm- ‘76, 88 56% of all bugs can be traced to errors made during the requirements stage 

Distribution of Errors

The Effect of Software Best Practices Cost of Software Defects Bugs are costly: 80% of software development cost is spent on identifying and fixing bugs (Source: NIST, 2002) Bugs delivered to the customer are even costlier Detect & Fix Bugs Early Cost savings as much as 200:1, from finding errors in requirements versus in the maintenance stage (Source: B. Boehm, 76,88,01) Cost of Bug Fixes $1 on a programmer desktop $100 in a complete (integrated software) program Many thousand of dollars if identified in the field. (Source: The Economist “Building a Better Bug-Trap” 06/19/03) 100X Decrease in Cost of Removing Defects TIME Rate of Discovery Requirements Design & Build Proposed Release to Test Release to Field Current Software defects are costly, the earlier you find bugs, the more you save. Most of software best practices are focused on early defect detections and prevention. So adopt software best practices as a best way to reduce cost. Common knowledge… but it doesn’t make it any less true

The Effect of Disciplined Quality Frameworks SEI CMM Level Defect Potential Removal Efficiency % Delivered Defects 1 5.00 85% .75 2 4.00 89% .44 3 3.00 91% .27 4 2.00 93% .14 5 1.00 95% .05 Defect Removal vs. SEI CMM Level (Source: Caper’s Jones) Software Quality Results: Field Fault Density Mobility has the foundation to achieve similar results The Impact of CMM QMO Compliance Low Software maturity results in: Reduced productivity (35%)* Late detection of defects (22%)* Longer time to market (19%)* Higher post-release defect rates (39%)* *median annual improvement of companies with Software Improvement Efforts 50 ISO 9001 Certification (All Business Units) ISO 9001 Certification (Phase I) 40 Jumping a single CMM level can reduce software development costs from 4 % to 11% based on a recent Ph.D. dissertation done by Brad Clark at the University of California. It also reduce defects if you move up a CMM level. Data shows that the higher the maturity level of a software development organization, the higher the quality of software produced. An example of what can be achieved with a disciplined, data-driven approach. CMM Level 5 30 Faults Per Thousand Function Points CMM Level 3 20 10 1q 2q 3q 4q 1q 2q 3q 4q 1q 2q 3q 4q 1q 2q 3q 4q 1q 2q 3q 4q 1q 2q 3q 4q 1q Actual results from a telecom company

End of Section 0