Page:
(Bot)
(Prev)
(Next)
Class:
(Outline)
(Assign)
(Answer)
Course:
(Content)
IT533 - SOFTWARE ARCHITECTURES - CLASS 2
ASSIGNMENT
To:
(Readings)
(Research)
(Problems)
(Graded)
Readings
(Top)
- Read the following in the Documenting Software Architectures text:
- Chapter 3: The Component-and-Connector Viewtype
- Chapter 4: Styles of the Component-and-Connector Viewtype
These readings are related to the topics that will be covered in the
third class.
- Read the section titled Pattern Name: Four Layer
Architecture at the following web page:
You may find it interesting to read the other patterns on this page.
You also may want to visit the author's home page at:
- Read the attached commentary titled Outsourcing Angst
by Frank Hayes.
What does this commentary say about the potential value of this course
to you future in the information technology profession?
Research
(Top)
You should start looking for a topic for your class presentation
and research paper.
You must submit your topic for approval no later than the
start of class five (Tuesday, April 29).
Some topic ideas are:
- The architecture of a specific application that is used
in your organization (assuming that it will not expose trade secrets).
- The architecture of a vendor supplied application.
Some examples are enterprise resource planning (ERP), supply chain management,
or customer relationship management (CRM).
- The use of architectural patterns in the development of
enterprise applications.
- Your first hand experience on a project that developed
an architecture including what went right and what went wrong.
- A reference architecture for a specific type or family of
applications.
- An architecting framework or process.
Remember that we are interested in the architecture of the system,
not how to use the system.
Since we will not spend much time on this course on hardware and
network architectures, it would be interesting if you showed how
an architecture was actually deployed.
Problems
(Top)
- Do Discussion Question 1 from the Chapter 1
in the Documenting Software Architectures text.
- Do Discussion Question 4 from the Chapter 1
in the Documenting Software Architectures text.
- Do Discussion Question 5 from the Chapter 1
in the Documenting Software Architectures text.
- Do Discussion Question 1 from the Chapter 2
in the Documenting Software Architectures text.
- Consider the order capture and mailing list package diagram
that was used as an example in class.
Compare this diagram to the Four Layer Architecture pattern
from the reading assignment above.
Could the package diagram be separated into the four layers?
Which packages would go in which layers?
- Suppose that an architecture document contains the following
table of invokation dependencies:
| Module |
Module Type |
Invokes Module |
| APP-1 |
Application |
ALGO-1, ALGO-2, ALGO-3 |
| APP-2 |
Application |
ALGO-3, ALGO-4 |
| ALGO-1 |
Algorithm |
DATA-1, DATA-2 |
| ALGO-2 |
Algorithm |
DATA-2, DATA-3 |
| ALGO-3 |
Algorithm |
DATA-3, DISP-1 |
| ALGO-4 |
Algorithm |
DATA-3, DISP-2 |
| DATA-1 |
Data Access |
DATA-4 |
| DATA-2 |
Data Access |
|
| DATA-3 |
Data Access |
DATA-4 |
| DATA-4 |
Data Access |
|
| DISP-1 |
Display Output |
|
| DISP-2 |
Display Output |
|
|
All Modules use Modules in the Operating System
|
- Sketch a graphical module view that illustrates the uses
relationships implied by this table.
Could these modules be grouped into packages of modules?
Could these modules (or the packages) be grouped into layers?
If so, try to incorporate your groupings into your view.
- Sketch the dependency tree for the APP-1 application.
- Suppose that we want to create a separate runtime component
for each of the applications.
Which modules would participate when the APP-2 component is
running?
- Assume that the original plan was to have the data access
modules use the file system of the operating system for data
management.
Now, suppose that we decide to purchase a separate database
system for data storage and retrieval.
The database, of course, uses modules in the operating system.
How would you incorporate this change into your graphical
module view?
Graded Problems
(Top)
Over the next several weeks you will need to do and turn in answers
for a series of problems that are based on the essential requirements
for the Nirvana Business License and Tax System that are
documented separately.
Your answers will be graded.
The total collection of problems will be worth 100 points and
will constitute 10% of your final grade (see syllabus).
You are expected to do your own work on these problems.
The following problems are due at the start of the next class.
- (5 pts)
Can the use cases be aggregated into two or more use case packages?
What on the packages?
Document your answer with a graphical model that uses the
either a decomposition style or a uses style to graphically
show the packages and text tables to list the use cases
that are part of each package.
- (5 pts)
How many instances of the domain class Business will be
stored in the system at the end of five years?
Show how you derived your answer.
- (10 pts)
Assume that a Business instance is only associated with
a single Ownership instance and that it takes 50 bytes to
store each LicenseHist instance.
After five years, approximately how may bytes of storage will be
required to store the persistent state of the system?
Be sure you document your assumptions about the number of bytes
that will be used for each attribute.
Page:
(Top)
(Prev)
(Next)
Class:
(Outline)
(Assign)
(Answer)
Course:
(Content)
Prepared by David L. March -- Last Revised on April 7, 2003
COPYRIGHT © 2003 BY DAVID L. MARCH