SWE 3633 Lecture 2: L2 Software Architecture lecture 2
Document Summary
Software architects use various design strategies in software construction to divide and conquer the complexities of a problem domain and solve the problem. During the architectural design step we describe user accessible components and the interconnections among them that are visible to stakeholders. During the detailed design step we specify the internal details of each component and we might introduce new invisible components to the stakeholder, into the design. In practice, designers abstract common features such as similar choices on element types and connections into families of architectures using notion of architectural style. Each style represents a layout topology of elements, and connections and interactions among these. Quality attributes are closely related to architectural styles. For example, there is always a tradeoff between system performance in terms of: The actual design is a blueprint and a guideline for developing a software system based on the software requirement analysis specification.