Abstract
As the use of software intensive systems increase in our daily lives, the systems are getting larger and larger every day. A significant portion of these software systems in use are medium to large in size and complexity. Most of them are also becoming a part of a system of systems. In addition to satisfying of a set of functional requirements, the users expect a certain level of quality in these systems. Quality requirements are also referred as nonfunctional requirements. Adequate satisfaction of quality requirements can be achieved via a careful software architecture design. Since the quality requirements are multi-faceted, the software architects have to consider many diverse aspects and provide a software architecture solution that can optimally satisfy both functional and nonfunctional requirements. Therefore, such a solution requires a multi-view software architecture design as the result of a careful systematic system development effort. Research reports with detailed case studies are helpful in bridging the gap between academia and industry. Research studies including a carefully designed real-world sample case studies will help practitioners and engineers to understand the theoretical concepts and apply the novel research findings in their practices. Therefore, in this study, we explain the systematic multi-view software architecture design with the help of a detailed mission-critical defense system development case study. The mission critical system in the case study is a Mine Neutralization System for navy mine hunting ships. In the study, we explain the multi-view software system architecture design step by step starting with identifying the system context, requirements, constraints, and quality expectations. We further outline the strategies, techniques, designs, and rationales used to satisfy a diverse set of requirements with a particular software architecture pattern. In addition, we introduce a novel architectural style named as a star-controller architectural style. We explain the use of the style with a related discussion.
Highlights
The “software architecture” is defined as "The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution." by ANSI/IEEE Standard 1471-2000 - IEEE Recommended Practice for Architectural Description of Software Intensive Systems
We present a multi-view software architecture development process with a case study of a mission-critical defense system
In the rest of the section, we provide a short review of some predominant models for software architecture development
Summary
The “software architecture” is defined as "The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution." by ANSI/IEEE Standard 1471-2000 - IEEE Recommended Practice for Architectural Description of Software Intensive Systems. Customers and users expect capable systems that can achieve multiple goals at the same time They expect a certain level of quality in the system. We present a multi-view software architecture development process with a case study of a mission-critical defense system. Most of these challenges can be addressed with a well-designed software architecture Such challenges and strategies to resolve them are presented with the associated architectural solutions throughout the development of the MNS example. In our mission-critical defense system case study, adaptability, modifiability, maintainability, usability, testability, reliability, and safety are the quality attributes that are addressed. How to achieve these quality attributes are presented with specific architectural patterns and solutions.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.