Download presentation
Presentation is loading. Please wait.
Published byHenry Caldwell Modified over 8 years ago
1
Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas
2
Software Architecture: Why? Historical Perspective –1994 – A Panel Session on Software Architecture at ICSE –1995 – 1 st Int. Workshop on Software Architecture –1999 – 1 st IFIP Working Conf. on Software Architecture –… –And, Bill Gates = a chief software architect –And, a software architect = a high-paying position –…
3
Software Architecture: What? The underlying structure of things Project blue print High level abstraction of software system solution Architectural Constituents Components – Process, Data, Control, Resource, etc. – what, how many Connections – explicit, implicit, #param, …, RPC, Messages, MOMs, etc. – what, how many Constraints – dependencies among components, (de-)activation conditions, etc., Patterns – structural, behavioral, etc. Styles – OO, Imp. Invocation, Pipe&Filter, … Rational Infrastructure
4
Software Architecture: How? Current Practice: –Model Functional Requirements –Develop Architecture to meet Functional Reqs Dominant technique = UML-Rational Rose (In research: ADLs – Rapide, SCR, SPIN, …) Needed Practice: –Model Functional Requirements –Model Non-Functional Requirements –Systematically Develop Architecture –Reuse (Design) Patterns
5
The GSPO Framework Develop scenarios Model Functional Requirements: UML Model Non-Functional Requirements as Softgoals: The NFR Framework Develop Macro-architecture Develop Micro-architecture using design patterns
6
Presence & Instant Messaging System (PIMS)
7
Scenarios for PIMS Unsubscribe Subscribe Messaging Service Presence Service Activate Deactivate Change Presence Presence Info Transmission Send message PIMS Receive message Fetch Autonomous notification Enable Disable Status Change Detection Presence Notification Message Transmission Interactions between system and user Help elicitation, validatation, and veriffication Use cases, episodes, and scripts
8
Functional Requirement for PIMS Fetch Unsubscribe Subscribe Change Presence Send Message User Use case diagram as part of the FRs Important use cases from the scenario graph
9
Non-Functional Requirements for PIMS NFRs as softgoals (clouds) – priority type [topic] (or type [topic1, topic2, …]) AND/OR decompositions Softgoal Interdependency graph (SIG)
10
Integrating FRs and NFRs Use topic as the “anchor”: type [topic] (or type [topic1, topic2, …]) Indirect linking thru scenario graph Refine as needed
11
Operationalization Using Macro-Architectures Identify tasks to realize use cases Identify architectural alternatives (operationalizing softgoals) to realize the tasks Choose ones that best satisfice the (refined) softgoals
12
Operationalization Using Micro-Architectures of Design Patterns Identify design patterns (operationalizing softgoals) to safisfice architectural constituents establish relationships among design patterns
13
Architectural Composition Identify overlapping objects establish relationships among non-overlapping objects
14
Sequence Diagram Identify interactions among objects (& software agents)
15
Conclusions Contributions –Methodology for architecting “good-enough” software architecture From OO to GO From Use case to Scenaria Both Macro- and Micro-architecture Future Work –Knowledge base of patterns & CASE tool –More empirical/case studies
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.