When I want to design a software I usually think about the use-cases of my software, but I have heard some sort of analyzing the existing (non-automated) system is required.
To be specific, is analyzing the existing system through a use-case diagram a prerequisite to find the use-cases of a software system (automated system)? or we can directly start from the use cases of the intended software? If it depends on the project, which projects require that step and which don’t.
If that is not a prerequisite, is there any other diagram which can help us in drawing the use-case diagram of the new system? I know some analysis of the existing system is required but I would like to know is there some standard diagrams or steps for such analysis?
Doing use-cases for an existing manual system is difficult because use-cases require a “system”. Where are the boundaries of the “system” in the manual system? If you want your work to be relevant to your planned automated system then you should choose the part being automated as the “system”. In which case, both the manual and automated systems should have pretty much the same use-cases and diagrams. Thus, there’s not much point in doing use-cases for the manual system.
However, if you are automating an existing manual process then you might need to capture the manual work flow in some fashion so you know what the software has to replace. So that could be why some people recommend using use-cases for describing the manual process. Whether that is the most efficient way to capture that information is debatable. It might be the best approach if the people currently using the manual system will only be available for a short time at the beginning of the project so you need to capture as much info from them as possible at that time OR if you are flowing the process onto yet another company to actually build.
I would start with doing use-cases for the system being built and then fill out the details by figuring out what the manual system does. That would be the most efficient approach and will likely be sufficient for most projects.