CSC/ECE 517 Fall 2010/ch6 6h AS

From Expertiza_Wiki
Revision as of 04:00, 15 November 2010 by Adszalas (talk | contribs)
Jump to navigation Jump to search

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