Search code examples
umlstaruml

Use case diagram agriculture project


enter image description here[![ ][2]][2]

Here's the flow of my project-

1. User logs into the system providing Username and password, which is authenticated by the Server with help of the Database

2. After authentication, User ie. Farmer will be able to Start water sprinkler's Motor or
Star Pesticide sprinkler motor or
Start camera to monitor his farm or
Schedule the Water pump/Pesticide motor for future time.

3. Now Server, Water Motor, Pesticide sprinkler, Camera nor Micro controller are Humans, so Is the diagram correct to represent them as Actors? Or what is the right way to represent them? What corrections do I make?


Solution

    1. Login is no use case at all. It is a constraint you can apply to other UCs. Remove it.
    2. Generalizing UCs is a bad idea. Each UC needs to describe a separate added value the system returns to the actors. I also doubt that Motor on/off is a UC. Rather { motor must be on } is a constraint you can apply to other UCs.
    3. Remove the <<includes>> in Supply pesticides. You are using them as functional decomposition. Rather rename the UC as to what it's meant to be: Reduce insect attack. Then the application of pesticides is a result of doing the actions inside the UC.
    4. Online streaming is no meaningful UC. Think about what you are streaming and express that in the name of the UC (e.g. Stream <whatever is so nice to be streamed>).
    5. Similarly Scheduling. Tell the reader what you schedule (so he get's an idea of the why and the goal behind).
    6. Logout is as much as UC as Login. Remove it.