School of Software Engineering Software Architecture, Spring 2015
1
School of Software Engineering
1
What is Software Architecture and Why It is important Ying Shen - - PowerPoint PPT Presentation
1 1 What is Software Architecture and Why It is important Ying Shen SSE, Tongji University Software Architecture, Spring 2015 School of Software Engineering School of Software Engineering 2 2 Architecting a dog house Can be built by one
School of Software Engineering Software Architecture, Spring 2015
1
School of Software Engineering
1
School of Software Engineering Software Architecture, Spring 2015
2
School of Software Engineering
2
School of Software Engineering Software Architecture, Spring 2015
3
School of Software Engineering
3
School of Software Engineering Software Architecture, Spring 2015
4
School of Software Engineering
4
School of Software Engineering Software Architecture, Spring 2015
5
School of Software Engineering
5
School of Software Engineering Software Architecture, Spring 2015
6
School of Software Engineering
6
School of Software Engineering Software Architecture, Spring 2015
7
School of Software Engineering
7
Defense MIS System Defense Weapon System Telecom Switch CASE Tool National Air Traffic Control System Enterprise IS (Family of IS Applications) Commercial Compiler Business Spreadsheet IS Application Distributed Objects (Order Entry) Small Scientific Simulation Large-Scale Organization/Entity Simulation An average software project:
Embedded Automotive Software IS Application GUI/RDB (Order Entry)
School of Software Engineering Software Architecture, Spring 2015
8
School of Software Engineering
8
School of Software Engineering Software Architecture, Spring 2015
9
School of Software Engineering
9
School of Software Engineering Software Architecture, Spring 2015
10
School of Software Engineering
10
School of Software Engineering Software Architecture, Spring 2015
11
School of Software Engineering
11
School of Software Engineering Software Architecture, Spring 2015
12
School of Software Engineering
12
School of Software Engineering Software Architecture, Spring 2015
13
School of Software Engineering
13
School of Software Engineering Software Architecture, Spring 2015
14
School of Software Engineering
14
School of Software Engineering Software Architecture, Spring 2015
15
School of Software Engineering
15
School of Software Engineering Software Architecture, Spring 2015
16
School of Software Engineering
16
School of Software Engineering Software Architecture, Spring 2015
17
School of Software Engineering
17
School of Software Engineering Software Architecture, Spring 2015
18
School of Software Engineering
18
School of Software Engineering Software Architecture, Spring 2015
19
School of Software Engineering
19
School of Software Engineering Software Architecture, Spring 2015
20
School of Software Engineering
20
School of Software Engineering Software Architecture, Spring 2015
21
School of Software Engineering
21
School of Software Engineering Software Architecture, Spring 2015
22
School of Software Engineering
22
School of Software Engineering Software Architecture, Spring 2015
23
School of Software Engineering
23
What is the primary functional responsibility assigned to each module? What other software elements is a module allowed to use? What other software does it actually use and depend on? What modules are related to other modules by generalization or
School of Software Engineering Software Architecture, Spring 2015
24
School of Software Engineering
24
School of Software Engineering Software Architecture, Spring 2015
25
School of Software Engineering
25
School of Software Engineering Software Architecture, Spring 2015
26
School of Software Engineering
26
School of Software Engineering Software Architecture, Spring 2015
27
School of Software Engineering
27
What are the major executing components and how do they interact at
What are the major shared data stores? Which parts of the system are replicated? How does data progress through the system? What parts of the system can run in parallel? Can the system's structure change as it executes and, if so, how?
School of Software Engineering Software Architecture, Spring 2015
28
School of Software Engineering
28
School of Software Engineering Software Architecture, Spring 2015
29
School of Software Engineering
29
School of Software Engineering Software Architecture, Spring 2015
30
School of Software Engineering
30
School of Software Engineering Software Architecture, Spring 2015
31
School of Software Engineering
31
School of Software Engineering Software Architecture, Spring 2015
32
School of Software Engineering
32
What processor does each software element execute on? In what directories or files is each element stored during development,
What is the assignment of each software element to development
School of Software Engineering Software Architecture, Spring 2015
33
School of Software Engineering
33
Key: Module
School of Software Engineering Software Architecture, Spring 2015
34
School of Software Engineering
34
School of Software Engineering Software Architecture, Spring 2015
35
School of Software Engineering
35
School of Software Engineering Software Architecture, Spring 2015
36
School of Software Engineering
36
School of Software Engineering Software Architecture, Spring 2015
37
School of Software Engineering
37
School of Software Engineering Software Architecture, Spring 2015
38
School of Software Engineering
38
School of Software Engineering Software Architecture, Spring 2015
39
School of Software Engineering
39
All information Some information
School of Software Engineering Software Architecture, Spring 2015
40
School of Software Engineering
40
School of Software Engineering Software Architecture, Spring 2015
41
School of Software Engineering
41
School of Software Engineering Software Architecture, Spring 2015
42
School of Software Engineering
42
School of Software Engineering Software Architecture, Spring 2015
43
School of Software Engineering
43
School of Software Engineering Software Architecture, Spring 2015
44
School of Software Engineering
44
School of Software Engineering Software Architecture, Spring 2015
45
School of Software Engineering
45
School of Software Engineering Software Architecture, Spring 2015
46
School of Software Engineering
46
School of Software Engineering Software Architecture, Spring 2015
47
School of Software Engineering
47
School of Software Engineering Software Architecture, Spring 2015
48
School of Software Engineering
48
School of Software Engineering Software Architecture, Spring 2015
49
School of Software Engineering
49
School of Software Engineering Software Architecture, Spring 2015
50
School of Software Engineering
50
School of Software Engineering Software Architecture, Spring 2015
51
School of Software Engineering
51
School of Software Engineering Software Architecture, Spring 2015
52
School of Software Engineering
52
School of Software Engineering Software Architecture, Spring 2015
53
School of Software Engineering
53
School of Software Engineering Software Architecture, Spring 2015
54
School of Software Engineering
54
School of Software Engineering Software Architecture, Spring 2015
55
School of Software Engineering
55
School of Software Engineering Software Architecture, Spring 2015
56
School of Software Engineering
56
Behavior, performance, security, reliability! Low cost, keeping people employed, leveraging existing corporate assets! Low cost, timely delivery, not changed very often! Modifiability! Neat features, short time to market, low cost, parity with competing products! Ohhhhh... Architect Development
management stakeholder End user stakeholder Maintenance
stakeholder Customer stakeholder Marketing stakeholder
School of Software Engineering Software Architecture, Spring 2015
57
School of Software Engineering
57
School of Software Engineering Software Architecture, Spring 2015
58
School of Software Engineering
58
School of Software Engineering Software Architecture, Spring 2015
59
School of Software Engineering
59
School of Software Engineering Software Architecture, Spring 2015
60
School of Software Engineering
60
School of Software Engineering Software Architecture, Spring 2015
61
School of Software Engineering
61
Architect(s)
School of Software Engineering Software Architecture, Spring 2015
62
School of Software Engineering
62
School of Software Engineering Software Architecture, Spring 2015
63
School of Software Engineering
63
School of Software Engineering Software Architecture, Spring 2015
64
School of Software Engineering
64
School of Software Engineering Software Architecture, Spring 2015
65
School of Software Engineering
65
School of Software Engineering Software Architecture, Spring 2015
66
School of Software Engineering
66
School of Software Engineering Software Architecture, Spring 2015
67
School of Software Engineering
67
School of Software Engineering Software Architecture, Spring 2015
68
School of Software Engineering
68
Architect(s)
School of Software Engineering Software Architecture, Spring 2015
69
School of Software Engineering
69
School of Software Engineering Software Architecture, Spring 2015
70
School of Software Engineering
70
School of Software Engineering Software Architecture, Spring 2015
71
School of Software Engineering
71
School of Software Engineering Software Architecture, Spring 2015
72
School of Software Engineering
72
School of Software Engineering Software Architecture, Spring 2015
73
School of Software Engineering
73
School of Software Engineering Software Architecture, Spring 2015
74
School of Software Engineering
74
School of Software Engineering Software Architecture, Spring 2015
75
School of Software Engineering
75
School of Software Engineering Software Architecture, Spring 2015
76
School of Software Engineering
76
School of Software Engineering Software Architecture, Spring 2015
77
School of Software Engineering
77