2. Software Architectures
Agenda
Need of Software architecture
Definition
Why is Software Architecture Important?
Questions
References
Vishwas
3. Software Architectures
Need of Architecture
Modern software development characteristics
Complex
Large
Recurring Changes
Role of business and organization in design of system
Organizations requirements and/or assumed
requirements
Extremely Safety Requirements
Standardization across organizations
Vishwas
4. Software Architectures
Definition
The software architecture of a program or computing
system is structure or structures of the system, which
comprises of software elements, the externally visible
properties of these elements, and the relationships
among them.
Vishwas
5. Software Architectures
Why is Software Architecture Important?
Architecture is vehicle for stakeholder communication
Architecture manifests early design decision
The Architecture Defines Constraints on Implementation
An Architecture dictates Organizational Structure
The Architecture Inhibits or Enables System’s Quality
Attributes
Predicting System Qualities By Studying The Architecture
The Architecture Makes It Easier to Reason about and
Manage Change
The architecture Enables More Accurate Cost and Schedule
Estimates
Vishwas
6. Software Architectures
Why is Software Architecture Important?
Architecture as a transferable, re-usable model
Software Product Lines Share a Common Architecture
Systems Can Be Built Using Large, externally Developed
Elements
Less is more: It Pays to restrict The Vocabulary of Design
Alternatives
An Architecture Permits Template-Based Development
An architecture Can Be the Basis For Training
Vishwas
7. Activities
Select business case
Understand the requirements
Select or create architecture
Document and communicate the architecture
Evaluate the architecture
Implementing the architecture
Vishwas