37
Lecture 13 E nterprise S ystems D evelopment ( CSC447) OMSATS Islamabad istant Professor

Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

Embed Size (px)

Citation preview

Page 1: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

Lecture 13

Enterprise

Systems

Development( CSC447)

COMSATS Islamabad

Muhammad Usman, Assistant Professor

Page 2: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

2

Types of Scenarios

Page 3: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

3

Usage of scenarios

Page 4: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

4

Availability General Scenario

Page 5: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

5

Sample Availability Scenario

Artifact:Process

Source:External to

System

Environment:

Normal Operation

Response Measure:

No Downtime

Stimulus:Unanticipated message

Response:Inform

Operator to Continue

Page 6: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

6

Example: Modifiabilty

Artifact:Code

Source:Developer Environme

nt:At Design

Time

Response Measure:In three hours

Stimulus:Wishes to change UI

Response:Modificatio

n made with no side

effects

Page 7: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

7

Specifying Requirements

Page 8: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

8

Availability

• Fault = Something went wrong or was unexpected• Failure = System is unavailable• Note: Can talk about degraded modes of operation ~

degrees of availability• In considering availability must consider mean time to

failure plus recovery time

Page 9: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

9

General Scenarios for Availability• Source – Internal or External?• Stimulus – omission, crash, timing, response• Artifact – what should be available?• Environment – State/Mode of system• Response – What is the desired response? (logging,

restart)• Response Measure – Time intervals or repair time

Page 10: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

10

Modifiability

• Chief concerns– What can change?– Who makes the change? What is the change mechanism

and binding time?» Ex: Change the code vs change configuration file

Page 11: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

11

General Scenarios for Modifiability• Source – User, developer, sys admin…• Stimulus – Wishes to add/delete/mod

functionality/quality attribute/capacity• Artifact – UI, Platform, environment,…• Environment – run, compile, build, design• Response – Locates section of architecture, makes

modification,…• Response Measure – Cost, effort, time, ripple

Page 12: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

12

Performance

• Timing– Events, interrupts, messages, requests…– Measuring time between arrival and response

• Complicated by– Large # of possible sequences and combos

Page 13: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

13

General Scenarios for Performance• Source – where does event come from?• Stimulus – characterize arrival (sporadic, simultaneous,

periodic)• Artifact – System• Environment – System mode• Response – process event; change mode• Response Measure – Latency, deadline, throughput,

miss rate, data loss

Page 14: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

14

Security

• Ability of the system to prevent unauthorized use while allowing authorized use

• Properties– Confidentiality of data from unauthorized access– Integrity (delivered as intended)– Assurance of identity– Availability for authorized use– Auditing

Page 15: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

15

Security General Scenarios

• Source – human or another system; anticipated/actual sources important

• Stimulus – The attack• Artifact – Services of system or data• Environment – Mode, firewall status• Response – Granting/withdrawing access• Response Measure – Difficulty of attacks, recovery from

attacks

Page 16: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

16

Testability

• How can we find faults in the system?• Is a test harness available?• Can pieces of the system be tested independently and

at different levels of integration?

Page 17: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

17

General Scenarios for Testability

• Source – Who performs test• Stimulus – What triggers testing?• Artifact – design, code, part/whole system• Environment – Time at which test occurs• Response – provides access to state, provides results,

etc.• Response Measure – Coverage, effectiveness (prob of

finding error), effort/time to test

Page 18: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

18

Usability

• How easy is it for the user to accomplish a desired task?– Learning system features– Using system effectively– Minimizing impact of errors– Adapting to user needs– Increasing confidence & satisfaction

Page 19: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

19

General Scenarios for Usability

• Source – User• Stimulus – What the user wants to do• Artifact – System• Environment – Runtime or config time• Response – What the system does• Response Measure – time, tries, number of errors or

solutions, learning curve

Page 20: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

Tactics

Page 21: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

21

Tactics & Strategies

• Tactic – Fundamental design decisions that impart desired quality attributes to a design

• Architectural Strategy – A collection of tactics

Page 22: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

22

Example

Page 23: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

23

Where to Tactics Fit in?

Idea about System

Important Qualities

Focus with Quality

ScenariosTactics form 1st

broad brush strokes

Page 24: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

24

Organizing Tactics

Page 25: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

25

Availability Tactics

Page 26: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

26

Availability Tactics

• Goal: Stop a Fault from becoming a Failure

• Fault Detection– How to tell when a fault has occurred?

• Fault Recovery– How to deal with a fault when it occurs?– Preparation and Repair– Recovery and reintroduction

• Fault Prevention– How to stop faults from occurring?

Page 27: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

27

Availability: Fault Detection

• Ping/Echo• Heartbeat/Watchdog• Exceptions

Page 28: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

28

Availability: Fault Recovery

• Prevention and Repair– Voting– Active Redundancy (Two parallel systems)– Passive Redundancy (Master & backup components)– Spare

• Reintroduction– Checkpoint/Rollback

Page 29: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

29

Availability: Fault Prevention

• Removal from service to prevent failures• Transactions• Monitor processes for faults and create replacement

processes

Page 30: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

30

Availability Tactics

Page 31: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

31

Modifiability Tactics

Page 32: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

32

Modifiability Tactics

• Localize modifications– Minimize the # modules that must change

• Prevent ripple effects– Limit necessary modifications to localized modules (those

directly affected)• Control deployment time & cost

– Defer binding time

Page 33: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

33

Modifiability: Localize Modifications• Maintain semantic coherence

– Coupling and cohesion• Anticipate expected changes• Generalize

Page 34: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

34

Modifiability: Prevent Ripple

• Hide information• Maintain existing interfaces• Restrict communication paths• Use an intermediary

Page 35: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

35

Modifiability: Defer Binding Time

• Runtime registration• Configuration files• Polymorphism• Component replacement• Define protocols

Page 36: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

36

Modifiability Tactics

Page 37: Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

37

References

• Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice, Second Edition (2006), Addison-Wesley.

• Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, j., Little, R., Nord, R. and Stafford, J., Documenting Software Architectures: Views and Beyond, 2002, Addison-Wesley. Documenting Software Architectures