Ing software
Software Architecture Documentation in the Real World
OOPSLA 2007 Tutorial
Copyright is held by the author/owner(s). OOPSLA 2007, October 21–25, 2007, Montréal, Québec, Canada. ACM 07/0010 07/0010.
Markus Völter
voelter@acm.org www.voelter.de www voelter de
ingenieurbüro für sof twaretechnologie
w w w.voelter.de
-1-
© 2007 M a rk u s Völ t e r
Documenting Software Architectures
About me
• • •
Independent Consultant Based out of Goeppingen, Germany y Focus on • Model-Driven Software Development • Software Architecture • P d t Line Engineering Product Li E i i
ingenieurbüro für sof twaretechnologie w w w.voelter.de
Markus Völter
voelter@acm.org www.voelter.de
-2-
© 2007 M a rk u s Vö l t e r
DocumentingSoftware Architectures
CONTENTS
• •
What is Software Architecture Documenting Software Architectures • (Structured) Glossaries • Patterns and the Pattern Form • Pattern Languages • Tutorials and FAQs • Diagramming and Modeling g g g • Channels • What about Code? • Specifics for Product Lines & Platforms Layout and Typography Diagramming Guidelines Summary
ingenieurbüro für softwaretechnologie w w w.voelter.de -3© 2007 M a rk u s Vö l t e r
• • •
Documenting Software Architectures
CONTENTS
• •
What is Software Architecture Documenting Software Architectures • (Structured) Glossaries • Patterns and the Pattern Form • Pattern Languages • Tutorials and FAQs • Diagramming and Modeling g g g • Channels • What about Code? • Specifics for Product Lines & PlatformsLayout and Typography Diagramming Guidelines Summary
ingenieurbüro für sof twaretechnologie w w w.voelter.de -4© 2007 M a rk u s Vö l t e r
• • •
Documenting Software Architectures
What is Software Architecture
•
Wikipedia: The software architecture of a program or computing system is the structure or structures of the system, which system comprise software elements, the externallyvisible properties of those elements, and the relationships between th b t them. Eoin Woods: Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled. Hayes-Roth: The architecture of a complex software system is its "style style and method of design and construction".
•
•
ingenieurbüro für sof twaretechnologie
w w w.voelter.de-5-
© 2007 M a rk u s Vö l t e r
Documenting Software Architectures
What is Software Architecture II
•
Boehm, et al., 1995: A software system architecture comprises • A collection of software and system components components, connections, and constraints. • A collection of system stakeholders' need statements. • A rationale which demonstrates that the components, connections,and constraints define a system that, if implemented, implemented would satisfy the collection of system stakeholders' need statements. Other: Architecture is everything that is expensive to change later. Mine: Everything that needs to be consistent throughout a y g g software system
ingenieurbüro für sof twaretechnologie w w w.voelter.de -6© 2007 M a rk u s Vö l t e r
• •
DocumentingSoftware Architectures
Architecture/System Categories – Focus
• • • •
Small, ad-hoc systems typically developed by small teams Large systems, that are developed by larger teams, typically long-lived, strategic Product Lines & Platforms, i.e. base architectures on top of which a family of systems is built often by several teams, strategic We will primarily focus on large systems & p p y g yproduct lines – since for small ad-hoc systems architecture documentation is often not essential
ingenieurbüro für sof twaretechnologie
w w w.voelter.de
-7-
© 2007 M a rk u s Vö l t e r
Documenting Software Architectures
Aspects of Software Architecture
•
This diagram outlines a number of terms and concepts we will use in the rest of this presentation.
ingenieurbüro für...
Regístrate para leer el documento completo.