Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Verification and Validation
Software Quality Assurance Plan
PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
1 Systems V & V, Quality and Standards Dr Sita Ramakrishnan School CSSE Monash University.
School of Computing, Dublin Institute of Technology.
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
CSC230 Software Design (Engineering)
Software Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Software Considerations in Airborne Systems
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
CHAPTER 5 Infrastructure Components PART I. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser 2 Learning Objectives: To discuss: The need for SQA procedures.
Introduction to Software Quality Assurance (SQA)
Chapter 6 Software Implementation Process Group
System Analysis and Design
CHEP2000 February 2000 Impact of Software Review and Inspection Doris Burckhart CERN ATLAS DAQ/EF-1 Back-end software.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
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.
OHT 23.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The benefits of use of standards The organizations involved in standards.
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
Configuration Management (CM)
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
1.  Describe an overall framework for project integration management ◦ RelatIion to the other project management knowledge areas and the project life.
Strong9 Consulting Services, LLC 1 PMI - SVC I-80 Breakfast Roundtable Monthly Meeting Thursday, October 12, :00 am – 9:00 am.
BSBPMG505A Manage Project Quality Manage Project Quality Project Quality Processes Diploma of Project Management Qualification Code BSB51507 Unit.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
IEEE CS SAB, Nov 2007 For Computer Society Internal Use Only 1 S2ESC Report Standards Activities Board Meeting November 6-7, 2007 Submitted by Paul Croll.
INFORMATION SYSTEMS FOR MANAGEMENT. Agenda Information system project Organization analysis.
Apply Quality Management Techniques Project Quality Processes Certificate IV in Project Management Qualification Code BSB41507 Unit Code BSBPMG404A.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Project quality management. Introduction Project quality management includes the process required to ensure that the project satisfies the needs for which.
11/24/2015Dr. SASTRY-PROJ SOFTWARE PROJECT MANAGEMENT By Dr. M V S PERI SASTRY. B.E,Ph.D.
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 1 Diploma of Project Management.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Over View of CENELC Standards for Signalling Applications
BSBPMG404A Apply Quality Management Techniques Apply Quality Management Techniques Project Quality Processes C ertificate IV in Project Management
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Advances In Software Inspection
~ pertemuan 4 ~ Oleh: Ir. Abdul Hayat, MTI 20-Mar-2009 [Abdul Hayat, [4]Project Integration Management, Semester Genap 2008/2009] 1 PROJECT INTEGRATION.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
SE513 Software Quality Assurance Lecture12: Software Reliability and Quality Management Standards.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Planning for and Managing Software Verification & Validation (V&V) Quality Assurance Project Oversight Jeff Lewis, PMP The Æon Group, Inc.
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
S TANDARDS, CERTIFICATION AND ASSESSMENT C HAPTER 23 Dr. Ahmad F. Shubita.
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
SQA project process standards IEEE software engineering standards
Software Project Configuration Management
Chapter 11: Software Configuration Management
SQA project process standards IEEE software engineering standards
Chapter 18 Maintaining Information Systems
The Systems Engineering Context
IEEE Std 1074: Standard for Software Lifecycle
Quality management standards
Introduction to Software Testing
Standards.
Chapter 11: Software Configuration Management
HHS Child Welfare National IT Managers' Meeting
Presentation transcript:

Standards

What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?

Definition of standard A technical specification or other document available to the public, drawn up with the cooperation and consensus or general approval of all interests affected by it, based on the consolidated results of science, technology and experience, aimed at the promotion of optimum community benefits »British Standards Institute, 1981

Standards are checklists (like a pilot’s checklist) Remind you of things you may forget Force you to acknowledge the consequences of not doing one of the tasks on the standard Don’t build the list from scratch: use one built by hundreds or thousands of professionals

Standards outside SE measures (gallons, liters, mm) sizing (electrical plugs)

Comparison of Standards safe pushchairs safe software Internal Product External Product Process Resource

Comparison of Standards Other engineering: –guidelines for product evaluation –guidelines for acceptable outcomes Software engineering –guidelines for process –guidelines for techniques –few guidelines for product evaluation

Software Engineering Standards Technical specifications available to public Consensus, but not necessarily of all affected parties (usually by committee) Not necessarily based on science, technology, or experience –Language standards w/o case studies –Techniques (clean room, OO design) w/o science

Example: IEEE Standard for Software Safety Plans Abstract: The minimum acceptable requirements for the content of a software safety plan are established. This standard applies to the software safety plan used for the development, procurement, maintenance, and retirement of safety-critical software. This standard requires that the plan be prepared within the context of the system safety program. Only the safety aspects of the software are included. This standard does not contain special provisions required for software used in distributed systems or in parallel processors

Example: (R1993) IEEE Standard for Software Unit Testing 1. Scope and References 2. Definitions 3. Unit Testing Activities 3.1 Plan the General Approach, Resources, and Schedule. 3.2 Determine Features To Be Tested 3.3 Refine the General Plan 3.4 Design the Set of Tests 3.5 Implement the Refined Plan and Design 3.6 Execute the Test Procedures 3.7 Check for Termination 3.8 Evaluate the Test Effort and Unit

Partial list of standards IEEE Standard Glossary of Software Engineering Terminology 1062, 1998 Edition IEEE Recommended Practice for Software Acquisition IEEE Standard for Software Safety Plans 1233, 1998 Edition IEEE Guide for Developing System Requirements Specifications IEEE Standard for Software Quality Assurance Plans IEEE Standard for Software Configuration Management Plans

Partial list of standards (R1993) IEEE Standard for Software Unit Testing IEEE Standard for Software Verification and Validation IEEE Standard for Software Reviews IEEE Standard for Software Productivity Metrics IEEE Standard for Software Project Management Plans IEEE Standard for Developing Software Life Cycle Processes IEEE Standard for Software Maintenance

Partial list of standards IEEE Standard for Software Life Cycle Processes--Risk Management IEEE Standard for a Software Quality Metrics Methodology IEEE Standard for Software Test Documentation IEEE Recommended Practice for Software Requirements Specifications IEEE Recommended Practice for Software Design Descriptions IEEE Standard Classification for Software Anomalies

Classification of standards Reference only: Subjective Partially Objective Objective

Classification of standards Reference only: –declares something will happen, but there is no way to determine compliance –“Unit testing shall be carried out.” Subjective Partially Objective Objective

Classification of standards Reference only: Subjective –Only a subjective measure of conformance is possible –“Unit testing shall be carried out effectively.” Partially Objective Objective

Classification of standards Reference only: Subjective Partially Objective –A measure of conformance, but still has subjectivity –“Unit testing shall be carried Objective

Classification of standards Reference only: Subjective Partially Objective Objective –Conformance can be determined –“Unit testing shall be carried

Four categories of SE Standards Process –The Design Team shall validate the Software Specification by... Internal Product –e.g. code: “each module should have a single entry and exit External Product –e.g. reliability Resources

Motivation for standards Provide encapsulation of best practice Avoid repetition of past mistakes Provide framework for quality assurance (assure that standard has been followed) Assist in continuity between workers

Standards organizations IEEE ANSI US DoD NATO Bureau of Standards

How to use standards Understand the motivation behind the development of the standard Involve developers Adapt standard to meet needs of organization Review standards regularly and update to reflect changing technology Provide software tools when possible. Clerical standards are a source of complaint

“In many modern standards, the only truly mandatory activity is tailoring the standard to your particular needs.” »Lewis Gray

Walkthrough of DO178B Software Development Standard for avionics Handbook for problem areas of software development Catalog of certification requirements

FAA Certification The FAA certifies systems, not software Software tools are either trusted or untrusted The product of a trusted tool is trusted.

Software Criticality Levels Criticality Level Failure Consequence Example ACatastrophicAuto pilot BHazardousnavigation system CMajornavigation assist system Dminor Eno effectin-flight entertainment

DO178B Process Planning Requirements Design Coding Integral Processes

DO178 Process: Planning Languages: syntax, naming conventions, coding conventions, bounds on term complexity, indentation standards... Tools: which tools, which subsets,... Hardware: may be very stringent Methods

DO178B Planning Describe tasks needed to meet task objectives, such as code reviews, walkthroughs, change control, audits, Describe when processes occur, when processes exit, and who is responsible

DO178B Design How will requirements be satisfied? Need –architecture –algorithms/data structures –I/O Description –Data and control flow descriptions –Resource strategies –Scheduling and communication

DO178B Coding Implement low-level requirements Integration: load software onto target Cannot patch software: need to recertify entire system (expensive)

DO178B Integral Process Requirements-based test generation Low-level tests Additional Verification Integration tests Hardware integration tests Requirements coverage analysis Requirements coverage analysis

DO178B Testing MCDC: Every atomic predicate is tested last 5% of test cases are difficult to generate Rockwell: 30% of development budget is in structural testing

DO178B Tools Must certify for each system: previous qualification efforts don’t transfer Qualify the tool or qualify the output? Qualifying a verification tool is easier than qualifying a synthesis tool

Evaluating Software Engineering Standards (Pfleeger, 1994) What is a good standard? What do the standards apply to? What was the case study? What did the authors find in the case study? Teams of 2

Assignment: Project teams Find 2 IEEE standards and give 1 page summary of the standard (include references) Find 2 “programming standards” –Summarize the standards –Compare and contrast the two standards Develop a coding standard for your team Due 3/24