In a law firm that specializes in civil suits, there are a number of classes that can be expected. The class is a generalization of all the necessary instructions needed to build a particular object in the application. As a systems designer intending to develop an object-oriented system, classes are a very important part of the design. This is because the class is designed in a manner that is able to capture all the attributes and methods of the object. A combination of different classes should eventually lead to the entire system (Escalona, 2014).
In this case, there are a number of classes that can be identified. These are client, staff and file. In this case, a client can have more than one case. Each case is represented by a single file. One staff member can handle more than a single file at the same time meaning that in general, a client can be seeing more than one lawyer at the same time and can therefore have more than one file.
The client will consist of the clients name, gender, their address, as well as any of their files handled by the law firm. The staff will consist of their name, gender, contacts, as well as any files they might be handling at the moment. The file will consist of the case number, the date received, the client, and the staff handling the file.
In a law firm, there are many members of staff. In order to support the activities of the law firm, each of the different employees has a different role to play. It is very important in determining the class and its attributes and eventually its methods. In a similar way, more than one staff member can handle a single file. This is because of the complex nature of activities that take place on the file. There are the clerks who receive the file, legal researchers who perform research on issues in the file and then there is the lawyer who argues the case in civil court. All these are staff members who handle a single case but they all have different roles in the case. They can all be identified using the file.
An example of the generalization/specialization relationships in this case are staff and the different members of staff.
In this case, we have identified that a client can have either one or more cases but a file can only belong to one client. Similarly, either one or more staff members in the firm can handle a file. However, each employee can only belong to one department and we have identified three departments. In a simple case, one employee in each department can handle the file. However, in complex cases, there might be need for more than one employee in each department to handle the file. For example, a difficult case with a short deadline might require a number of clerks to hand out the sermons in time and might require a number of researchers working on it. The argument of the case in court might also require the efforts of more than one lawyer. This means that these are all incidences where there is multiplicity. In general, the multiplicity relationships present would be:
Finally, there is an aggregation of relationships with each class. For example, we have identified the class staff. This class has a number of different attributes that make up the class. Each of these attributes can then be further subdivided into their building blocks (Papadopoulos, 2008).
For example, the diagram to show this aggregation of relationships for the class staff would be similar to this.
As observed in the aggregation diagram above, each of the staff members has similar attributes. However, the title of each staff member is what differentiates him or her from other members. The title is the work they do in the firm, for example, it can be a researcher, a clerk, a lawyer, or a secretary. The title of the staff is itself made up of other attributes. For example, a lawyer can be a senior lawyer and his position in the firm can be partner. Their duties can involve management. This figure is able to show the aggregation of relationships in the firm (Pokorný, 2011).
References
Escalona, M. J. (2014). Information system development: Improving enterprise communication. Cham: Springer.
Papadopoulos, G. A. (2008). Information system development: Design and development. New York: Springer.
Pokorný, J. (2011). Information systems development: Business systems and services: modeling and development. New York: Springer.