Solutions for Homework Assignment 2. Assignment Points: 50 Due Date: October 17, 2001 Final Date: October 24, 2001 Late Penalty: 5 points.
Assignment Points: 50
Due Date: October 17, 2001
Final Date: October 24, 2001
Late Penalty: 5 points.
Entity objects: File, Folder, Disk
Boundary objects: Icon, Pointer, TrashCan
Control objects: none in this example.
The purpose of a control object is to encapsulate the behavior associated with a user level transaction. In this example, we identify a CopyFile control object, which is responsible for:
In this specific solution, we did not focus on the Disk, Pointer, and TrashCan objects. The Disk object would be added to the sequence when checking if there is available space. The TrashCan object is needed for scenarios in which Files or Folders are deleted.
Note that the interaction among boundary objects can be complex, depending on the user interface components that are used. This sequence diagram, however, only describes user level behavior and should not go into such details.
As a result, the sequence diagram depicts a high level view of the interactions between these objects, not the actual sequence of message sends that occurs in the delivered system.
5.6. Consider the object model in Figure 5-24 on page 165 in the book (adapted from [Jackson, 1995]): Given your knowledge of the Gregorian calendar, list all the problems with this model. Modify it to correct each of them.
The problems with Figure 5-24 on page 165 are related with the multiplicity of the associations. Weeks can straddle month boundaries. Moreover, the multiplicity on other associations can be tightened up: years are always composed of exactly twelve months, months do not straddle year boundaries, and weeks are always composed of seven days. The figure below depicts a possible revised model for this exercise.
6.2. In Section 6.4.2 on page 193 in the book, we classified design goals into five categories: performance, dependability, cost, maintenance, and end user. Assign one or more categories to each of the following goals:
6.3. Consider a system that includes a Web server and two database servers. Both database servers are identical: The first acts as a main server, while the second acts as a redundant backup in case the first one fails. Users use Web browsers to access data through the Web server. They also have the option of using a proprietary client that accesses the databases directly. Draw a UML deployment diagram representing the hardware/software mapping of this system.
6.7. Why are use cases that describe boundary conditions described during system design (as opposed to during requirements elicitation or analysis)?
Use cases that describe boundary conditions DEPEND ON SYSTEM DESIGN DECISIONS. For example, software architecture decisions need to be made before developers can describe how the system is started or shutdown.