Examples of application domains include finance, healthcare, commerce, meteorology, automotive engineering, and software development. During the analysis phase of software development stakeholders work together to create a model of the application domain. The model takes the form of one or more UML class diagrams. Translating a domain description (written or verbal) into a class diagram is called domain modeling. Textual analysis is sometimes used as a method for beginning the translation process.
Create a StarUML project called designs. Add a package for each of the mini-projects below. In each package translate the text description of the design into a class diagram.
A CAD/CAM system to be implemented in Java will have two components: a GUI and a model (i.e., a model of the product being designed.) These components should be in separate packages. The model should implement Java's Serializable interface and extend Java's Observable class. The GUI should implement Java's Observer interface and its ActionListener interface. It should also extend Java's JPanel class and should contain a reference to the model.
A spreadsheet implements Java's Serializable interface and contains many cells. Each cell has a value of type double, an optional formula of type String, a row number, and a column number. A cell implements Java's Observer interface and extends its Observable class.
A company's HR system views a company as a collection of employees. Employees inherit first and last name, isMale, and dob attributes from a Person super class. An employee also has a salary social security number. An employee may also have a spouse. The spouse could be either an employee or a dependent. A dependent is a person with an employee sponsor.
A nuclear reactor has a temperature and methods for
increasing and decreasing the temperature. A thermometer displays the temp. A
control panel controls the reactor. An alarm rings if the reactor gets too hot.
Model with a class diagram.
A pipeline consists on many processors connected by pipes:
abstract class Processor {
protected Pipe in, out;
public void update() {
String msg = in.read();
msg = process(msg);
out.write(msg);
}
abstract String process(String msg);
}
A spell check processor corrects any spelling mistakes in
its input.
A command processor assumes its input is a command. It
executes the command, then outputs the result.
Draw a class diagram.