Safe and Secure Software Systems Engineering (S4E)

As you read this, you probably will be saying to yourself, “Why would anyone waste so much time worrying about semantics?” Good question. I began thinking the same way after struggling with definitions in this space for some time. In the end, I concluded that it might be worthwhile after all.

So, here’s the issue. Does the inadequate definition of terms lead to adverse outcomes? My answer … yes, indeed, very much so.

Let’s start out with a definition of a system. According to the IEEE Standard 610.12-1990:

“A system is a collection of components organized to accomplish a specific function or set of functions.”

Christensen and Thayer in their book The Project Manager’s Guide to Software Engineering’s Best Practices (IEEE Computer Society, 2002): rework the definition somewhat to come up with the following:

“A system is a collection of related or associated entities that together accomplish … one or more specific objectives.”

In the U.S. Department of Defense’s book Systems Engineering Fundamentals (Systems Management College, 2001), which is available online, the definition becomes:

“A system is an integrated composite of people, products, and processes that provide a capability to satisfy a stated need or objective.”

If you compare each of the above, the main difference is whether one is trying to satisfy a single need or function or objective, or more than one, and the IEEE definition takes care of both. But I also like the DoD definition because it lists the components as people, products and processes.

We now go to Braude and Bernstein’s Software Engineering: Modern Approaches (Wiley, 2011), where they define “software engineering” as follows:

Post a Comment

Your email is never published nor shared. Required fields are marked *