Software Architecture - PowerPoint PPT Presentation

1 / 73
About This Presentation
Title:

Software Architecture

Description:

Title: PowerPoint Presentation Last modified by: Created Date: 1/1/1601 12:00:00 AM Document presentation format: Other titles – PowerPoint PPT presentation

Number of Views:343
Avg rating:3.0/5.0
Slides: 74
Provided by: moonNjuE
Category:

less

Transcript and Presenter's Notes

Title: Software Architecture


1
Software Architecture
2
??
  • ??
  • ??????
  • ??
  • ??
  • ??
  • ???????????
  • ??????
  • ?????
  • (????????????)

3
No silver bullet Frederick P. Brooks, Jr.
4
There Is Nothing New Under the SUN.
Ecclesiastes 19-14
5
??
  • Architecture???????
  • ( Design Pattern????????)
  • ??Grady Booch???PPT

6
Architecting a dog house
Can be built by one person Requires Minimal
modeling Simple process Simple tools
7
Architecting a house
Built most efficiently and timely by a
team Requires Modeling Well-defined
process Power tools
8
Modeling a house
9
Architecting a high rise
10
Early architecture
Progress - Limited knowledge of theory
11
Modern architecture
Progress - Advances in materials - Advances
in analysis
Scale - 5 times the span of the Pantheon - 3
times the height of Cheops
12
Forces in civil architecture
Kinds of loads - Dead loads - Live loads -
Dynamic loads
Avoiding failure - Safety factors -
Redundancy - Equilibrium
Any time you depart from established practice,
make ten times the effort, ten times the
investigation. Especially on a very large
project. - LeMessuier
13
Dimensions of software complexity
Walker Royce
Higher technical complexity - Embedded,
real-time, distributed, fault-tolerant - Custom,
unprecedented, architecture reengineering - High
performance
Higher management complexity - Large scale -
Contractual - Many stake holders - Projects
Lower management complexity - Small scale -
Informal - Single stakeholder - Products
Lower technical complexity - Mostly 4GL, or
component-based - Application reengineering -
Interactive performance
14
Forces in Software
Functionality
Cost
Compatibility
The challenge over the next 20 years will not be
speed or cost or performance it will be a
question of complexity. Bill Raduchel, Chief
Strategy Officer, Sun Microsystems
Our enemy is complexity, and its our goal to
kill it. Jan Baan
15
The domain of architecting
Wojtek Kozaczynski
The why
The what
System Features
Architecture Qualities
Satisfies
Architecture
S/W Requirements
Constrain
Architecture Representation
System Quality Attributes
Technology
Produces
Defines
The how
The who
Follows
Architect
Process
Skills
Defines role
Organization
Stakeholders
16
?????????
  • 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.
  • -- Software Architecture in Practice

17
????
  • SA??????
  • SA?rationale, constrains
  • ??,??
  • ????,????,????
  • ?????????????
  • ?

18
??????
  • ???????????
  • 60??? ????
  • 90???
  • 90????
  • 2000??

19
????????
  • ??????
  • ??????????
  • ??????
  • ?????,?????,??/??,??????,????,???? ??
  • (?????????)
  • ?????????????

20
????????????
  • ????
  • ???
  • ?????
  • ???
  • ????
  • ???????????,????

21
????????????
  • ????
  • ??????(??,??)
  • ???????????????
  • ??????
  • ????,????,????,????

22
????????
  • ??????????????????????????????????
  • ??????????????
  • Performance, Security, Availability,
    Functionality, Usability
  • ???????
  • Modifiability, Portability, Reusability,
    Testability

23
???????????????
  • ???????
  • ??????conformance
  • ?????
  • ??????(??7080)
  • ????????????
  • ????????
  • ???????

24
????
25
??????,??????
  • ?????

26
??????????
  • ??????
  • 41????
  • ???????? (ADLs)

27
??????
  • ????????,????????,?????????????
  • ?????,??
  • ????(??????)
  • ??????,?????(??,??)
  • ????,????,?????
  • ???(Hierarchical Decomposition),???

28
(No Transcript)
29
(No Transcript)
30
41????
(Development View)
Scenarios
(Physical View)
31
????(Logical View)
  • ???????????
  • ??(?),
  • ??(??,??,????)
  • ????????

32
(No Transcript)
33
????(Process View)
  • ?? ?? ?????????
  • ???????????????????????????????

34
(??????)
35
????(Implementation View)
  • ???????????,????
  • ?????????????????????????????????

36
(No Transcript)
37
????(Deployment View)
  • ??????(Physical View)
  • ?????????
  • ??????????????????????

38
(No Transcript)
39
????(Use Case View)
  • ??????????????(1)
  • ?????
  • ???????,??????????????????????
  • ?????????,???????????
  • ???????????

40
(No Transcript)
41
??????????
  • Software Architecture in Practice ?????
  • Module
  • Decomposition, Uses/Layered, Class/generalization
  • Component-and-Connector
  • Processes, Concurrency, Shared data,
    Client-Server
  • Allocation
  • Deployment, Implementation, Work assignment

42
?????
  • ?????????????
  • ?????????
  • ???? ???? ????
  • ???? ???? ????
  • ???

43
????????
  • ?????,?????????????,????(?)???????????
  • ????ADL?????CC??????
  • ??ACME
  • Component, Connector, Port, Role, System,
    Representation, Rep-Map

44
(No Transcript)
45
(No Transcript)
46
(No Transcript)
47
????????
  • ???????????
  • ????????
  • ????
  • ??
  • ??????
  • ????

48
??????????(Booch)
  • ???? (????,???)
  • ????????????
  • ??????
  • ?????,?,????
  • ????????
  • ????????
  • ?????????
  • ??????
  • ????

???
????
????
????
????
49
?????????????
  • ?????????????????????
  • ?????????????????????????
  • ?????????????,???????
  • Clements??????????????(Quality Attribute
    Scenarios)????

50
??????
51
???
52
????????
53
???? ??????
54
????? Undo
55
????
  • ??
  • ????
  • ????

56
??????
  • ???????????????,?????????????Forces?????????
  • ????????
  • ????? ???
  • ????????????
  • ???????????

57
??,??,??
58
?????
  • ???(fault)??? ?? ??????
  • ??

59
??????
60
????
  • Software Architecture in Practice
    ?????????????????????????????

61
??
  • ????????????(????)???(???????)?????
  • ?????,?????

62
What is a Design Pattern?
  • Christopher Alexander
  • "Each pattern describes a problem which occurs
    over and over again in our environment, and then
    describes the core of the solution to that
    problem, in such a way that you can use this
    solution a million times over, without ever doing
    it the same way twice"Ā 
  • ?????????????

63
??
  • ?????
  • Eric Gamma, John Vlissides, Richard Helm, Ralph
    Johnson, Design Patterns Elements of ,
    Addison-Wesley 1995. (GoF patterns)
  • Frank Buschmann, Regine Meunier, Hans Rohnert,
    Peter Sornmerlad, Michael Stal, Pattern Oriented
    Software Architecture VOL1 A System of Patterns.
    VOL2 Patterns for Concurrent and Networked
    Objects Wiley

64
????
  • Gang of Four???
  • Creational, Structural, Behavioral
  • POSA
  • Architectural pattern, Design pattern, Idioms

65
????
  • ???

66
?????
  • ?????????????
  • McIlroy 1969??????????????????
  • 35???,????????????,???????
  • ???????????????
  • ?????????????????

67
?????
  • ???????????????
  • ?????? T
  • IBM?Thinkpad????? X T
  • ???????????????????
  • ?????
  • A software product line (SPL) is a set of
    software-intensive systems that share a common,
    managed set of features satisfying the specific
    needs of a particular market segment or mission
    and that are developed from a common set of core
    assets in a prescribed way.

68
?????
  • ?????????
  • ??
  • ????
  • ??(?????)
  • ?????(??????,?????)
  • ??
  • ??,??
  • ??,??,??
  • ????
  • ??(????)
  • ??

69
?????
  • ??(Scoping)
  • ???????????
  • ?????
  • ??????
  • ?????????????
  • ???????????
  • ???? (?)??? ???
  • ????????????

70
????????
  • ??????
  • ???????
  • ????????

71
??
  • ??????
  • ???????????????????
  • ???????,???????
  • ????????????
  • ???????????
  • Scientific reasoning is nothing but the result
    of starting from ordinary observations and
    continuing with simple deductions -- only very
    patiently and stubbornly

72
????
  • Mary Shaw, David Garlan. Software Architecture
    Perspectives on an Emerging Discipline
  • LenĀ Bass, PaulĀ Clements, RickĀ Kazmand. Software
    Architecture in Practice, Second Edition
  • Philippe Kruchten, The 41 View Model of
    Architecture, IEEE Software, 12 (6), November
    1995, IEEE.
  • Martin Fowler, David Rice, Matthew Foemmel,
    Edward Hieatt, Robert Mee, Randy Stafford,
    Patterns of Enterprise Application Architecture

73
??! QA
Write a Comment
User Comments (0)
About PowerShow.com