tailieunhanh - Lecture Software design and architecture – Chapter 5

After this chapter the student should have acquired the following knowledge and skills: Introduction to software architecture, architecture vs design, architect’s responsibilities, architecture business cycle, architectural representation, using UML, using ADL. | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05 Review Software design methods Design Paradigms Typical Design Trade-offs Outline Introduction to software architecture Architecture vs Design Architect’s responsibilities Architecture Business Cycle Software Architecture Software Architecture is the description of elements from which system is built, interactions among those elements, patterns that guide their composition, and constraints on the patterns. Considers system as a collection of components and their interactions. 5 Components & their Interactions Components are such things as clients and servers, databases, layers, etc. Interactions among components can be procedure calls, shared variable access, etc. At the architectural level, we also consider system-level issues such as capacity, consistency, performance, etc. 6 Software Architecture the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution [IEEE standard 1471–2000 ]. 7 Software Architecture What is the nature of the elements? What are the responsibilities of the elements? What is the significance of the connections? What is the significance of the layout? Where does architecture design come from? The architecture design representation is derived from the system requirement specification and the analysis model. Who is responsible for developing the architecture design? Software architects and designers are involved in this process by translating (mapping) the software system requirements into architecture design. Why is software architecture design so important? A poor design may result in a deficient product that does not meet system requirements, is not adaptive to future requirement changes, is not reusable, exhibits unpredictable behavior, or performs badly. When is software design conducted? Software design is an early phase of the Software Development Life Cycle (SDLC). What is . | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05 Review Software design methods Design Paradigms Typical Design Trade-offs Outline Introduction to software architecture Architecture vs Design Architect’s responsibilities Architecture Business Cycle Software Architecture Software Architecture is the description of elements from which system is built, interactions among those elements, patterns that guide their composition, and constraints on the patterns. Considers system as a collection of components and their interactions. 5 Components & their Interactions Components are such things as clients and servers, databases, layers, etc. Interactions among components can be procedure calls, shared variable access, etc. At the architectural level, we also consider system-level issues such as capacity, consistency, performance, etc. 6 Software Architecture the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the .