Week 2 - Introduction To Software Architectures
Week 2 - Introduction To Software Architectures
CT059-3-2
Introduction to software
architectures
Topic & Structure of the lesson
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 2 (out of 14)
Learning Outcomes
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 3 (out of 14)
Key Terms you must be able to use
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 4 (out of 14)
Why Software Architecture?
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 5 (out of 14)
Architecting a huts
To build
• Need less people
• Basic modeling
• Less technology
• Simple task & tools
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 6 (out of 14)
Architecting a high rise
To build
• Need expert team
• Expensive
• Sophisticated models
• New technologies
• Defined and proven process
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 7 (out of 14)
So what?
• Different project need different resources and skills such as
• People
• Process
• Technology
• Management
• Users
• Money
“MODEL” Or
“ARCHITECTURE”
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 8 (out of 14)
What is Software Architecture?
Some Definitions
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 9 (out of 14)
Few More
http://www.sei.edu/architecture/definitions.html
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 10 (out of 14)
Quick Review Question
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 11 (out of 14)
Alternate thoughts on software
architecture
• Consider human and business issues
– Designed to manage dependencies
– Designed according to human motivations and desires
– System satisfaction
• Architecture represents the set of earliest design decisions
– Hardest to change
– Most critical to get right
• Architecture is the first design artifact where a system’s quality
attributes are addressed
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 12 (out of 14)
Architecture Serves
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 13 (out of 14)
Why Software Architecture
Matters
• Longevity
– System’s life can be improved
• Stability
– To ensure a minimum fundamental rework
– Provide important foundation for development team
• Degree and Nature of change
– Determine the nature of change within the system
– Easy to make change without much rework
• Profitability
– Create architecture that can sustain it with acceptable cost structure
• Social structure
– It influence the developer (no matter what language used)
• Boundaries defined
– Help the client and developer to have mutual understanding
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 14 (out of 14)
Summary of Main Teaching Points
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 13 (of 15)
Question and Answer Session
Q&A
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 14 (of 15)
Next Session
• Creating an architecture
• Patterns and architecture
CT059-3.5-3 Software Architecture Testing Introduction to Software Architectures Slide 15 (of 15)