Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Utah SoCCS6961 - Lecture 61 Architecture – An Introduction CS 6961 - Lecture 6 Nathan Dykman.

Similar presentations


Presentation on theme: "University of Utah SoCCS6961 - Lecture 61 Architecture – An Introduction CS 6961 - Lecture 6 Nathan Dykman."— Presentation transcript:

1 University of Utah SoCCS6961 - Lecture 61 Architecture – An Introduction CS 6961 - Lecture 6 Nathan Dykman

2 University of Utah SoCCS6961 - Lecture 62 Administration Questions so far? Homework 3 coming soon –But not before the fall break, so enjoy.

3 University of Utah SoCCS6961 - Lecture 63 Software Architecture Architecture is still an evolving, dynamic field –As such, no one agreement on a good description Definition from Rational Unified Process –Organizational guidelines –Selection of structural elements and their composition –Composition of those elements into components, subsystems

4 University of Utah SoCCS6961 - Lecture 64 Architectural Elements In many cases, components and interfaces form the heart of architecture –The architecture is formed by having component types: EJB: Entity, Message, Session Sometimes an analysis model is used –Specialized classes At a higher level of abstraction –Seed for component model and class models

5 University of Utah SoCCS6961 - Lecture 65 Architectural Elements The key to an architecture is that the architecture contains more details as to the structure of the system, but not too many details as to completely constrain the design/implementation –In some cases, architecture is rolled into design (smaller projects) –We won’t do this for pedagogical reasons.

6 University of Utah SoCCS6961 - Lecture 66 RUP: 4+1 View of Architecture One interesting view on architecture is the view taken by RUP –The “4+1” view of architecture –RUP defines five ways of viewing an software system from an architectural standpoint –Logical, Implementation, Process, Development Views (the 4 views) –All based on the Use Case view (the +1 view)

7 University of Utah SoCCS6961 - Lecture 67 Logical View Addresses the functionality of the system –Representation of stakeholders, business roles, user functionality –“Cross-cutting” components, elements, etc. Contains logical design elements –Subsystems –Logical Interfaces, Entities, Activities Sometimes an Analysis model (BAC, MVC, etc…)

8 University of Utah SoCCS6961 - Lecture 68 Implementation View How the physical artifacts of the system are packaged together –Files, components, executables, libraries, etc. How physical artifacts are controlled and deployed into a product –SCM plans, layout –Build packaging, installation –Documentation

9 University of Utah SoCCS6961 - Lecture 69 Process View The system in terms of tasks, resources, and internal communication More and more complex in modern systems –Multiple clients, long standing transactions, n- tier middleware, advanced messaging. –Critical in real-time or resource sensitive systems.

10 University of Utah SoCCS6961 - Lecture 610 Deployment View A representation of the physical environment the software runs on, and how that software is placed in that environment –For modern web systems, this is not a trivial task. Also, complex software dependencies –Variation of deployment scales, different middleware, etc.

11 University of Utah SoCCS6961 - Lecture 611 RUP: Use Case View Drives and validates all other views However, the architecture is not just “a decomposition of the Use Cases” –More on this later Architecture elements can cross multiple use cases –To enable reuse, for example

12 University of Utah SoCCS6961 - Lecture 612 Use-Case Driven Architecture Use Cases Driven Architecture –They are the core of the requirements –They influence the development of the architecture –They are used to test system functionality and validate implementation –Core of documentation of the system –And so on.

13 University of Utah SoCCS6961 - Lecture 613 Robustness Analysis In RUP, there is a phase in which you analyze a set of use cases by creating a class model with the following: –Boundary: How actors/other parts of the system interact with this system –Control: Responsible for logic and control of other classes –Entity: Managing persistent information in the system

14 University of Utah SoCCS6961 - Lecture 614 Robustness Analysis Example

15 University of Utah SoCCS6961 - Lecture 615 Robustness Analysis Example

16 University of Utah SoCCS6961 - Lecture 616 Architectural Elements This kind of analysis covers a surprising amount of software projects –Especially business or UI intensive systems –Works less well for embedded systems In this world, there a big use of a processes, protocols, signals, events model Certainly, this a good set to work with. –However, there are many cases in which you need to add architectural elements.

17 University of Utah SoCCS6961 - Lecture 617 Example Let’s work together to create a simple robustness analysis model for an eCommerce system –This will give us an idea of how this kind of analysis can help create class or component models –It’s a common example

18 University of Utah SoCCS6961 - Lecture 618 Next Time We will discuss the concepts of architecture types, elements. We will also discuss the use of layers and how layers influence architecture –The use of tiered architectures to distribute software complexity And… –What other concepts in architecture are you interested in?


Download ppt "University of Utah SoCCS6961 - Lecture 61 Architecture – An Introduction CS 6961 - Lecture 6 Nathan Dykman."

Similar presentations


Ads by Google