Re: Help with design please

From: Danny (danube-dan_at_example.com)
Date: 01/31/04


Date: Sat, 31 Jan 2004 07:57:51 GMT

H. S. Lahman wrote:
>Responding to Danny...
>
>> I'm working on a production reporting system for a manufacturing
>> company and am trying to define the objects.
>>
>> This is my first real life attempt at OOAD outside of university, so
>> I'm kinda nervous. I wondered if anyone could look at my diagram and
>> see if there are any fundamental errors with A) the diagram techniques
>> or B) the objects and the relationships/aggregations etc...
>>
>> http://www.replint.com/class/production.gif
>>
>> I'm basically building a system that will report on the
>> production/activities of several different types of machines and
>> processes (such as extrusion of plastics thru to quality control and
>> packing)
>
>Without more information about what these classes abstract from the
>problem space, it is impossible to say. However, a couple of things
>bother me...
>
>Your high level description says you are reporting on ... machines and
>processes. However I see no Machine class. If it is important enough
>to mention in a one-sentence problem description, I would expect it to
>show up in the model.

Well I decided to call it a process, for want of a better tern, this
was because the process may involve several machines or a persons
task, such as packing.

>I think you are overusing aggregation. An Operator is part of a
>Process?!? Aggregation and composition are special associations that
>describe Whole/Part semantics.

A machine has an operator, and packing is carried out by a person. The
idea of the program is to give some idea of who is doing what amd when
on the factory floor, therefore I thought I may as well encapsulate
the operator in the process, as the factory thinks in processes
related to shifts and products.

>You have roles on only some of your relationships and even then only for
>one end. Roles enhance the understanding of a Class Diagram enormously,
>especially when the roles on each end of a relationship capture
>different aspects of the participation semantics.

Lazyness on my part i'm afraid.

>I assume the arrows with solid arrows and no multiplicity are subclass
>relationships with the arrow on the superclass end. If so, all your
>superclasses have only one subclass. That's a no-no. In the is-a
>relationship the union of subclass members must be a complete set of the
>immediate superclass members. So a single subclass must contain all the
>members of its superclass, which would make it redundant with the
>superclass.

Sorry, don't know what youre saying. Do you mean that I should show
all the derived classes from the base in the diagram?

>You seem to have a multiplicity of 1..= on the Manufacturing Stage /
>Process relationship. B-)

Ack. My error.

>> Each process may have materials input and material output -- WIP or
>> final stock -- there will be labour and an actual process. These will
>> then be wrapped up into a manufacturing stage which -- I'm unsure
>> about -- is also encapsulated in a shift, etc..
>
>Provide a class description and more relationship roles and it may be
>possible to offer more constructive advice. The Class Diagram is where
>all of the crucial problem space abstraction is done. To understand
>that abstraction, much less judge its correctness, requires more
>knowledge about the problem space and what you application is trying to do.

Ok, i'll get back on the case on Monday. Thank you for your advice.



Relevant Pages

  • Java Eclipse UML tool - white paper abstract
    ... creation of UML class diagram, for use by Java programmers, and driven directly from the Eclipse ... Java Development Tooling model. ... feel of the Modelistic JME plugin for Eclipse. ...
    (comp.lang.java.programmer)
  • Re: wIN7 - RUNNING AWAY!!
    ... They have very high error rates, and extrapolation is always extremely ... Errors in reporting, Steve. ... It shows how many of the machines visiting their polling sites use ... Win7; but they are using it to indicate how many machines on the ...
    (comp.sys.mac.advocacy)
  • Re: Where to troubleshoot Intel PRO/1000 performance problems?
    ... Both machines are reporting a 1Gb link: ... Try to do 'ifconfig | grep media' on the FreeBSD box ... Ethernet Card) but is a Windows XP box. ...
    (freebsd-performance)
  • Re: SMS SUS Distribute Software Updates - No Update type available
    ... Information is definitely in the site database about the ... patch status of the machines - the additional web ... reporting tools are telling me that. ... >about the patch status of the selected machine. ...
    (microsoft.public.sms.tools)
  • Re: OOs best feature survey results
    ... >>You seem to prefer good relational designs over OO designs, ... >>as well as an ER diagram, ... compare an ER diagram with a class diagram. ...
    (comp.object)