SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Architectures
in Context
Software Architecture
Lecture 2
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
2
Fundamental Understanding
 Architecture is a set of principal design decisions about a
software system
 Three fundamental understandings of software
architecture
Every application has an architecture
Every application has at least one architect
Architecture is not a phase of development
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
3
Wrong View: Architecture as a
Phase
Treating architecture as a phase denies its
foundational role in software development
More than “high-level design”
Architecture is also represented, e.g., by object code,
source code, …
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
4
Context of Software Architecture
 Requirements
 Design
 Implementation
 Analysis and Testing
 Evolution
 Development Process
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
5
Requirements Analysis
 Traditional SE suggests requirements analysis should
remain unsullied by any consideration for a design
 However, without reference to existing architectures it
becomes difficult to assess practicality, schedules, or
costs
In building architecture we talk about specific rooms…
…rather than the abstract concept “means for
providing shelter”
 In engineering new products come from the observation
of existing solution and their limitations
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
6
New Perspective on Requirements
Analysis
 Existing designs and architectures provide the solution
vocabulary
 Our understanding of what works now, and how it works,
affects our wants and perceived needs
 The insights from our experiences with existing systems
helps us imagine what might work and
enables us to assess development time and costs
  Requirements analysis and consideration of design
must be pursued at the same time
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
7
Non-Functional Properties (NFP)
 NFPs are the result of architectural choices
 NFP questions are raised as the result of architectural
choices
 Specification of NFP might require an architectural
framework to even enable their statement
 An architectural framework will be required for
assessment of whether the properties are achievable
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
8
The Twin Peaks Model
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
9
Design and Architecture
 Design is an activity that pervades software development
 It is an activity that creates part of a system’s architecture
 Typically in the traditional Design Phase decisions concern
A system’s structure
Identification of its primary components
Their interconnections
 Architecture denotes the set of principal design decisions
about a system
That is more than just structure
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
10
Architecture-Centric Design
 Traditional design phase suggests translating the
requirements into algorithms, so a programmer can
implement them
 Architecture-centric design
stakeholder issues
decision about use of COTS component
overarching style and structure
package and primary class structure
deployment issues
post implementation/deployment issues
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
11
Design Techniques
 Basic conceptual tools
Separation of concerns
Abstraction
Modularity
 A widely adapted strategy
Object-oriented design
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
12
Object-Oriented Design (OOD)
 Objects
Main abstraction entity in OOD
Encapsulations of state with functions for accessing
and manipulating that state
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
13
Pros and Cons of OOD
 Pros
UML modeling notation
Design patterns
 Cons
Provides only
One level of encapsulation (the object)
One notion of interface
One type of explicit connector (procedure call)
 Even message passing is realized via procedure calls
OO programming language might dictate important design
decisions
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
14
Implementation
 The objective is to create machine-executable source
code
That code should be faithful to the architecture
Alternatively, it may adapt the architecture
How much adaptation is allowed?
Architecturally-relevant vs. -unimportant
adaptations
It must fully develop all outstanding details of the
application
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
15
Faithful Implementation
 All of the structural elements found in the architecture
are implemented in the source code
 Source code must not utilize major new computational
elements that have no corresponding elements in the
architecture
 Source code must not contain new connections between
architectural elements that are not found in the
architecture
 Is this realistic?
Overly constraining?
What if we deviate from this?
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
16
Unfaithful Implementation
 The implementation does have an architecture
It is latent, as opposed to what is documented.
 Failure to recognize the distinction between planned and
implemented architecture
robs one of the ability to reason about the
application’s architecture in the future
misleads all stakeholders regarding what they believe
they have as opposed to what they really have
makes any development or evolution strategy that is
based on the documented (but inaccurate)
architecture doomed to failure
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
17
Implementation Strategies
 Generative techniques
e.g. parser generators
 Frameworks
collections of source code with identified places
where the engineer must “fill in the blanks”
 Middleware
CORBA, DCOM, RPC, …
 Reuse-based techniques
COTS, open-source, in-house
 Writing all code manually
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
18
Analysis and Testing
 Analysis and testing are activities undertaken to assess
the qualities of an artifact
 The earlier an error is detected and corrected the lower
the aggregate cost
 Rigorous representations are required for analysis, so
precise questions can be asked and answered
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
19
Analysis of Architectural Models
 Formal architectural model can be examined for internal
consistency and correctness
 An analysis on a formal model can reveal
Component mismatch
Incomplete specifications
Undesired communication patterns
Deadlocks
Security flaws
 It can be used for size and development time estimations
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
20
Analysis of Architectural Models
(cont’d)
 Architectural model
may be examined for consistency with requirements
may be used in determining analysis and testing
strategies for source code
may be used to check if an implementation is faithful
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
21
Evolution and Maintenance
 All activities that chronologically follow the release of an
application
 Software will evolve
Regardless of whether one is using an
architecture-centric development process or not
 The traditional software engineering approach to maintenance
is largely ad hoc
Risk of architectural decay and overall quality degradation
 Architecture-centric approach
Sustained focus on an explicit, substantive, modifiable,
faithful architectural model
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
22
Architecture-Centric Evolution
Process
 Motivation
 Evaluation or assessment
 Design and choice of approach
 Action
includes preparation for the next round of adaptation
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
23
Processes
 Traditional software process discussions make the
process activities the focal point
 In architecture-centric software engineering the product
becomes the focal point
 No single “right” software process for architecture-centric
software engineering exists
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
24
Turbine – A New Visualization
Model
 Goals of the visualization
Provide an intuitive sense of
 Project activities at any given time
 Including concurrency of types of development activities
 The “information space” of the project
Show centrality of the products
 (Hopefully) Growing body of artifacts
 Allow for the centrality of architecture
 But work equally well for other approaches,
including “dysfunctional” ones
Effective for indicating time, gaps, duration of activities
Investment (cost) indicators
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
25
Coding
Design
Requirements
Testing
Simplistic Waterfall,
Side perspective
time
The Turbine Model
“Core” of project
artifacts
Radius of rotor indicates
level of staffing at time t
Gap between rotors
indicates no project
activity for that ∆t
ti
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
26
Cross-section at time ti
Design
(activity)
Requirements
Design
doc
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
27
The Turbine Model
Waterfall example,
Angled perspective
time
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
28
A Richer Example
S1
Design/Build/
Requirements
Test/Build/
Deploy
Assess/…
Requirements/Architecture
assessment/Planning
Build/Design/
Requirements/Test
time
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
29
A Sample Cross-Section
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
30
A Cross-Section at Project End
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
31
Volume Indicates Where Time was
Spent
Design/Build/
Requirements
Test/Build/
Deploy
Assess/…
Requirements/
Architecture Assessment / Planning
Build/Design/
Requirements/Test
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
32
A Technically Strong Product-Line
Project
Assessment
Parameterization
Customization
Deployment
Capture of new work
Other
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
33
Visualization Summary
 It is illustrative, not prescriptive
 It is an aid to thinking about what’s going on in a project
 Can be automatically generated based on input of
monitored project data
 Can be extended to illustrate development of the
information space (artifacts)
The preceding slides have focused primarily on the
development activities
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
34
Processes Possible in this Model
 Traditional, straight-line waterfall
 Architecture-centric development
 DSSA-based project
 Agile development
 Dysfunctional process
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
35
Summary (1)
 A proper view of software architecture affects every
aspect of the classical software engineering activities
 The requirements activity is a co-equal partner with
design activities
 The design activity is enriched by techniques that exploit
knowledge gained in previous product developments
 The implementation activity
is centered on creating a faithful implementation of
the architecture
utilizes a variety of techniques to achieve this in a
cost-effective manner
Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture
36
Summary (2)
 Analysis and testing activities can be focused on and
guided by the architecture
 Evolution activities revolve around the product’s
architecture.
 An equal focus on process and product results from a
proper understanding of the role of software architecture

Weitere ähnliche Inhalte

Was ist angesagt?

Accelerating rtl reuse
Accelerating rtl reuseAccelerating rtl reuse
Accelerating rtl reuseBrijbabu
 
Basics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersBasics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersDan Douglas
 
A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementElizabeth Steiner
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical DebtHayim Makabee
 
Agile Product Line Engineering Literature Review
Agile Product Line Engineering Literature ReviewAgile Product Line Engineering Literature Review
Agile Product Line Engineering Literature ReviewHeba Elshandidy
 
27 people roles_and_teams
27 people roles_and_teams27 people roles_and_teams
27 people roles_and_teamsMajong DevJfu
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Hayim Makabee
 
Software Architecture Fundamentals Part-1 Architecture soft skill
Software Architecture Fundamentals Part-1 Architecture soft skillSoftware Architecture Fundamentals Part-1 Architecture soft skill
Software Architecture Fundamentals Part-1 Architecture soft skillSARCCOM
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting ActivitiesHenry Muccini
 
Solution Architecture tips & tricks by Roman Shramkov
Solution Architecture tips & tricks by Roman ShramkovSolution Architecture tips & tricks by Roman Shramkov
Solution Architecture tips & tricks by Roman ShramkovJavaDayUA
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and RhapsodyMartin Owen
 
The Role of IT Architect in Startup Company
The Role of IT Architect in Startup CompanyThe Role of IT Architect in Startup Company
The Role of IT Architect in Startup CompanySARCCOM
 
Carol daniele
Carol danieleCarol daniele
Carol danieleNASAPMC
 
Bhasin reinert barnes_golden
Bhasin reinert barnes_goldenBhasin reinert barnes_golden
Bhasin reinert barnes_goldenNASAPMC
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAnumod Kumar
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020Ralf Laemmel
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepuntenNesma
 
Qiang Yu Resume
Qiang Yu Resume Qiang Yu Resume
Qiang Yu Resume Qiang Yu
 

Was ist angesagt? (20)

Accelerating rtl reuse
Accelerating rtl reuseAccelerating rtl reuse
Accelerating rtl reuse
 
Basics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersBasics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET Developers
 
A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio Management
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical Debt
 
Agile Product Line Engineering Literature Review
Agile Product Line Engineering Literature ReviewAgile Product Line Engineering Literature Review
Agile Product Line Engineering Literature Review
 
Unit1
Unit1Unit1
Unit1
 
27 people roles_and_teams
27 people roles_and_teams27 people roles_and_teams
27 people roles_and_teams
 
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
Reducing Technical Debt: Using Persuasive Technology for Encouraging Software...
 
Software Architecture Fundamentals Part-1 Architecture soft skill
Software Architecture Fundamentals Part-1 Architecture soft skillSoftware Architecture Fundamentals Part-1 Architecture soft skill
Software Architecture Fundamentals Part-1 Architecture soft skill
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting Activities
 
Solution Architecture tips & tricks by Roman Shramkov
Solution Architecture tips & tricks by Roman ShramkovSolution Architecture tips & tricks by Roman Shramkov
Solution Architecture tips & tricks by Roman Shramkov
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
 
The Role of IT Architect in Startup Company
The Role of IT Architect in Startup CompanyThe Role of IT Architect in Startup Company
The Role of IT Architect in Startup Company
 
Carol daniele
Carol danieleCarol daniele
Carol daniele
 
Bhasin reinert barnes_golden
Bhasin reinert barnes_goldenBhasin reinert barnes_golden
Bhasin reinert barnes_golden
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepunten
 
Qiang Yu Resume
Qiang Yu Resume Qiang Yu Resume
Qiang Yu Resume
 
Mayuresh Warkhandkar_Resume
Mayuresh Warkhandkar_ResumeMayuresh Warkhandkar_Resume
Mayuresh Warkhandkar_Resume
 

Ähnlich wie Cs 1023 lec 3 architecture (week 1)

02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.pptRohanBorgalli
 
SDA 01.pptx
SDA 01.pptxSDA 01.pptx
SDA 01.pptxJuttG6
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfAkilaGamage2
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdfAkilaGamage2
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Mozaic Works
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)stanbridge
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)stanbridge
 
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Henry Muccini
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsJose Emilio Labra Gayo
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)stanbridge
 
Technical Architecture
Technical ArchitectureTechnical Architecture
Technical Architecturescmiyer
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?iasaglobal
 
OOSAD Chapter 6 Object Oriented Design.pptx
OOSAD Chapter 6 Object Oriented Design.pptxOOSAD Chapter 6 Object Oriented Design.pptx
OOSAD Chapter 6 Object Oriented Design.pptxBereketMuniye
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12NASAPMC
 

Ähnlich wie Cs 1023 lec 3 architecture (week 1) (20)

02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt
 
SDA 01.pptx
SDA 01.pptxSDA 01.pptx
SDA 01.pptx
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdf
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
 
Chapter1
Chapter1Chapter1
Chapter1
 
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)
 
Technical Architecture
Technical ArchitectureTechnical Architecture
Technical Architecture
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?Are You an Accidental or Intentional Architect?
Are You an Accidental or Intentional Architect?
 
OOSAD Chapter 6 Object Oriented Design.pptx
OOSAD Chapter 6 Object Oriented Design.pptxOOSAD Chapter 6 Object Oriented Design.pptx
OOSAD Chapter 6 Object Oriented Design.pptx
 
01 the big_idea
01 the big_idea01 the big_idea
01 the big_idea
 
Unit i software design principles 9
Unit i software design principles 9Unit i software design principles 9
Unit i software design principles 9
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12
 

Mehr von stanbridge

Micro Lab 3 Lecture
Micro Lab 3 LectureMicro Lab 3 Lecture
Micro Lab 3 Lecturestanbridge
 
Creating a poster v2
Creating a poster v2Creating a poster v2
Creating a poster v2stanbridge
 
Creating a poster
Creating a posterCreating a poster
Creating a posterstanbridge
 
OT 5018 Thesis Dissemination
OT 5018 Thesis DisseminationOT 5018 Thesis Dissemination
OT 5018 Thesis Disseminationstanbridge
 
Ot5101 005 week 5
Ot5101 005 week 5Ot5101 005 week 5
Ot5101 005 week 5stanbridge
 
Ot5101 005 week4
Ot5101 005 week4Ot5101 005 week4
Ot5101 005 week4stanbridge
 
Compliance, motivation, and health behaviors
Compliance, motivation, and health behaviors Compliance, motivation, and health behaviors
Compliance, motivation, and health behaviors stanbridge
 
Ch 5 developmental stages of the learner
Ch 5   developmental stages of the learnerCh 5   developmental stages of the learner
Ch 5 developmental stages of the learnerstanbridge
 
OT 5101 week2 theory policy
OT 5101 week2 theory policyOT 5101 week2 theory policy
OT 5101 week2 theory policystanbridge
 
OT 5101 week3 planning needs assessment
OT 5101 week3 planning needs assessmentOT 5101 week3 planning needs assessment
OT 5101 week3 planning needs assessmentstanbridge
 
NUR 304 Chapter005
NUR 304 Chapter005NUR 304 Chapter005
NUR 304 Chapter005stanbridge
 
NUR 3043 Chapter007
NUR 3043 Chapter007NUR 3043 Chapter007
NUR 3043 Chapter007stanbridge
 
NUR 3043 Chapter006
NUR 3043 Chapter006NUR 3043 Chapter006
NUR 3043 Chapter006stanbridge
 
NUR 3043 Chapter004
NUR 3043 Chapter004NUR 3043 Chapter004
NUR 3043 Chapter004stanbridge
 
3043 Chapter009
3043 Chapter0093043 Chapter009
3043 Chapter009stanbridge
 
3043 Chapter008
 3043 Chapter008 3043 Chapter008
3043 Chapter008stanbridge
 
Melnyk ppt chapter_21
Melnyk ppt chapter_21Melnyk ppt chapter_21
Melnyk ppt chapter_21stanbridge
 
Melnyk ppt chapter_22
Melnyk ppt chapter_22Melnyk ppt chapter_22
Melnyk ppt chapter_22stanbridge
 

Mehr von stanbridge (20)

Micro Lab 3 Lecture
Micro Lab 3 LectureMicro Lab 3 Lecture
Micro Lab 3 Lecture
 
Creating a poster v2
Creating a poster v2Creating a poster v2
Creating a poster v2
 
Creating a poster
Creating a posterCreating a poster
Creating a poster
 
Sample poster
Sample posterSample poster
Sample poster
 
OT 5018 Thesis Dissemination
OT 5018 Thesis DisseminationOT 5018 Thesis Dissemination
OT 5018 Thesis Dissemination
 
Ot5101 005 week 5
Ot5101 005 week 5Ot5101 005 week 5
Ot5101 005 week 5
 
Ot5101 005 week4
Ot5101 005 week4Ot5101 005 week4
Ot5101 005 week4
 
Compliance, motivation, and health behaviors
Compliance, motivation, and health behaviors Compliance, motivation, and health behaviors
Compliance, motivation, and health behaviors
 
Ch 5 developmental stages of the learner
Ch 5   developmental stages of the learnerCh 5   developmental stages of the learner
Ch 5 developmental stages of the learner
 
OT 5101 week2 theory policy
OT 5101 week2 theory policyOT 5101 week2 theory policy
OT 5101 week2 theory policy
 
OT 5101 week3 planning needs assessment
OT 5101 week3 planning needs assessmentOT 5101 week3 planning needs assessment
OT 5101 week3 planning needs assessment
 
Ot5101 week1
Ot5101 week1Ot5101 week1
Ot5101 week1
 
NUR 304 Chapter005
NUR 304 Chapter005NUR 304 Chapter005
NUR 304 Chapter005
 
NUR 3043 Chapter007
NUR 3043 Chapter007NUR 3043 Chapter007
NUR 3043 Chapter007
 
NUR 3043 Chapter006
NUR 3043 Chapter006NUR 3043 Chapter006
NUR 3043 Chapter006
 
NUR 3043 Chapter004
NUR 3043 Chapter004NUR 3043 Chapter004
NUR 3043 Chapter004
 
3043 Chapter009
3043 Chapter0093043 Chapter009
3043 Chapter009
 
3043 Chapter008
 3043 Chapter008 3043 Chapter008
3043 Chapter008
 
Melnyk ppt chapter_21
Melnyk ppt chapter_21Melnyk ppt chapter_21
Melnyk ppt chapter_21
 
Melnyk ppt chapter_22
Melnyk ppt chapter_22Melnyk ppt chapter_22
Melnyk ppt chapter_22
 

Kürzlich hochgeladen

Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 

Kürzlich hochgeladen (20)

Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 

Cs 1023 lec 3 architecture (week 1)

  • 1. Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architectures in Context Software Architecture Lecture 2
  • 2. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 2 Fundamental Understanding  Architecture is a set of principal design decisions about a software system  Three fundamental understandings of software architecture Every application has an architecture Every application has at least one architect Architecture is not a phase of development
  • 3. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 3 Wrong View: Architecture as a Phase Treating architecture as a phase denies its foundational role in software development More than “high-level design” Architecture is also represented, e.g., by object code, source code, …
  • 4. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 4 Context of Software Architecture  Requirements  Design  Implementation  Analysis and Testing  Evolution  Development Process
  • 5. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 5 Requirements Analysis  Traditional SE suggests requirements analysis should remain unsullied by any consideration for a design  However, without reference to existing architectures it becomes difficult to assess practicality, schedules, or costs In building architecture we talk about specific rooms… …rather than the abstract concept “means for providing shelter”  In engineering new products come from the observation of existing solution and their limitations
  • 6. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 6 New Perspective on Requirements Analysis  Existing designs and architectures provide the solution vocabulary  Our understanding of what works now, and how it works, affects our wants and perceived needs  The insights from our experiences with existing systems helps us imagine what might work and enables us to assess development time and costs   Requirements analysis and consideration of design must be pursued at the same time
  • 7. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 7 Non-Functional Properties (NFP)  NFPs are the result of architectural choices  NFP questions are raised as the result of architectural choices  Specification of NFP might require an architectural framework to even enable their statement  An architectural framework will be required for assessment of whether the properties are achievable
  • 8. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 8 The Twin Peaks Model
  • 9. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 9 Design and Architecture  Design is an activity that pervades software development  It is an activity that creates part of a system’s architecture  Typically in the traditional Design Phase decisions concern A system’s structure Identification of its primary components Their interconnections  Architecture denotes the set of principal design decisions about a system That is more than just structure
  • 10. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 10 Architecture-Centric Design  Traditional design phase suggests translating the requirements into algorithms, so a programmer can implement them  Architecture-centric design stakeholder issues decision about use of COTS component overarching style and structure package and primary class structure deployment issues post implementation/deployment issues
  • 11. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 11 Design Techniques  Basic conceptual tools Separation of concerns Abstraction Modularity  A widely adapted strategy Object-oriented design
  • 12. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 12 Object-Oriented Design (OOD)  Objects Main abstraction entity in OOD Encapsulations of state with functions for accessing and manipulating that state
  • 13. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 13 Pros and Cons of OOD  Pros UML modeling notation Design patterns  Cons Provides only One level of encapsulation (the object) One notion of interface One type of explicit connector (procedure call)  Even message passing is realized via procedure calls OO programming language might dictate important design decisions
  • 14. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 14 Implementation  The objective is to create machine-executable source code That code should be faithful to the architecture Alternatively, it may adapt the architecture How much adaptation is allowed? Architecturally-relevant vs. -unimportant adaptations It must fully develop all outstanding details of the application
  • 15. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 15 Faithful Implementation  All of the structural elements found in the architecture are implemented in the source code  Source code must not utilize major new computational elements that have no corresponding elements in the architecture  Source code must not contain new connections between architectural elements that are not found in the architecture  Is this realistic? Overly constraining? What if we deviate from this?
  • 16. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 16 Unfaithful Implementation  The implementation does have an architecture It is latent, as opposed to what is documented.  Failure to recognize the distinction between planned and implemented architecture robs one of the ability to reason about the application’s architecture in the future misleads all stakeholders regarding what they believe they have as opposed to what they really have makes any development or evolution strategy that is based on the documented (but inaccurate) architecture doomed to failure
  • 17. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 17 Implementation Strategies  Generative techniques e.g. parser generators  Frameworks collections of source code with identified places where the engineer must “fill in the blanks”  Middleware CORBA, DCOM, RPC, …  Reuse-based techniques COTS, open-source, in-house  Writing all code manually
  • 18. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 18 Analysis and Testing  Analysis and testing are activities undertaken to assess the qualities of an artifact  The earlier an error is detected and corrected the lower the aggregate cost  Rigorous representations are required for analysis, so precise questions can be asked and answered
  • 19. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 19 Analysis of Architectural Models  Formal architectural model can be examined for internal consistency and correctness  An analysis on a formal model can reveal Component mismatch Incomplete specifications Undesired communication patterns Deadlocks Security flaws  It can be used for size and development time estimations
  • 20. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 20 Analysis of Architectural Models (cont’d)  Architectural model may be examined for consistency with requirements may be used in determining analysis and testing strategies for source code may be used to check if an implementation is faithful
  • 21. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 21 Evolution and Maintenance  All activities that chronologically follow the release of an application  Software will evolve Regardless of whether one is using an architecture-centric development process or not  The traditional software engineering approach to maintenance is largely ad hoc Risk of architectural decay and overall quality degradation  Architecture-centric approach Sustained focus on an explicit, substantive, modifiable, faithful architectural model
  • 22. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 22 Architecture-Centric Evolution Process  Motivation  Evaluation or assessment  Design and choice of approach  Action includes preparation for the next round of adaptation
  • 23. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 23 Processes  Traditional software process discussions make the process activities the focal point  In architecture-centric software engineering the product becomes the focal point  No single “right” software process for architecture-centric software engineering exists
  • 24. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 24 Turbine – A New Visualization Model  Goals of the visualization Provide an intuitive sense of  Project activities at any given time  Including concurrency of types of development activities  The “information space” of the project Show centrality of the products  (Hopefully) Growing body of artifacts  Allow for the centrality of architecture  But work equally well for other approaches, including “dysfunctional” ones Effective for indicating time, gaps, duration of activities Investment (cost) indicators
  • 25. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 25 Coding Design Requirements Testing Simplistic Waterfall, Side perspective time The Turbine Model “Core” of project artifacts Radius of rotor indicates level of staffing at time t Gap between rotors indicates no project activity for that ∆t ti Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 26. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 26 Cross-section at time ti Design (activity) Requirements Design doc Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 27. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 27 The Turbine Model Waterfall example, Angled perspective time Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 28. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 28 A Richer Example S1 Design/Build/ Requirements Test/Build/ Deploy Assess/… Requirements/Architecture assessment/Planning Build/Design/ Requirements/Test time Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 29. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 29 A Sample Cross-Section Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 30. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 30 A Cross-Section at Project End Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 31. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 31 Volume Indicates Where Time was Spent Design/Build/ Requirements Test/Build/ Deploy Assess/… Requirements/ Architecture Assessment / Planning Build/Design/ Requirements/Test Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 32. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 32 A Technically Strong Product-Line Project Assessment Parameterization Customization Deployment Capture of new work Other Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 33. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 33 Visualization Summary  It is illustrative, not prescriptive  It is an aid to thinking about what’s going on in a project  Can be automatically generated based on input of monitored project data  Can be extended to illustrate development of the information space (artifacts) The preceding slides have focused primarily on the development activities
  • 34. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 34 Processes Possible in this Model  Traditional, straight-line waterfall  Architecture-centric development  DSSA-based project  Agile development  Dysfunctional process
  • 35. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 35 Summary (1)  A proper view of software architecture affects every aspect of the classical software engineering activities  The requirements activity is a co-equal partner with design activities  The design activity is enriched by techniques that exploit knowledge gained in previous product developments  The implementation activity is centered on creating a faithful implementation of the architecture utilizes a variety of techniques to achieve this in a cost-effective manner
  • 36. Foundations, Theory, and PracticeSoftware ArchitectureSoftware Architecture 36 Summary (2)  Analysis and testing activities can be focused on and guided by the architecture  Evolution activities revolve around the product’s architecture.  An equal focus on process and product results from a proper understanding of the role of software architecture

Hinweis der Redaktion

  1. Rotors are the activities. Core are the artifacts. Time goes upward. Volume of rotor represents cost. Volume of core represents information content. Wide rotor represents lots of investment of (people) resources.
  2. Rotor 1: Reqts 50%; Architecture assessment 30%; Project planning 20%. Rotor 2: Design: 50%; Impl. 25%; Reqts 12.5%; Other 12.5% Rotor 3: Design 15%; Impl. 50%; A&T: 25%; Reqts 5%; Other 5% Rotor 4: Impl. 15%, A&T 50%; Deployment 20%; Other 15% Rotor 5: Analysis of lessons learned: 85%; Other 15% GAP rotor (i.e. some amount of the core sticks out above the top rotor
  3. Rotor 1: Reqts 50%; Architecture assessment 30%; Project planning 20%. Rotor 2: Design: 50%; Impl. 25%; Reqts 12.5%; Other 12.5% Rotor 3: Design 15%; Impl. 50%; A&T: 25%; Reqts 5%; Other 5% Rotor 4: Impl. 15%, A&T 50%; Deployment 20%; Other 15% Rotor 5: Analysis of lessons learned: 85%; Other 15% GAP rotor (i.e. some amount of the core sticks out above the top rotor
  4. Lots of substance coming in. Small volume (cost) in the rotors. Rotor 1: Assessment: 100% Rotor 2: Parameterization: 50% Customization: 50 Rotor 3: Deployment: 50 Capture: 30 Other: 20 Capture is the work to take what was customization here and package it so that it is reusable in future projects.