An example of some work I have done using the UML.
|Click on the links below to see the examples. The diagrams were generated using Together Control Center 5.5 and 6.0.|
|The problem statement describes a control system for a circle irrigation sytem.
Control System Operation
The Circle Irrigation Control System uses sensors and on the sprinkler arm pivot to measure water flow, temperature and humidity;, and sensors in the soil to measure soil moisture, and nitrogen content. The central computer system polls each irrigator every ten minutes, checking for any sensors that are sending an alarm. When one or more alarm(s) is received from an irrigator, the control system does the following:
1) Decides what actions to take - turn the water on or off, or turn the fertilizer on or off, or both, based on which sensors are sending alarms. If the alarm is from an irrigator with a scheduled action, the decision whether to take the action immediately or to wait (see steps 2. and 3.) is re-visited. Based on the results of the decision-making process, the central computer may signal the circle irrigator to turn water flow on or off, to turn fertilizer flow on or off, or to do both. Of course, the flow of water and fertilizer are not independent; fertilizer may not be turned on while no water is flowing through the system.
2) Makes a calculation to optimize water and fertilizer consumption - this involves deciding whether to take action immediately or wait. Optimal use of water, in particular, can depend heavily on the time of day, since temperatures can be expected to drop during the night, making it necessary to use less water to achieve the same effect on the crop.
3) If the decision is to wait, the sensors for the irrigator are reset, and the action is scheduled for a time ten minutes in the future. The decision is revisited during each polling cycle.
4) Sends the appropriate signals to the irrigator.
There are two controls on the pivot point; one to turn the water on and off, and one to turn the fertilizer on and off. The controls have no "intelligence" - they turn on or off based on signals sent from the Circle Irrigation Control System.
There are several sensors connected to the Circle Irrigation Control System for each circle. There are air temperature and humidity sensors on the pivot point and soil moisture and nitrogen content sensors in the soil of the circle. When a sensor is turned on, it must have its range set if the desired range is different from the factory-set default range, and it must be told to start sampling. An alarm is sent when the quantity being measured goes out of the set range, and sampling stops. The sensor must be reset to continue sampling with the same range; otherwise, it continues sampling in a factory-set default range when the alarm is acknowledged.
The following is a UML activity diagram describing this system.
|back to top|
|Problem Statement: Small Consulting Group
The Small Consulting Group delivers information systems consulting services to a variety of customers. The Group can provide Project Manager, System Architect, Software Engineer, and Software Tester skills. Each type of consultant skill is billed at a different basic rate, according to the following rate structure:
Project Manager: $250/hour
System Architect: $200/hour
Software Engineer: $150/hour
Software Tester: $100/hour
The rates above are discounted based on the length of engagement contract the client is willing to commit to:
Consultants may be working for more than one customer at the same time. In the case of Staff and Principal consultants, they may also charge their non-billable time to an account called "Business Development", which is time spent helping the Group obtain new clients.
You have been hired to design a software system that will automate the processes of billing clients and paying the consultants every month. These processes may only be performed by authorized persons.
The office manager records the billable hours worked by each consultant on each engagement, together with the rate at which the client(s) are to be billed. At this point, the office manager also records the "Business Development" hours for each Staff and Principal Consultant.
The business process for billing Small Consulting Group Clients is as follows:
The billing administrator prepares an invoice for each client, base on the billable hours recorded by the office manager. Each client invoice begins with the normal client name and address information at the top of the page. The invoice then contains a line item for each consultant who performed work for the client during the past month. Each line contains the consultant's name, her/his billing rate, and the total bill for the consultant. The invoice ends with the total billed amount for the past month.
The business process for paying consultants is as follows:
The following two diagrams address the problem stated above.
|back to top|
|back to top|