lec07 - 3/3/2009 CPS406: Introduction to Software...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
3/3/2009 1 CPS406: Introduction to Software Engineering Architecture Design Adapted from: Object-Oriented Software Engineering, T. Lethbridge and R. Laganiere, 2005, Object-Oriented & Classical Software Engineering, S. Schach, 2006, Software Engineering, I. Sommerville, 2006, Software Engineering: An Object-Oriented Perspective, E. Braude, 2001 Overview What is software architecture Architectural model UML diagrams to represent architectures Architectural patterns Multi-layered Transaction processing 2 Distributed (e.g. client-server) Service-oriented Message-oriented
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
3/3/2009 2 Software Architecture Software architecture design is a process of designing the global organization of a software system, including: Dividing software into subsystems Deciding how these will interact Determining their interfaces The architecture is the core of the design, so all software engineers need to understand i 3 software engineers need to understand it The architecture will often constrain the overall efficiency, reusability and maintainability of the system Contents of a Good Architectural Model A system’s architecture will often be expressed in terms of several different views expressed in terms of several different The logical breakdown into subsystems The interfaces among the subsystems The dynamics of the interaction among components at run time The data that will be shared among the 4 subsystems The components that will exist at run time, and the machines or devices on which they will be located
Background image of page 2
3/3/2009 3 Developing an Architectural Model Start by sketching an outline of the architecture Based on the principal requirements and use cases Determine the main components that will be needed Choose among the various architectural patterns Discussed nex 5 Discussed next Suggestion : have several different teams independently develop a first draft of the architecture and merge together the best ideas Developing an Architectural Model Refine the architecture Identify the main ways in which the components Identify the main ways in which the components will interact and the interfaces between them Decide how each piece of data and functionality will be distributed among the various components Determine if you can re-use an existing framework, if you can build a framework 6 Consider each use case and adjust the architecture to make it realizable Mature the architecture
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
3/3/2009 4 Describing an Architecture Using UML All UML diagrams can be useful to describe aspects of the architectural mode aspects of the architectural model Three UML diagrams are particularly suitable for architecture modelling: Package diagrams Component diagrams 7 Deployment diagrams Package Diagrams 8
Background image of page 4
3/3/2009 5 Component Diagrams 9 Deployment Diagrams 10
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
3/3/2009 6 Architectural Patterns The notion of patterns can be applied to software architecture software architecture These are called
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 09/29/2010 for the course COMPUTER S cps615 taught by Professor Pro during the Spring '10 term at Randolph College.

Page1 / 22

lec07 - 3/3/2009 CPS406: Introduction to Software...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online