CSE 8314 - SW Metrics and Quality Engineering Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 1 SMU CSE 8314 /

Slides:



Advertisements
Similar presentations
Systems Analysis and Design: What is it? Systems analysis: the systematic study of the information needs and problems of some organizational domain in.
Advertisements

1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
CS487 Software Engineering Omar Aldawud
Lecture 2 Title: PLC, SDLC, PMBOK
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Stepan Potiyenko ISS Sr.SW Developer.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
Overview Lesson 10,11 - Software Quality Assurance
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
CSC230 Software Design (Engineering)
Software System Integration
Effective Methods for Software and Systems Integration
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
S/W Project Management
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Chapter 2 The process Process, Methods, and Tools
N By: Md Rezaul Huda Reza n
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Software Engineering MCS-2 Lecture # 6
Computers Are Your Future Tenth Edition Chapter 13: Systems Analysis & Design Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall1.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M10 8/20/2001Slide 1 SMU CSE 8314 /
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Systems Analysis and Design in a Changing World, Fourth Edition
Develop Project Charter
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M01 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
February 15, 2004 Software Risk Management Copyright © , Dennis J. Frailey, All Rights Reserved Simple Steps for Effective Software Risk Management.
PRJ566 Project Planning & Management Software Architecture.
CSE SW Project Management / Module 07 - Software Development Plans Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M07 Slide.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
CSE SW Project Management / Module 5 - Software Lifecycles and Processes Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M05.
CSE SW Project Management / Module 1: Process - the Framework of SW Eng Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M01.
CSE SW Project Management / Module 5 - Software Lifecycles and Processes Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M05.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M15 version 5.09Slide 1 SMU CSE.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M37 8/20/2001Slide 1 SMU CSE 8314 /
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M09 version 5.09Slide 1 SMU CSE.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
CSE SW Project Management / Module 11 - Overview of Size Estimating Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M11 Slide.
What has been accomplished at the end of MSD 1 & 2?
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M11 8/20/2001Slide 1 SMU CSE 8314 /
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M11 version 5.09Slide 1 SMU CSE.
Systems Development Life Cycle
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
PROJECT MANAGEMENT Software Engineering CSE
SQA project process standards IEEE software engineering standards
SQA project process standards IEEE software engineering standards
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Presentation transcript:

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 1 SMU CSE 8314 / NTU SE 762-N Software Metrics and Quality Engineering Module 02 Engineering Quality

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 2 Contents Peer Reviews Fundamental Concepts of Process Engineering Quality Summary

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 3 Peer Reviews An example of quality engineering

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 4 Software DevelopersSoftware Managers Peer Reviews Motivation: – How to find problems in your work in a non-threatening way Method: – Evaluation of one individual’s work by others at the same organizational level (i.e., team members, not supervisors)

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 5 Benefits of Peer Reviews Reduced rework and faster development due to a more effective evaluation – The peers understand the software best – and they will not be as much of a threat when it comes to promotions and raises – reciprocity -- you help them and they help you

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 6 Cost of Peer Reviews May require 10-20% of the total development time – this must be planned into the schedule – it must also be planned into progress measures and reward systems

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 7 Role of Quality Professionals in Peer Reviews Participants – Part of the team – They see issues from other projects Coaches and Facilitators – Make sure the process is followed correctly Recorders and Measurers – Keep track of results – Track action items to closure

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 8 Two Potential Problems with Peer Reviews People don’t want to attend others’ peer reviews because they are behind in their own schedules – Solution lies in reward system Smarter people tend to dominate others!! – Solution lies in teamwork and team reward systems

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 9 Fundamental Concepts of Process (A review. For more information, see other courses in SMU curriculum)

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 10 The Process is What You Do The steps you take to accomplish something such as software development The proper inputs and outputs of each step The correct sequencing among the steps The right decisions and the right decision criteria as you proceed

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 11 A Process Description or Process Model is like a Roadmap It tells everyone what to do It synchronizes all of the participants It enables you to analyze what is happening and make changes if appropriate

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 12 Process, Methods and Tools METHODS DETAILED INSTRUCTIONS - HOW to Do It Eg. - Object Oriented Analysis - Structured Walkthroughs TOOLS AUTOMATION - Do it Efficiently Eg. - Compiler, - CASE, - Test Generator, - Measurement Tool PROCESS (description) Eg. - Design, then Review - Plan Tests with Requirements A MAP -- WHAT to do

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 13 Process vs Tools Tools without processes or methods are like a fast car with an inexperienced driver – You may drive fast – But who knows where you will end up? – Wrecks are more likely “If you automate without a process, you screw up more efficiently” -- Anonymous

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 14 Process vs Methods Methods tell you how to do the job - as driving lessons tell you how to drive But methods without processes are like a good driver who doesn’t know where he is or where he is going – You may eventually get there – And you may go fast – But you may not get to the right place very soon

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 15 Process Gives Knowledge Where to go How to get there Which shortcuts will work Which shortcuts will NOT work Risks of each option Why, not just what

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 16 Knowledge is Not Limited to Technical Matters Much of what contributes to project success or failure has little to do with technical decisions – Communication – Political issues – Management of resources – Realistic estimating – Keeping track of what is happening

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 17 Logic vs. Emotion Altruism vs. Politics AltruismPolitics LogicEmotion Philosopher King Practical Realist

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 18 Example of Knowledge Test before inspect – Natural tendency – More fun – Efficient (if testing is cheap) – Tends to waste test time Inspect before test – Usually more efficient overall – Avoids tying up expensive test resources – May be less efficient if testing is cheap

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 19 Process Descriptions Include... Tasks or activities -- what to do Sequencing -- when to do Information or data (artifacts) Flow if information and material (compare with a computer program)

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 20 Process Descriptions Often Also Include Information to Help People Use Them... Entry and/or exit criteria Why Who What and when to measure Risks References...

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 21 Representing a Process It Depends on Who will Enact the Process Process Description Agent Process

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 22 Alternative Representations Process Description Computer Program RoadmapRecipe AgentComputerDriverCook Process Enaction A Specific Invocation of the Program A Specific Trip Preparation of A Specific Dish Several SW Developer Development of Software

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 23 Goals of a Process Representation Specific enough to enable a correct outcome – An accurate map – A correct recipe Flexible enough to allow judgment

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 24 Flexibility vs. Exactness Staying in the Lane Without Constant Correction (Experienced Driver vs. Novice)

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 25 What is the Software Process The Process by which we Develop Software

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 26 The Hierarchical Decomposition Approach to Software Construction Analysis and Design Implementation and Testing

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 27 Software Development using the Hierarchical Decomposition Approach - I Requirements Design of Major Parts or Components Top Level Design -- Determine the Parts Design of Units or Modules Detailed Design -- Determine the Modules or Units of Each Part Coding & Test -- Build Each Module and Test It Coded Units or Modules Continued on Next Slide

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 28 Software Development using the Hierarchical Decomposition Approach - II Software Product Integrated Components Integration of Modules into Components Coding & Test -- Build Each Module and Test It Coded Units or Modules Continued from Previous Slide Integration of Components into Final Product

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 29 Waterfall Model Analyze Requirements Preliminary Design Detailed Design Code and Unit Test Integration and Test Customer Requirements Specification Top Level Design Specification Requirements Problems Design Problems Coding Problems

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 30 There are Many Variations on This Basic Approach Cycles of learning -- build small, learn, build a little bigger, learn, build a little bigger,... Early integration -- build “shells” of each component and integrate them, then flesh out the details of each component until you are finished, but integrate each step of the way Pre-define components into a library, then assemble new products from these components using high level programming tools.....

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 31 Spiral Model Plan Next Cycle Determine What to Do Evaluate the Results Develop the Next Version of Software

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 32 R = Understand Requirements D = Design I = Implement E = Evaluate These are the Basic Steps of Any Development Effort Essentially Similar to One Turn of the Spiral Model or One Cycle through the Waterfall Tornado Model Basic Development Cycle R I DE

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 33 Tornado Model Sequential Application This Application is Like the Spiral Model Incremental Development: Each Cycle Adds New Features Evolutionary Development: Each Cycle Improves the Previous One R I DE

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 34 Tornado Model Other Applications Requirements – Simulation or Prototype – To Analyze Alternatives or Quantify Risks Design – Build a Prototype – Test Out a Concept Implementation – Two Incremental Pre- releases R I DE R I DE R I DE R I DE R I DE

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 35 Microsoft “Integrate Every Day” Incremental Process Define interfaces first Build dummies for all parts Integrate all parts every day, gradually replacing dummies with real software Interfaces are more important than the specific functions of the components

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 36 Applying the Process Divide required features/functions by priority Implement top priority functions first Then later priorities – If schedule slips, you can still deliver something important – Forces you to understand the real market need

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 37 Tornado Model of Microsoft Process Top Priority Requirements R I DE R I DE R I DE Medium Priority Requirements Low Priority Requirements Release Date Integrate Every Day

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 38 Concurrent Engineering as a Larger Process Concept Exploration Demonstration / Validation Engineering & Manufacturing Development Production Support & Maintenance Product Development Process Department of Defense, Defense System Software Development, Dod-STD- 2167A, 29 Feb. 1988, Department of Defense, Washington D.C.,

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 39 Software Process Quality A Quality Software Development Process is one that Consistently produces Value to Customers (or meets some other definition of quality, per the application)

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 40 Why All the Attention to Process? Software disasters are costing lots of money and getting more attention as software becomes a larger part of almost every manufactured product Process management is being recognized as the core issue behind many software development problems

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 41 Quality Engineering Principle Software is no exception to this basic principle of quality engineering Process is the proper focus of attention for effective quality improvement The quality of a product is determined to a large extent by the quality of the process used to develop and produce the product.

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 42 Quality Management Principle The way to improve quality is to: – Define (document) the process – Measure and evaluate the process as it is executed – Improve the process based on these measurements and evaluations

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 43 Process Automation Principle Know your process before automating it If you automate the wrong process, you simply do the wrong thing more efficiently.

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 44 Productivity Principle Design the process for real people Automate the parts that people don’t do well. If you design a process for perfect people, it will fail when executed by human beings

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 45 Engineering Quality The rest of the course

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 46 Mapping the Rest of the Course The first half of this course will examine many aspects of quality engineering Among other things, we will show how quality engineering relates directly to cycle time and productivity improvements

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 47 In The First Few Modules we have Discussed... The importance of defining quality – What does it mean for your product? – What goals are most important Quality engineering -- integrating quality processes into the software development processes Understand process – The role it plays in achieving quality

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 48 In Future Modules we will Discuss... Understanding and dealing with cultural issues – Cutting through excuses – Understanding the change process Developing plans for process improvement – Understanding how to use models – Assessing – Deciding whether/what/how Implementing the plans

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 49 Later, We will Discuss... Evaluating all elements of quality – Reliability – Maintainability – Verification – Validation – Testing and evaluation – Safety – Supportability Learning lessons from failures

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 50 In Cost of Quality and Value Added Analysis we will... Determine what matters to the customer – Eliminate what does not add value Determine the costs and payoffs of quality improvements – Show the return on investment – Quantify the benefits

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 51 In Software Reliability we will... Define software reliability Evaluate how important it is to your project Evaluate and apply reliability models

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 52 In Six Sigma and Other Industrial Programs for Quality Improvement we will... Discuss how to set aggressive quality goals - and meet them Apply successful techniques that were originally developed for manufacturing

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 53 Summary Peer reviews are a good example of whole team focus on quality Process must be the focal point to achieve effective quality, cycle time, and productivity improvement There are many aspects and dimensions of quality improvement

CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M02 8/20/2001Slide 54 END OF MODULE 02