Friday, June 27, 2008

Class Diagram and its significance.

The next step of the SDLC process is to realize this usecase with some of the infrastructure that is available in the market place. As all technology realizations that is available in the marketplace have algorithms as it fundamental. So all the use cases have to be realized on these infrastructure fundamentals. Towards this functions have to built around objects which will finally realize these product use cases. When function and it manipulations are built, it involves structuring these code around different objects and these objects have to organized to give a level of modularity to the whole system. This static technology realization is depicted in the class diagram.

Besides the above function of organizing methods, it also has the function of organizing state. I.e how will each class manage the state.

To make it more formal, by definition, a class diagram is a diagram showing a collection of classes and interfaces, along with the collaborations and relationships among classes and interfaces. A class diagram is the pictorial representation of the static relationship of all classes. As mentioned earlier, the use cases depict what needs to be built, and the class diagram defines how these functionality that needs to be built is realized. The use case functionality, which is broad is broken down into smaller atomic functionalities and assigned to classes.


A class diagram consists of a) Class Diagram, b)Interface and c) Package. The class diagram depicts,
an entity of a given system that provides an encapsulated implementation of certain functionality of a given entity. These are exposed by the class to other classes as methods. These methods take inputs and either respond back with a response or it communicates nothing back. So in a way we can say that a methods job is to communicate values, i.e accept values and respond back with values. The class is an collection of these communications or request/response sequences. These collection of communications can also be called as interfaces. These interfaces represent a behaviour.. The class can be used to organize and categorize behaviour, so that behaviour can be chunked into groups.


The behaviour is a collection of request/response communications. These request/response a.k.a behaviour is the capability of this class to enter into relationships with other classes. So these methods in a way also depict the different collaborations, this class can enter into with other classes if they are sequenced. This behaviour and its capability to enter into collaborations is the business functionality.

Apart from business functionality, a class also has properties that reflect unique features of a class. The properties of a class are called attributes. These attributes are represented as primitives and methods a.k.a communication primitives are attached to this primitives;which give semantic markup.For e.g. the date by itself does not make any sense, this is just a primitive number, it is when it is able to communicate what this date represents then it makes sense. A birth date in association with a date primitive makes a lot of usefullness. This semantic markup, in this case the birth date, can also be viewed as a way to reach this date through a communication primitive, the communication primitive could be a method called birthdate, which when collaborated with is ready to give the date.

So in a nutshell, the class diagram gives how the different request responses (Algorithms / Transformations) that needs to realize the overall functionality (as depicted in the usecase), are organized and it also decides how state will be maintained.

0 comments: