Software MEIC. (Lesson 12)

Size: px
Start display at page:

Download "Software MEIC. (Lesson 12)"

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...