CIS 421 Week 3 Assignment 2: UML Conceptual View and Process View NEW
To purchase this material click below link
http://www.assignmentcloud.com/cis-421/cis-421-week-3-assignment-2-uml-conceptual-view-and-process-view
For more classes visit
www.assignmentcloud.com
CIS 421 Week 3 Assignment 2: UML Conceptual View and Process View NEW
Assignment 2: UML Conceptual View and Process View
Software Architecture and Design - An OverviewOliver Stadie
about “Software Architecture and Design”
what it is, what it isn’t
giving a basic idea about the terms
detailed comments and annotations for each slide can be found here: https://docs.google.com/presentation/d/1U8zNQ5YQ2562yQzotVQ5cLxsPKu44lD3_L9jdSPKk4g/edit?usp=sharing
CIS 421 Week 3 Assignment 2: UML Conceptual View and Process View NEW
To purchase this material click below link
http://www.assignmentcloud.com/cis-421/cis-421-week-3-assignment-2-uml-conceptual-view-and-process-view
For more classes visit
www.assignmentcloud.com
CIS 421 Week 3 Assignment 2: UML Conceptual View and Process View NEW
Assignment 2: UML Conceptual View and Process View
Software Architecture and Design - An OverviewOliver Stadie
about “Software Architecture and Design”
what it is, what it isn’t
giving a basic idea about the terms
detailed comments and annotations for each slide can be found here: https://docs.google.com/presentation/d/1U8zNQ5YQ2562yQzotVQ5cLxsPKu44lD3_L9jdSPKk4g/edit?usp=sharing
Presentation given at the OMG ADTF meeting in Salt Lake City, June 22, 2011.
We presented our experience with WebML and WebRatio and we opened a discussion on the need and the scope required for a user interaction modeling language. See more at:
http://www.modeldrivenstar.org/2011/06/some-highlights-from-salt-lake-city-omg.html
Chapter 7 Design Architecture and Methodology1.docxmccormicknadine86
Chapter 7:
Design: Architecture and Methodology
1
Design Topics Covered
Architectural vs. detailed design
“Common” architectural styles, tactics, and reference architectures
Basic techniques for detailed design
Basic issues with user-interface design
2
Design
Starts mostly from/with requirements (evolving mostly from functionalities and other non-functional characteristics).
How is the software solution going to be structured?
What are the main components—(functional comp)?
Often directly from requirements’ functionalities
(use cases).
How are these components related?
Possibly re-organize the components (composition/decomposition).
Two main levels of design:
Architectural (high level)
Detailed design
How should we depict design—notation/language?
3
Relationship between Architecture and Design
Detailed Design
Comes from
Requirements &
Architecture
4
Software Architecture
Structure(s) of the solution, comprising:
Major software elements
Their externally visible properties
Relationships among elements
Every software system has an architecture.
May have multiple structures!
Multiple ways of organizing elements, depending on the perspective
External properties of components (and modules)
Component (module) interfaces
Component (module) interactions, rather than internals of components and modules
5
Views and Viewpoints
View – representation of a system structure
4+1 views (by Krutchen)
Logical (OO decomposition – key abstractions)
Process (run-time, concurrency/distribution of functions)
Subsystem decomposition
Physical architecture
+1: use cases
Other classification (Bass, Clements, Kazman)
Module
Run-time
Allocation (mapping to development environment)
Different views for different people
6
Architectural Styles/Patterns
Pipes and filters
Event driven
Client-server
Model-view-controller (MVC)
Layered
Database centric
Three tier
We discuss architectural styles/patterns as
“reusable” starting point for design activities.
7
Pipe-Filter Architecture Style
The high-level design solution is decomposed into two “generic” parts (filters and pipes):
Filter is a service that transforms a stream of input data into a stream of output data.
Pipe is a mechanism or conduit through which the data flows from one filter to another.
Input
time cards
Prepare for
check processing
Process checks
Problems that require batch file processing seem to fit this architecture: e.g., payroll, compilers, month-end accounting.
** Reminds one of DFD without the data store or source sink.**
8
Event Driven (Real Time)
The high-level design solution is based on an event dispatcher, which manages events and the functionalities that depend on those events. These have the following characteristics:
Events may be a simple notification or may include associated data.
Events may be prioritized or be based on constraints such as time.
Events may require synchronous or asynchronous processing.
Events may be “registered” ...
Third AssignmentDescribe in 100 – 200 words an application with .docxrandymartin91030
Third Assignment
Describe in 100 – 200 words an application with which you are familiar. This should be an application with which other students and the course instructor are likely to be familiar. An example would be Microsoft Word. Then, select one of the architectural design styles given in the presentation on Architectural Design. Explain why this style is appropriate for the application you described. Then apply this style to the application and explain the result in enough detail that your fellow students are likely to understand.
Organization of your submission
Third Assignment
Your name
Submission Date
Application Description
Style you have selected
Why this style is appropriate for this application
The application’s architecture using this style
Explanation of this architecture (show how some common tasks for this application might be performed using this architecture)
Grading Rubric
Criterion
Points
Application description is well-organized
5
Style choice is one of the styles described
2
Style choice is effectively justified
8
Presented architecture uses the selected style
3
Presented architecture is complete
4
Architecture is described clearly
8
Chapter 7:
Design: Architecture and Methodology
1
Design Topics Covered
Architectural vs. detailed design
“Common” architectural styles, tactics, and reference architectures
Basic techniques for detailed design
Basic issues with user-interface design
2
Design
Starts mostly from/with requirements (evolving mostly from functionalities and other non-functional characteristics).
How is the software solution going to be structured?
What are the main components—(functional comp)?
Often directly from requirements’ functionalities
(use cases).
How are these components related?
Possibly re-organize the components (composition/decomposition).
Two main levels of design:
Architectural (high level)
Detailed design
How should we depict design—notation/language?
3
Relationship between Architecture and Design
Detailed Design
Comes from
Requirements &
Architecture
4
Software Architecture
Structure(s) of the solution, comprising:
Major software elements
Their externally visible properties
Relationships among elements
Every software system has an architecture.
May have multiple structures!
Multiple ways of organizing elements, depending on the perspective
External properties of components (and modules)
Component (module) interfaces
Component (module) interactions, rather than internals of components and modules
5
Views and Viewpoints
View – representation of a system structure
4+1 views (by Krutchen)
Logical (OO decomposition – key abstractions)
Process (run-time, concurrency/distribution of functions)
Subsystem decomposition
Physical architecture
+1: use cases
Other classification (Bass, Clements, Kazman)
Module
Run-time
Allocation (mapping to development environment)
Different views for different people
6
Architectural Styles/Patterns
Pipes a.
3. Schedule
Please note that schedule for
presentations and mentoring sessions
has been updated on the web
Teams D, E, F present Wednesday
Mentoring sessions on Friday
Two lectures on Monday
4. Some thoughts
Why do a particular diagram…
UML diagrams allow you to look at a
problem from different perspectives
Keeping the details straight on a big project
is a major problem
Big advantage in entering data once (if
possible)
Diagrams are not totally orthagonal, but at
least parts that are can be tracked
5. Why….
Payoff on modeling
analysis & cross-checking
communication
Bicycle for the mind
Combination of modeling and human
analysis can yield much more than
narrow area of model
Trick is to know when to stop
6. Project Next Steps and
Feedback
First presentations were in general very
good
The primary goal was to convey to the
class what the project was about
Most teams participated evenly
Event systems requested were not
included
7. Next steps
Refine class association diagrams to show all
attributes and methods
Create behavioral diagrams for key areas
(particularly those that can change state on
the site, as opposed to sheer display)
Create deployment and web models
Analyze diagrams individually and together to
see what has to be changed for
implementation
8. Presentations
Teams D, E, F should give
presentations much like the previous
ones, but show their diagrams at a
greater level of development
(particularly behavioral)
All teams should create deployment and
web diagrams for mentoring session
and be prepared to show results of
cross diagram analysis
9. Analysis
Consistency checking (create forms for
yourself to document your checks. Some
people find it helpful to use copies of
diagrams)
Support for major queries and processes
Document potential run time problems
Determine whether implementation object
model should change
Will your code track exactly to the model? Why or
why not
10. Architecture and UML
In UML, there are five views
Structural view (Class Diagrams, Object
Diagrams)
Implementation View (Component
Diagrams)
Environment View (Deployment Diagrams)
Behavioral View (Sequence Diagrams,
Collaboration Diagrams, Statechart
Diagrams, Activity Diagrams)
11. Component Diagrams
Show relationships and dependencies
among sets of code without respect to
actual physical placement of code
Use only when there is a design issue
12. Deployment Diagrams
Called “environment” diagram
Shows actual physical organization of
computation units and connectors
Appropriate to do at this stage--when user
requirements are fairly well articulated
May surface practical problems
Should use for “what if’s” (volume, network
failures, etc.)
14. The Web
To date, we’ve looked at application
objects
Now, we need to look at objects and
components in terms of building web
applications
15. Object oriented?
Fundamental component is the page
Web servers distribute pages of information
to browsers
Browser acts as generalized user interface
container (specifics defined by each page’s
content)
Pages may be a combination of static HTML
and dynamic scripted pages (ASP)
16. Scripted Pages
Scripted pages contain code executed
by web server (scripting engine or page
filter) ultimately building an HTML
formatted page
Page is sent back to browser that
requests it
17. Web Client Server
Connection exists only during a page request
(connection is broken once the request is
fulfilled)
Business logic on the server is only activated
by the execution of scripts inside the pages
requested by the browser
Ultimate result is to update the business state
of the server and prepare an HTML formatted
page to the requesting browser
19. Client Scripting
As opposed to server side (procedural),
are event driven
Have no access to server resources
20. Forms
Necessary to collect information
Each form associated with an action
page
Web server finds page and executes
the page’s code
21. Components
Server -- there may be an intermediate
tier with business logic
Client may have components for
execution on clients machine.
In order model these effectively, UML
extensions have to be used
22. Stereotypes
Special types of classes and relationships for
special, well defined purposes
Use only when necessary
_Really_ necessary for effective web
modeling
See
www.rational.com/products/whitepapers/1004
62jsp