Monday, December 8, 2008
Tuesday, November 25, 2008
Requirements specification of FMCG company
I m the manager of a small FMCG company that manufactures Shampoo.Our company is expanding very rapidly and we are able to cover the entire state of West Bengal this year.To make our business more efficient we want an order management system.The salespersons of our company go around the state taking orders.There is a central depot in Kolkata.The orders taken from different parts of the state are dispatched from the central depot.The order management system needs to satisfy the following requirements:-
1)Our company manufactures four kinds of shampoos namely Anti-dandruff shampoo,Herbal shampoo,silky hair shampoo and Anti-hairfall shampoo.
2)All the shampoos are available in three sizes i.e 50ml,100ml and 150ml.
3)The order management system should perform the following function on receiving a request
a)It should ask for the type/types of shampoos ordered and the size of each type of shampoo.e.g 100 pieces of Anti-dandruff shampoo of size 50ml,20 pieces of silky hair of 100ml etc.
b)It should check if the quantity of stock is greater than or equal to the quantity ordered in each category.
c)If the quantity of stock is greater than or equal to the quantity ordered for a particular item than record the order,send an order accepted message to the salesman and reduce the stock by the ordered quantity.
d)If the quantity of stock is less than the quantity ordered for a particular item than reject the order and send an "out-of-stock" message to the sales man.
e)Thus a salesman can get his/her total order accepted or a part of his/her order accepted by the system depending upon the stocks available.
f)No two salespersons can access the order management system at the same time and each salesperson should get the updated stock level every time he/she uses the system.
4)The order management should have an authentication check in the beginning i.e it should ask for a password so that only genuine persons access the system.
5)The order management system should have a good user interface and should be compatible to both personal computers and mobile phones.
6)The order management system should be easy to maintain.
7)It should be easy to install.
I now invite quotation for this software project.Any company with good service record can send their quotations before 1st December,2008.
With regards
Govind prasad sahu.
1)Our company manufactures four kinds of shampoos namely Anti-dandruff shampoo,Herbal shampoo,silky hair shampoo and Anti-hairfall shampoo.
2)All the shampoos are available in three sizes i.e 50ml,100ml and 150ml.
3)The order management system should perform the following function on receiving a request
a)It should ask for the type/types of shampoos ordered and the size of each type of shampoo.e.g 100 pieces of Anti-dandruff shampoo of size 50ml,20 pieces of silky hair of 100ml etc.
b)It should check if the quantity of stock is greater than or equal to the quantity ordered in each category.
c)If the quantity of stock is greater than or equal to the quantity ordered for a particular item than record the order,send an order accepted message to the salesman and reduce the stock by the ordered quantity.
d)If the quantity of stock is less than the quantity ordered for a particular item than reject the order and send an "out-of-stock" message to the sales man.
e)Thus a salesman can get his/her total order accepted or a part of his/her order accepted by the system depending upon the stocks available.
f)No two salespersons can access the order management system at the same time and each salesperson should get the updated stock level every time he/she uses the system.
4)The order management should have an authentication check in the beginning i.e it should ask for a password so that only genuine persons access the system.
5)The order management system should have a good user interface and should be compatible to both personal computers and mobile phones.
6)The order management system should be easy to maintain.
7)It should be easy to install.
I now invite quotation for this software project.Any company with good service record can send their quotations before 1st December,2008.
With regards
Govind prasad sahu.
Monday, November 17, 2008
OOPS is very simple
Yesterday i had been to my cousin's house whom i once explained computer architecture.He was very excited to see me , but the moment he met me , he had many technical questions to be answered. The conversation is as follows:-
Me-Hi Rohit, how are you?
Rohit- I m fine bhaiya , nice to see you again.
Me- oh really.
Rohit- Ya bhaiya, infact i was waiting for you. I m facing some problems with my concepts in object oriented programming. I m sure that you are the perfect person to clear my concept since you had made computer architecture so simple for me.
Me-Sure. i will definitely try to make you understand.After all you are my lovable brother.So what exactly you want me to explain you.
Rohit-What exactly is OOPS?
Me-OOPS is a method or technology to understand what to do and not how it is to be done.For example we all in general know how a car is going to behave.It has a steering ,acceleratoe,brakes,clutch etc. Every car in this world is going to behave in a particular way irrespective of the technology that drives it. Similarly OOPS give us an idea about how a problem or program is to behave irrespective of the language used to implement it.
Rohit-Thats a good analogy.But how is it different from Data modelling?
Me- Oh , you know what is Data modelling.Great.Then it will really be very easy to make you understand.
Rohit-ya i have some knowledge of data modelling.Entities, attributes, i think data modelling consists of these things
Me- Right. Infact OOPS is very similar to data modelling except a few additional features which makes it better than data modelling.
Rohit-How is it related?
Me-In OOPS we have classes which is very similar to entities in data modelling.As an entity has attributes which specifies the characteristics of the entity,similarly we have classes with attributes.e.g a class Student can have attributes like student_name,student_roll etc.
Rohit- Its really interesting.
Me-Also as in data modelling we have instances of entity where one instance is different from other,similar in OOPS we have instances of class which is called an object.One object of a class is distinct from other.
Rohit- You really make things so simple.
Me- You remember, we can perform various C-R-U-D operations on instances in data modelling like insert,delete etc on SQL.Similarly in OOPS we have methods to perform various operation on objects.
Rohit-Then how is OOPS different from Data modelling?
Me-It is the methods that make OOPS not only different from Data modelling but also very useful tool to understand real world problems in programming terms.
Rohit-How is it so?
Me-See in data modelling we can only perform basic C-R-U-D operation but in method apart from the basic function we can perform many different functions by embedding business logic into the methods.e.g in data model we can only update an instance but in method we can use business logic like promoting an employee.We can use complex logic like promoting an employee from one designation to other or to transfer the employee from one department to other.It could also mean raising his/her salary.So a single method promote simultaneously operates on three attributes of class Employee.
Rohit-It very flexible.
Me- yes it is. You can have an user defined method to suit your particular business requirement.That can never be done in data modelling.
Rohit- so its only because of the methods that an OOPS has an edge over data modelling.
Me- No there are some other features which makes an OOPS far more superior to others.
First feature is data encapsulation.This is the process of binding data and methods other.That is data and methods are kept together.By this we get an added benefit that we can allows only selected users to access the data.This is also called data hiding whereby the data is hidden from users or data is not public
Secondly there is a feature called inheritence wherein the characteristics of a class can be inherited to a different class.This facilitates data reuse.e.g if a parent class is Order and a class Item inherits Order than the class Item has all the attributes of the class order along with some of the attributes specific to class Item.
Finally there is a feature called polymorphism which means one name different form.e.g a function + can be used to add to numbers also it could be used to add to strings.
These are the feature which makes OOPS very unique.
Rohit-So because of OOPS, we don't need Data modelling as OOPS is better than Data modelling.
Me- No its not like that.
We need data modelling to make OOPS persistence.
Rohit-What is persistence?
Me-Persistence means the data is not lost when the machine is turned off or restarted.
OOPS progams are generally volatile and the data as a result of any operation is lost as soon as the machine is turned off. But in a business enviroment we will always want recent and processed data as and when required.So for making OOPS persistence a database is used and here comes the concept of data modelling.
Rohit-So data modelling is required with OOPS.
Me- ya it is .We cannot avoid data modelling.Hope that your concept is clear now.
Rohit-ya . Thats why i ask you all these conceptual questions.Thank you very much for your effort.
Me- welcome.I will always be there to help you.Ok let us discuss something other than studies..
Rohit- ya sure.
Me-Hi Rohit, how are you?
Rohit- I m fine bhaiya , nice to see you again.
Me- oh really.
Rohit- Ya bhaiya, infact i was waiting for you. I m facing some problems with my concepts in object oriented programming. I m sure that you are the perfect person to clear my concept since you had made computer architecture so simple for me.
Me-Sure. i will definitely try to make you understand.After all you are my lovable brother.So what exactly you want me to explain you.
Rohit-What exactly is OOPS?
Me-OOPS is a method or technology to understand what to do and not how it is to be done.For example we all in general know how a car is going to behave.It has a steering ,acceleratoe,brakes,clutch etc. Every car in this world is going to behave in a particular way irrespective of the technology that drives it. Similarly OOPS give us an idea about how a problem or program is to behave irrespective of the language used to implement it.
Rohit-Thats a good analogy.But how is it different from Data modelling?
Me- Oh , you know what is Data modelling.Great.Then it will really be very easy to make you understand.
Rohit-ya i have some knowledge of data modelling.Entities, attributes, i think data modelling consists of these things
Me- Right. Infact OOPS is very similar to data modelling except a few additional features which makes it better than data modelling.
Rohit-How is it related?
Me-In OOPS we have classes which is very similar to entities in data modelling.As an entity has attributes which specifies the characteristics of the entity,similarly we have classes with attributes.e.g a class Student can have attributes like student_name,student_roll etc.
Rohit- Its really interesting.
Me-Also as in data modelling we have instances of entity where one instance is different from other,similar in OOPS we have instances of class which is called an object.One object of a class is distinct from other.
Rohit- You really make things so simple.
Me- You remember, we can perform various C-R-U-D operations on instances in data modelling like insert,delete etc on SQL.Similarly in OOPS we have methods to perform various operation on objects.
Rohit-Then how is OOPS different from Data modelling?
Me-It is the methods that make OOPS not only different from Data modelling but also very useful tool to understand real world problems in programming terms.
Rohit-How is it so?
Me-See in data modelling we can only perform basic C-R-U-D operation but in method apart from the basic function we can perform many different functions by embedding business logic into the methods.e.g in data model we can only update an instance but in method we can use business logic like promoting an employee.We can use complex logic like promoting an employee from one designation to other or to transfer the employee from one department to other.It could also mean raising his/her salary.So a single method promote simultaneously operates on three attributes of class Employee.
Rohit-It very flexible.
Me- yes it is. You can have an user defined method to suit your particular business requirement.That can never be done in data modelling.
Rohit- so its only because of the methods that an OOPS has an edge over data modelling.
Me- No there are some other features which makes an OOPS far more superior to others.
First feature is data encapsulation.This is the process of binding data and methods other.That is data and methods are kept together.By this we get an added benefit that we can allows only selected users to access the data.This is also called data hiding whereby the data is hidden from users or data is not public
Secondly there is a feature called inheritence wherein the characteristics of a class can be inherited to a different class.This facilitates data reuse.e.g if a parent class is Order and a class Item inherits Order than the class Item has all the attributes of the class order along with some of the attributes specific to class Item.
Finally there is a feature called polymorphism which means one name different form.e.g a function + can be used to add to numbers also it could be used to add to strings.
These are the feature which makes OOPS very unique.
Rohit-So because of OOPS, we don't need Data modelling as OOPS is better than Data modelling.
Me- No its not like that.
We need data modelling to make OOPS persistence.
Rohit-What is persistence?
Me-Persistence means the data is not lost when the machine is turned off or restarted.
OOPS progams are generally volatile and the data as a result of any operation is lost as soon as the machine is turned off. But in a business enviroment we will always want recent and processed data as and when required.So for making OOPS persistence a database is used and here comes the concept of data modelling.
Rohit-So data modelling is required with OOPS.
Me- ya it is .We cannot avoid data modelling.Hope that your concept is clear now.
Rohit-ya . Thats why i ask you all these conceptual questions.Thank you very much for your effort.
Me- welcome.I will always be there to help you.Ok let us discuss something other than studies..
Rohit- ya sure.
Monday, November 3, 2008
Thursday, September 18, 2008
Understanding computer architecture
Yesterday i happened to meet my cousin Rohit who is in class 9th.He was very much fascinated to know about computers.We had the following conversation which tested all my understanding of computer architecture.
Rohit- hi bhaiya ,how are u?
Me- i m fine Rohit .So how is your studies going on.
Rohit-it is going on fine. Bhaiya I m really fascinated towards computer but i find it really difficult to understand computer architecture.
Me- what happened what is the problem? I think its very easy.
Rohit-no,last week my teacher explained in the class about computer architecture but i could not understand it at all.Rather i was scared by the use of many technical words like hardware,application,single-tier,multi-tier etc.Bhaiya can you please explain me this concept.
Me-ya sure why not.ok let me start with the basic.
First of all you must understand what is a hardware and what is a software?
Rohit-ya i have some idea about it,but i m not very clear.
Me-ok let me explain.A hardware is something which we can touch like a moniter,keyboard,cpu etc
And a software is something by which we perform a particular task like writing a text document using MS word.
Rohit- Can we give me some more examples
Me-sure.you must be listening to music in your computer using window media player or editing a photo using adobe photo shop.Here media player and adobe photo shop are software and your computer is the hardware.
Rohit -oh then what is computer architecture.
Me-computer architecture is the way in which the hardware and software are arranged to perform a particular task.
Rohit-ok
Me- We have two things, one is data and other is application running on this data.In my previous example the music file is the data and the media player is the application that runs on the data.
Rohit-things are getting clearer now.
Me-Based on this arrangement of hardware and applications we have different type of computer architecture like single-tier,two-tier,three-tier and multi-tier.
Rohit-can you explain me in details?
Me-First of all let me explain what is single-tier architecture.
In a single-tier architecture both the data and application resides on the same machine.
Rohit-ya this is true for every computer.
Me-No,you have only seen personal computer.There are other computers which perform many complex tasks
Rohit-i see.
Me-A single-tier architecture works better only for single users.Multiple users cannot access the same common data.
Rohit-How can we solve this problem?
Me-So we have two-tier architecture.
In a two-tier architecture,the data is kept on a separate machine called server and an instance of application is present in the computer of every users.All the different users are connected by a common network called a LAN.
Rohit-ya,i have seen computer connected through LAN in my school.
Me-ya,you must have used the TELNET server in your school.So, in two-tier system multiple users can access the same data simultaneously.Here the users are called clients and this model is also called client-server model.
Rohit-so two-tier architecture is the best architecture available.
Me-no,there is one major drawback of two-tier architecture.It is very difficult to maintain when the size of network becomes large.Suppose a new version of a software comes then we have to upgrade all the users, which is a big challenge.
Rohit-so, we have three-tier archtecture.
Me- Right.
The three-tier architecture has three parts.In the first part data is kept and it is called data server. Here the application is split into two parts.Thus the first part contains the application called the application server and every users just have the user interface part of the application which is the second part.Generally lot of data transfer takes place between the application part and the data part so both this machines are kept close to each other.Other user are connected to the application and data through internet
Rohit-Does this solve all the problem.
Me-ya to some extent.Here atleast it is not required to upgrade all the users application.The application is kept on a single location which could easily be upgraded.
Rohit-does it have any drawback?
Me- ya it does.In this type of architecture also we face the same problem i.e we need to install and upgrade the user interface in the machines of every users.So we go for multi-tier archtecture.
Rohit-so how does the multi-tier architecture operates.
Me--In multi-tier architecture we are free from the problem of installing the same user interface in the machines of every users.In this architecture any one can access the data and application using any web browser like mozilla or Internet explorer.
Rohit-How is it achieved?
Me-Just like the three-tier architecture here the data server and the application server are kept closer to each other,another machine called the web server is kept between the application server and the users are connected to the web server via internet.
Rohit-What is the use of the web server?
Me-.The main function of the web server is to convert the data from the application server into a format that can be easily understood by anyone using a web browser.So it is not required to install the application in any machines also any new user can access the data with the help of a web browser.This architecture is very easy to maintain and so it is widely used now.
Rohit-i use mozilla.I access a lot of website using it. .
Me-Ya .The best example is the yahoomail which you use to check your mail.
Rohit- Does it have some drawbacks?
Me-Ya,the only drawback here is security.
Data transfer is vulnerable to attacks from hackers.
Rohit- you mean virus,spam.
Me-ya and many other type of attacks which you will learn in due course of time.
Rohit-Is there any solution?
Me- Let me tell you one thing,no network is 100% secured.We can ensure some security by having firewall.
Rohit-What is a firewall?
Me-A firewall is a software and hardware combination which allows only certain data to pass through it.It is just like a check gate which allows only known vehicles to enter.So it gives some security.And there are architectures with firewalls which is known as secured web based architecture.
Rohit-What is its structure?
Me-It is same as multi-tier but here we place a firewall between web server and the users.
Rohit-thanks a lot bhaiya.I think that now i have more knowledge about computer architecture than anyone else in the class.
Me-my pleasure.I hope you score good marks in your exams now.
Rohit-ya,definitely.
Me-ok Rohit you really tested my skills in computer science.It is always easy to understand than to make others understand.See you then.bye
Rohit-bye
Rohit- hi bhaiya ,how are u?
Me- i m fine Rohit .So how is your studies going on.
Rohit-it is going on fine. Bhaiya I m really fascinated towards computer but i find it really difficult to understand computer architecture.
Me- what happened what is the problem? I think its very easy.
Rohit-no,last week my teacher explained in the class about computer architecture but i could not understand it at all.Rather i was scared by the use of many technical words like hardware,application,single-tier,multi-tier etc.Bhaiya can you please explain me this concept.
Me-ya sure why not.ok let me start with the basic.
First of all you must understand what is a hardware and what is a software?
Rohit-ya i have some idea about it,but i m not very clear.
Me-ok let me explain.A hardware is something which we can touch like a moniter,keyboard,cpu etc
And a software is something by which we perform a particular task like writing a text document using MS word.
Rohit- Can we give me some more examples
Me-sure.you must be listening to music in your computer using window media player or editing a photo using adobe photo shop.Here media player and adobe photo shop are software and your computer is the hardware.
Rohit -oh then what is computer architecture.
Me-computer architecture is the way in which the hardware and software are arranged to perform a particular task.
Rohit-ok
Me- We have two things, one is data and other is application running on this data.In my previous example the music file is the data and the media player is the application that runs on the data.
Rohit-things are getting clearer now.
Me-Based on this arrangement of hardware and applications we have different type of computer architecture like single-tier,two-tier,three-tier and multi-tier.
Rohit-can you explain me in details?
Me-First of all let me explain what is single-tier architecture.
In a single-tier architecture both the data and application resides on the same machine.
Rohit-ya this is true for every computer.
Me-No,you have only seen personal computer.There are other computers which perform many complex tasks
Rohit-i see.
Me-A single-tier architecture works better only for single users.Multiple users cannot access the same common data.
Rohit-How can we solve this problem?
Me-So we have two-tier architecture.
In a two-tier architecture,the data is kept on a separate machine called server and an instance of application is present in the computer of every users.All the different users are connected by a common network called a LAN.
Rohit-ya,i have seen computer connected through LAN in my school.
Me-ya,you must have used the TELNET server in your school.So, in two-tier system multiple users can access the same data simultaneously.Here the users are called clients and this model is also called client-server model.
Rohit-so two-tier architecture is the best architecture available.
Me-no,there is one major drawback of two-tier architecture.It is very difficult to maintain when the size of network becomes large.Suppose a new version of a software comes then we have to upgrade all the users, which is a big challenge.
Rohit-so, we have three-tier archtecture.
Me- Right.
The three-tier architecture has three parts.In the first part data is kept and it is called data server. Here the application is split into two parts.Thus the first part contains the application called the application server and every users just have the user interface part of the application which is the second part.Generally lot of data transfer takes place between the application part and the data part so both this machines are kept close to each other.Other user are connected to the application and data through internet
Rohit-Does this solve all the problem.
Me-ya to some extent.Here atleast it is not required to upgrade all the users application.The application is kept on a single location which could easily be upgraded.
Rohit-does it have any drawback?
Me- ya it does.In this type of architecture also we face the same problem i.e we need to install and upgrade the user interface in the machines of every users.So we go for multi-tier archtecture.
Rohit-so how does the multi-tier architecture operates.
Me--In multi-tier architecture we are free from the problem of installing the same user interface in the machines of every users.In this architecture any one can access the data and application using any web browser like mozilla or Internet explorer.
Rohit-How is it achieved?
Me-Just like the three-tier architecture here the data server and the application server are kept closer to each other,another machine called the web server is kept between the application server and the users are connected to the web server via internet.
Rohit-What is the use of the web server?
Me-.The main function of the web server is to convert the data from the application server into a format that can be easily understood by anyone using a web browser.So it is not required to install the application in any machines also any new user can access the data with the help of a web browser.This architecture is very easy to maintain and so it is widely used now.
Rohit-i use mozilla.I access a lot of website using it. .
Me-Ya .The best example is the yahoomail which you use to check your mail.
Rohit- Does it have some drawbacks?
Me-Ya,the only drawback here is security.
Data transfer is vulnerable to attacks from hackers.
Rohit- you mean virus,spam.
Me-ya and many other type of attacks which you will learn in due course of time.
Rohit-Is there any solution?
Me- Let me tell you one thing,no network is 100% secured.We can ensure some security by having firewall.
Rohit-What is a firewall?
Me-A firewall is a software and hardware combination which allows only certain data to pass through it.It is just like a check gate which allows only known vehicles to enter.So it gives some security.And there are architectures with firewalls which is known as secured web based architecture.
Rohit-What is its structure?
Me-It is same as multi-tier but here we place a firewall between web server and the users.
Rohit-thanks a lot bhaiya.I think that now i have more knowledge about computer architecture than anyone else in the class.
Me-my pleasure.I hope you score good marks in your exams now.
Rohit-ya,definitely.
Me-ok Rohit you really tested my skills in computer science.It is always easy to understand than to make others understand.See you then.bye
Rohit-bye
Subscribe to:
Posts (Atom)