Difference between revisions of "Software Engineering in the Systems Engineering Life Cycle"

From SEBoK
Jump to navigation Jump to search
Tag: visualeditor
Tag: visualeditor
Line 2: Line 2:
  
 
== Systems Engineering and Software Engineering Life Cycles ==
 
== Systems Engineering and Software Engineering Life Cycles ==
Like for most established engineering processes, the engineering of a software product consists of:  
+
The Guide to the Software Engineering Body of Knowledge (SWEBoK) (Bourque and Fairley 2014) describes the life cycle of a software product as:  
 
* analysis and design,   
 
* analysis and design,   
 
* construction   
 
* construction   
Line 9: Line 9:
 
* maintenance, and eventually   
 
* maintenance, and eventually   
 
* retirement or replacement.  
 
* retirement or replacement.  
In Part 3 of the SEBoK, [[Systems Engineering and Management|SE and Management]], there is a discussion of SE life cycle models and processes.  A [[Generic Life Cycle Model]] is described, reproduced in Fig 1.  This is used to describe how the life cycle of a typical system of interest unfolds.
+
This life cycle is common to most other mature engineering disciplines.
 +
 
 +
In Part 3 of the SEBoK, [[Systems Engineering and Management|SE and Management]], there is a discussion of SE life cycle models and processes.  A [[Generic Life Cycle Model]] is described, reproduced in Fig 1.below This is used to describe how the life cycle of a typical [[Engineered System (glossary)|engineered system]].
 
   
 
   
 
Fig 1…
 
Fig 1…
  
The [[Life Cycle Models]] knowledge area defines how the [[System Life Cycle Process Models: Vee|Vee]] and [[System Life Cycle Process Models: Iterative|Iterative]] life cycle process models tailor this generic view to different types of system development. Both models, with some modification, apply equally to the development of products and services containing software.  
+
Part 3 also defines a collection of SE[[Life Cycle Process (glossary)|life cycle processes]]<nowiki/>which define the activities and information needed across the SE life cycle. These processes include activities which contribute across the whole life cycle, with “humps” of focused activity in certain stages, see[[Applying Life Cycle Processes]]<nowiki/>for details.  
  
Part 3 also defines a collection of life cycle processes which define the SE activities and information needed across the life cycle. These processes include activities which contribute across the whole life cycle, with “humps” of focused activity in certain stages, see [[Applying Life Cycle Processes]] for details.
+
The [[Life Cycle Models]] knowledge area defines how [[System Life Cycle Process Models: Vee|Vee]] and [[System Life Cycle Process Models: Iterative|Iterative]] life cycle models  tailor this generic view to different types of system development. Both models, with some modification, apply equally to the development of products and services containing software.  
  
 
The following sections provide a brief discussion of how software life cycle processes fit into SE life cycle process models.  In practice the details of this relationship is a key part of how each system life cycle is planned and delivered.  It will be shaped by operating domain practice and solution type.  Some examples of this are provided in the [[Implementation Examples]].
 
The following sections provide a brief discussion of how software life cycle processes fit into SE life cycle process models.  In practice the details of this relationship is a key part of how each system life cycle is planned and delivered.  It will be shaped by operating domain practice and solution type.  Some examples of this are provided in the [[Implementation Examples]].
 
 
==Systems Engineering and Software Engineering Standards==
 
==Systems Engineering and Software Engineering Standards==
 
The Systems Engineering life cycle processes described in Part 3, [[Systems Engineering and Management|SE and Management]], are largely based on those defined in the ISO/IEEE/IEC SE Life Cycle Processes 15288 Standard (2015).
 
The Systems Engineering life cycle processes described in Part 3, [[Systems Engineering and Management|SE and Management]], are largely based on those defined in the ISO/IEEE/IEC SE Life Cycle Processes 15288 Standard (2015).
  
The Guide to the Software Engineering Body of Knowledge (SWEBoK) (Bourque and Fairley 2014) references the equivalent ISO/IEEE/IEC Software Engineering Life Cycle Processes 12207 Standard (2008), which defines a very similar set of processes for software systems.  Figure 2 shows the relationship between the Enabling, Acquisition, Project and Technical Systems and Software processes in both 15288 and 12207 and the software specific processes of ISO/IEEE/IEC 12207. This alignment is from the last updates of both 12207 and 15288 in 2008.  The SE processes have been further updated in 15288:2015, see [[Systems Engineering and Management]] for details. This change has not yet been applied to 12207. An update of 12207 is planned for 2016, in which the alignment to 15288 will be reviewed.  See [[Alignment and Comparison of the Standards]] for more discussion of the relationships between the standards.
+
The SWEBoK references the equivalent ISO/IEEE/IEC Software Engineering Life Cycle Processes 12207 Standard (2008), which defines a very similar set of processes for software systems.  Figure 2 shows the relationship between the Enabling, Acquisition, Project and Technical Systems and Software processes in both 15288 and 12207 and the software specific processes of ISO/IEEE/IEC 12207. This alignment is from the last updates of both 12207 and 15288 in 2008.  The SE processes have been further updated in 15288:2015, see [[Systems Engineering and Management]] for details. This change has not yet been applied to 12207. An update of 12207 is planned for 2016, in which the alignment to 15288 will be reviewed.  See [[Alignment and Comparison of the Standards]] for more discussion of the relationships between the standards.
 
   
 
   
 
Fig 2 Aligned Process Models for ISO/IEC 15288 & 12207: 2008 (Adapted from Roedler 2011). Reprinted with permission of Garry Roedler. All other rights are reserved by the copyright owner.
 
Fig 2 Aligned Process Models for ISO/IEC 15288 & 12207: 2008 (Adapted from Roedler 2011). Reprinted with permission of Garry Roedler. All other rights are reserved by the copyright owner.

Revision as of 20:59, 2 December 2015

This article describes how software engineering life cycle processes integrate with the SE life cycle. Since most modern systems will have at least some software this is increasingly the normal case of SE.

Systems Engineering and Software Engineering Life Cycles

The Guide to the Software Engineering Body of Knowledge (SWEBoK) (Bourque and Fairley 2014) describes the life cycle of a software product as:

  • analysis and design,
  • construction
  • testing,
  • operation,
  • maintenance, and eventually
  • retirement or replacement.

This life cycle is common to most other mature engineering disciplines.

In Part 3 of the SEBoK, SE and Management, there is a discussion of SE life cycle models and processes. A Generic Life Cycle Model is described, reproduced in Fig 1.below This is used to describe how the life cycle of a typical engineered system.

Fig 1…

Part 3 also defines a collection of SElife cycle processeswhich define the activities and information needed across the SE life cycle. These processes include activities which contribute across the whole life cycle, with “humps” of focused activity in certain stages, seeApplying Life Cycle Processesfor details.

The Life Cycle Models knowledge area defines how Vee and Iterative life cycle models tailor this generic view to different types of system development. Both models, with some modification, apply equally to the development of products and services containing software.

The following sections provide a brief discussion of how software life cycle processes fit into SE life cycle process models. In practice the details of this relationship is a key part of how each system life cycle is planned and delivered. It will be shaped by operating domain practice and solution type. Some examples of this are provided in the Implementation Examples.

Systems Engineering and Software Engineering Standards

The Systems Engineering life cycle processes described in Part 3, SE and Management, are largely based on those defined in the ISO/IEEE/IEC SE Life Cycle Processes 15288 Standard (2015).

The SWEBoK references the equivalent ISO/IEEE/IEC Software Engineering Life Cycle Processes 12207 Standard (2008), which defines a very similar set of processes for software systems. Figure 2 shows the relationship between the Enabling, Acquisition, Project and Technical Systems and Software processes in both 15288 and 12207 and the software specific processes of ISO/IEEE/IEC 12207. This alignment is from the last updates of both 12207 and 15288 in 2008. The SE processes have been further updated in 15288:2015, see Systems Engineering and Management for details. This change has not yet been applied to 12207. An update of 12207 is planned for 2016, in which the alignment to 15288 will be reviewed. See Alignment and Comparison of the Standards for more discussion of the relationships between the standards.

Fig 2 Aligned Process Models for ISO/IEC 15288 & 12207: 2008 (Adapted from Roedler 2011). Reprinted with permission of Garry Roedler. All other rights are reserved by the copyright owner.

The 12207 software standard considers two situations:

  • The life cycle of software product, should use the software specific processes
  • The life cycle of systems with a significant software content (sometimes called software intensive systems) should integrate the software processes into the SE life cycle processes.

The second of these is the one relevant to the practice of SE. The simple view of this is that software engineering implementation processes are used in the life cycle to support the implementation of software system elements. The software support and reuse processes support the related SE processes across the whole system life cycle.

References

Works Cited

Bourque, P. and R.E. Fairley (eds.). 2014. Guide to the Software Engineering Body of Knowledge (SWEBOK). Los Alamitos, CA, USA: IEEE Computer Society. Available at: http://www.swebok.org

ISO/IEC/IEEE. 2015. Systems and Software Engineering -- System Life Cycle Processes. Geneva, Switzerland: International Organisation for Standardisation / International Electrotechnical Commissions / Institute of Electrical and Electronics Engineers. ISO/IEC/IEEE 15288:2015.

ISO/IEEE. 2008. Systems and Software Engineering — Software Life Cycle Processes. Geneva, Switzerland: International Organization for Standards (ISO)/Institute of Electrical & Electronics Engineers (IEEE) Computer Society, ISO/IEEE 12207:2008(E).

Roedler, G. 2011. "Towards Integrated Systems and Software Engineering Standards." National Defense Industrial Association (NDIA) Conference, San Diego, CA, USA.

Primary References

Roedler, G. 2011. "Towards Integrated Systems and Software Engineering Standards." National Defense Industrial Association (NDIA) Conference, San Diego, CA, USA.

Additional References

Roedler, G. 2010. An Overview of ISO/IEC/IEEE 15288, System Life Cycle Processes. Asian Pacific Council on Systems Engineering (APCOSE) Conference.

< Previous Article | Parent Article | Next Article >


SEBoK v. 1.9.1 released 30 September 2018

SEBoK Discussion

Please provide your comments and feedback on the SEBoK below. You will need to log in to DISQUS using an existing account (e.g. Yahoo, Google, Facebook, Twitter, etc.) or create a DISQUS account. Simply type your comment in the text field below and DISQUS will guide you through the login or registration steps. Feedback will be archived and used for future updates to the SEBoK. If you provided a comment that is no longer listed, that comment has been adjudicated. You can view adjudication for comments submitted prior to SEBoK v. 1.0 at SEBoK Review and Adjudication. Later comments are addressed and changes are summarized in the Letter from the Editor and Acknowledgements and Release History.

If you would like to provide edits on this article, recommend new content, or make comments on the SEBoK as a whole, please see the SEBoK Sandbox.

blog comments powered by Disqus