CSC 223 | Grinnell College | Fall, 2006 |
Software Design | ||
This laboratory exercise draws upon sequence diagrams in UML to help support projects in CSC 223.
The previous lab on Class Diagrams in UML asked you to analyze your CSC 223 project to identify likely classes. Then, for each class, you identified attributes and operations, and you clarified how those elements related to each other using one or more class diagrams. The next step in object-oriented design is to examine how the classes interact in performing the user tasks needed by the application.
Work in this lab proceeds in two basic steps:
Develop a complete list of operations (from the user's perspective).
For each user operation, develop a sequence diagram that shows processing from the initial user interaction, through various method calls, to obtain the required result.
For simplicity, this lab asks you to write these elements out on paper, rather than entering the information into a software development tool. A later lab may ask you to incorporate this work into ArgoUML.
Traditionally in UML, the identification of user operations involves the development of use cases. The idea is to consider how a user will interact with the software (e.g., through a Web browser). Each type of interaction is a use case. Further, if the same initial interaction might yield several possibilities (a user is successful in logging in, or a user is unsuccessful), then each possibility is considered a separate use case.
Review your project for CSC 223, and develop a complete list of use cases.
For each use case, write an outline of the processing that should take place from the user through various classes in order to obtain the desired result.
Again, use Fowler, Chapter 9 (near page 101 ),as a model for outlining the flow of each use case.
Remember that if a use case requires two or more alternative outcomes or flows, then it should be divided into several separate use cases.
Note that while ArgoUML supports the development of use cases, Fowler recommends using the numbered-list approach as being more time efficient. For this part of the lab, you are allowed to use ArgoUML if you wish, but development of use cases within a text editor is considered adequate for this lab.
With the identification of all needed use cases, the next step is to add detail to how processing will proceed in each situation. This largely is the role of sequence diagrams (Read Fowler, Chapter 4, for additional details.)
Write out (on paper) a sequence diagram for each use case identified in steps 1 and 2.
Each of the following should be submitted in paper form. Steps 1 and 2 should be prepared using a text editor or word processor.
This document is available on the World Wide Web as
http://www.walker.cs.grinnell.edu/courses/223.fa05/labs/uml-2.shtml
created 25 September 2005 last revised 25 September 2005 | |
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |