High Profile Systems Illustrating Contradistinctive Aspects of Systems Engineering

Abstract Many modern systems have a high degree of dependence on embedded software in order to perform their required functions. Some examples include transportation systems, hand-held devices, and medical equipment, among others. In designing their products, systems engineers typically take a top-down, process-oriented approach, decomposing a complex system into simpler, easier to manage, subsystems; the system requirements can then be allocated and flowed down as necessary to the appropriate subsystems. Software engineers take a more bottom-up, object-oriented approach, using simple building blocks to create a more complex system, and enhancing their existing blocks with new ones where necessary. In many cases, both techniques must be employed together in order to design a successful system. Although it may have been acceptable in the past for simpler systems to view software as a separate subsystem with a fixed set of requirements, greater complexity of modern systems requires a corresponding improvement in working methodology. With the software playing an increasingly pivotal role, systems engineers must become much more familiar with the architecture of the software than previously; Likewise, software engineers need a systems-level view to understand which aspects of the design could be volatile due to new stakeholders (bringing with them new requirements), technology upgrades, and the changing world in general. Systems whose success or failure play out in the public arena provide a rare opportunity to study the factors that contribute to their outcome. Using two such systems, the Denver International Airport baggage handling system and the Apple iPad, this paper will study some best practices that can lead to project success or failure, and show the importance of a rigorous capture and flow down to both hardware and software of the requirements that must be correct from the start, as well as of designing an architecture that can accommodate the inevitable changes to a system. Designing extensible systems with a tolerance for future changes is a key factor in modern complex systems. The baggage handling system failed in part because of a failure to appreciate the central role of software and an apparent lack of a suitable strategy for handling requirement changes. Methods for creating software which is resilient to change have been well studied; however what may be somewhat lacking even to the present day is a broader education of the existing body of knowledge, and how to integrate it with systems engineering methods. The iPad succeeded where many of its predecessors had failed by a successful application of traditional systems engineering techniques and correctly implementing the hardware elements. Coming from companies with experience in software development, the system extensibility was not an issue in this case. However, the designers of the earlier systems seemingly failed to understand the actual market needs, failed to develop a corresponding set of requirements to meet those needs, and failed to translate those requirements into an integrated hardware/software solution.