Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas.

Similar presentations


Presentation on theme: "Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas."— Presentation transcript:

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


Download ppt "Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas."

Similar presentations


Ads by Google