C. Warren Axelrod

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 *