![Page 1: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/1.jpg)
Standards
![Page 2: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/2.jpg)
• What is a standard?
• What are the benefits of using a standard?
• What are the costs?
• Do the costs exceed the benefits?
![Page 3: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/3.jpg)
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
![Page 4: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/4.jpg)
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
![Page 5: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/5.jpg)
Standards outside SE
• measures (gallons, liters, mm)
• sizing (electrical plugs)
![Page 6: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/6.jpg)
Comparison of Standards
safe pushchairs safe software
Internal Product
External Product
ProcessResource
![Page 7: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/7.jpg)
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
![Page 8: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/8.jpg)
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
![Page 9: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/9.jpg)
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
![Page 10: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/10.jpg)
Example: 1008-1987 (R1993) IEEE Standard for Software Unit Testing
1. Scope and References2. Definitions3. Unit Testing Activities3.1 Plan the General Approach, Resources, and Schedule.3.2 Determine Features To Be Tested3.3 Refine the General Plan3.4 Design the Set of Tests3.5 Implement the Refined Plan and Design3.6 Execute the Test Procedures3.7 Check for Termination3.8 Evaluate the Test Effort and Unit
![Page 11: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/11.jpg)
Partial list of standards610.12-1990 IEEE Standard Glossary of Software Engineering
Terminology 1062, 1998 Edition IEEE Recommended Practice for Software
Acquisition 1228-1994 IEEE Standard for Software Safety Plans1233, 1998 Edition IEEE Guide for Developing System
Requirements Specifications 730-1998 IEEE Standard for Software Quality Assurance Plans828-1998 IEEE Standard for Software Configuration
Management Plans
![Page 12: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/12.jpg)
Partial list of standards1008-1987 (R1993) IEEE Standard for Software Unit Testing 1012-1998 IEEE Standard for Software Verification and
Validation 1028-1997 IEEE Standard for Software Reviews1045-1992 IEEE Standard for Software Productivity Metrics 1058-1998 IEEE Standard for Software Project Management
Plans1074-1997 IEEE Standard for Developing Software Life
Cycle Processes1219-1998 IEEE Standard for Software Maintenance
![Page 13: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/13.jpg)
Partial list of standards1540-2001 IEEE Standard for Software Life Cycle
Processes--Risk Management1061-1998 IEEE Standard for a Software Quality Metrics
Methodology 829-1998 IEEE Standard for Software Test Documentation830-1998 IEEE Recommended Practice for Software
Requirements Specifications1016-1998 IEEE Recommended Practice for Software
Design Descriptions 1044-1993 IEEE Standard Classification for Software
Anomalies
![Page 14: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/14.jpg)
Classification of standards
• Reference only:
• Subjective
• Partially Objective
• Objective
![Page 15: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/15.jpg)
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
![Page 16: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/16.jpg)
Classification of standards
• Reference only:
• Subjective– Only a subjective measure of conformance is
possible– “Unit testing shall be carried out effectively.”
• Partially Objective
• Objective
![Page 17: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/17.jpg)
Classification of standards
• Reference only:
• Subjective
• Partially Objective– A measure of conformance, but still has
subjectivity– “Unit testing shall be carried
• Objective
![Page 18: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/18.jpg)
Classification of standards
• Reference only:
• Subjective
• Partially Objective
• Objective– Conformance can be determined– “Unit testing shall be carried
![Page 19: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/19.jpg)
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
![Page 20: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/20.jpg)
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
![Page 21: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/21.jpg)
Standards organizations
• IEEE
• ANSI
• US DoD
• NATO
• Bureau of Standards
![Page 22: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/22.jpg)
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
![Page 23: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/23.jpg)
• “In many modern standards, the only truly mandatory activity is tailoring the standard to your particular needs.”
» Lewis Gray
![Page 24: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/24.jpg)
Walkthrough of DO178B
• Software Development Standard for avionics
• Handbook for problem areas of software development
• Catalog of certification requirements
![Page 25: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/25.jpg)
FAA Certification
• The FAA certifies systems, not software
• Software tools are either trusted or untrusted
• The product of a trusted tool is trusted.
![Page 26: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/26.jpg)
Software Criticality LevelsCriticality
Level
Failure
Consequence
Example
A Catastrophic Auto pilot
B Hazardous navigation system
C Major navigation assist system
D minor
E no effect in-flight entertainment
![Page 27: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/27.jpg)
DO178B Process
• Planning
• Requirements
• Design
• Coding
• Integral Processes
![Page 28: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/28.jpg)
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
![Page 29: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/29.jpg)
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
![Page 30: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/30.jpg)
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
![Page 31: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/31.jpg)
DO178B Coding
• Implement low-level requirements
• Integration: load software onto target
• Cannot patch software: need to recertify entire system (expensive)
![Page 32: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/32.jpg)
DO178B Integral ProcessRequirements-basedtest generation
Low-leveltests
AdditionalVerification
Integrationtests
Hardware integrationtests
Requirements coverageanalysis
Requirements coverageanalysis
![Page 33: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/33.jpg)
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
![Page 34: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/34.jpg)
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
![Page 35: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/35.jpg)
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
![Page 36: Standards. What is a standard? What are the benefits of using a standard? What are the costs? Do the costs exceed the benefits?](https://reader036.vdocument.in/reader036/viewer/2022062407/56649e2a5503460f94b181a7/html5/thumbnails/36.jpg)
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