Identifying and Documenting Primary Concerns in Industrial Software Systems (SATURN 2008)
April 2008 • Presentation
Presentation for the 2008 SATURN workshop held in Pittsburgh
Software Engineering Institute
ABB business relies on industrial software systems in all divisions. Although the domains differ (power, automation, robotics), these systems share certain characteristics, both in functionality and in quality attributes. The sustainable software systems are tightly coupled with hardware systems, have to provide high reliability, are split into engineering and operations parts, and typically live over a long period of time. Maintaining and extending such systems pose an interesting challenge, as they include responding to changes in business goals, the technical environment, stakeholders' concerns, and the organization. The presentation deals with the experiences of identifying and prioritizing the primary concerns for two existing software systems within ABB business units. This covers the gathering of use cases and quality attribute scenarios for the existing systems and for their planned extensions. The first project extended the remote interface of a Robotic software application with new functionality and requirements on integration with higher and lower level systems. The latter was documented with prioritized deployment scenarios. The second project concerned a product line approach for three gauge systems. The software engineers collected use cases from a set of workshops with the key stakeholders and completed the identification of primary concerns in an SEI Quality Attribute Workshop. Commonalities and variation points were extracted from the use cases. We made the following observations during the first project:
* ABB's global business structure generally requires a distributed approach to gathering use cases and quality attribute scenarios, mandating an effecting strategy for running these distributed interviews (both in location and time) and merging the information.
* Combining use cases and quality attribute scenarios provides an excellent methodology for capturing system characteristics and for discussing the system's primary concerns with the different stakeholders.
* Some system characteristics were not covered by use cases and quality attribute scenarios. Therefore, we added project and domain-specific mechanisms to get a complete picture of the system for making sound architecture and design decisions. The second project made the following observations:
* Stakeholders voted with a specific mind-set in the QAW. Instead of voting on the legacy primary scenarios, e.g., 'Implement same performance as today,' they voted on what new functionality they considered to be the most important for the next-generation products based on the common platform.
* The QAW did not cover all primary concerns with positive impact on the prioritized business goal. Therefore, the ABB-developed IF method was used to prioritize these concerns based on use cases, QAW, and interviews.
* The identification of commonalities and variation points according to the SEI methodology simplified the first sketch of the architecture. The result of these activities was the identification of a methodology to drive system development projects for industrial software systems. The application of use cases and QAWs enables the deriving of system architectures and service interfaces. Augmenting this approach with the IF method allows identifying the systems' primary concerns and prioritizing them inline with the business goal. Finally, idiosyncrasies of the application domain have to be taken care of with specific techniques. Download PDF >> Quality Attributes and Requirements Traceability Andre LeClerc, Unisys Corporation Presentation Abstract: Quality attributes are requirement that directly affect the building of application and software systems. Quality attributes in fact act as 'super' requirements. It might be better to call them meta-requirements. A single quality attribute might impact hundreds of other client requirements. It would be desirable to be able to capture quality attributes in a requirements database and provide 'traceability' between the QA, the requirements, the features of a solution, and the components of the eventual proposed architecture. Unisys has developed a proprietary requirements-driven methodology called CDPro2 (Customer Driven Proposal Process). CDPro2 is both a process and a tool set to achieve traceability between the information components of requirements-driven proposals and projects. This methodology allows Unisys to capture and document requirements of an architecture, features of an architecture (including its quality attributes), components of an architecture, and the associated costs to build those architecture components. This process/methodology is accompanied by a tool set built as on 'overlay' on top of IBM's Rational Tools Suite, including the requirements management tool, Requisite Pro. Requisite Pro has been considerably extended from its basic requirements mission to become a generalized information manager. The customization allows for the capture of all sorts of information related to requirements (including quality attributes) and provides for generalized traceability between all information data types. As a result, it allows the development team to use the tool set to capture all architecture information. This information can then be traced from the requirements to the quality attributes to the architecture components and finally to their development costs. Thus, extensive information traceability is provided. This has been particularly useful for large outsourcing engagements. The presentation will describe the overall process and illustrate the use of the tool set but not in great depth.