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
   170   171   172   173   174   175   176   177   178   179   180