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

Read more

Summary

Introduction

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.

Literature Review
Architectural Separation of Concerns
The Context of the Mission-Critical Defense System
Mine Neutralization System Main Components
Mine Neutralization System Use Cases
Mine Neutralization System High-Level Software Design
Validation of the Mine Neutralization System User Interface Design
Conclusions
Acknowledgements and Disclaimers

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

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.