Business Infomation Systems

Tuesday, November 25, 2008

Order Management System

We are a FMCG Company. We sell biscuits, chocolates and chips. We have a team of 150 salesperson who go around the state of West Bengal collecting orders. Our central depot is in Kolkata where details regarding orders needs to be immediately updated. We want an order management system that will help our team to track inventory in the warehouse. The order management system needs to satisfy the following requirements:-

1. It should assign an ID to the sales person.
2. When an order is entered, it should check with the central database if inventory exists for that order.
3. If inventory exists then it should send an “order accepted” message to the salesman.
4. Details about the order should be filled up - order number, order date, product id, product quantity, employee id, customer name and address.
5. If order is confirmed, then the exact quantity should be reduced from the central database.
6. If there is insufficient inventory, then the order should be rejected and an "out-of-stock" message should be sent to the sales man.
7. Further a notification should be sent to the central depot regarding low inventory.
8. The order management system should be easy to operate and manage.

Vendors are invited to send in their proposals. The vendor which satisfies these requirements and other norms of the company will be given the project of building this system using Zoho Creator.

Monday, November 17, 2008

Object Oriented Programming...


When I went home during the weekend, I met my friend, Raza, who had just returned from college. He told me he was having difficulty coping in certain topics in his computer science class. When I asked him about the problem he was facing this is what he said.

Raza: I am unable to understand what Object Oriented Programming is all about. Could u please explain?

Me: Well, a program is viewed as a logical procedure that takes input data, processes it, and produces output data. Object-oriented programming (OOP) is a programming language model organized around "objects" rather than "actions" and data rather than logic. The programming challenge lies in writing the logic, not defining the data. Object-oriented programming takes the view that what we really care about are the objects we want to manipulate rather than the logic required to manipulate them. Examples of objects range from human beings (described by name, address, and so forth) to buildings and floors (whose properties can be described and managed) down to the little widgets on your computer desktop (such as buttons and scroll bars).

Raza: That sounds interesting. Tell me more.

Me: The first step in OOP is to identify all the objects you want to manipulate and how they relate to each other, an exercise often known as data modelling. Once you have identified an object, you generalize it as a class of objects and define the kind of data it contains and any logic sequences that can manipulate it. Each distinct logic sequence is known as a method. A real instance of a class is called an "object" or, in some environments, an "instance of a class". The object or class instance is what you run in the computer. Its methods provide computer instructions and the class object characteristics provide relevant data. You communicate with objects - and they communicate with each other - with well-defined interfaces called messages.



Raza: Isn’t there something called encapsulation?

Me: Yes, encapsulation conceals the functional details of a class from objects that send messages to it. We also have polymorphism allows the programmer to treat derived class members just like their parent class' members. To be more precise, polymorphism is the ability of objects belonging to different data to respond to method calls of methods of the same name, each one according to an appropriate type-specific behaviour.

Raza: What are the benefits of an OOP?

Me: Hmm…Some of the benefits are:
The concept of a data class makes it possible to define subclasses of data objects that share some or all of the main class characteristics called inheritance. This property of OOP forces a more thorough data analysis, reduces development time, and ensures more accurate coding.
Since a class defines only the data it needs to be concerned with, when an instance of that class (an object) is run, the code will not be able to accidentally access other program data. This characteristic of data hiding provides greater system security and avoids unintended data corruption.
The definition of a class is reusable not only by the program for which it is initially created but also by other object-oriented programs (and, for this reason, can be more easily distributed for use in networks).
The concept of data classes allows a programmer to create any new data type that is not already defined in the language itself.

Raza: This is certainly a very interesting concept. Thank you for explaining it to me.

(Picture Sources:
http://www.zeegee.com/courses/images/oop-1.png
http://idealprogrammer.com/wp-photos/ObjectOrientedProgramming.jpg)

Monday, November 3, 2008

Followers