Software MEIC. (Lesson 12)
|
|
- Reginald Glenn
- 5 years ago
- Views:
Transcription
1 Software MEIC (Lesson 12)!
2 Last class Scenarios + Tactics for the Graphite system (finish) Scenarios and Tactics for the other qualities
3 Today Revisiting the Fénix Case Study from the business problem to the architectural tactics
4 Revisiting the Fénix Case Study from the business problem to architectural tactics
5 Business Goals Requirements Quality Attributes Nonarchitectural Solutions Architecture
6 Business Requirements ProblemGoals! Software Architecture
7 Requirements Functional Assign Responsibilities Quality Attributes Design Structure Constraints Accept Decisions
8 The Business Problem
9 Before Fénix
10 The decay of in-house development
11 A non-sustainable model
12 Technological obsolescence
13 Lack of human resources
14 Knowledge hotspot
15 Therefore, the solution is in the market...?
16 Revisiting Fénix
17 Fénix mission: To incorporate all online campus activities and related What s this? management services
18 What is the University Domain?
19 Academic vs Administrative
20 Operational vs Strategic
21 Information vs Communication
22 Beyond system qualities
23 Business Qualities Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems
24 Business Qualities Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems
25 Time to market was becoming critical (Existing systems obsolete, hard to change)
26 Business Qualities Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems
27 Cost is high, but so is benefit
28 Develop in-house or outsource?
29 Business Qualities Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems
30 Long lifetime
31 Business Qualities Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems
32 Market not relevant
33 Business Qualities Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems
34 A big and complex organization requires...
35 Many releases with increasing number of features
36 Business Qualities Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems
37 Fénix will not rule them all
38 Business Qualities Time to market Cost and benefit Projected lifetime of the system Targeted market Rollout schedule Integration with legacy systems That s all?
39 NO
40 What else, then?
41 Other requirements
42 How can the project survive
43 Changes in funding
44 Changes in management
45 Technology evolution
46 Competition for human resources
47 Communication noise with external entities
48 Changes in requirements
49 Can we envisage a solution?
50 The Business Case
51 3 approaches Commercial off-the-shelf products Outsource development In-house development
52 The Fénix way
53 Rethinking the problem: burden or asset?
54 What s the core business?
55 Core business Knowledge transmission Knowledge creation Knowledge application
56 Is the development of a software system part of IST core business?
57 NO
58 This is the Problem!
59 Can we make the development of a software system part of IST core business?
60 Integrate Fénix development with the University Goals
61 Knowledge Transmission (Use the system in classes)
62 The hospital model
63 How do medical doctors learn?
64 s brain
65
66 s brain
67 How do we learn?
68 s brain
69 Make the system widely known
70 Train people in the system
71 System s code must be good
72 Knowledge creation (Use it as a research artifact)
73 Research prevents obsolescence
74 Less risky/costly to experiment
75 Knowledge application (CIIST plays the role of industry)
76 Graduates spread the knowledge
77 Integrate Fénix development with the Market
78 Open source Open data? (It couldn t be any other way)
79 External entities use the system Why is this good? (Other universities and companies)
80 Adapt to different contexts
81 Resist to management changes
82 Resist to funding cuts
83 Can we make the development of a software system part of IST core business?
84 YES
85 Now we have a Business Case!
86 Which qualities should the system have to support the business case?
87 The Architecturally Significant Requirements
88 What are the business goals?
89 The business case cannot be achieved at once
90 Which business goals are relevant for the first steps?
91 Persuade management and Integrate with knowledge transmission
92 The second and third architectures will focus on knowledge creation and application
93 An application for everybody Cheap development High developers turnover Open source code Show results rapidly Gradual organizational change and adaptation
94 Start from a business goal
95 An application for everybody
96 All the users of the system should be able to use it to perform their activities efficiently without requiring the installation of any client software or a long learning process Business scenario
97 A web-based application Constraint A request is received to develop a new user interface or optimize an existing one in order to support new users/ functionalities or enhance the usability of the system and the interface should be Modifiability scenario implemented in less than 2 weeks
98 Separate interface from business logic and data sources Restrict dependencies tactic
99 Model-view-controler Layers Client-server J2EE Architectural styles, patterns and technology
100 Presentation logic Domain logic Browser Web server DB Data access
101 Which business goals are addressed?
102 An application for everybody Cheap development High developers turnover Open source code Show results rapidly Gradual organizational change and adaptation
103 Requirements on the architecture (driven by business goals)
104 The system should be available to users, even after offices close and classes finish because students may need courses material to study 24X7 Business scenario
105 It is necessary to find a trade-off between cost and availability
106 If the web server fails to respond when the system is in its normal operation state, the the request fails, subsequent requests are normally processed, and the failure is logged. Availability scenario
107 Passive redundancy of web servers Availability tactic
108 An user initiates a transaction in the system between 10:00-12:00 and 14:00-16:00 and the transaction is processed in less than 2 seconds. Performance scenario
109 Increase resources and maintain multiple copies of computations Performance tactics
110 How can we pack the previous tactics?
111 Web server Browser Web server DB Web server
112 We may continue this path...
113 For each quality we can have an utility tree of scenarios
114 A failure in the load balancer A failure in the database server A failure in the network...