There are two common misunderstanding about use case modeling or UML use case diagram. One is that, use case diagram is too simple, as it does not explain anything important and it is not worth drawing. Another misunderstanding is just opposite to the first one. Some people believe that use case diagram is so powerful that can represent many different aspects of a software, from describing system requirements to modeling the internal behaviors of the system. So what is use case? What is use case diagram and is use case modeling simple or powerful?
Use case modeling is simply an answer to “What do the users (customers) want”. It allows you to visually represent the goals that users want to achieve through using the final end product, which can be a system, a software, a program, etc. Use case modeling is a useful technique in establishing a solid foundation for software developers to develop software system that meets with customers’ needs. While the notations applied in a use case diagram seem simple and do not express much detailed, the way how use cases are collected, organized and elaborated do significantly influence the direction of the software development lifecycle and thus the quality of the final software product. In this article, we will go through ten tips that can maximize the effect of drawing use case diagram. We are not going to explain what are use cases in detail but some of the key concepts regarding to UML modeling, use case diagram and requirements capturing will be covered.