Evolution of Software Development Standards in the Military Domain

Transcription

Evolution of Software Development Standards in the Military Domain
Evolution of Software
Development Standards in the
Military Domain and Effects on
Software Applications
K. Burak Codur
Ali H. Doğru
Turkish Military Academy
Defense Sciences Institute
Middle East Technical University
Computer Engineering Department
Outline
• 
• 
• 
• 
Military standards for software development
Research method
Findings
Impacts on the evolution of software
The Standards
Introduction of
MIL-STD-1679
Introduction of
MIL-STD-498
1978
1994
1968
NATO
Conference –
First use of the
term “Software
Engineering”
1985
Introduction of
DOD-STD-2167
1998
Introduction of
IEEE 12207 (to the
military service)
Why These Standards Make Up
A Unique Case Study?
•  Military domain is unique:
–  Whole spectrum of applications.
–  Single type of user and acquirer.
•  The standards utilized are well known.
•  One can be sure these standards were applied.
Motivation
To understand the
evolution of software in
the military domain
How?
We have texts of the standards.
+
Out of the 4 standards, 3 of them are not
in use, 2 of them have not been in use for
almost 15 years.
-
We do not have comparable data.
-
We do not have comparable applications.
-
How? (Cont.)
Content Analysis
Software Development
Experiment
Content Analysis
•  An Ontology for Software Development Standards
•  Analysis and Comparison of the Contents
•  Definitions
•  Requirements
•  BPMN Diagrams of Standards
Software Development Experiment
•  Goal: To Implement Same Projects in
Accordance to Each Standard and Collect
Comparable Data
•  Implementation: A Graduate Course at Software
Engineering Program of Computer Engineering
Department, METU
•  Projects: Planning, Requirement Analysis and
Preliminary Design of Software
General Design of the Experiment
OCD,
SSS,
SSDD
+
Standards
and
Templates
1. Phase – Planning
2. Phase – Requirements Analysis
3. Phase – Preliminary Design
Estimates for
schedule and effort
Requirements
Estimate for
Lines of Code
6 Projects, 6 Groups, 3 Iterations
Sample Data – Schedule Estimate
 Projects
Groups 
Major Findings - 1
1.  The processes defined by the standards became
more detailed and complex in time
(Content analysis).
Major Findings - 2
2.  There are specific subjects focused by the
standards, such as:
•  coding (MIL-STD-1679) or
•  safety,
•  security and
•  privacy requirements (MIL-STD-498).
These focused subjects lose attention in time
(Content analysis).
Major Findings - 3
3.  Scopes of the standards have spread in
time:
•  More concepts have entered in the scope of the
standards,
•  while a few diminished in time
(Content analysis).
Major Findings – 3 (Cont.)
Concept
Undelivered software
Incremental and
evolutionary software
development
Tailoring
Reuse
Independence in tests
Traceability
Versioning
Software transition
Testability
Validation
Service
Stress tests
User training
Document templates
MILSTD-1679
DODSTD-2167
MILSTD-498
IEEE/EIA 12207
X
X
√
√
√
√
√
√
X
X
X
X
X
≈
X
X
X
√
X
√
√
√
√
√
√
≈
≈
X
X
X
≈
√
√
√
√
√
√
√
√
X
√
X
√
√
√
√
√
√
√
√
√
√
√
√
√
X
√ means “contains”, X means “does not contain”, ≈ means “partially contains”
Major Findings - 4
4.  Evolution of the standards did not progress
in parallel with developing industry in all
aspects:
•  There are some cases, albeit rare, where the
concepts that diminished from scope of the
military standards were later employed by
modern standards (Content analysis).
Major Findings - 5
5.  Schedule and effort estimates increased as
standards evolved. (software development
experiment).
Major Findings - 6
6.  Number of requirements defined increased as
standards evolved (content analysis and
software development experiment).
Major Findings - 7
7.  There is not a relation between evolution of the
standards and lines of source code estimation
(software development experiment).
Major Findings - 8
8.  Evolution of the standards resulted with
increase in the variety of software
development models applied (content
analysis and software development
experiment).
Major Findings - 9
9.  Using standards tailored to application type
makes sense (software development
experiment).
Conclusions and Future Work
•  Evolutionary progress until our decade.
•  If life cycle of software spreads over jurisdiction of
multiple standards, a transition work is needed.
–  Schedule and effort estimates and the number of software
requirements would increase
•  If evolutionary progress continues - with the help of
research like this - predictable transitions can be
managed in the future.
•  Future Work: Assessment of change in software quality
Questions
•  About the presentation
–  In the limited context of our experiment, how one can
study the individual effects of different parameters?
•  Debate questions
1. Do we need military defined software development
standards in the military domain?
2. How can we collect and keep data (or clues) related to
effects of regulations (so that later we can utilize
these to assess evolution of software)?