By Sara Sumner, Vitech Applications Engineer
A part of my work as an Applications Engineer at Vitech is to meet with prospective and current clients and discuss how Vitech’s model-based systems engineering solution can assist them with their engineering efforts. I have the opportunity to learn about each client’s unique situation and assist the team in diagnosing the problem and then finally prescribing a solution. A common discovery, is that while each client has a unique and challenging systems engineering problem, teams often do not optimize on the best approach for solving that problem. I see this often with clients who believe a top-down systems engineering approach should be used for every project, no matter the scope of the project or the location in the engineering lifecycle. Through a lack of understanding of the different system engineering approaches, they implement “one size fits all” solutions, oftentimes feeling they are going around in circles and failing to reach a true solution to their problems. Gaining this understanding and leveraging the right approach at the right time is an essential systems engineering skill that can make a significant impact on system schedule and success.
There are three classes of approaches that are addressed in systems engineering: top-down engineering, middle-out engineering, and bottom-up engineering. The top-down engineering problem is the most widely known, and for a while, the most typical type of systems engineering project. It is the traditional process of moving from high-level abstractions and logical designs to the physical implementation of the system. It is best applied to classical systems engineering projects or “greenfield projects,” where the team is tasked to engineer an unprecedented system. Most systems engineers dream of having this type of project because it allows them to create the system from scratch and usually contains fewer stakeholder-imposed constraints. Because the system is unprecedented, there are many unknowns and often times, the projects will have a heavy focus on technology research and development of new methods and components to implement the solution. Even though this is the most widely known type of systems engineering approach, we are seeing far fewer of these projects in the industry today.
Middle-out engineering is generally implemented on projects that require system improvement. This approach typically addresses the constraints that arise during the design process when upgrading existing systems. Often times, projects that require a middle-out approach will begin in the middle of the project, once a significant amount of time, money, and resources have already been invested in engineering a system that does not meet the stakeholders’ needs. Because time and cost will be in short supply, starting the project again with a top-down approach is not feasible. Instead, the same processes that apply to a top-down approach will be used in a middle-out approach, but the difference is where the engineering begins. With the middle-out approach, the engineering often begins with various operational scenarios. The operational analysis is then used to create the high-level system requirements, then decomposed down to identify the system and its components.
The bottom-up approach is used for reengineering or reverse engineering of the system. This approach is ideal for projects which are upgrading or replacing legacy systems. Because legacy systems often lack appropriate documentation, reverse-engineering will provide an analysis to deduce design features from products with little knowledge about the original engineering design process. Reverse-engineering is also commonly used for projects requiring a system to interface with another system to determine the interoperability between the two products or when an off-the-shelf or existing component is being integrated into the product. The bottom-up approach begins with the focus on lower-level components and how they are integrated and eventually traverses up to the original system requirements. Once the system requirements are obtained and analyzed, the top-down approach can be used to evaluate potential changes to the system design.
Once you are able to determine the best approach for the project, it is important to apply a proven systems engineering methodology and a flexible, robust systems engineering tool when engineering your system. At Vitech, we prescribe the STRATA™ methodology and the CORE™ systems engineering tool. The STRATA methodology offers a proven, logical approach that guides development through the four systems engineering domains – requirements, behavior, physical, and verification and validation – in layers allowing for completeness and convergence while iteratively working each layer of your system. This methodology lends itself each of the three systems engineering approaches described above, since the same information is captured in each of the approaches. The implementation of the approaches will differ based on where you begin your process within the system design. Once that is determined, the engineer can apply the proper approach, using the STRATA methodology, and CORE’s flexible schema and robust system repository to engineer their system.