Mannequin-based techniques engineering (MBSE) as a strategy doesn’t immediately tackle capabilities, which describes the skills of a system to realize or carry out a process or a mission. As part of an issue description, capabilities have a powerful connection to system necessities, and might be modeled utilizing comparable approaches. Within the SEI Weblog put up Necessities in Mannequin-Based mostly Programs Engineering (MBSE), I mentioned the necessities area. On this put up, I contemplate the function of capabilities in system engineering—their objective, how they’re modeled and analyzed utilizing MBSE and SysML, and the way they are often related to enterprise necessities.
Functionality is an overloaded time period. There are enterprise capabilities and technical capabilities from the enterprise structure area, resolution capabilities from the techniques improvement course of area, resembling scaled agile framework (SAFe), and simply capabilities from the Unified Profile for DoDAF/MODAF (UPDM) or Unified Architectural Framework (UAF). These definitions basically fall into two varieties: (1) a high-level idea describing a capability of a system to realize or carry out a process or a mission and (2) a technical idea describing an answer for a particular enterprise downside. On this weblog put up, I deal with the primary sort of functionality, a high-level idea that I’ll seek advice from as simply functionality.
Product or venture managers usually contemplate the capabilities of a future or present system when contemplating the system’s imaginative and prescient and roadmap. Capabilities present a complete image within the absence of implementation particulars. Like necessities, capabilities are components of the issue description. Capabilities and necessities are tightly related, they usually inform and refine one another. Enterprise specialists usually outline levels of the enterprise course of by first answering the query, What ought to the system have the ability to do? From there, the capabilities emerge.
For instance, M. Maier in his 1998 article, “Architecting Ideas for System-of-Programs” described clever transport techniques (ITS) for instance of a system of techniques. as In keeping with Maier, the enterprise imaginative and prescient for such techniques is to
- present “real-time info on graphic situations and transportation choices to vacationers in any location”
- “enable a traveler to scan site visitors situations and select the transportation mode with predicted least journey time”
- “enable a variety of site visitors management methods to be utilized throughout metropolitan areas utilizing methods optimized from the knowledge out there”
- use info that “may embody real-time and predictive estimation of hyperlink instances all through the site visitors community”
- use info that would embody “real-time statistics on driver begin–vacation spot factors and deliberate route”
From this enterprise imaginative and prescient, a number of capabilities may very well be extracted, together with
- traveler administration
- travel-condition administration
- traffic-controls administration
- info administration
- route administration
- traffic-control methods administration and optimization
- communication administration
MBSE explicitly affords a way to mannequin necessities, however doesn’t present capabilities as a component sort. There’s a enterprise requirement ingredient (see my put up Necessities in Mannequin-Based mostly Programs Engineering) that can be utilized to mannequin the system’s capabilities, as proven in Determine 1 under.
Determine 1: Instance of Enterprise Necessities as Capabilities
As with many high-level components in techniques engineering, capabilities require decomposition. Articles in Trendy Analyst, Capstera, and the Enterprise Expertise Structure Physique of Knoweldge state that there might be as much as 5 ranges of capabilities, with the variety of ranges relying on the scale and complexity of the system. Complicated techniques of techniques could require all 5 ranges plus one sub-level, able to. The instance in Determine 2 makes use of solely three ranges of functionality decomposition and calls these ranges classes. Capabilities might be organized primarily based on different ideas, resembling useful areas or enterprise construction. Utilizing package deal construction, customized stereotypes, and coloration coding may help techniques engineers and enterprise or enterprise architects higher arrange functionality decomposition.
Determine 2: Instance of Functionality Group by Bundle
If package deal construction is used to arrange a system’s capabilities, the derive relationship reveals decomposition of the capabilities from completely different packages representing ranges as proven in Determine 3. For visually tagging capabilities from completely different classes, customized stereotypes might be useful.
Determine 3: Instance of Functionality Decomposition with Customized Stereotype
As proven in Determine 4, a mix of customized stereotype, coloration coding, and little one–guardian relationship can even arrange capabilities with out separating them into completely different packages.
Determine 4: Instance of Functionality Decomposition with Coloration Coding
One function of capabilities is to cowl what an enterprise or a system does with out requiring decomposition into the main points. Particulars that embody a consumer view of the performance or constraints come from necessities. A great mannequin ought to supply a connection between capabilities and necessities. As an alternative of deriving the connection between capabilities represented as enterprise necessities and different necessities (as I confirmed within the SEI weblog put up Necessities in Mannequin-Based mostly Programs Engineering (MBSE)), the looser hint relationship can be utilized, as proven in Determine 5.
Determine 5: Instance of Functionality-to-Necessities Traceability
Connecting capabilities to necessities creates a significant linkage between two several types of conceptual downside description that helps handle the complexity of the system. By staying at a excessive stage of abstraction, capabilities enable an architect to plan phases of the system evolution with out the necessity to maintain many particulars in thoughts. These particulars is not going to be misplaced if they’re captured as necessities and traced to a corresponding functionality.
There may be one key distinction between capabilities and necessities: Necessities come from completely different sources, sponsored by completely different stakeholders, and are often captured at completely different ranges of abstraction. In distinction, capabilities ought to at all times signify a coherent and consolidated view of the system or enterprise.
After they’re captured and decomposed, capabilities should be analyzed. One sort of study is to establish dependencies between capabilities. Regardless that two capabilities can belong to 2 completely different areas of the system, one can rely on one other, as proven in Determine 6 under. The character of the dependencies can even differ. A functionality can rely on one other functionality functionally due to a enterprise course of, order of operations, or knowledge passing.
Determine 6: Instance of Functionality Dependency Relationship
Then again, one functionality might be an extension of one other functionality utilizing an already present performance of the system. Such capabilities ought to be developed in an acceptable order, as proven in Determine 7 under. The dependency relationship captures this elementary info within the mannequin and ensures that it is going to be delivered to the following part of the system-development lifecycle.
Determine 7: Instance of Functionality Dependency Relationship Used to Seize Growth Dependency
Capabilities by themselves are usually not enough for an understanding of how a system or enterprise will perform. They should be augmented by a proof of how a system will behave when it reveals these capabilities. Even once we keep at a excessive stage of abstraction, we have to analyze the habits of the system or enterprise at that stage. A Programs Modeling Language (SysML) exercise diagram is a strategy to seize habits within the type of a course of. A relationship to make use of for associating functionality and exercise is refine, as proven in Determine 8 under.
Determine 8: Instance of Relationship Between Functionality and Exercise
As part of functionality evaluation, an architect usually begins to consider part of a system or modules that may carry out the capabilities underneath evaluation in addition to customers and the roles that people will play whereas interacting with the system or as part of the enterprise. Right here the exercise and block SysML components may assist, as proven in Determine 9 under.
Determine 9: Instance of Functionality with Performer, Position, and Course of
When an enterprise architect finishes decomposition and evaluation of the capabilities, the following logical step is to create a roadmap for capabilities improvement and a launch together with phasing for capabilities. For this, SysML doesn’t present any specialised device. All relationships captured by the mannequin together with normal evaluation will assist an architect discover a vital path for delivering a functionality and defining the roadmap, as proven by the instance in Determine 10 under.
Determine 10: Instance of Roadmap Evaluation
Observations and Conclusions
SysML has a number of deficiencies in its assist of the enterprise and portfolio structure that may be overcome with assist of architectural frameworks:
- SysML doesn’t assist capabilities by default.
- An architect might want to create extra stereotypes and an enforcement mechanism to accommodate capabilities.
- SysML doesn’t assist creation of a roadmap for the capabilities, together with planning over time.
In idea, it will be attainable for an skilled enterprise architect to create a customized meta-model to implement to some extent one of many normal architectural frameworks, resembling The Open Group Structure Framework (TOGAF) or DoD Structure Framework (DoDAF)/Unified Structure Framework (UAF) utilizing simply SysML. Doing so, nonetheless, can be time-consuming and yield a barely usable outcome. Such a meta-model can be advanced, laborious to implement and observe, and laborious to implement with out sophisticated model-verification guidelines that may be difficult to create. A greater choice can be to take a look at present extensions of SysML that implement an architectural framework of alternative. All main suppliers of MBSE/SysML modeling environments assist the most well-liked architectural frameworks.
Modeling capabilities that use MBSE tackle a number of vital elements of constructing a system of techniques. Functionality modeling helps techniques engineers handle the complexity and quantity of necessities by abstracting particular traits of the system. This stage of abstraction additionally facilitates communication amongst stakeholders and helps create the venture roadmap. By serving to to supply properly analyzed and understood capabilities, modeling helps the creation of a greater system and enterprise structure. MBSE practices assist traceability of capabilities to necessities in addition to traceability of capabilities to operational and logical structure transitively to resolution structure. Elevated traceability improves the standard of the system and ensures confidence that the system can be constructed based on necessities.