1 / 32

Lecture 17

Lecture 17. COMSATS Islamabad. E nterprise S ystems D evelopment (  CSC447 ). Muhammad Usman, Assistant Professor . Software Architecture Evaluation.

ingrid-fry
Download Presentation

Lecture 17

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 17 COMSATS Islamabad Enterprise Systems Development ( CSC447) Muhammad Usman, Assistant Professor

  2. Software Architecture Evaluation

  3. Why Analyzing SAMarry your architecture in haste and you can repent in leisure.-Barry Boehm • Being the foundation for any software system, Architecture can allow or preclude almost all system’s quality attributes. • Software quality cannot be appended late in a project • Proposed design may or may not be suitable w.r.t. some qualities of importance • It should be assessed before long term investment • Acquiring a large software system

  4. Why Analyzing SA • Cost Vs Benefits • Costs • Staff time • Consumption of experienced designers • Benefits • At AT&T over last eight years average cost savings due to full architecture review is 10% • A large company avoided a multimillion-dollar purchase when architecture of global information system they were procuring was found to be incapable of providing the desired system attributes necessary to support a product line

  5. Why Analyzing SA • Benefits • An architecture review of a retail merchandise revealed early that there would be peak order performance problems that no amount of hardware could fix; a major business failure was avoided. • In the architecture review of revision control system, a number of severe limitations in achieving system portability and modifiability were uncovered

  6. Why Analyzing SA • Benefits • Early detection of problems • Validation of requirements • Architectural reviews help uncover conflicts and tradeoffs • Improvement in architecture

  7. Quality Attributes • Evaluation and Quality attributes • Categories • System Quality attributes discernable at runtime • System Quality attributes Not discernable at runtime

  8. Quality Attributes • System Quality attributes discernable at runtime • Performance • Security • Reliability • Usability

  9. Quality Attributes • System Quality attributes Not discernable at runtime • Modifiability • Portability • Reusability

  10. Analysis/Review techniques • Questioning techniques • Scenario based techniques • Questionnaire based techniques • Checklist based techniques • Relationship between Scenarios, questionnaires and checklists • Measuring techniques • Metrics,Simulation and Prototypes • These techniques provide quantitative results and provide answers to the questions a review team already have about particular qualities. • An existing prototype or simulation may be an answer to an issue raised by a questioning technique

  11. Analysis/Review techniques • Classification of Techniques • Generality • General purpose (Questionnaire,Metrics) or domain specific (Scenarios,checklists etc) • Level of detail • Coarse (Questionnaire), medium(Scenarios) and fine(Metrics) • Phases • Early, middle and post deployment • What is Reviewed • Artifact (All) or Process(Questionnaire and checklist)

  12. Scenarios • Scenarios are brief narratives of expected or anticipated use of a system from both development and end-user viewpoint • Quality attributes such as modifiability etc are abstract and vague • No universal measures for these attributes. Context dependent measures are possible • Scenarios are used to represent operational context for a system

  13. Scenarios • The process of choosing scenarios for analysis forces designers to consider the future uses of and changes to the system • How will this architecture accommodate the following change?

  14. Scenarios • Benefits of using Scenarios in analysis • Better understanding of requirements • Stakeholder buy-in • Better documentation • Requirements tractability at architectural level • Specifically quality attributes

  15. Scenario Based Analysis Techniques • They are many • Software Architecture analysis method(SAAM) • SAAM for complex scenarios (SAAMCS) • SAAM for evolution and reusability(SAAMER) • Aspectual SAAM (ASAAM) • Architecture level Modifiability Analysis (ALMA) • ATAM,CBAM,ARID,PASA,CBAR….

  16. Software Architecture Analysis Method (SAAM)

  17. SAAM

  18. Scenarios and their Evaluation • Develop task scenarios that illustrate the kinds of activities the system must support and the kinds of changes which it is anticipated will be made to the system over time. • Scenario evaluations : Direct/Indirect scenarios • For each indirect scenario, list the changes to the architecture that are necessary for it to support the scenario and estimate the cost of performing the change. • A modification to the architecture means that either a new component or connection is introduced or an existing component or connection requires a change in its specification. • For each indirect scenario the impact, or set of changes, that scenario has on the architecture should be described

  19. Scenarios and their Evaluation • Scenario Interaction • Different indirect scenarios may necessitate changes to the same components or connections • Scenarios interact in that component on connector • Scenario interaction measures the extent to which the architecture supports an appropriate separation of concerns • SAAM favors the architecture with the fewest scenario conflicts

  20. Overall Evaluation • Finally, weight each scenario and the scenario interactions in terms of their relative importance. • Determine an overall ranking. This is a subjective process involving all of the stake-holders in the system. • The weighting chosen will reflect the relative importance of the quality factors that the scenarios manifest

  21. Validation of SAAM • Global information system • A company was contemplating the purchase of a system as the infrastructure to support applications development for multimedia communication with unlimited conferencing. • The purchasing company wanted some assurance that the architecture of the system they purchased was going to provide for the generic satellite-based multi-user applications they anticipated developing in the near and long term. • As a result of the analysis, the company decided to not purchase the system, avoiding an investment of tens of millions of dollars.

  22. Validation of SAAM • Air traffic control • This was an investigation of a complex, real-time system against a set of proposed changes to that system. • The purpose of the evaluation was to determine whether future development on this system was justified. • The change scenarios were intended to represent appropriate manifestations of the abstract qualities of performance and availability. • The result of this evaluation was a decision to proceed with the proposed changes

  23. Validation of SAAM • WRCS • This case study was an analysis of a commercial version control/configuration management tool • This analysis covers all activities of SAAM and shows all artifacts of a SAAM evaluation that can be produced. • The result of the analysis was that significant problems were discovered with the product’s architecture, with respect to the scenarios considered

  24. WRCS • WRCS provides the functionality to allow developers of projects the ability to create archives, compare files, check files in and out, create releases, back up to old versions of files, and so on. • “Project'' in this context means any group of related files that, when linked together appropriately, form a finished product. • WRCS keeps track of changes made to these files as they evolve over time • It provides capabilities for multiple users to work on the same project within their own private work areas,

  25. Applying SAAM StepsDevelop Scenarios/Describe Candidate Architecture

  26. Applying SAAM StepsDevelop Scenarios/Describe Candidate Architecture • User: • 1. Compare binary file representations. Compare binary files generated by other products. For example, FrameMaker files are stored in a binary representation. But when we are comparing two versions of a FrameMaker file we want to see our editing changes in a human-readable form, and not the changes to the binary codes stored in the files. • 2. Configure the product's toolbar. Change the icons and actions associated with a button in the toolbar. • Maintainer: • 3. Port to another operating system. • 4. Make minor modifications to the user interface. Add a menu item, change the look and feel of a dialog box. • Administrator: • 5. Change access permissions for a project. • 6. Integrate with a new development environment. Attach for example to Symantec C++.

  27. Perform Scenario Evaluation

  28. Reveal Scenario Interaction

  29. Fish eye diagram of Scenario Interaction

  30. Overall Evaluation • Prioritize the scenarios which have been identified as potentially problematic • The WRCS analysis identified a number of severe limitations in achieving the extra-functional qualities of portability and modifiability. • A major redesign of the system was recommended. • Having gone through an analysis procedure such as SAAM before implementation would have substantially contributed to avoiding the problems which the WRCS developers now face

  31. Results and Lessons • SAAM is for people • SAAM and traditional architectural metrics • Determining the proper level of architectural description • Determining the proper set of scenarios.

More Related