Posted by: ahmedashfaque | March 7, 2016

Class diagrams for client server and web based software products

People familiar with software designing know about class diagrams. Most class diagrams as depicted in today’s technology context seem more relevant for client server systems than for web based software products. Here are some arguments as to why it looks so.

The UML notation defines most of software designs. The object oriented technology evolved when client server systems were widely used. The internet was still some steps away from becoming the platform of choice for people. So the class diagrams and other software design techniques for object oriented technology were used to design client server systems. When internet became the common platform for computing, software products (websites) started becoming developed. Many of these websites used object oriented technology for development. Software designers started creating class diagrams for designing these websites.

Since the UML notations for class diagrams were originally used for client server systems, using them to design websites needed to be changed. This is because client server systems have many differences as compared to web based systems. For example, the web based software products always have the explicit distinction between the request event and a corresponding response event. This is because web based software products use HTTP (Hyper Text Transfer Protocol). This protocol is stateless. This means that once a response is generated by the website for a request, the connection between the client (the user machine on which the web browser) is running and the website is cut. This means that if the client again tries to make a request to the website then the website does not keep information about the previous information exchange between the client and the website. Suppose a user wants to login to a website and then keep using the website over many web page navigations then it becomes impossible to do so. This is entirely in contrast to scenario for client server systems where once a connection is made between a client and server then this connection continues till a user or the system specifically want to break it. Depicting this behavior in class diagram is difficult.

Class diagrams again find it difficult to depict database programming. On a class diagram it is difficult to depict database connections and database operations.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: