Software Architecting and RUP

Published on February 2017 | Categories: Documents | Downloads: 24 | Comments: 0 | Views: 142
of 65
Download PDF   Embed   Report

Comments

Content

®

IBM Software Group

Software Architecting and RUP
Peter Eeles
[email protected]

IBM 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 software

Architecture, Architect, Architecting

IBM 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 software

An architecture defines structure

IBM Software Group | Rational software

An architecture defines behaviour

IBM 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 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 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 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 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 life of a software
architect is a long and
 The architect has programming skills
rapid succession of
 The architect is a good communicator
suboptimal design
decisions taken partly in
 The architect makes decisions
the dark.” [Kruchten]
 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

IBM Software Group | Rational software

Architecting

IBM 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 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 software

Documenting a software architecture

IBM Software Group | Rational software

Architecture description – Kruchten 4+1 views

IBM Software Group | Rational software

Architecture description – GS-Method
 Component modeling
 Operational modeling

IBM Software Group | Rational software

Architecture description – Siemens

Conceptual
View

Module
View

Code
View

Execution
View

IBM Software Group | Rational software

Architecture description – RM-ODP

Information
Viewpoint
Enterprise
Viewpoint

Computational
Viewpoint

Engineering
Viewpoint
Technical
Viewpoint

IBM Software Group | Rational software

Architecture description – Zachman framework
Abstractions
Perspectives

Scope
Planner
contextual

Enterprise Model
Owner
conceptual

System Model
Designer
logical

Technology
Constrained Model
Builder
physical

Detailed
Representations
Subcontractor
out-of-context

Functioning
Enterprise

Data

Function

Network

People

Time

Motivation

IBM 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 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 OMG’s Software
Process Engineering Metamodel (SPEM)
Engagement models / configurations for different classes of system
• Custom development, packaged applications, EAI

IBM 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 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 software

RUP Key Concepts: Disciplines

IBM Software Group | Rational software

RUP Key Concepts: Overview

IBM Software Group | Rational software

RUP Key Concepts: Iterations

IBM 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 software

RUP Disciplines

IBM Software Group | Rational software

Discipline: Requirements

IBM Software Group | Rational software

Workflow Detail: Manage the Scope of the System

IBM Software Group | Rational software

Use-Case Model

IBM Software Group | Rational software

Use Cases – Prioritised
1.
2.
3.
4.
5.
6.
7.
8.

Create Auction
Place Bid
Close Auction
Browse Auction Catalog
Create Account
Sign In
Manage Account
Sign Out

IBM Software Group | Rational software

Requirements: Architectural Concerns Addressed

IBM Software Group | Rational software

RUP Disciplines

IBM Software Group | Rational software

Discipline: Analysis and Design

Analysis

Design

IBM Software Group | Rational software

Workflow Detail: Perform Architectural Synthesis

IBM Software Group | Rational software

Workflow Detail: Define a Candidate Architecture

IBM Software Group | Rational software

Architectural Analysis – Key Abstractions

IBM Software Group | Rational software

Architectural Analysis – Analysis Mechanisms

IBM Software Group | Rational software

Architectural Analysis – Layers

IBM Software Group | Rational software

Analysis: Architectural Concerns Addressed

IBM Software Group | Rational software

Workflow Detail: Refine the Architecture

IBM Software Group | Rational software

Identify Design Mechanisms

IBM Software Group | Rational software

Identify Design Elements

IBM Software Group | Rational software

Identify Design Elements

IBM Software Group | Rational software

Describe Run-Time Architecture

IBM Software Group | Rational software

Describe Distribution

IBM Software Group | Rational software

Design: Architectural Concerns Addressed

IBM Software Group | Rational software

RUP Disciplines

IBM Software Group | Rational software

Discipline: Implementation

IBM Software Group | Rational software

Workflow Detail: Structure the Implementation Model

IBM Software Group | Rational software

Structure the Implementation Model

IBM Software Group | Rational software

Implementation: Architectural Concerns Addressed

IBM Software Group | Rational software

RUP Disciplines

IBM Software Group | Rational software

Discipline: Environment

IBM Software Group | Rational software

Workflow Detail: Prepare Guidelines for an Iteration

IBM Software Group | Rational software

Environment: Architectural Concerns Addressed

IBM Software Group | Rational software

RUP Disciplines

IBM Software Group | Rational software

Discipline: Test

IBM Software Group | Rational software

Discipline: Deployment

IBM Software Group | Rational software

Discipline: Configuration and Change Management

IBM Software Group | Rational software

Discipline: Project Management

IBM Software Group | Rational software

Summary
 Architectural concerns are addressed by activities from all
disciplines
 Architectural concerns are addressed throughout the project
lifecycle
The architect’s involvement starts early in the process, during Inception
Most of the “hard core” architecting occurs during Elaboration
The architect’s role extends through Construction and Transition

IBM Software Group | Rational software

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close