School of Software Engineering Software Architecture, Spring 2014
1
Software Architecture, Spring 2014 School of Software Engineering
1
What is Software Architecture and Why It is important March 2014 - - PowerPoint PPT Presentation
1 1 What is Software Architecture and Why It is important March 2014 Ying Shen SSE, Tongji University Software Architecture, Spring 2014 Software Architecture, Spring 2014 School of Software Engineering School of Software Engineering 2 2
School of Software Engineering Software Architecture, Spring 2014
1
Software Architecture, Spring 2014 School of Software Engineering
1
School of Software Engineering Software Architecture, Spring 2014
2
School of Software Engineering Software Architecture, Spring 2014
2
School of Software Engineering Software Architecture, Spring 2014
3
School of Software Engineering Software Architecture, Spring 2014
3
School of Software Engineering Software Architecture, Spring 2014
4
School of Software Engineering Software Architecture, Spring 2014
4
School of Software Engineering Software Architecture, Spring 2014
5
School of Software Engineering Software Architecture, Spring 2014
5
School of Software Engineering Software Architecture, Spring 2014
6
School of Software Engineering Software Architecture, Spring 2014
6
School of Software Engineering Software Architecture, Spring 2014
7
School of Software Engineering Software Architecture, Spring 2014
7
School of Software Engineering Software Architecture, Spring 2014
8
School of Software Engineering Software Architecture, Spring 2014
8
School of Software Engineering Software Architecture, Spring 2014
9
School of Software Engineering Software Architecture, Spring 2014
9
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 2014
10
School of Software Engineering Software Architecture, Spring 2014
10
School of Software Engineering Software Architecture, Spring 2014
11
School of Software Engineering Software Architecture, Spring 2014
11
School of Software Engineering Software Architecture, Spring 2014
12
School of Software Engineering Software Architecture, Spring 2014
12
School of Software Engineering Software Architecture, Spring 2014
13
School of Software Engineering Software Architecture, Spring 2014
13
School of Software Engineering Software Architecture, Spring 2014
14
School of Software Engineering Software Architecture, Spring 2014
14
School of Software Engineering Software Architecture, Spring 2014
15
School of Software Engineering Software Architecture, Spring 2014
15
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 2014
16
School of Software Engineering Software Architecture, Spring 2014
16
School of Software Engineering Software Architecture, Spring 2014
17
School of Software Engineering Software Architecture, Spring 2014
17
School of Software Engineering Software Architecture, Spring 2014
18
School of Software Engineering Software Architecture, Spring 2014
18
School of Software Engineering Software Architecture, Spring 2014
19
School of Software Engineering Software Architecture, Spring 2014
19
School of Software Engineering Software Architecture, Spring 2014
20
School of Software Engineering Software Architecture, Spring 2014
20
Architect(s)
School of Software Engineering Software Architecture, Spring 2014
21
School of Software Engineering Software Architecture, Spring 2014
21
School of Software Engineering Software Architecture, Spring 2014
22
School of Software Engineering Software Architecture, Spring 2014
22
School of Software Engineering Software Architecture, Spring 2014
23
School of Software Engineering Software Architecture, Spring 2014
23
School of Software Engineering Software Architecture, Spring 2014
24
School of Software Engineering Software Architecture, Spring 2014
24
School of Software Engineering Software Architecture, Spring 2014
25
School of Software Engineering Software Architecture, Spring 2014
25
School of Software Engineering Software Architecture, Spring 2014
26
School of Software Engineering Software Architecture, Spring 2014
26
School of Software Engineering Software Architecture, Spring 2014
27
School of Software Engineering Software Architecture, Spring 2014
27
Architect(s)
School of Software Engineering Software Architecture, Spring 2014
28
School of Software Engineering Software Architecture, Spring 2014
28
School of Software Engineering Software Architecture, Spring 2014
29
School of Software Engineering Software Architecture, Spring 2014
29
School of Software Engineering Software Architecture, Spring 2014
30
School of Software Engineering Software Architecture, Spring 2014
30
School of Software Engineering Software Architecture, Spring 2014
31
School of Software Engineering Software Architecture, Spring 2014
31
School of Software Engineering Software Architecture, Spring 2014
32
School of Software Engineering Software Architecture, Spring 2014
32
Reference: Lam et al., Secure Mobile Code Execution Service, in Proc. LISA, 2006
School of Software Engineering Software Architecture, Spring 2014
33
School of Software Engineering Software Architecture, Spring 2014
33
School of Software Engineering Software Architecture, Spring 2014
34
School of Software Engineering Software Architecture, Spring 2014
34
School of Software Engineering Software Architecture, Spring 2014
35
School of Software Engineering Software Architecture, Spring 2014
35
School of Software Engineering Software Architecture, Spring 2014
36
School of Software Engineering Software Architecture, Spring 2014
36
School of Software Engineering Software Architecture, Spring 2014
37
School of Software Engineering Software Architecture, Spring 2014
37
School of Software Engineering Software Architecture, Spring 2014
38
School of Software Engineering Software Architecture, Spring 2014
38
School of Software Engineering Software Architecture, Spring 2014
39
School of Software Engineering Software Architecture, Spring 2014
39
School of Software Engineering Software Architecture, Spring 2014
40
School of Software Engineering Software Architecture, Spring 2014
40
School of Software Engineering Software Architecture, Spring 2014
41
School of Software Engineering Software Architecture, Spring 2014
41
School of Software Engineering Software Architecture, Spring 2014
42
School of Software Engineering Software Architecture, Spring 2014
42
School of Software Engineering Software Architecture, Spring 2014
43
School of Software Engineering Software Architecture, Spring 2014
43
School of Software Engineering Software Architecture, Spring 2014
44
School of Software Engineering Software Architecture, Spring 2014
44
School of Software Engineering Software Architecture, Spring 2014
45
School of Software Engineering Software Architecture, Spring 2014
45
School of Software Engineering Software Architecture, Spring 2014
46
School of Software Engineering Software Architecture, Spring 2014
46
School of Software Engineering Software Architecture, Spring 2014
47
School of Software Engineering Software Architecture, Spring 2014
47
School of Software Engineering Software Architecture, Spring 2014
48
School of Software Engineering Software Architecture, Spring 2014
48
School of Software Engineering Software Architecture, Spring 2014
49
School of Software Engineering Software Architecture, Spring 2014
49
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 2014
50
School of Software Engineering Software Architecture, Spring 2014
50
School of Software Engineering Software Architecture, Spring 2014
51
School of Software Engineering Software Architecture, Spring 2014
51
School of Software Engineering Software Architecture, Spring 2014
52
School of Software Engineering Software Architecture, Spring 2014
52
School of Software Engineering Software Architecture, Spring 2014
53
School of Software Engineering Software Architecture, Spring 2014
53
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 2014
54
School of Software Engineering Software Architecture, Spring 2014
54
School of Software Engineering Software Architecture, Spring 2014
55
School of Software Engineering Software Architecture, Spring 2014
55
School of Software Engineering Software Architecture, Spring 2014
56
School of Software Engineering Software Architecture, Spring 2014
56
School of Software Engineering Software Architecture, Spring 2014
57
School of Software Engineering Software Architecture, Spring 2014
57
School of Software Engineering Software Architecture, Spring 2014
58
School of Software Engineering Software Architecture, Spring 2014
58
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 2014
59
School of Software Engineering Software Architecture, Spring 2014
59
School of Software Engineering Software Architecture, Spring 2014
60
School of Software Engineering Software Architecture, Spring 2014
60
School of Software Engineering Software Architecture, Spring 2014
61
School of Software Engineering Software Architecture, Spring 2014
61
School of Software Engineering Software Architecture, Spring 2014
62
School of Software Engineering Software Architecture, Spring 2014
62
School of Software Engineering Software Architecture, Spring 2014
63
School of Software Engineering Software Architecture, Spring 2014
63
School of Software Engineering Software Architecture, Spring 2014
64
School of Software Engineering Software Architecture, Spring 2014
64
All information Some information
School of Software Engineering Software Architecture, Spring 2014
65
School of Software Engineering Software Architecture, Spring 2014
65
School of Software Engineering Software Architecture, Spring 2014
66
School of Software Engineering Software Architecture, Spring 2014
66
School of Software Engineering Software Architecture, Spring 2014
67
School of Software Engineering Software Architecture, Spring 2014
67
School of Software Engineering Software Architecture, Spring 2014
68
School of Software Engineering Software Architecture, Spring 2014
68
School of Software Engineering Software Architecture, Spring 2014
69
School of Software Engineering Software Architecture, Spring 2014
69
School of Software Engineering Software Architecture, Spring 2014
70
School of Software Engineering Software Architecture, Spring 2014
70
School of Software Engineering Software Architecture, Spring 2014
71
School of Software Engineering Software Architecture, Spring 2014
71
School of Software Engineering Software Architecture, Spring 2014
72
School of Software Engineering Software Architecture, Spring 2014
72
School of Software Engineering Software Architecture, Spring 2014
73
School of Software Engineering Software Architecture, Spring 2014
73
School of Software Engineering Software Architecture, Spring 2014
74
School of Software Engineering Software Architecture, Spring 2014
74
School of Software Engineering Software Architecture, Spring 2014
75
School of Software Engineering Software Architecture, Spring 2014
75
School of Software Engineering Software Architecture, Spring 2014
76
School of Software Engineering Software Architecture, Spring 2014
76
School of Software Engineering Software Architecture, Spring 2014
77
School of Software Engineering Software Architecture, Spring 2014
77
School of Software Engineering Software Architecture, Spring 2014
78
School of Software Engineering Software Architecture, Spring 2014
78
School of Software Engineering Software Architecture, Spring 2014
79
School of Software Engineering Software Architecture, Spring 2014
79
School of Software Engineering Software Architecture, Spring 2014
80
School of Software Engineering Software Architecture, Spring 2014
80
School of Software Engineering Software Architecture, Spring 2014
81
School of Software Engineering Software Architecture, Spring 2014
81
School of Software Engineering Software Architecture, Spring 2014
82
School of Software Engineering Software Architecture, Spring 2014
82
School of Software Engineering Software Architecture, Spring 2014
83
School of Software Engineering Software Architecture, Spring 2014
83
School of Software Engineering Software Architecture, Spring 2014
84
School of Software Engineering Software Architecture, Spring 2014
84
School of Software Engineering Software Architecture, Spring 2014
85
School of Software Engineering Software Architecture, Spring 2014
85
School of Software Engineering Software Architecture, Spring 2014
86
School of Software Engineering Software Architecture, Spring 2014
86
School of Software Engineering Software Architecture, Spring 2014
87
School of Software Engineering Software Architecture, Spring 2014
87
School of Software Engineering Software Architecture, Spring 2014
88
School of Software Engineering Software Architecture, Spring 2014
88