Page 175 - DCAP405_SOFTWARE_ENGINEERING
P. 175
Software Engineering Deepak Mehta, Lovely Professional University
Notes Unit 10: Creating an Architectural Design
CONTENTS
Objectives
Introduction
10.1 Data Design
10.2 Data Design at Component Level
10.3 Architectural Design
10.3.1 Representing the System in Context
10.3.2 Defining Archetypes
10.3.3 Refining the Architecture into Components
10.3.4 Describing Instantiations of the System
10.4 Summary
10.5 Keywords
10.6 Review Questions
10.7 Further Readings
Objectives
After studying this unit, you will be able to:
Comprehend the Data Design
Recognize the architectural design
Introduction
As the size of software systems enlarges, the algorithms and data structures of the computation
no longer constitute the major design problems. When systems are constructed from many
components, the organization of the overall system – the software architecture – presents a new
set of design problems. This level of design has been addressed in a number of ways including
informal diagrams and descriptive terms, module interconnection languages, templates and
frameworks for systems that serve the needs of specific domains, and formal models of component
integration mechanisms.
Software architecture has started to receive focus since the last decade. It is becoming clearer that
an early and careful architecture design can greatly reduce the failure rates of software projects.
A good architecture design partitions the functional requirements of a software system into a
manageable set of interacting components. Quality attributes such as efficiency, usability,
modifiability, reliability, and security can be verified and estimated over the architecture design
before any code is produced. As the blueprint of a software system, an architecture design
allows system analysts and software architects to communicate effectively with stakeholders. It
also sets the grounds for the subsequent software design process. The software design process
furnishes the details of each component. Then the detailed design can be implemented via
coding, which is followed by debugging, testing, and maintenance.
168 LOVELY PROFESSIONAL UNIVERSITY