Software process definition is a topic of great interest to the software engineering community. A defined process is an important leverage point from which to address software product quality and productivity issues. It is necessary for progressing to Level 3 of the Software Engineering Institute's Capability Maturity Model. It facilitates human understanding and communication of the process. It can also support management and automated execution of the process.
The Software Technology for Adaptable, Reliable Systems (STARS) Program, sponsored by DARPA, is focused on accelerating a change in the way software is developed within the DoD. This change represents a shift to a megaprogramming paradigm, including process-driven development. Process-driven development implies that the organization has a defined software development process, which is tailored to the goals of each specific project.
We performed a case study for STARS in which we
investigated several
notations that can be used for process definition. These included
Abstraction Hierarchy Diagrams, , MVP-L,
and
APPL/A.
The main objective of the case study was
to explore process definition and determine the potential benefits
and
costs. We were also tasked to investigate the suitability of the
notations used and recommend an approach to process
definition within the STARS framework.
The case study proceeded in three phases. In the first
phase, we took as input an informal description of a reuse-oriented
certification of assets process described in [11].
We defined the process using Abstraction Hierarchy
Diagrams, MVP-L, and APPL/A [16]. The
second
phase of the study
involved creating a definition of a larger reuse
process described in [18], using
Abstraction Hierarchy Diagrams, , and
MVP-L [17]. The
third
phase involved modification of the process definition developed in
phase two, producing a new English description, Abstraction
Hierarchy Diagrams, and
Diagrams [19].
This paper describes the goals of the study and presents lessons learned. Section 1 contains a brief overview of the study. Section 2 states the goals of the study. Section 3 discusses process definition. Section 4 presents a short overview of the notations used in the study. The lessons learned in our study are given in Section 5. The final section of the report presents our conclusions and outline our future process definition plans.