Mannequin-based methods engineering (MBSE) as a strategy doesn’t straight handle capabilities, which describes the skills of a system to attain or carry out a activity or a mission. As part of an issue description, capabilities have a robust connection to system necessities, and may be modeled utilizing comparable approaches. Within the SEI Weblog publish Necessities in Mannequin-Primarily based Programs Engineering (MBSE), I mentioned the necessities area. On this publish, I think about the position of capabilities in system engineering—their goal, 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 methods 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 primarily fall into two sorts: (1) a high-level idea describing a capability of a system to attain or carry out a activity or a mission and (2) a technical idea describing an answer for a particular enterprise downside. On this weblog publish, I concentrate on the primary kind of functionality, a high-level idea that I’ll seek advice from as simply functionality.
Product or mission managers typically think about the capabilities of a future or current 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 linked, and so they inform and refine one another. Enterprise specialists typically outline phases 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 Rules for System-of-Programs” described clever transport methods (ITS) for instance of a system of methods. as In accordance with Maier, the enterprise imaginative and prescient for such methods is to
- present “real-time data 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 accessible”
- use data that “may embody real-time and predictive estimation of hyperlink instances all through the site visitors community”
- use data 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 might be extracted, together with
- traveler administration
- travel-condition administration
- traffic-controls administration
- data administration
- route administration
- traffic-control methods administration and optimization
- communication administration
MBSE explicitly gives a way to mannequin necessities, however doesn’t present capabilities as a component kind. There’s a enterprise requirement component (see my publish Necessities in Mannequin-Primarily based 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 methods engineering, capabilities require decomposition. Articles in Fashionable Analyst, Capstera, and the Enterprise Expertise Structure Physique of Knoweldge state that there may be as much as 5 ranges of capabilities, with the variety of ranges relying on the dimensions and complexity of the system. Advanced methods of methods 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 may be organized based mostly on different rules, resembling practical areas or enterprise construction. Utilizing bundle construction, customized stereotypes, and shade coding may help methods engineers and enterprise or enterprise architects higher set up functionality decomposition.
Determine 2: Instance of Functionality Group by Package deal
If bundle construction is used to prepare a system’s capabilities, the derive relationship exhibits 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 may be useful.
Determine 3: Instance of Functionality Decomposition with Customized Stereotype
As proven in Determine 4, a mix of customized stereotype, shade coding, and baby–mum or dad relationship may also set up capabilities with out separating them into completely different packages.
Determine 4: Instance of Functionality Decomposition with Shade Coding
One position of capabilities is to cowl what an enterprise or a system does with out requiring decomposition into the small print. Particulars that embody a consumer view of the performance or constraints come from necessities. A very good 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 publish Necessities in Mannequin-Primarily based 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 degree of abstraction, capabilities enable an architect to plan phases of the system evolution with out the necessity to preserve 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’s 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 all the time signify a coherent and consolidated view of the system or enterprise.
After they’re captured and decomposed, capabilities have to be analyzed. One kind of research is to establish dependencies between capabilities. Regardless that two capabilities can belong to 2 completely different areas of the system, one can rely upon one other, as proven in Determine 6 under. The character of the dependencies may also differ. A functionality can rely upon one other functionality functionally due to a enterprise course of, order of operations, or information passing.
Determine 6: Instance of Functionality Dependency Relationship
However, one functionality may be an extension of one other functionality utilizing an already current performance of the system. Such capabilities needs to be developed in an acceptable order, as proven in Determine 7 under. The dependency relationship captures this basic data within the mannequin and ensures that will probably be delivered to the following section of the system-development lifecycle.
Determine 7: Instance of Functionality Dependency Relationship Used to Seize Growth Dependency
Capabilities by themselves will not be adequate for an understanding of how a system or enterprise will perform. They have to be augmented by a proof of how a system will behave when it displays these capabilities. Even after we keep at a excessive degree of abstraction, we have to analyze the habits of the system or enterprise at that degree. A Programs Modeling Language (SysML) exercise diagram is a option 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 typically begins to consider part of a system or modules that may carry out the capabilities below 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, Function, 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 software. All relationships captured by the mannequin together with normal evaluation will assist an architect discover a crucial 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 concept, it might 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, nevertheless, can be time-consuming and yield a barely usable outcome. Such a meta-model can be advanced, exhausting to implement and comply with, and exhausting to implement with out difficult model-verification guidelines that might be difficult to create. A greater choice can be to have a look at current extensions of SysML that implement an architectural framework of alternative. All main suppliers of MBSE/SysML modeling environments assist the preferred architectural frameworks.
Modeling capabilities that use MBSE handle a number of crucial facets of constructing a system of methods. Functionality modeling helps methods engineers handle the complexity and quantity of necessities by abstracting particular traits of the system. This degree of abstraction additionally facilitates communication amongst stakeholders and helps create the mission roadmap. By serving to to provide nicely 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 will probably be constructed in accordance with necessities.