software architecting and rup
DESCRIPTION
Software Architecting and RUPTRANSCRIPT
-
IBM Software Group
IBM Software Group
Software Architecting and RUP
Peter [email protected]
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Agenda Introduction
Architecture, Architect, Architecting
Process precedents
Rational Unified Process
GS-Method
RUP and Architecting
Requirements
Analysis and design
Implementation
Test
Project management
Configuration and change management
Environment
Summary
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecture, Architect, Architecting
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecture
Architecture is the fundamental organization of a system embodied in
its components, their relationships to each other, and to the
environment, and the principles guiding its design and evolution.
[IEEE 1471]
The software architecture of a program or computing system is the
structure or structures of the system, which comprise software
elements, the externally visible properties of those elements, and the
relationships among them. [Bass]
[Architecture is] the organizational structure and associated behavior
of a system. An architecture can be recursively decomposed into
parts that interact through interfaces, relationships that connect parts,
and constraints for assembling parts. Parts that interact through
interfaces include classes, components and subsystems. [UML 1.5]
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
An architecture defines structure
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
An architecture defines behaviour
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
An architecture is concerned with significant elements
The element relates to some critical functionality of the
system
E.g. monetary transactions
The element relates to some critical property of the system
E.g. reliability
The element relates to a particular architectural challenge
E.g. external system integration
The element is associated with a particular technical risk
The element relates to a capability that is considered to be
unstable
The element relates to some key element of the solution
E.g. login mechanism
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
An architecture meets stakeholder needs The end user is concerned with intuitive and correct behavior,
performance, reliability, usability, availability and security
The system administrator is concerned with intuitive behavior,
administration and tools to aid monitoring
The marketer is concerned with competitive features, time to market,
positioning with other products, and cost
The customer is concerned with cost, stability and schedule
The developer is concerned with clear requirements, and a simple and
consistent design approach
The project manager is concerned with predictability in the tracking of the
project, schedule, productive use of resources and cost
The maintainer is concerned with a comprehensible, consistent and
documented design approach, and the ease with which modifications can
be made
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
An architecture comes in many forms
Enterprise Architecture
System Architecture
Software
Architecture
Application
Architecture
Technical
Architecture
Hardware
Architecture
Organizational
Architecture
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
And
An architecture is part of a broader system
An architecture embodies decisions based on rationale
An architecture conforms to an architectural style
An architecture is influenced by its environment
An architecture influences organizational structure
An architecture is present in every system
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architect
The architect is a technical leader
The architect understands the software development process
The architect has knowledge of the business domain
The architect has technology knowledge
The architect has design skills
The architect has programming skills
The architect is a good communicator
The architect makes decisions
The architect is a mentor
The architect is aware of organizational politics
The architect is a negotiator
The architect role may be fulfilled by a team
The life of a software
architect is a long and
rapid succession of
suboptimal design
decisions taken partly in
the dark. [Kruchten]
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecting
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecting
Architecting is a science
Architecting is an art
Architecting spans many disciplines
Architecting involves many stakeholders
Architecting is involved in tradeoffs
Architecting considers reusable assets
Architecting is both top-down and bottom-up
Architecting changes emphasis over time
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
The benefits of architecting
Architecting addresses system qualities
Architecting drives consensus
Architecting ensures architectural integrity
Architecting helps manage complexity
Architecting provides a basis for reuse
Architecting reduces maintenance costs
Architecting supports impact analysis
Architecting supports the planning process
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Documenting a software architecture
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecture description Kruchten 4+1 views
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecture description GS-Method
Component modeling
Operational modeling
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecture description Siemens
Conceptual
View
Module
View
Execution
View
Code
View
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecture description RM-ODP
Enterprise
Viewpoint
Information
Viewpoint
Computational
ViewpointEngineering
Viewpoint
Technical
Viewpoint
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architecture description Zachman framework
Data Function NetworkPerspectives
Abstractions
ScopePlanner
contextual
Enterprise ModelOwner
conceptual
System ModelDesigner
logical
People Time Motivation
Technology
Constrained ModelBuilder
physical
Detailed
RepresentationsSubcontractor
out-of-context
Functioning
Enterprise
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Agenda Introduction
Architecture, Architect, Architecting
Process precedents
Rational Unified Process
GS-Method
RUP and Architecting
Requirements
Analysis and design
Implementation
Test
Project management
Configuration and change management
Environment
Summary
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Process precedents
Rational Unified Process
A commercially-available offering (a product)
GS-Method
Used by IGS consultants
Much commonality
Deployed as web sites
Fundamental concepts align as defined by the OMGs Software
Process Engineering Metamodel (SPEM)
Engagement models / configurations for different classes of system
Custom development, packaged applications, EAI
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Agenda Introduction
Architecture, Architect, Architecting
Process precedents
Rational Unified Process
GS-Method
RUP and Architecting
Requirements
Analysis and design
Implementation
Test
Project management
Configuration and change management
Environment
Summary
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Top Ten Architectural Concerns
1. When is the architect first involved in a project?
2. What is the relationship of the architect to other project
roles?
3. What is the architect's role with respect to requirements?
4. What is the scope of an architecture?
5. How is an architecture described?
6. When and how does the architect come up with a first-cut
architecture?
7. How does the architect refine the architecture?
8. How and when does the architect consider reuse?
9. How does the architect enforce architecture integrity?
10.How does the architect know that the architecture is
stable?
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
RUP Key Concepts: Disciplines
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
RUP Key Concepts: Overview
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
RUP Key Concepts: Iterations
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
UML Models
Model
A model is a complete description of a system from a particular
perspective [RUP]
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
RUP Disciplines
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Discipline: Requirements
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Workflow Detail: Manage the Scope of the System
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Use-Case Model
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Use Cases Prioritised
1. Create Auction
2. Place Bid
3. Close Auction
4. Browse Auction Catalog
5. Create Account
6. Sign In
7. Manage Account
8. Sign Out
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Requirements: Architectural Concerns Addressed
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
RUP Disciplines
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Discipline: Analysis and Design
AnalysisAnalysisAnalysis
DesignDesignDesign
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Workflow Detail: Perform Architectural Synthesis
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Workflow Detail: Define a Candidate Architecture
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architectural Analysis Key Abstractions
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architectural Analysis Analysis Mechanisms
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Architectural Analysis Layers
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Analysis: Architectural Concerns Addressed
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Workflow Detail: Refine the Architecture
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Identify Design Mechanisms
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Identify Design Elements
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Identify Design Elements
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Describe Run-Time Architecture
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Describe Distribution
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Design: Architectural Concerns Addressed
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
RUP Disciplines
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Discipline: Implementation
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Workflow Detail: Structure the Implementation Model
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Structure the Implementation Model
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Implementation: Architectural Concerns Addressed
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
RUP Disciplines
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Discipline: Environment
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Workflow Detail: Prepare Guidelines for an Iteration
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Environment: Architectural Concerns Addressed
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
RUP Disciplines
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Discipline: Test
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Discipline: Deployment
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Discipline: Configuration and Change Management
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Discipline: Project Management
-
IBM Software Group | Rational softwareIBM Software Group | Rational software
Summary
Architectural concerns are addressed by activities from all
disciplines
Architectural concerns are addressed throughout the project
lifecycle
The architects involvement starts early in the process, during Inception
Most of the hard core architecting occurs during Elaboration
The architects role extends through Construction and Transition
-
IBM Software Group | Rational softwareIBM Software Group | Rational software