Page: (Bot) (Prev) (Next)   Class: (Outline) (Assign) (Answer)   Course: (Content)

To: (Readings) (Research) (Problems) (Graded)

Readings (Top)

  1. Read the following in the Documenting Software Architectures text:

    These readings are related to the topics that will be covered in the third class.

  2. 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:

  3. 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:

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)

  1. Do Discussion Question 1 from the Chapter 1 in the Documenting Software Architectures text.

  2. Do Discussion Question 4 from the Chapter 1 in the Documenting Software Architectures text.

  3. Do Discussion Question 5 from the Chapter 1 in the Documenting Software Architectures text.

  4. Do Discussion Question 1 from the Chapter 2 in the Documenting Software Architectures text.

  5. 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?

  6. 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

    1. 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.

    2. Sketch the dependency tree for the APP-1 application.

    3. 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?

    4. 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.

  1. (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.

  2. (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.

  3. (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