cpsc 875 cpsc 875
play

CPSC 875 CPSC 875 John D McGregor John D. McGregor C 23 Wrap up - PowerPoint PPT Presentation

CPSC 875 CPSC 875 John D McGregor John D. McGregor C 23 Wrap up Role/Process/Workproduct Role/Process/Workproduct The architect The architect What is their place in the organization How do they earn their keep? How do they


  1. CPSC 875 CPSC 875 John D McGregor John D. McGregor C 23 – Wrap ‐ up

  2. Role/Process/Workproduct Role/Process/Workproduct • The architect The architect – What is their place in the organization – How do they earn their keep? How do they earn their keep? • The architecture process – What are the different processes? – What is the value of each? • The architecture – What is its purpose? – How is it used?

  3. Definition Definition • The software architecture of a program or The software architecture of a program or computing system is the structure or structures of the system which comprise structures of the system, which comprise software elements, the externally visible properties of those elements and the properties of those elements, and the relationships among them. Software Architecture in Practice (2nd edition) , Bass, Clements, Kazman; S f A hi i P i (2 d di i ) B Cl K Addison ‐ Wesley 2003

  4. Eclipse architecture cartoon Eclipse architecture cartoon

  5. Pieces Pieces • Modules subsystems Modules, subsystems, … • These are pieces of a system and entities with which the architect works which the architect works. • Determining what a particular module should d i do is the job of the architect h j b f h hi • How a particular module does its assigned job is a detailed design issue not an architecture issue • Architectural issues cross module boundaries

  6. Baldwin’s Operators Baldwin s Operators • Splitting Splitting • Substituting • Augmenting i • Excluding • Inverting • Porting Porting

  7. Orchestration/choreography Orchestration/choreography • The architect creates pieces for certain The architect creates pieces for certain reasons • And connects certain pieces to achieve • And connects certain pieces to achieve specific objectives. • The architect orchestrates the interactions of Th hi h h i i f the pieces of the system but leaves the details to the engineers. h i

  8. Functional/non ‐ functional Functional/non functional • If all we cared about were functional If all we cared about were functional requirements then no structure would be needed The box below would be the product needed. The box below would be the product and the architecture.

  9. Steps Steps

  10. Who determines priorities Who determines priorities • Business goals – set by a dictator or by a Business goals set by a dictator or by a consensus building process set a high ‐ level direction direction • Stakeholders – Users U – Customers – Suppliers l – Developers – Testers – Etc.

  11. Quality attributes Quality attributes • IEEE Std. 1061 subfactors: Efficiency Portability • Time economy • Hardware independence • Resource economy • Software independence Functionality i li • Installability ll bili • Completeness • Reusability • Correctness Reliability • Security • Security • Non deficiency • Non ‐ deficiency • Compatibility • Error tolerance • Interoperability • Availability Maintainability Maintainability Usability Usability • Correctability • Understandability • Expandability • Ease of learning • Testability y • Operability p y • Comunicativeness http://en.wikipedia.org/wiki/ISO/IEC_9126

  12. Qualitative/Quantitative Qualitative/Quantitative Definition of Dependability Dependability is the ability of a system to deliver service that can justifiably be trusted [63] Maintainability: aptitude to Maintainability: aptitude to Availability: readiness for usage Availability: readiness for usage undergo repairs and evolution Integrity: non-occurrence of Reliability: continuity of improper alterations of Dependability service information [IFIP 10.4] Safety: non-occurrence Confidentiality: non-occurrence y of catastrophic of catastrophic of unauthorized disclosure of consequences on the information environment 12

  13. Styles and patterns Styles and patterns • An architecture style and a pattern are very An architecture style and a pattern are very similar • A pattern may have more information • A pattern may have more information, particularly more information about trade ‐ offs among attributes among attributes.

  14. Basic types of structures Basic types of structures • Module Module – Like a type definition – Specifies behavior/constraints Specifies behavior/constraints • Component/connector – Dynamic – Exercises the multiplicities • Deployment – Interacts with environment

  15. Styles Styles • Layered Layered • Tiered • Model/view/controller d l/ i / ll • Client/server • Blackboard • Pipe and filter Pipe and filter • Service oriented • Enterprise service bus E i i b • …

  16. Integrating styles Integrating styles Server Client Vi View Model Model Controller View Model Model Model Model Controller View Model Model Controller

  17. Architecture model Architecture model • Use an explicit architecture description Use an explicit architecture description language rather than a general purpose language like UML language like UML • We used AADL • It is I i – Standardized – Expressive – Extensible – Supports quality attributes

  18. Error design Error design error model Example1 features ErrorFree: initial error state; Failed: error state; Fail, Repair: error event; CorruptedData: out error propagation C t dD t t ti {Occurrence => fixed 0.8}; end Example1; error model implementation Example1.basic transitions ErrorFree ‐ [Fail] ‐ >Failed; Failed ‐ [ out CorruptedData] ‐ >Failed; Failed ‐ [Repair] ‐ >ErrorFree ; properties Occurrence => poisson 1.0e ‐ 3 applies to Fault; Occurrence => poisson 1.0e ‐ 4 applies to Repair; end Example1.basic;

  19. Views and Viewpoints Views and Viewpoints

  20. Ocarina Ocarina • Petri net shows Petri net shows complexity • This • This representation supports supports simulation

  21. Qualitative Reasoning Framework (cont’d) Qualitative Reasoning Framework (cont d) Initial Safety Analyses • FTA (Fault tree analysis) is performed on safety • FTA (Fault tree analysis) is performed on safety critical hazards identified from the FHA. Root cause of the undesired event undesired event Root causes Root causes related to quality attributes are inputs to the reasoning framework Tacksoo Im

  22. Pipe and Filter DSM Pipe and Filter DSM

  23. Technical debt is a gap Technical debt is a gap http://blog.acrowire.com/technical-debt/the-stakeholder-perspective-conclusion/

  24. Total cost of ownership Total cost of ownership • Does not stop at delivery of the first version or Does not stop at delivery of the first version or the nth version. • On average we spend 80% of total cost on • On average we spend 80% of total cost on maintenance after first version. • The part of this that goes to repay technical Th f hi h h i l debt (i.e. fixing things) is a drain on the organization. i i • Think what you could do with the money you pay in interest on your credit cards.

  25. The Goal The Goal • Develop software intensive systems that meet Develop software intensive systems that meet the needs of the customer and can be sustained over their intended lifetime sustained over their intended lifetime. • The software architecture plays a central role in achieving that goal. in achieving that goal • The software architect plays an important technical and managerial role in a project. h i l d i l l i j

  26. Miss anything? Miss anything?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend