I've been studying object oriented analysis and, so to get started with this in practice I've decided to first of all build my own management system to have my customers data and so on. Trying to gather requirements for the first time and write use cases for the first time led me to some doubts. I want to ask here about some doubts regarding the use cases.
One of the requirements I've thought of was "manage customers". From this requirement I've obtained some use cases:
- Register new legal person as customer;
- Register new natural person as customer;
- Update and correct customer data;
- Remove a customer from the system;
- Read customer's summary;
Now, I'm greatly in doubt about all of this. First, is this right: take one single requirement and from it derive many different use cases? Or should be just one use case "Manage Customers" containing everything?
Second, I'll give an example about what I did. I choose to start by the first one. So I wrote the following use case:
Title: Register new legal person as customer;
Scenario: The user chooses to register a new company as customer. The user informs the company data and the system validates the data informed. The user is then prompted to inform the data of the responsible for the company and the system validates the data informed. The user is then taken to the list of all legal person customers.
Now, I'm pretty sure I'm not doing this right. First, this seems to simple, it's just like if we said "well, the user goes and register the data". Second, all of the others use cases would be exactly like that, so I can't see how this is going to help me out. Third, from this use case I could obtain just three possible objects "legal person customer" and "responsible for the company", so I really think this is not enough.
Also, usually there are many requirements like that "manage customers", "manage employees" or "manage suppliers" and it seems at first tha they will always be like that. Is this correct? Those kind of requirements always end up with this kind of uses cases that are simple like this?
Am I doing this right? Is there something wrong with the uses cases I've figured out and the way I wrote that particular use case? How do we work with this kind of use cases that are so simple that the scenario is almost like just stating again the objective of the use case?
I know there are many questions there, but any kind of help is appreciated. I'm starting now to work with this kind of thing and I'm unsure if I'm doing things right. Thanks very much in advance!