CSC/ECE 517 Fall 2010/ch6 6h AS
Domain Object Model This is not yet complete!
Overview
- In software engineering, looking at the entire system is not required for every feature. In order to help clarify the specific problem or feature, only the main components specific to that feature should be shown in its description. This subset of the entire domain of the system is the Domain Object Model (DOM). The objective of designing in this style is that it allows the engineers to focus only on the main objects of the feature, throwing away the other objects as extraneous.'
Background
- In Feature Driven Development (FDD), system engineers needed to quickly focus in on the main players of a particular feature that is required[1]. The DOM is a methodology that allows the engineers to only focus on the required pieces of the system that is affected by the system.
Example
As an example of using the DOM model, the system for this example is a printer. The feature that is being considered is that of controlling a paper roll that will be used to feed paper out of the printer.
Breakdown
Within this example, we can immediately focus on portions of the printer that does not to be considered. For example, objects within the system like putting the ink/toner on the paper, fusing the toner onto the paper, feeding the paper from the paper tray, feeder tray paper height, and normal system User Interface (UI) display are parts of the system that has no bearing upon this specific feature (although it is possible that if a fault is detected that a fault message may be required to be displayed on the UI. The following figure can show from a paper path perspective which parts are irrelevant: With this in mind, the focus of this feature would be upon those hardware subsystems that as specifically involved. Further analysis could also reveal that the hardware subsystem feeding paper into this paper roll and the hardware subsystem that the paper roll feeds into would also be affected (if the paper exits, then the exit tray would be the affected subsystem). Also, as earlier stated, the UI and overall system controller would be affected by this paper roll in the event of a fault occurring..
UML
When the focus is broken down, it makes working with the classes involved much simpler. In this example, we [] Author Not Listed, Domain model – Wikipedia, the free encyclopedia, Last Revised 15-Oct-2010, Wikimedia Foundation, Inc., http://en.wikipedia.org/wiki/Domain_model