INFO 637Lecture #71 Software Engineering Process II Product Implementation INFO 637 Glenn Booker.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Relational Database
Software Construction
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Personal Software Process
6/19/2007SE _06_19_Overview_Inspections.ppt1 Team Software Project (TSP) June 19, 2007 High Level Designs, Code Inspections & Measurement.
6/19/2007SE _6_19_TSPImp_SVT_Lecture.ppt1 Implementation Phase Inputs: Development strategy & plan Completed, inspected & baselined SRS & SDS.
Illinois Institute of Technology
06/12/2007SE _6_12_Design.ppt1 Design Phase Outputs: Completed & Inspected SDS & Integration Test Plan Completed & Inspected System Test Plan.
SE 555 Software Requirements & Specification Requirements Validation.
1 SOFTWARE QUALITY ASSURANCE Basic Principles. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance SW Quality:
Systems Analysis I Data Flow Diagrams
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Chapter 24 - Quality Management Lecture 1 1Chapter 24 Quality management.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
INFO 637Lecture #61 Software Engineering Process II Designing with Teams INFO 637 Glenn Booker.
RUP Implementation and Testing
INFO 637Lecture #41 Software Engineering Process II Development Plan INFO 637 Glenn Booker.
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.
Understand Application Lifecycle Management
Disciplined Software Engineering Lecture #4 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
INFO 637Lecture #21 Software Engineering Process II TSP Roles and Overview INFO 637 Glenn Booker.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
INFO 637Lecture #51 Software Engineering Process II Defining Requirements INFO 637 Glenn Booker.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
Work Breakdown Structure Kathy S. Schwaig. What is a Work Breakdown Structure (WBS)? A WBS is a logical hierarchy of work packages involved in a project.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Team Software Process (TSPi) CS4320 Fall TSP Strategy Provide a simple process framework based on the PSP. Use modest, well-defined problems. Develop.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #4 Software Engineering.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 8 – Reviews 1INFO636 Week 8.
Design Concepts By Deepika Chaudhary.
Formal Methods in Software Engineering
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
CS 350, slide set 9 M. Overstreet Old Dominion University Spring 2006.
The Software Development Process
Chapter 8. The Process Phases 1. Launching teams 2. The development strategy 3. Team planning 4. The requirements process 5. Designing with teams 6. Implementation.
PRODUCT IMPLEMENTATION Chapter 8 Tawatchai Iempairote September 23, 2041.
EGR 115 Introduction to Computing for Engineers Branching & Program Design – Part 1 Monday 29 Sept 2014 EGR 115 Introduction to Computing for Engineers.
Software Engineering Lecture # 1.
Focus on design principles and on a process for doing design = To produce a precise, complete, high- quality foundation for product implementation.
Bina Nusantara 19 C H A P T E R SYSTEM CONSTRUCTION AND IMPLEMENTATION.
CS 350, slide set 9 M. Overstreet Old Dominion University Fall 2005.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Engineering Lecture 8: Quality Assurance.
Advances In Software Inspection
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
CS 350, slide set 10 M. Overstreet Old Dominion University Spring 2005.
Software Process Models.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
EGR 115 Introduction to Computing for Engineers
Software Engineering (CSI 321)
Applied Software Implementation & Testing
Software Inspections and Testing
Lecture 09:Software Testing
CSE 303 Concepts and Tools for Software Development
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

INFO 637Lecture #71 Software Engineering Process II Product Implementation INFO 637 Glenn Booker

INFO 637Lecture #72 Implementation Process The Implementation phase includes:  Detailed (low level) design  Actual coding and product implementation  Unit testing

INFO 637Lecture #73 Check High Level Design Before proceeding, make sure the high level design is complete  You should have subdivided the system into smaller pieces, and specified what each piece needs to do  The overall logic of the system needs to be clearly understood

INFO 637Lecture #74 Design Levels From largest to smallest, the levels of design are (here) called:  System  Subsystem  Product  Component  Module

INFO 637Lecture #75 Detailed Design Detailed design takes the larger level pieces (subsystems and products), and keeps breaking them into smaller and smaller pieces (component and module) until the entire system is fully specified How small do pieces need to be?  Code modules are typically 150 LOC or less

INFO 637Lecture #76 Detailed Design Keep repeating the design scripts (DESn) until every piece is well defined In some cases, some pieces may be implemented before others are fully defined  This is generally okay as long as the high level structure isn’t affected Pieces may be implemented in parallel if the design permits and time is essential

INFO 637Lecture #77 Implementation Standards Standards again play an important role in implementation This could include using external industry standards, or developing your organization’s own internal standards  For example, IBM has an internal standard for counting LOC

INFO 637Lecture #78 Types of Standards Standards for file and variable names Interface and messaging standards Code format and style standards Standards for finding LOC and other sizes Defect type standards

INFO 637Lecture #79 Defect Prevention Standards can help support defect prevention activities In addition to defect types (code, documentation, etc.), the cause of the defects should be identified Focus on defects which cause the biggest problems (e.g. most frequent, or most time consuming)

INFO 637Lecture #710 Defect Prevention Defect Cause types may include  Education (language, environment, application)  Communication (then fix the process)  Transcription (then fix the tools)  Oversight (look for better methods) Try to identify how to prevent each defect Change the process to prevent it And then see if it recurs

INFO 637Lecture #711 Review Strategy While design tends to work from top down (general to specific), review work better from the bottom up First review the lowest level parts, which call nothing else (fan out = 0) Then review the parts which call them, and keep working up to bigger parts

INFO 637Lecture #712 Reuse Strategy Simple things help support reuse Use a common header format for all files, to identify what it does, what it uses for inputs, return formats  Describe all variables, their ranges, limitations, and allowable values Remember to ask support manager if anyone has a module to meet your needs

INFO 637Lecture #713 Reviews and Inspections This was covered in Appendix C of the text Keep in mind that typos and other random defects can account for many defects in code (e.g. 28 defects/KLOC for the author)  Many not caught by compiler  Many not logical, hence hard to anticipate  Hard for tests to catch every possible logical path, data value, and operating condition

INFO 637Lecture #714 Design Inspections Detailed designs need to be inspected  Re-inspection later on is not needed unless the fundamental design changed Code reviews are often more effective at catching defects than testing  Use a code review checklist to ensure consistent and complete reviews (PSP p. 706)

INFO 637Lecture #715 Implementation Scripts To start implementation, need:  Completed development strategy and plan  Completed SRS and SDS  A defined coding standard  Other standards, common terminology, and specifications

INFO 637Lecture #716 Implementation Script IMP1 Plan implementation tasks using SUMP and SUMQ Allocate tasks to team members Conduct detailed design  Do design review using LOGD and LOGT Create unit test plan, test cases, procedures, and test data p. 152

INFO 637Lecture #717 Implementation Script IMP1 Inspect the detailed design for each component using INS and LOGD Create the code, and review it using code checklist  Record defects using LOGD and LOGT Do formal code inspection using INS and LOGD

INFO 637Lecture #718 Implementation Script IMP1 Have quality manager verify every component Release accepted components Hence the outputs from this script are:  Completed code  Forms INS, SUMP, SUMQ, LOGD, and LOGT  Test plans and materials (test cases, etc.)  Updated project notebook

INFO 637Lecture #719 Quality Map Judge component quality using the regions shown on the following slide:  Zone I means quality is acceptable  Zone II means design needs to be re-inspected  Zone III means code needs to be re-inspected  Zone IV means program needs to be reworked (start design over)

INFO 637Lecture #720 Quality Map Regions Not to scale! Compile Defects/ KLOC Unit Test Defects/KLOC Region IV II I II and III III