When faced with problems in this life, it necessary to analyze the problem and divide it into several sections in order to make it easy to solve the problem by finding solutions for each section. In IT this can be done through the determined parts of the problem. Generally, the determination of problems starts with the actor then the use case that affects them and then effect of their interactions or relationship. In particular, the UML language has about numerous and perfect ways of problem analysis and systems development. UML language is a set of drawings, shapes and symbols which facilitate development of systems that are object-oriented. As such, UML consists of several diagrams models with the use case model being one of the important ones these diagrams .Use cases are initiated at the beginning of the project analysis to specify the functions of the system. It is divided to Actors and Use cases. Actors represent the tasks that are conducted by the users of the system while the "users" maybe people or machine or software. Use cases on the other hand, represent the actions that have made by actors. In this article I will discuss the relationship between object oriented and use cases and why the Use case is very important in the object oriented.
Object oriented approaches
Most of the systems that are currently being developed are designed in object oriented languages, such as java, C++, c# and Smalltalk. The object oriented paradigm provides an ingenious, general purpose, conceptual framework for the software industry to engineer scalable, manageable software. According to Bennett, et al (2006), "Object oriented approach is a different way of developing systems that help to avoid many of the problems." In addition it can be described as the things that describe the object, the object-system relationship, spread the object and change the object state developing on events outside the system. Actually, it is a collection of techniques that facilitate solving of many complex problems inside the system by dividing the problems and relying on some elements such as encapsulation, inheritance and dividing objects.
What is the use case?
Use case is one of the most prominent models of UML problem solving diagrams that have contributed to actively to the role of the object oriented approach by captured system requirements. As shown by Kulak & Guiney (2004) use cases are considered very important in the system development. It is necessary for gathering the requirements for object oriented software development and supports modeling user interface design. In addition it serves to determine the system boundary and the effect communication channels within the system. Use cases are very important in process connection between system requirement and system design. Furthermore, the use cases facilitate the handling connection processes and the system requirement. The use case models are used to represent interactions with system depicting the system features as ellipses and the interacting entity as sticks figure. Use case modeling is more 'agile' that object oriented approaches which is very dependent on UML.
The benefit of use cases:
Use cases normal progress to specify functional requirements and lay great emphasis on the system users rather that the system itself. In this regard, there is a lot of attention paid on system needs from the conception based the common understanding of the users interaction with new product and how it should work. In addition, use cases are easily understandable by all customers, developers and all users during the initial stages of the project and as a result it meets the expectations of the people who understand the problems satisfactorily.
In terms of development, use cases make the process of developing software more simplified. It brings about proper organization and planning of necessary resources thus eliminating complexities in the development of software. In addition it facilitate identification of mistakes during user interaction since the outcomes are always made succinct
The limitation of use cases:
Use case templates are not exactly clear and the quality of solution is largely dependent on the writer's skills in the use case. There are special ways to learn how to illustrate the use case correctly for users and developers since there is no standard definition for use case and each group should improve the special illustration in the use case. Also, some relations do not have clear illustration which can lead to difficulties in understanding by the users (Kulak & Guiney, 2004). Some extreme program developers, agile programmers (Kulak & Guiney 2004), prefer to use the simple ways of use story interface dependency within the use case models. While the use case theory suggests that the users interface are not include under the use case process, use cases are considered useful as beginning point to the test design. However, pre-condition and post condition for use case should be applied for all of the scenarios of use case that determined the view of test design. If the post condition of the use case is more general to be valid for all of the use case scenarios, it will not be useful to specify the expect behavior in the test design.
The relationships between object oriented approach and use case and their importance:
In object oriented projects use case modeling is very important since it serves as the basic tool during the initial stages of system development for analysis and understanding of the systems functional requirements. As such the system developers get the clear impression of how their finished product will function without worries on the process of implementation of the requirements. Object oriented system development also benefits greatly from the simplicity of using use-cases. The technique is amazingly non-technically simple. The non-technicality and simplicity not only benefits the developers but also allows the participation of the use in a manner that can never be achieved by other techniques. It provides that developers a clear idea on the needs of the users before they concentrate of the internal system mechanism. This early prototyping makes it an indispensable asset to evolutionary and incremental process since units of incremental delivery are readily identified. Is this regard use case relationship with OO can be said to be of commensalism type whereby OO draws great benefits from use cases without necessary contributing anything to use cases.
Use case diagram has an important role in object oriented approach. Usually, it is provided with stick figure called actor that reflect the role of the system. Furthermore, there are information according to the relationship between the actor and other area that interacts with the system. Use case diagram provide a graphical model that represent the information about actors and use case. There are several steps to organize the use cases; one of these steps is by representing all the use case that are elements of particular actor and the other way is from the view point of system. The use case also has relationships and important element of the object oriented approach.
Object oriented approach contains different traditional way. Object oriented modeling, use case diagram, system sequence diagram, activity diagram and state machine diagram (Bennet et al. 2006).Object oriented approach has a lot of models related to have one group. Each model describes some aspects of the system. Use case model consistence of group of models that can be used to collect the system requirements depend on use case with object oriented approach. Use case can represent the rules of the users and how to use these system roles.
In sum, use case is one of the important models in the UML language. It is considered so important to help and contribute effectively in the object oriented approach. This is because it has a simple structure and effective relations in the system analysis process. In addition, it has many advantages than object oriented approaches. Use case is very simple, easy and very strong in handling problems. However, this simplicity might lead to some problems in the analysis process if it is not managed carefully through creation, integration and maintenance.
Finally, use case helps the object oriented approach in effective analysis process that gives the more avenues for solving problems that may appear in the end of the project by clear ways for all of the stockholders.