| Lesson 4 || System Object Design Course project |
| Objective || Learn about the course project. |
System Object Design Course Project
Model an online ticket sales system
The project for this course requires you to model an online ticket sales system for a local auditorium. In order to create this model, you will need to find out what the users want to be able to do with the system, how they do business, and how they expect an automated solution to help them.
Your task will be to:
- Partition the requirements into function units prior to the detailed design
- Apply technology to partition each functional area prior to detailed design
- Model the state-specific behavior of the specific elements in the problem domain
- Apply design patterns to develop a flexible software design
During this process, you will use the UML diagramming
standards to provide a consistent and precise view of the knowledge captured along the way and the decisions that you and the users make.
You will learn what tools and concepts to use at each phase, including what questions to ask and how to test your conclusions.
Abstract Specifications of Essential Structure of System
Models in the analysis or preliminary design stages focus on the key concepts and mechanisms of the eventual system.
They correspond in certain ways with the final system. But details are missing from the model, which must be added explicitly during the design process. The purpose of the abstract models is to get the high-level pervasive issues correct before tackling
the more localized details.
These models are intended to be evolved into the final models by a careful process that guarantees that the final system correctly implements the intent of the earlier models. There must be traceability from these essential models to the full models; otherwise, there is no assurance that the final system correctly incorporates the key properties that the essential model sought to show.
Essential models focus on semantic intent. They do not need the full range of implementation options. Indeed, low-level performance distinctions often obscure the logical semantics. The path from an essential model to a complete implementation model must be clear and straightforward, however, whether it is generated automatically by a code generator or evolved manually by a designer.
Full specifications of a final system.
An implementation model includes enough information to build the system. It must include not only the logical semantics of
the system and the algorithms, data structures, and mechanisms that ensure proper performance, but also organizational decisions about the system artifacts that are necessary for cooperative work by humans and processing by tools. This kind of model must include constructs for packaging the model for human understanding
and for computer convenience. These are not properties of the target application itself. Rather, they are properties of the construction process.