Presentation is loading. Please wait.

Presentation is loading. Please wait.

Standards.

Similar presentations


Presentation on theme: "Standards."— Presentation transcript:

1 Standards

2 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

3 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

4 Comparison of Standards
External Product Process Resource Internal Product Fpleeger, Fenton, Page, Evaluating Software Engineering Standards, IEEE Software, Vol 11, No 5, Sept 1994, pp safe pushchairs safe software

5 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

6 Software Engineering Standards
Technical specifications available to public Consensus, but not necessarily of all affected parties (usually by committee)

7 Example: 1228-1994 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

8 Example: 1008-1987 (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

9 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

10 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

11 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

12 Classification of standards
Reference only Subjective Partially Objective Objective

13 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

14 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

15 Standards organizations
IEEE ANSI US DoD NATO Bureau of Standards

16 How to use standards Review standards regularly and update to reflect changing technology Provide software tools when possible. Clerical standards are a source of complaint

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

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

19 FAA Certification The FAA certifies systems, not software

20 Software Criticality Levels
Failure Consequence Example A Catastrophic Auto pilot B Hazardous navigation system C Major navigation assist system D minor E no effect in-flight entertainment

21 DO178B Process Planning Requirements Design Coding Integral Processes

22 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

23 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

24 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

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

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

27 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

28 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


Download ppt "Standards."

Similar presentations


Ads by Google