Tuesday, November 25, 2008

Order Management System For Dicsis

We are a FMCG Company called Dicsis which manufactures 4 different kinds of products i.e. chocolates, health drink, biscuits and shampoo. We operate in almost all parts of India. Our sales team consists of 500 people who visits a number of retail outlets. We are planning to give PDAs to our sales team so that they can know about the inventory from any point at anytime. When they log in they should get information about the exact inventory level so that it wil be easy for them to place order. Both during execution and cancellation of order they should be able to update the same. This information about order picked and order cancelled should also be accessed from the central depo as it will be easy for the depo to manage their warehouse.

Monday, November 17, 2008

OOPs................I am confused

History repeats itself. My lazy friend Manu (or AP as I fondly called him) who onced missed his IT class and clarified from me about system architecture, asked me one day over the cofee table about OOPs. Follwoing is the discussion we had

AP : Hey Hardik my IT teacher has asked me to read about OOPs and come in his next class. I am a little confused, is he talking about the OOPS movie made by Deepak Tijori or something related to IT because I have never heard about it before.

Me : Come on AP, dont be so silly, OOPs according to your IT teacher means object oriented programming.

AP : Oh! whats that?

Me :Its a type of programming in which programmers define not only the data type of a data structure, but also the types of operations (functions) that can be applied to the data structure. In this way, the data structure becomes an object that includes both data and functions. In addition, programmers can create relationships between one object and another. For example, objects can inherit characteristics from other objects.

One of the principal advantages of object-oriented programming techniques over procedural programming techniques is that they enable programmers to create modules that do not need to be changed when a new type of object is added. A programmer can simply create a new object that inherits many of its features from existing objects. This makes object-oriented programs easier to modify.


And yes you need to know object oriented language to perform OOPs. some of the comon languages are Java, C++, etc

Manu : Ok but it sounds simmilar to data modeling.

Me: Yeah it does but they are actually not. Data modelling have entities which contains attributes where as OOPs has classes which are colection of objects, and classes contains attributes.

Manu : Fine is that all i need to understand

Me : You need to understand another term method which makes OOPs diffeent from all other concepts of data modelling. Method is a process that makes changes to the attributes of an object, or instance, of a class For example the class MANAGER could have a method called promote that will change the value of the attribute called designation in an object of the class called EMPLOYEE.

Further The OOPs process would consist of creating a hierarchy of classes – each with its own attributes and methods. In some cases the classes would have to be built from scratch – which means that the attributes and methods will have to be defined in terms of a specific programming language like Java. But in the vast majority of cases, the classes will be built on a foundation of pre-existing classes that are provided through a framework that comes along with the Integrated Development Environment

Manu : Thanks a lot Hardik

Tuesday, September 23, 2008

System Architecture .......I am so very confused

The great Manu Mani Iyengar (A lazy fellow) asked me one day "Hardik yesterday our IT professor taught us, System Architecture. I unfortunately bunked the class and slept in my room. You know I am a lazy guy. Now the problem is I have to explain system architecture to the whole class on Monday. Punishment for bunking, you see. Can you please help me? But make sure that you make it as simple as possible as I am not very comfortable with IT jargon's". I tried my level best to explain AP (that's what I call him fondly) what system architecture is. Following is the conversation we had over a cup of coffee.

Me: I am sure you must be knowing what a hardware or software is ? Isn't it ? Like a PC and a MS Word.

AP: Come on buddy, I am not a fool.

Me: Fine. So what is an architecture? Architecture is defined as a representation – preferably a visual representation – of the hardware and software components that explains

• which software is running on which hardware box
• how are the various hardware boxes connected to each other

For instance MS Word or for that matter any other software application sits on a PC platform.

Are you with me or do I have to make it more simpler?.

AP: I am little confused on two terms you used just now. Application and platform.

Me: Just remember that nay operating system is a platform. And an application is a software that runs in a platform to perform a particular function. For example MS Words is an application
that runs on Windows XP and helps us create documents. Clear?

AP : Yes, one of my batch mate who attended the class told me to read about single tier, two tier, etc, etc. What are these ?

Me: Before I explain these terms, I would like to tell you about another concept that data should be separated from application.

Which actually means that when u create a document using the word processor, the document is the data which u can modify and the word processor used for creation of data is the application.
I hope you understood the difference between data and application?

AP: Yes I did. So what are these single tier, two tier, etc.

Me: Let me first explain you the single tier application. It means that both the data and the application resides on the same platform or the same machine. This kind of application is good for a single user or for personal use but when the number of users to access the same data increases, it wont really solve the problem.

AP: So how can multiple user access the data.

Me: That's where the two and multi layer application play a major role. Let me explain these to you. Two tier system is otherwise known as client server applications where data is separated from application and stored in a different platform. A copy of the application is available in the machine of each user that is the client machine where as data is stored in a server. These machines are connected with the server and with each other so that they can easily access data. This again is fine for a small no of people say around 100 people who are located in one building or campus but becomes a challenge when the no of users increases who are spread across the country.
Now coming to three tier architecture, it consist of three layers, presentation, database and application layer. Presentation layer consist of visual interface, application layer controls an application’s functionality by performing detailed processing where as database layer is where data is kept and is linked to the presentation layer through application layer.

AP: Fine and what about multi tier architecture ?

Me: In a multi tier architecture another machine called web server is placed between the application server and the user. So this web server converts the data traffic from the application server to a format that is universally understood by anyone who has a web browser like Internet explorer, chrome etc

AP : So is there any other architecture.

Me: This will do buddy. Hope you understood everything I explained.

AP: Yeah I did. Thanks buddy, you are an useful prodoct (Nothing wrong with the spelling, he always makes fun as I pronounce product as "prodoct")

Wednesday, May 28, 2008

Why blog?

Exactly ............Why?.............."Who will read my blog?. Why do I make fun of myself with my limited vocabulary?. Why do I waste my time when I know I cannot achieve much through a blog?". These were some of the questions that came to my mind 2-3 years back when I thought to blog.

But now when I am starting to blog, I have a reason behind it. A solid reason !!!!!

In my last days I shall read, laugh and sigh with all that happened in my life, and that is my sole reason to start a blog. As King Khan says.

"अगर कीसी चीज़ को दील से करो तोह सारी कायानात तुमहे मदत करने के लीये लग जाती है".

Rants and Reviews are most welcome.