Search the Site:

Need help in my design

I have been assigned to develop an application for a roll maintenace shop in a hot rolling mill.

The process:
ROLLS are used for rolling of hot slabs into coils, plates etc. Certain roll attributes are significant for the rolling process, such as
- Material
- Diameter
- Roughness
- Hardness
- Cylindricity
- Taper

They also have some commercial attributes like
- Manufacturer
- Purchase order number
- Date of Purchase
- Date of Receipt

Apart from these inherent attributes, as a result of rolling, they gain the following attributes which are important for analysis like
- Rolled length
- Rolled tonnage

Also, when maintenance tasks for these rolls are performed, it becomes important to record the timestamp of such tasks.

Should all these attributes be clubbed together in the roll class? Please suggest.

Roll Maintenance Shop

Since you rightly called them "inherent", let the commercial attributes come from an abstract super class called Item. Here, Manufacturer could be a separate class & its unique manufactureId (primary key) can come as an attribute inside Item (as foreign key). This way, 2 classes become related.

You might want to create a new class called Material (since it may have more properties) & put in Roll class ("has-a" relationship) along with other attributes like diameter, roughness, hardness, cylindricity & taper.

While apparently the state of roll changes to "rolled", 2 more attributes come into picture, i.e. rolledLength & rolledTonage. But no worries. Let them too accompany other attributes in Roll. When rolledLength is "zero", the state of roll is NOT rolled.

Finally, the timestamp. You may put that too in Roll.

Anup Jani

Sponsor links

Sponsored by: Domain Name   |  IT Links   |   Tech Jobs    Theme by: My Drupal Partner Sites:   Domain Selling Tips    |   Domain Marketplace    |   PMP Certification    |   CSQA Certification    |   Free online WYSIWYG HTML Editor