Part I

The Basic Order Inventory System should have the following features:

1) Main Inventory System

This will have details of the stock in the company stores.

It should have the following fields-

a) Product (compulsory field)
b) Quantity (compulsory field)
c) Unit Price (compulsory field, in INR)

The company has 7 products at present, hence, there should be an accomodation for these. Besides, it should have a capacity to scale up if the organization desires to add more products in its inventory.

2) An Order Database

This will be used to store details of the orders places by the customers.

It should have the following fields:

a) Customer name (compulsory field)
b) Address
c) Product (compulsory field, should be the same as the ones in the main inventory)
d) Quantity (compulsory field)
e) Order Value (compulsory field, in INR)

As soon as the order is placed, the system should be able to check whether there is enough stock available with the company to complete the order. If not, then a message stating that should appear. If the order is completed then the order value should immediately be calculated. The system should be realtime enabled.

The Inventory Management System

Inventory Database
Inventory View
Order Database
Order View

Software for early computers was exclusively written in assembly language for many years. Higher level programming languages were not invented until the benefits of being able to reuse software on different kinds of CPUs started to become significantly greater than the cost of writing a compiler. The very limited memory capacity of early computers also created many technical problems when implementing a compiler.
Towards the end of the 1950s, machine-independent programming languages were first proposed. Subsequently, several experimental compilers were developed. The first compiler was written by Grace Hopper, in 1952, for the A-0 programming language. The FORTRAN team led by John Backus at IBM is generally credited as having introduced the first complete compiler, in 1957. COBOL was an early language to be compiled on multiple architectures, in 1960.
In many application domains the idea of using a higher level language quickly caught on. Because of the expanding functionality supported by newer programming languages and the increasing complexity of computer architectures, compilers have become more and more complex.
Early compilers were written in assembly language. The first self-hosting compiler — capable of compiling its own source code in a high-level language — was created for Lisp by Hart and Levin at MIT in 1962. Since the 1970s it has become common practice to implement a compiler in the language it compiles, although both Pascal and C have been popular choices for implementation language. Building a self-hosting compiler is a bootstrapping problem — the first such compiler for a language must be compiled either by a compiler written in a different language, or (as in Hart and Levin’s Lisp compiler) compiled by running the compiler in an interpreter.

Part I

Query I – To find out the details of books issued to students

Query II -To find out the details of books published by Wiley

Query III – To find the details of students whose fine is more than 50

Link to the Queries

http://db.zoho.com/ZDBDataSheetView.cc?DBID=23845000000003001&OBJID=23845000000004178

Part – II

Steps required to accomplish Part A:
Go to http://db.zoho.com/
Creating two database tables-
1) Sign in to http://db.zoho.com/
2) On the create database page select one of the four options indicated. For example- select import .XLS, .CSV option.
3)Create the tables you want to create.

4) Select Next.
5) Enter the table name in the window that appears next(step 2 of 3), click create. In the Import Data Details window that appears next, click close. The database table would get created.Repeat the procedure for the second database table.

Queries:

1.) Locate the New option in the top left corner of the page and in the drop down box click the New Query Table option.
2.) A new query table creation option would appear next. Enter the select command that you require, in the space provided and click execute. The query table would get created.
3) Repeat the procedure for the other two query tables.
4) In each of the query table select the embedding option frpm the Publish option on the top of the page. Select the URL from the window that appears.
5) Paste the URL in the post in your blog after making the necessary changes to the size of the table.
6) Publish the post.

Roll Number

Name

Email Address

Phone Number

Late Fine Outstanding

Book Title

Book Author

Publisher Name

Book ISBN

Book Price

Number of copies

Category Name

Library Catalog Number

Quality of the Copy

Issue Date

Return Date

STUDENT

BOOK LIST

CATEGORY

Roll Number (PK)

Library Catalog Number (PK)

Category ID (PK)

Issue ID (FK)

Quality of Book

Book ID (FK)

Name

Number of copies

Category Name

Email Address

 

Phone Number

 

Late Fine Outstanding

 

 

BOOK

ISSUEDETAILS

Book ISBN (PK)

Issue ID(PK)

Library Catalog Number (FK)

Book ISBN (FK)

Category ID (FK)

Issue Date

Book Title

Return Date

Book Author

 

Publisher Name

 

Book Price

 


 

This dialogue talks about two friends – Humpty and Dumpty. Humpty is doing software engineering and Dumpty is currently doing his MBA. One evening,

Humpty: Why are you so tensed today?

Dumpty: Our Systems Engineering professor taught us a weird topic today. I was really zapped by what he was teaching today and to add to that, he has asked us to submit an assignment explaining the topic in a dialogue form. He was talking about some tyres (tier) and architecture today. I don’t know how am I going to do the assignment.

Humpty: I think I can help you out. I know this topic and can explain it to you.

Dumpty: Thanks dude.

Humpty: Let me start by explaining what architecture is. Tell me one thing: what is the first step in getting your house built?

Dumpty: We hire an architect and get the plan made for our house.

Humpty: Exactly! In computer parlance, your plan is the architecture. So we can define Architecture as the blue print, or the underlying schematics used to map out or design an application.

Dumpty: Got it! Can you explain the tyres that our professor was talking about? What relation does a car tyre have in Systems Engineering?

Humpty: Your professor was not talking about car tyres buddy. He was talking about tiered architecture.

Coming back to our example of a house plan, how does an architect design the house? He starts by deciding how many rooms will be there. Similarly, for system architecture, a tiering is there. A tiered architecture involves breaking up an application into logical chunks, or tiers, each of which is assigned general or specific roles. Tiers can be located on different machines or on the same machine where they are virtually or conceptually separate from one another.

Dumpty: Our professor also talked about the types of these tyres (tiers).

Humpty: There are various types of system architecture like – Single tier, two tiers, three tiers, three tier web based.

For understanding single tier architecture, consider yourself sitting on a desktop computer using Microsoft Access to load up a list of personal addresses and phone numbers that you have saved in MS Windows’ “My Documents” folder.  This is the most basic example of one-tier database architecture.  The program (Microsoft Access) runs on the your (user’s) local machine, and references a file that is stored on that machine’s hard drive, thus using a single physical resource to access and process information.

Now coming to two tier architecture, the simplest explanation would be of a Microsoft Windows based client program that accesses a server database such as Oracle or SQL Server.  Users interact through a GUI (Graphical User Interface) to communicate with the database server across a network via SQL (Structured Query Language).

 

For understanding a three tier architecture, consider an intermediary in money markets who takes commission from both sides. Similarly we have an intermediary in a three tier architecture which is called a middle tier (business tier), which is an application server that houses the business logic.  This middle tier relieves the client application(s) and database server of some of their processing duties by translating client calls into database queries and translating data from the database into client data in return.  Consequently, the client and server never talk directly to one-another like when we lend money through an intermediary who goes to the lenders and borrowers and the two do not talk to each other directly.

Now if a you web-enables the whole thing, the clients would only require a web-browser via which he would get his application. And for this the company would require a web server. This architecture is known as a multitier architecture.

Dumpty: What do we require so many architectures?

Humpty: It depends on the user’s requirements. Each approach has its own advantages and disadvantages.

The 1-tier approach is a simple design that’s easy to distribute, it does not scale well. In addition, you are limited to running the entire application (including the user interface) on single machine.

Although the 2-tier approach increases scalability and separates the display and database layers, it does not truly separate the application into highly specialized, functional layers. Because of this lack of specialization, most applications quickly outgrow this model.

The 3-tier approach increases scalability and introduces a separation of business logic from the display and database layers, it does not truly separate the application into specialized, functional layers.

Dumpty: Thanks a lot buddy.

 

 

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Follow

Get every new post delivered to your Inbox.