Systems Engineering and Software Engineering

From SEBoK
Jump to navigation Jump to search

Software is usually prominent in modern systems architectures and is often the glue for integrating complex system components. Software engineering and systems engineering are not merely related disciplines; they are intimately intertwined (see Systems Engineering and Other Disciplines).

The SEBoK explicitly recognizes and embraces the intertwining between systems engineering and software engineering, and defines the relationship between the SEBoK and the Guide to The Software Engineering Body of Knowledge (SWEBOK), which is published by the IEEE (Abran et al. 2004).

This knowledge area describes the nature of software, provides an overview of the 2004 SWEBOK Guide, describes the concepts that are shared by systems engineers and software engineers, and indicates the similarities and difference in how software engineers and systems engineers apply these concepts and use common terminology.

Topics

The Systems Engineering and Software Engineering knowledge area contains the following topics:

Future Version 1.0 Additions

Version 1.0 of the SEBoK will focus this knowledge area on what a systems engineer needs to know about software engineering, and what a software engineer needs to know about systems engineering, to do his or her job better. Topics being considered are:

  • What a systems engineer needs to know about managing the software team supporting him or her:
    • How to write software requirements and how they differ from regular requirements
    • Acquisition issues peculiar to software
    • Contracting for software
    • Software productivity, cost norms, and rules of thumb
    • Software metrics (e.g., Source Lines of Code (SLOC) and defect density)
    • Validation and verification of software, as well as similarities and differences from hardware
    • Definition and measures of software quality
    • How to manage software risk, schedule, and cost
    • Software re-use: costs, benefits, and perils
    • Software integration and interoperability: strategies, measures, risks, and costs
  • What a systems engineer needs to know about software engineering in general:
    • Service oriented architectures, and what they mean for systems engineering
    • Model driven software development
    • Data rights
    • Data modeling
    • Interfaces
    • Cyber security issues, assurance, strategies, and costs
    • Software in a systems of systems environment: issues and strategies
    • Real time embedded systems
    • Simulation of software performance
    • Resilient software
    • Agile software
    • Open architecture: issues, strategies, risks, costs, and benefits
    • CMMI
    • Current advances in software engineering
    • Software benchmarks

References

Citations

Abran, A. and J.W. Moore (exec. eds); P. Borque and R. Dupuis (eds.). 2004. SWEBOK: Guide to the Software Engineering Body of Knowledge. Piscataway, NJ, USA: The Institute of Electrical and Electronic Engineers, Inc. (IEEE). Available at: http://www.computer.org/portal/web/swebok

Brooks, F. 1995. The Mythical Man-Month, Anniversary Edition. Boston, MA, USA: Addison Weslley Longman Inc.

Fairley, R.E. 2009. Managing and Leading Software Projects. Hoboken, NJ, USA: John Wiley and Sons.

Primary References

Abran, A. and J.W. Moore (exec. eds); P. Borque and R. Dupuis (eds.). 2004. SWEBOK: Guide to the Software Engineering Body of Knowledge. Piscataway, NJ, USA: The Institute of Electrical and Electronic Engineers, Inc. (IEEE). Available at: http://www.computer.org/portal/web/swebok

Brooks, F. 1995. The Mythical Man-Month, Anniversary Edition. Boston, MA, USA: Addison Wesley Longman Inc.

Fairley, R.E. 2009. Managing and Leading Software Projects. Hoboken, NJ, USA: John Wiley and Sons.

Additional References

No additional references have been identified for version 0.5. Please provide any recommendations on additional references in your review.


<- Previous Article | Parent Article | Next Article ->