Title: MILSTD498 and JSTD016 CFICSE 1999 ST03
1MIL-STD-498 and J-STD-016CFICSE 1999 ST03
- Major Greg Phillips
- Royal Military College of Canada
- Electrical and Computer Engineering
- greg.phillips_at_rmc.ca
- 01-613-541-6000 ext. 6190
2A Standards Family Tree
MIL-STD -7935
basis of
DoD Software Life Cycle (SWLC) Standards
MIL-STD -498
influenced
DOD-STD -2167A
IEEE 1074
Rev IEEE 1074
IEEE standards for developing LC processes
Rev ISO/IEC 12207
ISO/IEC 12207
ISO standards for LC Processes
J-STD -016
IEEE/EIA commercialisation of DoD SWLC standards
IEEE/EIA 12207
US standards for LC Processes
3History
- MIL-STD-498 was released on 5 December 1994 and
cancelled as of June 1998 with the release of
IEEE/EIA 12207. - So, why are we studying it?
4Why MIL-STD-498?
- 1) Improve compatibility with Incremental and
Evolutionary development models - 2) Decrease dependence on formal reviews and
audits - 3) Decrease emphasis on preparing documentation
- 4) Improve compatibility with computer-aided
software engineering (CASE) tools - 5) Improve links to systems engineering
- 6) Include the use of software management
indicators - 7) Improve coverage of modification, reuse, and
reengineering - 8) Increase emphasis on software supportability
- 9) Provide a clearer distinction between
requirements and design - 10) Improve compatibility with non-hierarchical
design methods - 11) Improve coverage of database development
- 12) Improve the criteria used for software
product evaluation - 13) Eliminate confusion between software quality
assurance and software product evaluation - 14) Extend configuration management concepts to
in-process work products - 15) Clarify relationships to other standards
- 16) Provide a means to order software via the
Contract Data Requirements List (CDRL) - 17) Eliminate inconsistencies and holes in the
DIDs
5Claimed Benefits of 498
- Is usable with any development strategy
- Is usable with any development methods
- Is compatible with CASE tools
- Provides requirements for software reuse
- Supports the use of software measurement
- Emphasizes software supportability
- Provides a role for software in the system
6Organization of MIL-STD-498
- Section 1 Scope (including purpose and
applicability) - Section 2 Referenced Documents
- Section 3 Definitions
- Section 4 General Requirements
- Section 5 Detailed Requirements
- Appendixes
- Appendix A Acronyms
- Appendix B Interpreting MIL-STD-498 for
Incorporation of Reusable Software Products - Appendix C Category and Priority Classifications
for Problem Reporting - Appendix D Software Product Evaluations
- Appendix E Candidate Joint Management Reviews
- Appendix F Candidate Management Indicators
- Appendix G Guidance on Program Strategies,
Tailoring, and Build Planning - Appendix H Guidance on Ordering Deliverables
- Appendix I Conversion Guide from DOD-STD-2167A
and DOD-STD-7935A - Index to the standard and DIDs
7MIL-STD-498 Requirements (I)
- 4.1 Establish a software development process
consistent with contract requirements - 4.2 General requirements for software
development - Use systematic, documented methods
- Develop and apply standards for representing
requirements, design, code, and test information - Reuse software products as appropriate
- Evaluate reusable software products for use in
fulfilling contract requirements incorporate
those that meet the criteria in the Software
Development Plan
8MIL-STD-498 Requirements (II)
- 4.2 General requirements for software development
(cont.) - Identify opportunities for developing software
products for reuse notify the acquirer of those
that have cost benefits and are consistent with
program objectives - Establish and apply strategies for handling
critical requirements, such as those with safety,
security, or privacy implications - Analyze and fulfill the computer hardware
resource utilization requirements (such as memory
reserves) - Record rationale for key decisions for use by the
support agency - Provide the acquirer access to developer and
subcontractor facilities
9MIL-STD-498 Concepts (I)
- well defined set of players and agreements
- accommodating incremental and evolutionary
development - alternatives to formal reviews and audits
- decreased emphasis on documentation and greater
compatibility with CASE tools - improved links to systems engineering
- use of software management indicators
- improved coverage of modification, reuse and
reengineering - increased emphasis on software supportability
- clearer distinction between requirements and
design
10MIL-STD-498 Concepts (II)
- compatibility with non-hierarchical methods
- improved coverage of database development
- improved criteria for software product
evaluations - distinguishing between software quality assurance
and software product evaluation - Application of configuration management to
in-process work products - Relationship to other related standards
- Ordering the software via the CDRL
- Tailoring
- The importance of plans
11Players and Agreements
User
Acquirer
Support Agency
Statement of Work (SOW)
Contract (Agreement)
Developer
Contract (Agreement)
CLIN or CDRL
Subcontractors
Subcontractors
12Builds
13Decreased documentation
MIL-STD-498
DID specifying content
A software product, such as plan, requirements,
design, code, database, manual
plus
tasking paragraph
may be either
may be either
Traditional document
Deliverable
other form (e.g. CASE tool)
Non- deliverable
14Participate in Systems Engr
Participate take part in, as described in
the software development plan
Participate be responsible for
15Support for reuse
- 1) States that each activity in the standard may
be performed by modifying, reusing, or
reengineering existing items, as well as by
developing something new. - 2) Requires the developer to identify and
evaluate reusable software products for use in
fulfilling contract requirements, and to
incorporate those that meet the criteria
established for the project. - 3) Provides criteria for evaluating software
products for reuse and tells how to interpret the
standard when applied to reused items. - 4) Requires the developer to identify and analyze
opportunities for developing software products
for reuse, and to notify the acquirer of those
that provide cost benefits and are compatible
with program objectives. - 5) Provides a definition of reengineering and its
constituent activities, and provides a diagram
showing how MIL-STD-498 can be applied to a
reengineering project.
16Requirements versus Design
Traditional View
MIL-STD-498 View
WHAT the system is to do
characteristics deemed conditions for acceptance
Requirements
HOW the system is to do it
characteristics selected to meet the requirements
Design
17Non-hierarchical
Software Unit 1
may be implemented as
File 1
may be stored as
One code entity (such as a module)
Software Unit 2
File 2
Software Unit 3
18Improved criteria
Objective Criteria
Software Product
Possible items for discussion and resolution
Subjective Criteria
19QA vs. evaluation
20The Importance of Plans
21Resources
The official homepage for MIL-STD-498 is (was?)
at http//diamond.spawar.navy.mil/498/mil-498.html
Included are the standard itself, the
application and reference guidebook, the overview
and tailoring guidebook, and other miscellaneous
information.
Several articles concerning MIL-STD-498 have been
published in Crosstalk, a magazine of the US
Airforce Software Technology Support Centre, and
available at http//stsc.hill.af.mil/