The Process of Software Architecting

Published on February 2017 | Categories: Documents | Downloads: 25 | Comments: 0 | Views: 166
of 45
Download PDF   Embed   Report

Comments

Content

 

®

IBM Software Group

The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK [email protected]

© 2009 IBM IBM Corporati Corporation on

 

IBM Software Group | Rational software

 Agenda 



Introduction  Architecture, Architect, Arc Architecting hitecting



Method fundamentals



Documenting a software architecture



Reusable architecture assets





 A day in the life Summary

2

 

IBM Software Group | Rational software

Coming Soon!

3

 

IBM Software Group | Rational software

Inspiration 

“If I have seen further it is only by standing on the shoulders of Giants”  

Sir Isaac15Newton, letter to Robert th February Hooke, 1676

www.booch.com/architecture www.handbookofsoftwarearchitecture.com

4

 

IBM Software Group | Rational software

 Agenda 



Introduction  Architecture, Architect, Arc Architecting hitecting



Method fundamentals



Documenting a software architecture



Reusable architecture assets





 A day in the life Summary

5

 

IBM Software Group | Rational software

Core Concepts

6

 

IBM Software Group | Rational software

 Architecture 

 Architecture is the fundamental fundamental organization of a system embodied in its components components,, their relationships to each other, and to the environment  the principles guiding its design and evolution. [IEEE 1471] , and the principles



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 elements, relationships among them. [Bass] 



[Architecture is] the organizati organizational onal structure and associated behavior  of a system. An architecture can be rec recurs ursive ively ly de decom compos ed into intoparts,  parts that interact through interfaces, relationships thatposed  connect and constraints for assembling parts. Parts that interact through interfaces include classes, components and subsystems. [UML 1.5] 

7

 

IBM Software Group | Rational software

 Architecture versus Design

 All architecture is design but bu t not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change. - Gr Grad ady y Bo Booc och h

8

 

IBM Software Group | Rational software

 An architecture has a particular scop scope e

9

 

IBM Software Group | Rational software

The benefits of architecting 

 Architecting helps helps manage complexity



 Architecting ensures ensures archit architectural ectural integ integrity rity



 Architecting provides provides a bas basis is for reuse



 Architecting addresses addresses system qualities



 Architecting drives drives consensu consensus s



 Architecting reduces reduces mainte maintenance nance costs



 Architecting supports supports impa impact ct analysis



 Architecting supports supports the pl planning anning pro process cess

10

 

IBM Software Group | Rational software

 Agenda 



Introduction  Architecture, Architect, Arc Architecting hitecting



Method fundamentals



Documenting a software architecture



Reusable architecture assets





 A day in the life Summary

11

 

IBM Software Group | Rational software

Key Method Concepts

12

 

IBM Software Group | Rational software

 A Waterfall Process

13

 

IBM Software Group | Rational software

 An Iterative Process

14

 

IBM Software Group | Rational software

 Agile 

 Agile Manifesto Individuals

and interactions over processes and tools.

Working

software over comprehensive documentation. Customer collaboration over contract negotiation. Responding



to change over following a plan.

Scrum is a manageme management nt and control process that cuts through complexity to focus on building software to meet business needs. Scrum is superimposed superimpose d on top of and wraps existing engineering practices, development methodologies methodologies and standards. [Schwaber] 

15

 

IBM Software Group | Rational software

 Agenda 



Introduction  Architecture, Architect, Arc Architecting hitecting



Method fundamentals



Documenting a software architecture



Reusable architecture assets





 A day in the life Summary

16

 

IBM Software Group | Rational software

Views, Diagrams and Models

17

 

IBM Software Group | Rational software

Basic Views and Cross-Cutting Views

18

 

IBM Software Group | Rational software

Views, Models and Levels of Realization

19

 

IBM Software Group | Rational software

 Agenda 



Introduction  Architecture, Architect, Arc Architecting hitecting



Method fundamentals



Documenting a software architecture



Reusable architecture assets





 A day in the life Summary

20

 

IBM Software Group | Rational software

 A Metamodel of Architecture Assets

21

 

IBM Software Group | Rational software

 Agenda 



Introduction  Architecture, Architect, Arc Architecting hitecting



Method fundamentals



Documenting a software architecture



Reusable architecture assets





 A day in the life Summary

22

 

IBM Software Group | Rational software

Inputs 

Business Entity Model



Business Process Model



Business Rules



Existing IT Environmen Environmentt



Vision

23

 

IBM Software Group | Rational software

Types of Requirements 

Functional requireme requirements nts Describe

the behaviors (functions or services) services) of th the e [IT] system system that support support

user goals, tasks or activities. [Malan]  

Non-functional requirements Non-functional

requirements include constraints and qualities. [Malan] 

Constraint 

 A constraint is a restriction on the degree degree of freedom we have in providing a solution. [Leffingwell] 

Quality 

[System] qualities are properties or characteristics of the system that its stakeholders care about and hence will affect their degree of satisfaction with the system. [Malan] 

24

 

IBM Software Group | Rational software

Define Requirements

25

 

IBM Software Group | Rational software

Task: Collect Stakeholder Requests 

Pitfall: Treating Requests as Requirements



Pitfall: The Shopping Cart Mentality



Pitfall: The Questions are too Technical



Pitfall: Requests Are Too General



Pitfall: Requests Are Not Measurable



Pitfall: Talking with the Wrong People



Pitfall: All Requests Are Equal

26

 

IBM Software Group | Rational software

Task: Define System Context

27

 

IBM Software Group | Rational software

Task: Outline Functional Requirements

28

 

IBM Software Group | Rational software

Task: Outline Non-Functional Requirements 

Usability Requirement Requirements s



Reliability Requirements



Performance Requirements



Supportability Requirements



Constraints Business

Constraints

 Architecture

Constraints Constraints

Development Physical

Constraints

Constraints

“Brownfield sites are those in which redevelopment or reuse of the site is complicated existing contaminants. contaminants . Greenfield sites areby clean, previously undeveloped land”. [Hopkins]  29

 

IBM Software Group | Rational software

Task: Prioritize Requirements

30

 

IBM Software Group | Rational software

Create Logical Architecture

31

 

IBM Software Group | Rational software

From Requirements to Solution

32

 

IBM Software Group | Rational software

 Approaches 

 Attribute Driven Driven Design (ADD) Method Developed Quality

at the Software Engineering Institute

attributes drive the derivation of the architecture

Underpinned 

by architectural tactics and patterns

Siemens’ Siem ens’ 4 Vi Views ews ((S4V S4V)) me method thod Developed

at Siemens Corporate Research Starts with a global analysis of the t he factors that influence the architecture Iteratively

addresses challenges across four views (conceptual, execution, module and code architecture)



The Rational Unified Process (RUP) Developed Driven

at Rational Software (now IBM Rational)

by architecturally-significant requirements

Each

iteration considers the key architectural elements of the solution, before realizing the requirements using these solution elements 33

 

IBM Software Group | Rational software

How Much Logical Architecture? 

Minimizing Logical Architecture The

logical architecture is simply a means of getting to a physical architecture

as quickly as possible al l In some cases, no logical architecture may be required at all 





E.g. The requirements for the system are similar to those t hose of an existing system E.g. We are using a packaged application or integrating i ntegrating with an existing system

Logical Architecture as an Investment  A

valuable asset if a technology technology change is anticipated anticipated at some point in the future

34

 

IBM Software Group | Rational software

Task: Define Architecture Overview

35

 

IBM Software Group | Rational software

Task: Outline Functional Elements 

Component identification Business 

Entity Model

Clustering of related entities

Functional 

requirements

Boundary, control and entity components

Non-functional

requirements



Constraints



Components that address specific technical challenges (e.g. security)

Business 

rules

Business rules component(s)

 Architecture 

decisions decisions

Use of particular assets (e.g. packages, patterns)

36

 

IBM Software Group | Rational software

Task: Outline Functional Elements

37

 

IBM Software Group | Rational software

Task: Outline Functional Elements

38

 

IBM Software Group | Rational software

 Assigning NFRs to Components

39

 

IBM Software Group | Rational software

Task: Outline Deployment Elements

40

 

IBM Software Group | Rational software

Task: Outline Deployment Elements

41

 

IBM Software Group | Rational software

Task: Outline Deployment Elements

42

 

IBM Software Group | Rational software

Summary 

The process of architecting … Spans

software engineering disciplines

 Applies Draws Is

across the project lifecycle across

upon proven experience (practices, standards and other assets)

built upon solid engineering principles

43

 

IBM Software Group | Rational software

44

 

IBM Software Group | Rational software

45

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