For this exercise each student will create a very high-level design of a software product. The design will be presented as one of more UML diagrams, including at least one class diagram, showing the overall structure of the system. The class diagrams should contain only class names – no state or methods – and the relationships among the classes (inheritance, association, and aggregation, and possibly cardinality and role labels). A separate section of the document should give brief (1-2 sentence max.) descriptions of the responsibilities for each class. The total document size, including diagrams, must not exceed 3 pages.
Feel free to work with each other during the remainder of the first class and before the second class to develop ideas and strategies. However, each individual is responsible for handing in his or her own design sketch at the start of the second class, and this sketch will contribute 5% to your final grade. Students who make a good faith effort to develop a robust design can expect to receive 4 or 5 points, even if the design itself is suboptimal. The goal is to start students on the path to reflecting about design at a higher level than individual classes and methods.
The second class will be divided into three sub-sessions. In the first sub-session, small groups (3-4 students each) will quickly sketch consensus designs that incorporate the best aspects of the individual designs. In the second sub-session, one or more of the teams will present their sketches to the class as a whole (5-10 minutes per presentation). In the final sub-session, we revisit the problem and the designs to show how patterns might make it easier to create, discuss, and evaluate designs.
Medical imaging systems are essential aspects of the delivery of quality medical care. Medical professionals require access to the images and reports generated from imaging studies performed on their patients. You are part of a team responsible for the design of a new Picture Archiving and Communication System (PACS) product for Yellow Box Medical Systems. Typically, PACS are large hospital-based systems. Yellow Box would like to open up a new market aimed at medical practices where they have a small (< 5) number of conventional radiograph and other medical imaging modalities, such as ultrasound.
The system must interface with medical imaging devices from a variety of manufacturers. This means that the system must handle proprietary interfaces and image formats, the older ACR-NEMA specification, and the current DICOM standard. This variety of interfaces specifies different hardware, communication protocols and image formats.
The system does not control the imaging devices. This is done by the imaging device's own controller. The system will accept images from the imaging devices and allow the user to organize the image storage within the M-PACS.
Internally, the system must store images using the DICOM standard.
The system must be able to associate patient information, such as name, age, primary diagnosis, etc., with individual images. This information will be entered at the M-PACS.
The system must allow the user to group multiple images together to form a larger study.
The system must maintain access control for three classes of user: technician, physician, and administrator. The exact access to be allowed each user class is still under discussion by the Yellow Box marketing group.
The system must allow the user to retrieve and display images and studies.
The system must allow the user to perform image manipulations such as window/level, bone enhancement, and false coloring. The system should provide for easy extension to the image manipulation toolbox as new algorithms are developed. Note: the algorithms have different implementations for different medical imaging modalities.
The marketing group expects the need for the M-PACS to interface to a dictation and transcription system that Yellow Box is also developing. This will allow reduced resolution images to be inserted into reports.
Your section instructor is free to clarify, modify, or amplify these requirements based on discussions during the first class session. It is highly unlikely that two sections will end up designing to identical requirements.
Revision: $Revision: 1.1 $, $Date: 2004/09/07 03:34:31 $