My take on the difference between software architecture and software design. Also highlights similarities between ISO/IEC/IEEE 42010-2011 (Systems and software engineering —Architecture description) and IEEE STD 1016-2009 (Systems Design — Software Design Descriptions)
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Architecture vs Design
1. ISO/IEC/IEEE 42010-2011
vs. IEEE STD 1016-2009
(Architecture vs. Design)
Luc Trudeau
Département de génie logiciel
et des technologies de
l’information
L’ÉTS est une constituante du réseau
de l'Université du Québec
Montréal, Québec, Canada
2. 42010-2011 vs. 1016-2009
L Trudeau
Learning objectives
Explain de differences between architecture and software
design
Identify the key elements of 42010 and the relations between
them
Identify the key elements of 1016 and the relations between
them
Discuss of the common concepts between 42010 and 1016
2
Département de génie logiciel et des
technologies de l’information
3. 42010-2011 vs. 1016-2009
L Trudeau
Architecture vs. Design
Architecture and design is quite similar to the
federal and provincial government
3
Département de génie logiciel et des
technologies de l’information
4. 42010-2011 vs. 1016-2009
L Trudeau
Federal Government (Architecture)
Federal government legislate matters common to more
than one province
Federal government
Architecture
Inter-Provincial highways
Inter-Module dependencies
Postal service
Interfaces
Military
Behavior
...
…
Architecture documents matters common to more than
one module/component
Legislating is fancy word for documenting
4
Département de génie logiciel et des
technologies de l’information
5. 42010-2011 vs. 1016-2009
L Trudeau
Provincial Government (Software Design)
“Provinces may legislate on matters of a merely local
or private nature”
Provincial government
Software design
Education
Classes and objects
Provincial officers
Software design patterns
Municipal government
Dependencies
...
…
Software design may document on matters of a
merely local or private nature
“may” because you don’t need to document everything
5
Département de génie logiciel et des
technologies de l’information
6. 42010-2011 vs. 1016-2009
L Trudeau
Architecture vs Software Design
Assign Responsibilities
Requirements,
Constraints,
Quality attributes,
Concerns…
Architecture
Requirements,
Constraints,
Quality attributes,
Concerns…
Requirements,
Constraints,
Quality attributes,
Concerns…
Software
Design
Requirements,
Constraints,
Quality attributes,
Concerns…
Implémentation
(Adapted from McConnell, Steve. 2004. Code Complete: A Practical Handbook of Software
Construction, Second Edition. 2nd ed. Microsoft Press, July 7.)
6
Département de génie logiciel et des
technologies de l’information
7. 42010-2011 vs. 1016-2009
L Trudeau
Let’s just get one thing straight
These standards don’t tell you how to do your
architecture or your software design.
They tell you how to write an architecture document
(Architecture description) or a software design
document (Software design description)
7
Département de génie logiciel et des
technologies de l’information
8. 42010-2011 vs. 1016-2009
L Trudeau
When you think of an architecture
document
You probably think of something like this
The document I want to write
Architecture
Description
Architecture
Model
The diagrams I will use to explain my architecture
That’s a good start, but there’s a lot more to
consider…
8
Département de génie logiciel et des
technologies de l’information
9. 42010-2011 vs. 1016-2009
L Trudeau
ISO/IEC/IEEE 42010 (2011)
Systems and software engineering —
Architecture description
9
Département de génie logiciel et des
technologies de l’information
10. 42010-2011 vs. 1016-2009
L Trudeau
This is the document that describes the architecture.
This is your main deliverable as an architect and this
standard tells you what to put in it
10
Département de génie logiciel et des
technologies de l’information
11. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (Architecture description)
An architecture description shall identify the system-of-interest and include
supplementary information as determined by the project and/or
organization.
The detailed content of identifying and supplementary information items
shall be as specified by the organization and/or project.
11
Département de génie logiciel et des
technologies de l’information
12. 42010-2011 vs. 1016-2009
L Trudeau
Users, operators, acquirers, suppliers, developers,
builders, maintainers…
This part of your document is strongly linked to the Vision document or SRS
(if they are used in the project)
12
Département de génie logiciel et des
technologies de l’information
13. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (stakeholders and concerns)
An architecture description shall identify the system stakeholders having
concerns considered fundamental to the architecture of the system-ofinterest.
The following stakeholders shall be considered and when applicable,
identified in the architecture description:
users of the system
operators of the system
acquirers of the system
owners of the system
suppliers of the system
developers of the system
builders of the system
maintainers of the system
An architecture description shall identify the concerns considered
fundamental to the architecture of the system-of-interest.
13
Département de génie logiciel et des
technologies de l’information
14. 42010-2011 vs. 1016-2009
L Trudeau
functionality, feasibility, usage, system
purposes, system features, system properties, known
limitations, structure, behavior, performance, resource
utilization, reliability, security, information
assurance, complexity, evolvability, openness, concur
rency, autonomy, cost, schedule, quality of
service, flexibility, agility, modifiability, modularity, cont
rol, inter-process communication, deadlock, state
change, subsystem integration, data
accessibility, privacy, compliance to
regulation, assurance, business goals and
strategies, customer
experience, maintainability, affordability and
disposability…
Quality attribute scenarios are a way of expressing non-functional concerns
14
Département de génie logiciel et des
technologies de l’information
15. 42010-2011 vs. 1016-2009
L Trudeau
The shalls (stakeholders and concerns)
The following concerns shall be considered and when applicable, identified
in the architecture description:
the purposes of the system
the suitability of the architecture for achieving the system’s purposes
the feasibility of constructing and deploying the system
the potential risks and impacts of the system to its stakeholders
throughout its life cycle
maintainability and evolvability of the system
An architecture description shall associate each identified concern with the
identified stakeholders having that concern.
15
Département de génie logiciel et des
technologies de l’information
16. 42010-2011 vs. 1016-2009
L Trudeau
Convention used to build, interpret and
analyze a view
Example : Module styles, Componentand-connector styles and Allocation
styles
16
Département de génie logiciel et des
technologies de l’information
17. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (viewpoints)
An architecture description shall include each architecture viewpoint used
therein.
An architecture viewpoint shall specify:
a) one or more concerns framed by this viewpoint
b) typical stakeholders for concerns framed by this viewpoint
c) one or more model kinds used in this viewpoint
d) for each model kind identified in c),
the languages, notations, conventions, modelling
techniques, analytical methods and/or other operations to
be used on models of this kind;
e) references to its sources.
Each concern identified shall be framed by at least one viewpoint.
17
Département de génie logiciel et des
technologies de l’information
18. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (view)
An architecture description shall include exactly one architecture view for
each architecture viewpoint used.
Each architecture view shall adhere to the conventions of its governing
architecture viewpoint.
Each architecture view shall include:
a) identifying and supplementary information as specified by the
organization and/or project
b) identification of its governing viewpoint
c) architecture models that address all of the concerns framed by its
governing viewpoint and cover the whole system from that
viewpoint
d) recording of any known issues within a view with respect to its
governing viewpoint.
18
Département de génie logiciel et des
technologies de l’information
19. 42010-2011 vs. 1016-2009
L Trudeau
UML Class diagram, UML Sequence
diagram, UML Activity diagram…
19
Département de génie logiciel et des
technologies de l’information
20. 42010-2011 vs. 1016-2009
L Trudeau
The shalls (model)
An architecture view shall be composed of one or more architecture models
Each architecture model shall include version identification as specified by
the organization and/or project
Each architecture model shall identify its governing model kind and adhere
to the conventions of that model kind
20
Département de génie logiciel et des
technologies de l’information
21. 42010-2011 vs. 1016-2009
L Trudeau
Mapping between views
21
Département de génie logiciel et des
technologies de l’information
22. 42010-2011 vs. 1016-2009
L Trudeau
Architectural relation between AD elements
Stakeholder, concern,
viewpoint, view, model kind,
model, decision…
22
Département de génie logiciel et des
technologies de l’information
23. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (Correspondences)
An architecture description shall record any known inconsistencies across its
architecture models and its views
Each correspondence in an architecture description shall be identified and
identify its participating AD elements
Each correspondence in an architecture description shall identify any
correspondence rules governing it
An architecture description shall include each correspondence rule applying
to it.
For each identified correspondence rule, an architecture description shall
record whether the rule holds or otherwise record all known violations
23
Département de génie logiciel et des
technologies de l’information
24. 42010-2011 vs. 1016-2009
L Trudeau
A view contains the reasoning.
Here you need to explain why
thing are they way they are.
•
•
Alternatives
•
Tradeoffs
•
Justifications
•
24
Problems during design or
development and there
solutions
…
Département de génie logiciel et des
technologies de l’information
25. 42010-2011 vs. 1016-2009
L Trudeau
25
Département de génie logiciel et des
technologies de l’information
26. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (Rational)
An architecture description shall include a rationale for each architecture
viewpoint included in terms of its stakeholders, concerns, model kinds,
notations and methods
An architecture description shall include rationale for each decision
considered to be a key architecture decision
26
Département de génie logiciel et des
technologies de l’information
27. 42010-2011 vs. 1016-2009
L Trudeau
IEEE Std 1016-2009
IEEE Standard for Information Technology
Systems Design — Software Design
Descriptions
27
Département de génie logiciel et des
technologies de l’information
28. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (SDD)
An SDD shall include the following descriptive information:
Date of issue and status
Scope
Issuing organization
Authorship
References
Context
Body
Summary
Glossary
Change history
One or more design languages for each design viewpoint used
28
Département de génie logiciel et des
technologies de l’information
29. 42010-2011 vs. 1016-2009
L Trudeau
Could be an architectural
concern assigned to this
module
29
Département de génie logiciel et des
technologies de l’information
30. 42010-2011 vs. 1016-2009
L Trudeau
Architectural
Stakeholder interested
by this module
30
Département de génie logiciel et des
technologies de l’information
31. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (stakeholders and concerns)
An SDD shall identify the design stakeholders for the design subject
An SDD shall identify the design concerns of each identified design
stakeholder
An SDD shall address each identified design concern
31
Département de génie logiciel et des
technologies de l’information
32. 42010-2011 vs. 1016-2009
L Trudeau
Convention used to build,
interpret and analyze a view
32
Département de génie logiciel et des
technologies de l’information
33. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (viewpoints)
For each design view in an SDD, there shall be exactly one design viewpoint
governing it.
Each design viewpoint shall be specified by:
• Viewpoint name
• Design concerns that are the topics of the viewpoint
• Design elements, defined by that viewpoint, specifically the types of
design entities, attributes, relationships, and constraints introduced by
that viewpoint or used by that viewpoint (which may have been defined
elsewhere). These elements may be realized by one or more design
languages
• Analytical methods or other operations to be used in constructing a
design view based upon the viewpoint, and criteria for interpreting and
evaluating the design
• Viewpoint source (e.g., authorship or citation), when applicable.
33
Département de génie logiciel et des
technologies de l’information
34. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (viewpoints)
An SDD shall include a rationale for the selection of each selected viewpoint
Each design concern identified shall be framed by at least one design
viewpoint selected for use.
34
Département de génie logiciel et des
technologies de l’information
35. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (views)
An SDD shall be organized into one or more design views.
Each design view in an SDD shall conform to its governing design viewpoint
Each design view shall address the design concerns specified by its
governing design viewpoint.
35
Département de génie logiciel et des
technologies de l’information
36. 42010-2011 vs. 1016-2009
L Trudeau
A view contains the
reasoning. Here you need to
explain why thing are they
way they are.
•
•
Alternatives
•
Tradeoffs
•
Justifications
•
36
Problems during design
or development and
there solutions
…
Département de génie logiciel et des
technologies de l’information
37. 42010-2011 vs. 1016-2009
L Trudeau
System, sub-system,
API, Framework,
design patterns,
components, modules,
classes, processes…
37
Département de génie logiciel et des
technologies de l’information
38. 42010-2011 vs. 1016-2009
L Trudeau
Élément qui définit
une règle de design
qui impose des
restrictions aux
éléments de design
38
Département de génie logiciel et des
technologies de l’information
39. 42010-2011 vs. 1016-2009
L Trudeau
The Shalls (Design Elements)
Each design element in the SDD shall have a name, a type, and any
contents
Each design entity shall have a name, a type, and purpose
Each design element shall have an unambiguous reference name
The type attribute shall describe the nature of the element
The type of each design element shall be introduced within exactly one
design viewpoint definition
All design attributes declared by a design viewpoint shall be specified
39
Département de génie logiciel et des
technologies de l’information