The Institute of Electrical and Electronics Engineers (IEEE) provides standards that define best practices for software engineering. These standards ensure quality, consistency, and professionalism in software development.
Key IEEE Software Standards
Software Quality Standards
| Standard | Title | Purpose |
|---|---|---|
| IEEE 730 | Software Quality Assurance | QA processes and plans |
| IEEE 1012 | Software Verification & Validation | V&V activities |
| IEEE 1028 | Software Reviews and Audits | Review processes |
| IEEE 1061 | Software Quality Metrics | Quality measurement |
Software Development Standards
| Standard | Title | Purpose |
|---|---|---|
| IEEE 830 | Software Requirements Specifications | SRS format |
| IEEE 1016 | Software Design Descriptions | Design documentation |
| IEEE 1074 | Software Life Cycle Processes | SDLC processes |
| IEEE 12207 | Software Life Cycle Processes | ISO/IEC alignment |
Software Testing Standards
| Standard | Title | Purpose |
|---|---|---|
| IEEE 829 | Software Test Documentation | Test documentation |
| IEEE 1008 | Software Unit Testing | Unit test process |
| IEEE 1044 | Software Anomalies | Defect classification |
IEEE 730: Software Quality Assurance
SQA Plan Contents
┌─────────────────────────────────────────────────────────────────────────────┐
│ SOFTWARE QUALITY ASSURANCE PLAN │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 1. PURPOSE │
│ Scope, definitions, references │
│ │
│ 2. MANAGEMENT │
│ Organization, tasks, responsibilities │
│ │
│ 3. DOCUMENTATION │
│ Required documents, standards │
│ │
│ 4. STANDARDS, PRACTICES, CONVENTIONS │
│ Applicable standards │
│ │
│ 5. REVIEWS AND AUDITS │
│ Types, schedules, participants │
│ │
│ 6. TEST │
│ Test approach, coverage requirements │
│ │
│ 7. PROBLEM REPORTING │
│ Defect tracking, resolution │
│ │
│ 8. TOOLS, TECHNIQUES, METHODOLOGIES │
│ QA tools and methods │
│ │
│ 9. CODE CONTROL │
│ Configuration management │
│ │
│ 10. RECORDS │
│ Collection, retention │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
IEEE 829: Software Test Documentation
Test Documentation Structure
| Document | Purpose | When Created |
|---|---|---|
| Test Plan | Overall test approach | Planning phase |
| Test Design Specification | Test conditions and approach | Design phase |
| Test Case Specification | Specific test inputs and expected results | Design phase |
| Test Procedure Specification | Steps to execute tests | Design phase |
| Test Item Transmittal Report | Items being tested | Before testing |
| Test Log | Chronological record of testing | During testing |
| Test Incident Report | Any event requiring investigation | During testing |
| Test Summary Report | Summary of testing activities | After testing |
Test Plan Outline (IEEE 829)
# Test Plan Identifier
## 1. Introduction
### 1.1 Document Identifier
### 1.2 Scope
### 1.3 References
### 1.4 Glossary
## 2. Test Items
[Software items to be tested]
## 3. Features to be Tested
[List of features in scope]
## 4. Features Not to be Tested
[Explicitly excluded features]
## 5. Approach
[Overall approach to testing]
## 6. Item Pass/Fail Criteria
[Criteria for test success]
## 7. Suspension Criteria and Resumption Requirements
[When to stop/restart testing]
## 8. Test Deliverables
[Documents to be produced]
## 9. Testing Tasks
[Tasks and dependencies]
## 10. Environmental Needs
[Hardware, software, tools]
## 11. Responsibilities
[Who does what]
## 12. Staffing and Training Needs
[Resources required]
## 13. Schedule
[Timeline]
## 14. Risks and Contingencies
[Risk management]
## 15. Approvals
[Sign-off requirements]
IEEE 1012: Software Verification and Validation
V&V Activities by Life Cycle Phase
| Phase | Verification Activities | Validation Activities |
|---|---|---|
| Requirements | Requirements traceability, review | Prototyping, simulation |
| Design | Design review, traceability | Interface analysis |
| Implementation | Code inspection, unit testing | Integration testing |
| Test | Test review, coverage analysis | System testing |
| Installation | Installation review | Acceptance testing |
| Operation | Maintenance review | Operational testing |
V&V Task Descriptions
┌─────────────────────────────────────────────────────────────────────────────┐
│ VERIFICATION vs VALIDATION │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ VERIFICATION VALIDATION │
│ "Are we building the "Are we building the │
│ product right?" right product?" │
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ - Reviews │ │ - Prototyping │ │
│ │ - Inspections │ │ - User acceptance │ │
│ │ - Walkthroughs │ │ - System testing │ │
│ │ - Traceability │ │ - Simulation │ │
│ │ - Unit testing │ │ - Beta testing │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
IEEE 1028: Software Reviews
Review Types
| Review Type | Purpose | Participants |
|---|---|---|
| Management Review | Evaluate project status | Managers |
| Technical Review | Evaluate technical approach | Technical staff |
| Inspection | Find defects systematically | Trained inspectors |
| Walk-through | Present work for feedback | Author + peers |
| Audit | Evaluate compliance | Independent auditors |
Inspection Process
┌─────────────────────────────────────────────────────────────────────────────┐
│ INSPECTION PROCESS │
└─────────────────────────────────────────────────────────────────────────────┘
┌───────────┐
│ Planning │ Select material, participants, schedule
└─────┬─────┘
│
▼
┌───────────┐
│ Overview │ Author presents material (optional)
└─────┬─────┘
│
▼
┌───────────┐
│Preparation│ Inspectors review individually
└─────┬─────┘
│
▼
┌───────────┐
│Examination│ Group meeting to identify defects
└─────┬─────┘
│
▼
┌───────────┐
│ Rework │ Author corrects defects
└─────┬─────┘
│
▼
┌───────────┐
│Follow-up │ Verify corrections
└───────────┘
IEEE 1016: Software Design Descriptions
Design Description Contents
| Section | Content |
|---|---|
| Identification | Document info, system overview |
| Design Stakeholders | Who uses this document |
| Design Concerns | Issues being addressed |
| Design Viewpoints | Perspectives used |
| Design Views | Representations from each viewpoint |
| Design Overlays | Cross-cutting concerns |
| Design Rationale | Why decisions were made |
Common Design Viewpoints
| Viewpoint | Focus | Typical Diagrams |
|---|---|---|
| Context | System boundaries | Context diagram |
| Composition | Structure | Component diagram |
| Logical | Functional organization | Class diagram |
| Dependency | Relationships | Dependency graph |
| Information | Data elements | ER diagram |
| Interface | Interfaces | Interface specification |
| Interaction | Behavior | Sequence diagram |
| Deployment | Physical distribution | Deployment diagram |
IEEE Standards and NUP
Mapping to NUP Disciplines
| NUP Discipline | IEEE Standards |
|---|---|
| Requirements | IEEE 830 (SRS) |
| Analysis & Design | IEEE 1016 (Design Descriptions) |
| Implementation | IEEE 730 (SQA) |
| Testing | IEEE 829, 1008, 1012 |
| Quality Assurance | IEEE 730, 1028, 1061 |
Integration Guidelines
- Use IEEE templates as starting points for NUP deliverables
- Map IEEE activities to NUP phase milestones
- Apply IEEE review types at phase gates
- Reference IEEE standards in project quality plans
ISO/IEC/IEEE Standards
Several IEEE standards are harmonized with ISO/IEC:
| IEEE | ISO/IEC | Title |
|---|---|---|
| IEEE 12207 | ISO/IEC 12207 | Software Life Cycle Processes |
| IEEE 15288 | ISO/IEC 15288 | System Life Cycle Processes |
| IEEE 29119 | ISO/IEC 29119 | Software Testing |
| IEEE 42010 | ISO/IEC 42010 | Architecture Description |
Related Resources
- QA Templates
- Automated Testing
- Code Reviews
- Design Reviews
- IEEE Standards Association
- IEEE Computer Society
- ISO/IEC JTC 1/SC 7 Software Engineering
Compliance
This section fulfills ISO 13485 requirements for design verification (7.3.6), design validation (7.3.7), and documentation standards (4.2.3), and ISO 27001 requirements for secure development lifecycle (A.8.25), security testing (A.8.29), and documented operating procedures (A.5.37).