142
A PROJECT REPORT ON GLOBAL SKY SHOP Submitted in the partial fulfillment of the requirement for the Award of degree of MASTER OF COMPUTER APPLICATION Submitted by: Under the guidance of: Nitin Agrawal Mr. Subhash Rathi 0302914050 Sr. Project Manager MCA 6 th Semester TVM India Pvt. Ltd. (2003 – 2004) Submitted to:

Global Sky Shop

Embed Size (px)

Citation preview

Page 1: Global Sky Shop

A PROJECT REPORT ON

GLOBAL SKY SHOP

Submitted in the partial fulfillment of the requirement for the Award of degree of

MASTER OF COMPUTER APPLICATION

Submitted by: Under the guidance of:

Nitin Agrawal Mr. Subhash Rathi0302914050 Sr. Project ManagerMCA 6th Semester TVM India Pvt. Ltd.(2003 – 2004)

Submitted to:

KIET SCHOOL OF COMPUTER APPLICATION

KRISHNA INSTITUTE OF ENGINEERING & TECHNOLOGY, GHAZIABADUP TECHNICAL UNIVERSITY, LUCKNOW

Page 2: Global Sky Shop

CERTIFICATE

This is certify that this project entitled “SHOPPING MANAGEMENT

SYSTEM ” Which is being submitted by MR. NITIN AGRAWAL as the

partial fulfillment of the degree of MASTER OF COMPUTER

APPLICATION, U.P. Technical University, Lucknow for the academic

year 2003 –2006. This project is completed under the supervision of TVM,

India.

INTERNAL EXAMINAR EXTERNAL EXAMINAR

Professor R. RadhakrishnanPrincipal,

KIET School of Computer Applications,Krishna Institute of Engineering and Technology

Page 3: Global Sky Shop

Declaration

I, Nitin Agrawal , hereby declare that the report of the project entitled

“SHOPPING MANAGEMENT SYSTEM” has not been presented as a part of

any other academic work to get any degree or certificate except to KIET

School of Computer Applications, Krishna Institute of Engineering and

Technology, Ghaziabad for the fulfillment of the requirement of the award of

degree of MASTER OF COMPUTER APPLICATION.

Date:Place: Nitin Agrawal

Page 4: Global Sky Shop

Acknowledgements

Among the many people who have been enormously helpful in the

preparation of this project I would like to thank Mr. Subhash Rathi, Project

Manager and Mr. Nimesh Narayan, Software Engineer, TVMIndia, Delhi for

providing the inspiration to undertake this project and continuous support,

encouragement and guiding me at all stages.

I would like to acknowledge the great help of Mr. Radhakrishnan,

Head of The Department of Computer Science, Krishna Institute of

Engineering and Technology.

Specially, I wish to express my immense sense of gratitude to Mr.

Amit Gupta, Senior Lecturer in Department of Computer Science and

Application, Krishna Institute of Engineering and Technology, for the proper

guidance, support and admirable help for understanding this project

I would like to acknowledge the importance and great help of Mr.

Ritesh Dwivedi, KIET MCA student 6th semester who is my teammate in this

project. He made his best efforts to support me to complete the project.

I would also like to thank my classmates who have provided me the

support to complete the project.

My report will remain incomplete if I do not make a mention about

parents who expended all moral and financial support to me. I would like to

express special thank to my parents because they helped me in my project

study.

Nitin Agrawal

Page 5: Global Sky Shop

COMPANY PROFILE

About TVM India

TVM India Pvt. Ltd. is an independent Indian company established in 1998. It

deals in the area of E – COM business. TVM India was crated to help its

client meet changing customer needs, expand their markets through

competitive products and services, and overcome technological challenges

while at the same time providing the highest services levels in the industry.

Since its formation in 1998, it has grown up into worldwide

organization with customer in more than 50 cities in India supported by nearly

1000 employees. It is serving more than 10, 000 customers with more than

500 products and host of services.

Providing services to web customer is no longer just an enabler that

supports the business; it is a force of changes in its own right, one that is re-

writing business models. To succeed in today’s highly competitive, complex

and ever evolving business landscape which is marred with a continuous

influx of technological changes; companies need to converge business

objectives with technological innovation.

TVM India provides a wide range of end-to-end services and solutions

to its clients, which enable them to make informed and wise investments in e

- shopping, in synch with their business objectives. Our service portfolio

offers companies assistance right from conceptualization to

implementation. For over a decade, TVM India has been serving its clients

from its offices in Delhi, Bombay and Pune.

Application Development

TVM India has its own full fledged IT Department bestowed with software

professionals who have a zest for working and can make a real difference

with their astounding capabilities in the existing market which provides

Page 6: Global Sky Shop

innumerable opportunities for growth of the people and the nation. We, at

TVM India, focus on the total satisfaction of the customer TVM India has

earned a reputation as one of the fastest growing IT company in the industry.

The company has successfully developed new applications using

customized software development paradigm – from requirement analysis to

implementation. Its onsite/offshore approach provides Clients with a

framework for application development outsourcing and ensures that the

solution is "to customer specification, on time and within budget". Its teams

have expertise in JAVA. The company uses state-of-the-art tools for our

development efforts. Company provides Telephonic services to the clients for

sales and support for e – shopping on line.

As the leading provider of online shopping, TVM India is the gateway

to anywhere, anytime, anyway financial services. We offer the solid

technology foundation to our clients needs to survive and flourish. Over the

years the business has grown; however our commitment to customer

satisfaction has not been deterred. In fact, the changes the company has

initiated were done solely to customize our operation to fit the ever-changing

needs of our customers.

We have initiated a quality focused customer service program which

allows us to better understand and meet our customer’s needs and to provide

the quality on time and delivery customers have come to exp-act from TVM

India Ltd.

Our company philosophy, is to provide reliable services, exceptional support

and affordable prices to include the business for their online shopping to

continuously achieve our own high standards, TVM India Ltd employs only

experienced and talented professionals and has also built a large network of

independent professionals.

Page 7: Global Sky Shop

1) Table of Contents:-

1. Introduction …………………………………………………………………8

1.1 Abstract of Project……………………………………….8

1.1.1 Title of the Project…………..8

1.1.2 Objective

1.2 Problem Specification/Need of Project

2. Feasibility Study

2. Software Requirement Specifications

3.1 Introduction

3.2 Selection of Technology/Specific Requirements

3. Design

4.1 ER Diagram

4.2 Data Flow Diagram (0 & 1 Level)

4.3 Modules

4.4 Database

4.5 Input-Output form (Screen Layout)

5. Coding

6. Implementation/Technological Environment

7. Testing & Result

8. Enhancement

9. Limitations

10. Conclusion

11. Bibliography

Page 8: Global Sky Shop

1) Introduction

TVM India, an independent Indian company has a lot of products

belong to several categories. Some of the categories are health, furniture,

kitchen, kids, sports etc. There are so many products of each category. TVM

India advertises its product on television through which customer can collect

the information about the product. The main goal of TVM India is to take

order from customer, via different resources like phone line etc. and deliver

the product at the home of the customer. Other than this, there are so many

departments and employee in the company. There are several records

related to several department, employee, category, products etc., which have

to store to maintain the performance of the company and to calculate the

overall business related information.

1.1) Abstract of the project

1.1.1) Title of the project

The title of the project is “Global Sky Shop”. The title of the project has

a very good match with the project’s functionality and its requirements.

TVM India allow the customer to bye a product on line. Presently there

are so many web users in India. This project is made to achieve the

functionality to allow the customer to buy a product on line thus make

the application globally.

1.1.2) Training place

TVM India Pvt. Ltd.Udyog ViharPhase VInstitutional Area,Gurgaon.

Page 9: Global Sky Shop

1.1.3) Project Guide

Mr. Subhash RathiSoftware Engineer

Mr. Nimesh ArayanSoftware Engineer

1.1.4) Software Support

Platform: Windows 98/NT/2000, LinuxLanguage: JavaRDBMS: MYSQLOther Tools: Tomcat, Struts Framework

1.2) Objectives

To provide customer with a global experience of on line

shopping and meanwhile ensuring customer satisfaction.

To increase the functionality of order management. We are

determined to enhance our customer base through perfect

service and ensure secure transaction through web.

To maintain the database of company through web applications

To maintain all the information of all the products and their

availability.

1.3) Problem Specification

Page 10: Global Sky Shop

1.3.1) Problem Description

There are so many customer of the company who frequently use the

services of the company. Also there are so many department and employees

in the company. To maintain all the information of customers and employee is

not a easy task. The problem is to store all the required information of all the

departments and employees of the company as well as the information of the

entire regular customer. There is also a requirement to allow the customer to

bye any product on line and providing him all the services like delivery o9f

product, inquiry about the product etc.

1.3.2) Existing System

The existing system is a manual system in which all the information is

stored in file. All the customer interaction related activities are done by

telephone. To tell the related information about the product telephone is

used. Telephone Operator see the manual of product to tell the information.

To store the database of several departments and employee, all the entries

are stores in files.

1.3.3) Shortcoming of existing system

There are several problems in existing system, which can be

overcome by using an alternate system. Some of the problems of existing

system are:

All the data of several departments and employees are

stored in files. It is difficult to maintain all the information in

files for a long time.

Operator has to see the manual of products to see the

information about a product.

Customer can make an order on the telephone in present

system after seeing an advertisement on the television.

There is no way to tell the customer about all the products of

the company.

Page 11: Global Sky Shop

In peak hours telephone services does not work properly

which generate some problems to communicate with user.

1.3.4) Business need

This project is developing to overcome the above shortcomings of the

existing system. In the proposed system all the applications of our business

will be controlled with the help of web application. Some points in support to

develop new system are

Now a day, there are so many web users who can access our

web application thus increasing our customer strength globally.

Customer will interact with our web application which will

provide a brief description of all the available products;

Telephone operator can also see the product related

information on our web application rather than searching

manual of products.

All the internal information of the company will be stored in the

database at the server machine through our web application. It

will reduce the responsibilities of the administrator to store all

the information in files.

Response time to the customer’s order is the most important

considerable function of the company. Proposed system will

reduce the response time effectively thus providing better

services to the customer.

This project will have realistic estimate of the efforts, schedule

and size on the basis of historical data.

It also satisfy the requirements of CMM, CMMI and ISO-

9000:2000 related to measurement and analysis.

1.3.5) Benefits

Provides deep insight in the project/product development

Realistic estimates for Effort, schedule and size

Historical database to estimate the project/product

Page 12: Global Sky Shop

Continuous tracking and monitoring of the health of the project/product

To identify the bottlenecks of the product development process

Productivity Improvement

Continual improvement through measuring the process/ product/ project performance

Help in Decision Making

Time Saving in data collection, analysis and reporting

1.3.6) Functions and features

Customer will see the information like name of product, price of

product, image of product etc. on his own computer through

web.

A brief description of the product will be displayed to the

customer

An account of regular customer will be maintained.

A non-regular customer needs not to be registered.

Customer will be able to bye more than one product in a single

order

Administrator will also interact with our web application to

maintain the database of several departments and employees.

Administrator will have a control on the product related

information through our web application.

Page 13: Global Sky Shop

2) Feasibility study

2.1) Technical Feasibility:

It is believed that the system is technologically feasible for the following reasons:

The problem that the system addresses is very much suited to a computational environment. The tasks are repetitive, simple and very time consuming to humans, but are easily accomplished by computers.

The system will minimize human errors

The proposed solution is practical because

The company has its own IT department, which can operate the

system.

All the tools to develop the application are easily available

Relevant solution is mature enough to be easily applied to our

problem

We are in need of following technologies

We will use some matured technologies to develop the project

like Report development tools, JAVA, Struts Framework, MySql

etc.

Technical members of the team have good knowledge of all the

required technologies to develop the project.

Required technology is available in house

Page 14: Global Sky Shop

The technologies which will be used to develop the project and

which are required to run the project for a long time, are easily

available as these are the open source, matured proven

technologies.

2.2) Economic feasibility:

TVM India has a good economical position in the market. Most of the

requirements of this project can be fulfilled with existing alternates. currently,

making some telephone calls to customer is more costly than the estimated

cost after completion of this project. It is believed that the system is

economical feasible for the following reasons:

Project is justified as it will benefit outweigh cost by reducing

paper work and reducing telephone cost.

Benefits of the project will accrue to the company just after its

completion

The outline of the economic feasibility is that, it is the best

alternate to increase the customer strength as well as the

productivity of the company among all the existing alternates.

2.3) Benefits:

Every system is developed for the growth of the organization resulting

benefits to the organization. This project is not exception for the above

statement. There are some tangible and non-tangible benefits of his project,

which are as follows:

2.3.1) Tangible benefits:

It will increase the sale as the web user can see all the products

on the web and can order more than one product in a single

request.

Page 15: Global Sky Shop

All the functionality will be governed automatically by the

computer therefore this project will reduce the possibilities of

errors.

This product will increase the throughput of the system, as

more work will be performed in short time.

With the help of this project, company will use the staff time

effectively as it will reduce the response time as well as total

time of the work.

2.3.2) Non-tangible benefits:

This project will increase the quality of the services by replacing

the present file system with automated computer system.

This project will increase the relationships with the customer,

as there are so many web users in today’s environment who

can interact with us easily through our web application.

With the help of this project, company can improve morale of

the staff as it will increase the productivity while reducing overall

time at the same time.

2.4) Costs:

The development and purchasing cost of the project are under

estimate of the company. Cost of development and purchasing is not much

expensive in comparison to benefits. Cost can be divided into two main

categories.

2.4.1) Development cost

All the members of the team have expertise in different

functional areas therefore there is no need to hire a consultant

to develop this project

Java, Struts Framework, Html, Tomcat, MySql etc. are the

software tools, which will be used to develop this project. All

Page 16: Global Sky Shop

these tools are open source and thus over all project have a

very low cost.

Companies have to establish a server on global network.

Temporarily, and to register its domain name as on some other

server by paying some money.

2.4.2) Operational cost

2.5. Company will have some employee in its IT department to manage

the site time to time.

2.6. Server is required to run continuously 24 hours every day.

2.5) Operational feasibility

It is believed that the system is operationally feasible for the following

reasons:

The look and feel of the project will be so simple to be

understand. Any new customer will be able to communicate

with the system without any help of any other person.

Probability of failure of the system is very less. It is assumed

that this project will work without any error until there is any

changing requirement of customer or administrator.

Employees will feel themselves in heaven with this project, as it

is very easy to handle in comparison to existing system.

Page 17: Global Sky Shop

3) System Requirement Specification

3.1) Introduction

The software requirement specification is produced at the culmination of the

analysis task. The function and performance allotted to the software as part of

engineering are refined by establishing the complete information description, a

detailed functional description, a representation of system behavior, an indication

of performance requirement and design constrains appropriate validation criteria,

and other information pertinent to requirements.

TVM India Pvt. Ltd. is an independent Indian company established in 1998. It

deals in the area of E – COM business. TVM India was crated to help its client

meet changing customer needs, expand their markets through competitive

products and services, and overcome technological challenges while at the same

time providing the highest services levels in the industry.

This software is developing to enhance the performance of the company

globally. TVM India, a marketing based company, has so many products to be

sold to several customers. Customer of TVM India is a general person who can

see the product related information on the television by watching advertisement

of the product. TVM India provides the facility of home delivery of products to

the customer. In present scenario customer makes a telephone call to the

company and places his order.

3.1.1) Purpose

Page 18: Global Sky Shop

The primary goal of this software is to develop a web-based application,

which will allow the customer to buy the product on – line through Internet.

Besides developing the web-based application to be used by customer, this

software will also allow the administrator, manager and other employees of the

company to manage and control the application. Secondary goal of this software

is to maintain all the records of department, employee etc. to have a better control

on the application.

This software is developing for successful replacement of the new technology

from older one for better performance and better utilization of the resources. It

will also spread out the functional area of the organization globally.

3.1.2) Scope

The Global Sky Shop is a software application to assist in the purchasing of

the products by the customer. The detailed study of the requirement show that

user of Global Sky Shop would respond favorably to customer. It will help the

user satisfying the following objectives:

Allow the customer to make an on line shopping

Maintain the information of regular customer

Maintain the database of employees

Reduce reports and frustration in work scheduling, especially by

reducing telephone calls and file entries.

Minimize fragmentation of the working day and unnecessary

interruption.

Maximize employee-working strength during the day.

Preserve individuals? Privacy aspects of individuals’ information.

3.1.3) Definitions, acronyms and abbreviations

“Global Sky Shop” for TVM India is a software

Customer is general user who can buy the product(s) on line

Administrative is the employee of the company who will control the

application.

Page 19: Global Sky Shop

Customer support executive is the employee who will assign the

customer order to be delivered to delivery boy.

Delivery boy is the employee who will deliver the product to the

customer

Users of our application are customer and employees.

3.1.4) References:

Related references can be seen on our site: http:\\www.tvmindia.com

3.1.5) Overview

This document contains all the functional and behavioral descriptions along

with validation criteria. Efforts have been done to find out maximum

information and to document the software in a proper way.

3.2) Overall description

3.2.1) Product perspective

3.2.1.1) System Interface:

The Global Sky Shop depends on online shopping for querying available

products and their description. The software also depends on online

interaction of employees for control related queries. The global sky shop will

use a relational database as backend for data storage.

3.2.1.2) User interface

“Global Sky Shop” will provide an easy-to-use graphical user interface (GUI)

as part of the average user’s working web environment, which will be used

for buying any product by the customer and for control the application by the

employees having different roles.

Page 20: Global Sky Shop

3.2.1.3) Hardware interface

Server machine

3.2.1.4) Software Interface

Regular schedule information will continue to be serviced using the on line shopping with Global Sky Shop.

3.2.1.5) Communication interface

Several new customer and existing customer can make an order to buy one or

more products and also can interact with the application via Internet by using

simple http protocol on the website http:\\www.tvmindia.com. Employees of

the company can also use the same website to control the application.

3.2.1.6) Memory constraints

The Global Sky Shop’s front-end should be lightweight. It should provide

comfort to the end user but as it will be the permanently running software

agent it should not consume too much of the average corporate PC’s memory.

The backend of the application can consume more memory than its front-end

but should not limit the throughput of other backend software.

3.2.1.7) Operations

Most of the operations of the application are user-initiated. The most

important operations of the applications are getting customer order, and

controlling the application. Change in the number of products or categories

will be controlled by the administrator. Any information related to department

or employee will also be governed by the administrator.

3.2.2) User characteristics

Page 21: Global Sky Shop

The target group of Global Sky Shop user is the web users who will use this

application for on-line shopping. Besides customer, Global Sky Shop users

will be typical corporate employees with average skills and training. The user

interface design must take care of this situation.

3.2.3) Constraints

The designer should choose a software platform, which is easily available on

most hardware platforms. Java would be preferable. The designer should also

choose a suitable database for backend to store the data. MYSQL is the

proposed database.

3.2.4) Assumptions and dependencies

Customer of the application may be any person who can access the

Internet.

All the necessary information, related to a product, will be displayed

to the customer.

Customer will be able to buy any number of products in a single

order.

This application will be applied concurrently with the existing system.

There are several roles of employees, which will decide the

permissions of the employee for the database access and also decide

their functional areas.

User can access the application at any time therefore server will

remain in execution continuously.

Data will remain in the database for a long time. Only administrator

has the permissions to delete any record from the database.

All the products will be displayed to the customer under different

categories.

Existing customer is the customer who has been registered himself

with our application and whose data has been stored in the database.

Page 22: Global Sky Shop

There are several departments under which there are several

employees.

Every department will have one manager.

Customer can access this application by using any web browser.

Customer can access this application by using any operating system.

Any problem will not be encountered to the user.

3.2.5) Apportioning of requirements

Support for virtual meeting (involving videoconferencing and

teleconferencing technology, multiple time zones, and resources that

go beyond traditional A/V equipment).

Support for type of attendees at meeting, because some attendees and

more important than others for that meeting and their schedule

therefore take priority.

Support for scheduling meetings involving people who do not have an

accessible on line shopping.

The initiator will provide schedule, although not necessarily

immediately at the time of calling of meeting.

3.3) Specific Requirements

3.3.1) User login

Global Sky Shop will facilitate to the existing customer to have a user

login.

Global Sky Shop will maintain the information of user’s login name and

password to identify the customer.

Global Sky Shop will show an error message to the user if his/her login

name and password doesn’t match with their corresponding stored values.

Global Sky Shop will permit the user to change his/her password if he/she

has been forgotten his/her password after confirming some detailed.

Page 23: Global Sky Shop

Global Sky Shop will display a registration form for new customer to

become a registered user.

3.3.2) Product’s display

Whenever customer visits the site first, some popular products will be

displayed to the customer.

All the categories will be displayed to the customer. Customer can select

any category at any time during on line shopping.

Before buying a product, a full description of the product will be

displayed to the customer.

Global Sky Shop will facilitate the customer to buy more than one

product at a time. All the products, selected by the customer in a single

order, will be displayed to the customer before final order.

Global Sky Shop will display the cost of individual product as well as the

total cost of single order.

Global Sky Shop will facilitate the customer to choose the quantity of a

single product to be purchase.

3.3.3) Order by the customer

Customer is an ordinary web user.

Customers will be divided into two categories: - Existing customer and

Guest customer.

Global Sky Shop will store all those information of the existing customer,

which is necessarily required to identify the customer.

Global Sky Shop will provide login name and password to the existing

customer.

A guest customer may become an existing customer after submitting

required information.

Global Sky Shop will also conduct a check to distinguish the human

customer from automatically generated user (CAPTCHA).

Page 24: Global Sky Shop

Existing customer will be able to change his/her own information, like –

login name, password, address of delivery etc.

Global Sky Shop will not store full information of the guest customer.

Global Sky Shop will collect name and phone number of the guest

customer. Telephone operator then make sure on the telephone that the

order has been placed by the right person and will continue further

process.

All the popular products will be shown to the customer.

Each product will have its corresponding image, which will be displayed

to the customer.

Customer will be able to see all the categories of the products. Whenever

he (customer) wants to see the products of one category, all the products

of that category will be displayed to him.

Customer will be able to buy more than one item at a time.

All the items selected by the customer in a single order will be displayed

to the customer when he/she will make a final request.

3.3.4) Resolving customer’s order

Administrator will check all the orders ordered by the customer.

Administrator will assign the order to a customer support executive.

After a successful login, customer support executive will be able to see all

the orders assigned to him.

Global Sky Shop will allow the customer support executive to assign

different orders to different delivery boy according to their functional

areas.

After a successful login, delivery boy will be able to see all the orders

assigned to him.

After delivery of the product (either it is successful or not) delivery boy

will report to the related customer support executive.

Page 25: Global Sky Shop

After getting the delivery report, customer support executive will make

the corresponding entry by using the Global Sky Shop.

If the product has been delivered successfully then the customer support

executive will make its corresponding entry as delivered.

3.3.5) Control the application

Global Sky Shop will facilitate the administrator to control the application

by updating product, category and other information.

Administrator will be able to add, delete and update categories.

Administrator will be able to add, delete and update list of existing or new

products.

Global Sky Shop will facilitate the administrator to decide the list of

popular products, which will be displayed to the customer.

3.3.6) Maintain employee information

There are several departments in the organization.

Global Sky Shop will allow the administrator to keep track on information

of several departments. Administrator will be able to perform insert,

update and delete operations on the department’s data.

Global Sky Shop will store information of all the employees, necessarily

required in the organization.

Administrator will be able to keep track on the information of individual

employee.

3.3.7) Different role of employee

There are several role of user of this application. Global Sky Shop will

identify the role of the employee from his/her username and password

Page 26: Global Sky Shop

Administrator is the role that is the controller of whole application.

Administrator will have all the rights to change the information.

Web manager is the role that is responsible to perform some desired

changes in the application.

Administrator is responsible to assign a customer order to a customer

support executive.

Customer support executive is a role that is responsible to see the

customer order assigned by the administrator and to assign the order to

delivery boy.

Customer support executive is responsible to make suitable entry of an

order after its delivery.

Delivery boy is the role that is responsible to deliver the product to the

customer.

Delivery boy can only see the order assigned to him by customer support

executive.

Delivery boy will report to the customer support executive after delivery

of the product.

Global manager is the role that is the manager of all the departments.

Regional manager is the manager of a specific region.

3.4) Other requirements

3.4.1) Performance Requirements

If a customer makes an order on-line, order will be stored permanently in

the database.

Response time of the application to the customer will be very fast.

Telephone operator will take less than half time it would take to see the

product’s information from different files.

Page 27: Global Sky Shop

There will be no need to teach the customer how to handle the

application.

Application will be simple and self-understandable by the user.

Global Sky Shop will require a reasonably small amount of memory so

that enough of it is permanently resident to provide an initiator and

notification interface.

Global Sky Shop will load as quickly as comparable productivity tools on

whatever environment it is running on.

3.4.2) Design Requirements

Global Sky Shop will be implemented on a platform that allows easy re-

hosting on different hardware and OS.

Global Sky Shop will be implemented using modern programming

practice that maximizes the maintainability and reusability of design and

code.

Global Sky Shop will be implemented in such a way that alternative

module to control the application could beaded easily without affecting

the logic of the design.

3.4.3) Software System Requirements

Global Sky Shop will be available for use as much as comparable

productivity tools.

4) DESIGN

Introduction

One of the most popular object-oriented development techniques today is

the Object Modeling Technique (OMT) developed by Rumbaugh et al. It is

primarily used by system and software developers supporting full life-

Page 28: Global Sky Shop

cycle development, targeting object-oriented implementations. Because of

its simple core notation, OMT has proven easy to understand, to draw,

and to use. It continues to be successful in many application domains:

telecommunication, transportation, compilers, etc. The popular Object

Modeling Technique (OMT) has been used in many real-world problems.

The object-oriented paradigm using the OMT spans the entire

development process, so there is no need to transform from one type of

model to another. This is a key benefit of the OMT.

OMT Models

OMT graphically defines a system through three kinds of model: object

model, dynamic model and functional model. The OMT Notation is given

in Appendix.

Object model (OM)

The object model is the most important model. It identifies the

object classes in the system and their relationships, as well as their

attributes and operations (methods). It represents the static

structure of the system. The object model is represented

graphically by a class diagram.

Dynamic model (DM)

The dynamic model indicates the dynamics of the objects and their

changes in state. By exploring the behavior of the objects over time

and the flow of control and events among the objects, the dynamic

model captures the essential behavior of the system. Scenarios are

captured in event trace diagrams. These diagrams, along with state

diagrams (state charts), compose the OMT dynamic model.

Functional model (FM)

The functional model is a data flow diagram (DFD) of the system

and describes what the system does, but not how it is done. A DFD

is a network representation of the system showing the functional

relationships of the values that computed by a system.

Page 29: Global Sky Shop

Relationship among models

Each model describes one aspect of the system but contains

references to the other models. The object model describes the

data structure that the dynamic and functional models operate on.

The operations in the object model correspond to events in the

dynamic model and functions in the functional model. The dynamic

model describes the control structure of objects. It shows

decisions, which depend on object values, and which cause

actions that change object values and invoke functions. The

functional model describes functions invoked by operations in the

object model and actions in the dynamic model. Functions operate

on data values specified by the object model. The functional model

also shows constraints on object values.

Additional OMT Constructs

OMT has several additional constructs and diagrams that are often

useful, e.g., problem statements and use cases. They are used to

establish system boundaries, requirements, and to specify detailed

behavior.

Phases of Object-Oriented Development Process

The object-oriented development process using OMT is shown in below

Fig.

Analysis System

Design

Object Coding Testing

Page 30: Global Sky Shop

Design

Analysis

Understand and model the application and its domain.

System Design

Determine the overall system architecture in terms of subsystem,

concurrent tasks and data storage.

Object Design

Refine then optimize the analysis model, from applications to

computer concepts.

Coding

Implement the object classes in target programming language.

Testing

Incremental - at any stage system comprises tested and untested

object classes. Testing is based on the scenarios developed as part of

the dynamic modeling process. Each phase of the process transforms

some inputs to outputs, starting at a high level of abstraction and

progressing to a more detailed level of abstraction that ultimately

represents the problem solution.

Analysis

Object Model

The OMT identifies the following steps in constructing an object model:

Page 31: Global Sky Shop

1. Develop a problem statement.

2. Identify the object classes.

3. Discard unnecessary and incorrect classes.

4. Prepare a data dictionary.

5. Identify associations between object classes.

6. Discard unnecessary and incorrect associations.

7. Identify attributes of the object classes.

8. Discard unnecessary and incorrect attributes.

9. Use inheritance to share common structure.

10. Traverse access paths to identify deficiency.

Dynamic Model

The dynamic model is concerned with changes to objects and their

relationships over time. It is used for systems with important dynamic

behavior, e.g. interactive and real time systems. The dynamic model

shows possible control flows through the system, while the object

model shows possible information flows. Steps to build a dynamic

model:

1. Identify use cases and prepare scenarios of typical interaction

sequences.

2. Identify events between objects and prepare an event trace

diagram for each scenario.

3. Prepare an event flow diagram for the system.

4. Develop state diagrams for classes with important dynamic

behavior.

5. Check for consistency and completeness of events shared

among the state diagrams.

Functional Model

Page 32: Global Sky Shop

The functional model consists entirely of data flow diagrams (DFDs)

and constraints. Data flow diagrams consist of processes, data flows,

actors, and data stores. A process transforms input data values into

output data values. A process is presented as an ellipse, with the

name of the process inside the ellipse. A data flow shows the flow of

data through a network of processes. An actor, drawn as a rectangle,

lines on the boundary of the DFD and terminates the flow of data as a

source or sink of data. Actors are objects. A data store is a repository

for the temporary storing of data. A data store is represented as a pair

of parallel lines containing the name of a data store. Data stores may

also be objects. Steps to build a functional model:

1. Identify input and output values.

2. Use data flow diagrams as needed to show functional

dependencies.

3. Describe what each function does.

4. Identify constraints.

5. Specify optimization criteria.

System Design

During system design, the high level structure of the system is chosen.

The decisions that will be addressed during system design are:

1. Organize the system into subsystems.

2. Identify concurrency.

3. Allocate subsystems to processors and tasks.

4. Choose the strategy for implementing data stores in terms of data

structures, files, and databases.

5. Identify global resources and determine mechanisms for controlling

access to them.

6. Choose an approach to implementing software control:

Use the location within the program to hold state, or

Directly implement a state machine, or

Use concurrent tasks.

7. Consider boundary conditions.

Page 33: Global Sky Shop

8. Establish trade-off priorities..

Object Design

Object design is concerned with fully specifying the existing and

remaining classes, associations, attributes, and operations necessary for

implementing a solution to the problem. Operations and data structures

are fully defined along with any internal objects needed for

implementation. In essence, all of the details for fully specifying how the

problem will be solved are specified during object design [2]. The

remaining classes have a direct relationship with the development system

as well as the class library.

1. Obtain operations for the object model from the other models:

Find an operation for each process in the functional model.

Define an operation for each event in the dynamic model,

depending on the implementation of the control.

2. Design algorithms to implement operations:

Choose algorithms that minimize the cost of implementing

operations.

Select data structures appropriate to the algorithms.

Define new internal classes and operations as necessary.

Assign responsibility for operations that are not clearly associated

with a single class.

3. Optimize access paths to data:

Add redundant associations to minimize access cost and maximize

convenience.

Rearrange the computation for greater efficiency.

Save derived values to avoid re-computation of complicated

expressions.

4. Implement software control by fleshing out the approach chosen during

system design.

5. Adjust class structure to increase inheritance:

Rearrange and adjust classes and operations to increase

inheritance.

Page 34: Global Sky Shop

Abstract common behavior out of groups of classes.

Use delegation to share behavior where inheritance is semantically

invalid.

6. Design implementation of associations:

Analyze the traversal of associations.

Implement each association as a distinct object or by adding

object-valued attributes to ore or both classes in the association.

7. Determine the exact representation of object attributes.

8. Package classes and associations into modules.

Implementation

Implementation of the design is a straightforward matter of translating the

design into code, since most difficult decisions are made during design.

The code should be a simple translation of the design decisions into the

peculiarities of a particular language. Decisions do have to be made while

writing code, but each one should affect only a small part of the program

so they can be changed easily. Object-oriented languages and non-

object-oriented languages, as well as database systems can be used for

implementation. Implementation of an object-oriented design is easiest

using an object-oriented language, but even object-oriented languages

vary in their degree of support for object-oriented concepts. Even when a

non-object oriented language must be used, an object-oriented design is

beneficial. Object-oriented concepts can be mapped into non-object-

oriented language constructs. Use of a non object-oriented language

requires greater care and discipline to preserve the object-oriented

structure of the program. When the main concern is access to persistent

data, rather than the operations on the data, a database is often the

appropriate form of implementation.

Testing

Testing is an activity to verify that a correct system is being built. The

implementation and testing are partly involved during the analysis and

Page 35: Global Sky Shop

design. This means that analysis, design, implementation and testing are

much interleaved activities performed in an incremental fashion. Testing

may be done in various way: in a top-down fashion, a bottom-up fashion

or in a per use case fashion. The relationship among the units is in form of

so-called “Client- Server”. A client requests a service from a server unit

and the server unit provides the service and responds with a result. A

bottom-up approach may be preferable at the lower levels, so that when

the first unit (module) is certified, its direct clients can be certified. Then

the next level of clients can be certified and so on. Testing may be

performed at different levels: unit testing, integration testing and system

testing. A unit test is the lowest level of testing. In a traditional system a

unit test is often a test of procedures and subroutines. In object-oriented

software it concerns classes, which implies that unit tests in object-

oriented systems are carried out at a higher level. Doing a unit test of

object-oriented code is therefore more complex than testing ordinary

procedural code, as a unit is not just a set of routines, but also has an

encapsulated state, which may affect the behavior and correctness of the

unit. Also, concepts like inheritance and polymorphism lead to additional

complexity in testing, since we may need to retest both the inherited and

override methods at different levels in the inheritance hierarchy.

Integration testing is to test whether different units that have been

developed are working together properly. It includes the testing of

modules, use cases, subsystems and the entire system. Integration tests

are performed several times on different levels. The use case constitutes

an excellent tool for the integration test, and integration testing is

performed by testing each use case one at a time. When all use cases

have been tested separately, the entire system is tested as a whole. In

system testing several use cases should be tested in parallel, both

synchronized and unsynchronized.

Page 36: Global Sky Shop
Page 37: Global Sky Shop
Page 38: Global Sky Shop
Page 39: Global Sky Shop
Page 40: Global Sky Shop

Identifying Object Classes

“Global Sky Shop“classes identified from knowledge of problem domain

Customer Employee User Category

Product Job Department Address

Channel Basket Role

Delivery BoyManagerComputer

Anonymous customer

AdministratorOrder

Basket

Enquiry Operator

TelephoneAccount

Payment Cash card

Login Database File Catalog

Visitor Guest Customer

Page 41: Global Sky Shop

Keeping the right classes

Category

IdNameDescription

Product

IdName CategorySelling priceDescription

Address

StreetCityCountryZip codePhone noFax

Employee

User idDate of joiningDepartment idJob idSupervisor nameSalaryLocationDescription

Department

IdNameMangerDescription

Job

IdNameDescription

User

IdRole idFirst NameLast nameSexDate of birthEmail idMobile NoLogin namePasswordSecurity QuestionAnswer

Demographic Details

IdCityPin codeAddress1Address2Phone1Phone2 Fax

Basket

Order idProduct idPriceQuantity

Page 42: Global Sky Shop

Channel

IdNameTime SlotDurationDescription

Role

IdNameDescription

Order

IdCustomer idCSE - idDate of requestAddress of DeliveryDesired date of deliveryActual date of deliveryPayment typeDelivery boyTotal cost of orderStatusAddress of delivery

Anonymous Customer

IdNamePhone no.

Page 43: Global Sky Shop

Data dictionary:

Category: A category in Global Sky Shop contains several products of similar

type. There are several categories in the Global sky shop under which there is

so many products to be sold.

Customer: A customer is an active entity for the Global Sky Shop. A

customer is a person who will purchase the products on line. Customer will

interact with Global Sky Shop through Internet. Customer can purchase more

than one thing in a single order.

Product: A product is a passive entity for Global Sky Shop. A product is an

item to be sold by Global Sky Shop. Customer will be able to see the

product’s information like price of the product, detailed description of the

product etc. Every product will have its corresponding image to be shown to

the customer.

User: Each active entity of the Global Sky Shop will be treated as a user. A

user is a person who is related to the Global Sky Shop like customer,

employee and anonymous customer. A user object contains the common

information of an active entity like name, date of birth, login name etc.

Employee: An employee is an active entity of the Global Sky Shop. An

employee is a person who is working for Global Sky Shop and gets salary

from the organization. Administrator of Global Sky Shop manages all the

information of an employee.

Department: A department is a functional region of Global Sky Shop. There

are several departments in the company. Each department has its specific

work. There is a manager of each department.

Page 44: Global Sky Shop

Role: A role of a user denotes the access permissions of a user on Global

Sky Shop. User login name and password will identify the user. A user can

access limited applications of Global Sky Shop according to his/her role.

Job: A job is the designation of an employee in the organization. An

employee in the organization is known by his/her designation. A job object in

Global Sky Shop will have its name and description.

Order: An order contains several products ordered by the customer. All the

products, selected by the customer, are in single order. An order will have

detail of all the products bought buy the customer and total price money of all

the products.

Demographic detail: Demographic details of a user are the address related

information. Demographic detail contains local address, permanent address,

phone no., fax etc. of the user.

Channel: A channel indicates a particular channel of television on which

advertisement of product is advertised

Anonymous customer: anonymous customer is a person who can buy the

products without any registration.

Administrator: Administrator is a person who has all the rights of Global Sky

shop. Administrator can change any information of the Global Sky Shop.

Regional Manager: Regional manager is a person who keeps track on the

order of a particular region. Regional manager can see the order information

but he/she cannot change order information.

Customer Support Executive: Customer Support Executive is a person who

will assign the order to a delivery boy.

Delivery Boy: Delivery boy is an employee of the TVM India who can see

orders assign to it and he will deliver the product to the customer.

Page 45: Global Sky Shop

Associations

1. User can be categorized in two categories- customer and employee.

2. Customer can be further categorized in two categories – registered

customer and anonymous customer.

3. There are several employees in a department.

4. There are several employees working for a job.

5. A customer can make several orders.

6. An order can have more than one product.

7. There are several role of Global Sky Shop which can be categorized as

follows:

Regional manager

Department manager

Administrator

Global manager

Registered customer

Anonymous customer

Customer support executive

Delivery boy

8. There are several products in each category.

Page 46: Global Sky Shop

4.1 Object diagram

Departmenthas employees

Employee do job

Customer makes an order

One order contain one basket

Basket contains products

Object diagram of Global Sky Shop using right associations

Dynamic Modeling

UserDepartment

Employee

Job

Customer

Anonymous customer

Registered customer

Role

Global Manager

Delivery boy

CSE

Regional Manager

Administrator

Basket

Order

Category

Product

Channel

Page 47: Global Sky Shop

Scenario

Normal scenario to buy a product by existing customer

o Customer views the index page.

o GSS (Global Sky Shop) ask the customer to login

o Customer fills the login form (login name and password)

o GSS verify the login name and password

o Customer views the welcome message

o Customer start shopping

o GSS display list of categories

o Customer select a category

o GSS display the list of products in the category

o Customer chose a product

o GSS display image, description and price of the product

o Customer buy the product

o GSS add the product in the customer basket

o In the same way, customer will add other products in the basket

o Customer check out the basket

o GSS display the basket

o Customer modify the basket

o Customer order the basket

o GSS ask the delivery address

o Customer fill the delivery address

Page 48: Global Sky Shop

Exception scenario of purchase by existing customer:

o Customer fills invalid login name and password.

o GSS verify the login name and password.

o Same page will be displayed again prompting to fill the login form

again.

o Customer tries to add a product to the basket.

o An error message is displayed indicating to select an item related

information (if exists) first.

o Customer places the order and there is no product in the basket.

o An error message is displayed with the message that basket is

empty.

o Customer places the order without mentioning the desired delivery

address.

o Same page is displayed with the message that first mentions the

delivery address.

Page 49: Global Sky Shop

Normal scenario to buy a product by anonymous customer

o Customer views the index page.

o Customer start shopping

o GSS display list of categories

o Customer select a category

o GSS display the list of products in the category

o Customer chose a product

o GSS display image, description and price of the product

o Customer buy the product

o GSS add the product in the customer basket

o In the same way, customer will add other products in the basket

o Customer check out the basket

o GSS display the basket

o Customer modify the basket

o Customer order the basket

o GSS ask customer his name and telephone number

o GSS display the thanks message

Page 50: Global Sky Shop

Exception scenario of purchase by existing customer:

o Customer tries to add a product to the basket.

o An error message is displayed indicating to select an item related

information (if exists) first.

o Customer places the order and there is no product in the basket.

o An error message is displayed with the message that basket is

empty.

o Customer does not fill the desired information, which is required

for the discrimination of the guest customer.

o Same page is displayed with the message that is prompting to fill

the required information.

Page 51: Global Sky Shop

Normal scenario to register a new customer

Exception scenario of new customer registration:

Normal Scenario to insert an object in the database

o Customer views the index page.

o GSS ask to customer be a registered customer

o Customer agree to be a registered customer

o GSS display a registration form

o Customer fill the registration form

o Customer submit the registration form

o GSS display the thanks message

o GSS ask the customer to start the shopping

o Customer start shopping

o User fills the invalid format of the required fields.

o User does not fill the mandatory fields.

o User does not fill the CAPTCHA image.

o User submits the form without filling it.

o A page covering all the above-mentioned exception is displayed in

the form of error message.

Page 52: Global Sky Shop

Exception scenario of insertion of an object in the database:

Normal scenario to delete an object

o Administrator view the login form

o Administrator fills the login form (login name and password)

o GSS verify the login name and password

o GSS display the list of different type of classes (department,

product, category, employee etc.)

o Administrator select a class

o GSS display all the objects stored in the database of same class

and a insert link

o Administrator choose the insert operation

o GSS display the entry form

o Administrator fill the entry form

o GSS display the list of all the objects with the previous inserted

object

o Administrator view the login form

o Administrator fills the login form (login name and password)

o GSS verify the login name and password

o GSS display the list of different type of classes (department,

product, category, employee etc.)

o Administrator select a class

o GSS display all the objects stored in the database of same class

and a insert link

o Administrator choose an object

o GSS display the information of that particular object

o GSS ask customer to delete or update the object

o Administrator select the delete operation

o GSS delete the object

o GSS show the list of all the objects without previously deleted

object

o Administrator fills the wrong user name and password .

o GSS verify the login name and password.

o Same page is displayed when login fails.

o Administrator fills the invalid information.

o Name may exist

o An error message is displayed on the same page.

Page 53: Global Sky Shop

Exception scenario of deletion of an object:

Normal scenario to update an object

o Administrator view the login form

o Administrator fills the login form (login name and password)

o GSS verify the login name and password

o GSS display the list of different type of classes (department,

product, category, employee etc.)

o Administrator select a class

o GSS display all the objects stored in the database of same class

and a insert link

o Administrator choose an object

o GSS display the information of that particular object

o GSS ask customer to delete or update the object

o Administrator select the update operation

o GSS display the update form with displaying object information

o Administrator update the information

o GSS show the list of all the objects with change in previously

updated object

o Administrator fills the wrong user name and password .

o GSS verify the login name and password.

o Same page is displayed when login fails.

o Administrator delete and there is no item selected.

o An error message on the same page to sleet the items first.

o Administrator deletes and there is no object left to delete in that

class.

o An error message is displayed.

o A message is displayed when admin tries to delete an object which

is being referred by any other object.

Page 54: Global Sky Shop

Exception scenario of updating of an object:

o Administrator fills the wrong user name and password .

o GSS verify the login name and password.

o Same page is displayed when login fails

o Admin enters invalid entries.

o Name being updated already exists.

o There is no item to be updated and admin tries to update.

o An error message is displayed for above accordingly.

Page 55: Global Sky Shop

Normal scenario to assign an order to a CSE by administrator

Exception scenario of assignment of CSE by administrator:

Normal scenario to assign an order to delivery boy by CSE

o Administrator view the login form

o Administrator fills the login form (login name and password)

o GSS verify the login name and password

o GSS display the list of different type of classes (department,

product, category, employee etc.)

o Administrator select order

o GSS display all the orders stored in the database which are new

o Administrator choose an order

o GSS display the information of that particular order

o GSS ask administrator to select a CSE

o Administrator select a CSE

o GSS display the next object to be assigned to a CSE

o CSE view the login form

o CSE fills the login form (login name and password)

o GSS verify the login name and password and decide the role of

the CSE

o GSS display the list of different type of classes (department,

product, category, employee etc.)

o CSE select order

o GSS display all the orders assigned to him by the administrator

o CSE choose an order

o GSS display the information of that particular order

o GSS ask CSE to select a delivery boy

o CSE select a delivery boy

o GSS display the next object to be assigned to a delivery boy

o Administrator fills the wrong user name and password .

o GSS verify the login name and password.

o Same page is displayed when login fails

o Administrator enter wrong id of CSE.

o An error message is displayed accordingly.

Page 56: Global Sky Shop

Exception scenario of assignment of delivery boy by CSE:

o CSE view the login form

o CSE fills the wrong login form (login name and password)

o GSS verify the login name and password and decide the role of

the CSE

o An error message will be displayed that the login is invalid.

o An error message will be displayed to tell the CSE to fill the write

entry if he fills the wrong one.

Page 57: Global Sky Shop

Normal scenario to read an order to be delivered by the delivery boy

Exception scenario of reading the order by delivery boy:

o Delivery boy view the login form

o Delivery boy fills the login form (login name and password)

o GSS verify the login name and password and decide the role

o GSS display all the order assigned to him by the CSE

o Delivery boy will log out

o Delivery boy view the login form

o Delivery boy fills the wrong input in login form (login name and

password)

o GSS verify the login name and password and decide the role

o A message is displayed if login fails.

Page 58: Global Sky Shop

Normal scenario to decide a suitable delivery status of an order

Exception scenario of deciding the order status by delivery boy:

Event Trace DiagramEvent Trace diagram for make an order by registered customer Customer GSS Database

o Delivery boy view the login form

o Delivery boy fills the login form (login name and password)

o GSS verify the login name and password and decide the role

o GSS display all the order assigned to him by the CSE

o Delivery boy will set the status of the order

o CSE can take decision by viewing updated status of order

o Delivery boy view the login form

o Delivery boy fills the wrong input in login form (login name and

password)

o GSS verify the login name and password and decide the role

o A message is displayed if login fails.

o Delivery boy sets the wrong status.

o A message is displayed if he puts the wrong input status which

does not exists.

Page 59: Global Sky Shop

Open index page

Ask for login

Enter user name Password

Transfer user name password

Verify user name password

Ask for Category

Select a category

Transfer category

List of products in category

Ask to select a product

Select a product

Ask for Category

Select a category

List of products in categorySelect a product

Check out

Show products basket

Ask for Order

Order the basket

Save the order Thanks Message

Event Trace diagram for make an order by anonymous customer

Customer GSS Database

Open index page

Page 60: Global Sky Shop

Ask for Category

Select a category

Transfer category

List of products in category

Ask to select a product

Select a product

Ask for Category

Select a category

List of products in categorySelect a product

Check out

Show products basket

Ask for Order

Order the basket

Save the order Ask for name and phone

Fill name and phone

Save name and phone no.

Thanks Message

Page 61: Global Sky Shop

Event Trace diagram to register a new customer

Customer GSS Database

Open index page

Ask for Registration

Agree for registration

Display registration form

Submit the information

Transfer Information

Thanks message

Event trace diagram for insertion of an object in database

Administrator GSS Database

Page 62: Global Sky Shop

Open index page

Ask for login

Enter user name Password

Transfer user name password

Verify user name password

Display various classes

Select a class

Transfer class

Transfer objects

Display objects with Insertion link

Select insertion operation

Display insertion form

Fill entry of insertion form

Store object details

Display objects with Inserted object

Event trace diagram to assign an order to delivery boy

CSE GSS Delivery Boy

Page 63: Global Sky Shop

CSE login

Display list of classes After successful login

Select order class

Display order assignedto him by admin.

Select an order

Display order details

Select a delivery boy

Delivery boy login

Display list of ordersAssigned to him

Select an order

Display order detailsAnd delivery address

State Diagram

Assignment of Order to a delivery boy by CSE

Idle state do: see the login page

logged In do: see all orders assigned to him Fill the login details

/click on submit button

Select an order

do: see all the products in an order

click on Assign button

assignment do: display dilevery boy selection form

click on View Status button

do: display dilevery boy status

select a delivery boy id /

[ delivery boy is not free ]

[ delivery boy is free ]

do : assign the order to delivery boy

click Ok button on assignment form

Page 64: Global Sky Shop

4.2 DATA FLOW DIAGRAMS

0 level DFD of central control

AdministratorCSE

Delivery boy list

Page 65: Global Sky Shop

4.4) Database Design

Database Design Guidelines

The following are some guidelines to aid in the design and implementation of

databases to store and manipulate data. The first thing to realise is that

different people can quite legitimately construct different database structures

to solve the same problem. The reason for this is that different people will put

different emphasis on different parts of the database, and some things will

therefore be easy to do in some databases and awkward in others. These are

Delivery Boy

Central Control

GSSDATABASE

Object detalis

CSE Id Delivry boy id

Object detalis

Delivry boy id

Delivery boy list

Page 66: Global Sky Shop

the design constraints, and they are generally conflicting. It is rare to be able

to satisfy all design criteria and make all aspects of database use simple and

straightforward. Let us look now at some of the design criteria:

1) Relational independence

2) Minimizing modification anomalies

3) Minimizing data redundancy

4) Awareness of functional dependencies and consequences of

these dependencies

5) Minimizing join anomalies

6) Ease of use

Relational Independence

This means that we try to design relations (tables) to be independent of one

another. If this is the case, then we can quite cheerfully make changes

anywhere in the database without affecting data elsewhere. This design aim

is rarely met, as some of the other design aims conflict.

Minimizing modification anomalies

When we have a relation involving data from more than one table we get

modification anomalies. It would be possible for example to delete rows from

one table and leave much data lost in the database. This is a simple example

of a modification anomaly.

Minimizing data redundancy

The aim here is to just have one example of the data in the database, and all

things that depend on point to the one and only version of it. Thus we are

minimizing the amount of data in the database, and we get the automatic

benefit that we only need to make changes to one instance of the data in one

table, and all other tables that use it will automatically reflect the changes that

have been made.

Page 67: Global Sky Shop

Note that the first three aims conflict. Subjective judgement has to be used.

Your judgement becomes better with experience and use of the database.

Functional dependencies

An example of this would be a totals field in a database. We could have

several contributing sources of atmospheric pollution, and a total. The total is

therefore functionally dependent of the various sources. Making changes to

one of these sources, e.g. deleting a column from the database would

therefore destroy the functional dependency.

Join anomalies

These occur most frequently when we incorrectly use attributes in different

tables to create a new table.

Ease of use

This is the most subjective of all. Again experience is the best way of

achieving ease of use. It is necessary to be fully aware of all of the features

of the database package and what can be achieved. It is also useful to be

able to use the operating system well, and to be able to use the tools

provided on the computer system. Basically you should use the best tool for

the job.

A database will never be used properly unless it is easy to do what

you want. This requires an investment in time and effort learning how

to achieve what you want.

The two concepts that are very important in database design - entities and

keys.

Entities

The data in any database represents a model of an entity in the real world. All

entities in the real world are unique. If they are not then they are not separate

entities. When we design a table to contain data about the real world we must

extract sufficient features of that entity to define each member of the table

uniquely. This means that there must be enough columns to uniquely identify

Page 68: Global Sky Shop

and discriminate between rows in a table. Remember that when we use the

relational model we are working with sets, and sets have no duplicates, and

there is no ordering.

Keys

A key is a way of identifying data in a table. A key in a telephone directory

would be a name and address. This combination of attributes would uniquely

identify each row in the directory. When we look at the design of tables we

must look at what combination of attributes provides a unique key, and

enable us to identify a row or tuple.

Normalization

Normalization is a design technique that is widely used as a guide in

designing relational databases. Normalization is essentially a two-step

process that puts data into tabular form by removing repeating groups and

then removes duplicated from the relational tables.

Normalization theory is based on the concepts of normal forms. A relational

table is said to be a particular normal form if it satisfied a certain set of

constraints.

Basic Concepts

The goal of normalization is to create a set of relational tables that are free of

redundant data and that can be consistently and correctly modified. This

means that all tables in a relational database should be in the third normal

form (3NF). A relational table is in 3NF if and only if all non-key columns are

(a) mutually independent and (b) fully dependent upon the primary key.

Mutual independence means that no non-key column is dependent upon any

combination of the other columns. The first two normal forms are

intermediate steps to achieve the goal of having all tables in 3NF. In order to

better understand the 2NF and higher forms, it is necessary to understand

the concepts of functional dependencies and loss less decomposition.

Page 69: Global Sky Shop

Relations designed in TVM India

The relations designed in TVM India are in 3NF.

CATEGORY

This relation stores all the information about all the category that are present

in the product list of TVM India.

Attribute Type Remarks

ID Int Category Id (Primary Key)

NAME Varchar Name Of Category(Unique Key)

DESCRIPTION Varchar Description Of The Category

IS_DELETED TinyInt Delete Status Of The Category

Table 4.1.1 CATEGORY

Assumptions –

IS_DELETED is the field to set the delete status of the category. Any

category is not deleted permanently first time, but it is deleted

logically.

Any item from this table can not be deleted if there is any entry left in

Product table.

ROLE

This Table keeps the records of the roles played by the different users.

Page 70: Global Sky Shop

Attribute Type Remarks

ID Int Role Id (Primary Key)

NAME Varchar Name Of Role(Unique Key)

DESCRIPTION Varchar Description Of The Role

IS_DELETED TinyInt Delete Status Of The Role

Table 4.1.2 ROLE

Assumptions –

IS_DELETED is the field to set the delete status of the role. Any role is

not deleted permanently at the first deletion, but deleted logically only.

Any item from this table can not be deleted if there is any entry left in

User table.

PRODUCT

This relation stores information about all the products that TVM India. This

table is main able about all product that it manufactured.

Attribute Type Remarks

ID Int Project Id (Primary Key)

Page 71: Global Sky Shop

NAME Varchar Name Of Product (Unique Key)

CATEGORY_ID Int Category Id of The Product From Which It Belongs

COST_PRICE Double Cost Price Of The Product

SELLING_PRICE Double Maximum Retail Price Of The Product

ROL Int Reorder Level Of The Product. Works As The Critical Point Of Reorder

ROQ Int Reorder Quantity Of The Product

IS_DELIVEY_CHARGES TinyInt Whether There Are Delivery Charges On That Product

DESCRIPTION Varchar Description Of The Product

IS_DELETED TinyInt Delete Status Of The Product

Table 4.1.3 PRODUCT

Assumptions –

IS_DELETED is the field to set the delete status of the product

logically.

Any item from this table can not be deleted if there is any entry left in

CUSTOMER_ORDER, ORDER_ITEM table.

DEMOGRAPHIC

This table contains the information about the demographic detail of the user.

It contains the information such as address and phone number.

Page 72: Global Sky Shop

Attribute Type Remarks

ID Int Demographic Id of the user

PERM_ADD1 Varchar Permanent Address 1 Of User

PERM_ADD2 Varchar Permanent Address 2 Of User

PERM_CITY Varchar City in Permanent Address

PERM_PIN Varchar Pin In The Permanent Address

PERM_PHONE Varchar Permanent Phone Number

LOCAL_ADD1 Varchar Local Address1 Of User

LOCAL_ADD2 Varchar Local address Of User

LOCAL_CITY Varchar City Of Local Address

LOCAL_PIN Varchar Pin Of The Local City

LOCAL_PHONE Varchar Local Phone Number Of User

FAX Varchar Fax Of User

IS_DELETED TinyInt Status Of The Demographic DetailRegarding Deletion Of Record

Table 4.1.4 Demographic

Assumptions –

IS_DELETED is the field to set the delete status of the demographic

details logically.

Any item from this table can not be deleted if there is any entry left in

USER table.

DEPARTMENT

This Table contains the information about all the departments that TVM India

has.

Page 73: Global Sky Shop

Attribute Type Remarks

ID Int Department Id (Primary Key)

NAME Varchar Name Of Department

(Unique Key)

DESCRIPTION Varchar Description Of The Department

IS_DELETED TinyInt Delete Status Of The Department

MANAGER Int Manager Id Of That Department

Table 4.4.5 DEPARTMENT

Assumptions –

IS_DELETED is the field to set the delete status of the department is

deleted logically.

Any item from this table can not be deleted if there is any entry left in

Product table.

JOB

This table contains the information about all the job related information.

Page 74: Global Sky Shop

Attribute Type Remarks

ID Int Job Id (Primary Key)

NAME Varchar Name Of Job (Unique Key)

DESCRIPTION Varchar Description Of Job

Table 4.4.6 JOB

Assumptions –

IS_DELETED is the field to set the delete status of the job is deleted

logically.

Any item from this table can not be deleted if there is any entry left in

EMPLOYEE table.

USER

This table contains the general information about the user.

Attribute Type Remarks

Page 75: Global Sky Shop

ID Int User Id (Primary Key)

ROLE_ID Int Role of the user( References Role)

DEMOGRAPHIC_ID Int Demographic Id of The user From Which User Belongs

FIRST_NAME Varchar First Name Of The User

LAST_NAME Varchar Last Name Of The User

GENDER Char Gender Of User

DOB Date Date Of Birth Of User

EMAIL_ID Varcahr Email Id Of The User

MOBILE_NO Varchar Mobile Number Of User

LOGIN_NAME Varchar Login Name Of User

PASSWORD Varchar Password Of The User

SECURITY_QUESTION Varchar Security Question Selected By User

ANSWER Varchar Answer Of The Question Selected By User

IS_DELETED TinyInt Delete Status Of User

Table 4.1.4 USER

Assumptions –

IS_DELETED is the field to set the delete status of the user is deleted logically.

Any item from this table can not be deleted if there is any entry left in EMPLOYEE table.

EMPLOYEE

This table contains all the information about all the employees working in

TVM India.

Page 76: Global Sky Shop

Attribute Type Remarks

ID Int Id (Primary Key) References User

ROLE_ID Int Role of the user( References Role)

DATE_OF_JOIN Date Date When The Employee Joined The Organisation

DEPARTMENT_ID Int Department Id Of Employee (References Department)

JOB_ID Int Job Id Of The Employee(References Job)

SALARY Double Salary Of Employee

LOCATION Varchar Working Location Of Employee

DESCRIPTION Varcahr Short Description Of Employee

IS_DELETED TinyInt Delete Status of Employee

SUPERVISOR Int Supervisor Of Employee

Table 4.1.4 EMPLOYEE

Assumptions –

IS_DELETED is the field to set the delete status of the is deleted

employee logically.

Any item from this table can not be deleted if there is any entry left in

EMPLOYEE, DEPARTMENT table.

Page 77: Global Sky Shop

CAHNNEL

This table contains information about all the channels on which the

advertisement of products from TVM India are shown.

Attribute Type Remarks

ID Int Channel Id (Primary Key)

NAME Varchar Name Of The Channel

TIME_SLOT Varchar Time Slot In Which The Advertisement is shown.

DURATION Int Duration Of Advertisement Time.

DESCRIPTION Varchar Descripton About Channel.

IS_DELETED TinyInt Delte Status Of the Channel.

Table 4.1.4 CHANNEL

Assumptions –

IS_DELETED is the field to set the delete status of the channel is

deleted logically.

Any item from this table can not be deleted if there is any entry left in

CUSTOMER_ORDER table.

Page 78: Global Sky Shop

ORDER_ITEM

This table contain the information about the basket of items that the customer

has selected to order .

Attribute Type Remarks

ID Int Order Id (Primary Key) References(Customer Order)

PRODUCT_ID Int Ids of the products selected by customer( References Product)

SELLING_PRICE Double Seling Price Of individual Product

QUANTITY Int Quantity Of Each Product

IS_DELETED TinyInt Delete Status of Order Item

Table 4.1.10 ORDER_ITEM

Assumptions –

IS_DELETED is the field to set the delete status of the order_item logically.

Any item from this table can not be deleted if there is any entry left in PRODUCT table.

CUSTOMER_ORDER

This Table contains the full details about the order made by the clients who place the

order online.

Attribute Type Remarks

Page 79: Global Sky Shop

ID Int Customer Order Id (Primary Key)

CUSTOMER_ID Int Id of Customer (References demographic details)

CHANNNEL_ID Int Cannel On Which Customer Saw The Advertisement.

DATE_REQUEST Date Date Of Request By Customer

DESIRED_DATE_DELIVERY Date Desired Date of Delivery

ACTUAL_DATE_DELIVERY Date Actual Date Of Delivery

DELIVERY_ADD1 Varchar Delivery Address 1

DELIVERY_ADD2 Varcahr Delivery Address 2

DELIVERY_CITY Varchar Delivery City

DELVRY-PIN Varchar Pincode Of Delivery Address

DELIVERY_PHONE Varchar Phone No Of Delivery Address

PAYMENT_TYPE Char Mode Of Payment By Customer

DELIVERY_BOY_ID Int Delivery Boy Id(References Employee)

CSE_ID Int Customer Support Executive Id (References Employee)

DELIVRY_STETUS Char Delivry Status Of Customer Order

IS_DELETED TinyInt Delete Status Of Customer Order

Table 4.1.11 CUSTOMER_ORDER

Assumptions –

IS_DELETED is the field to set the delete status of the customer_order logically.

Any item from this table can not be deleted if there is any entry left in GUEST_CUSTOMER table.

Page 80: Global Sky Shop

GUEST_CUSTOMER

This is the table that contains the information about the customer which do

not want to register himself but want to place the order online. His order will

be conformed by CSE.

Attribute Type Remarks

ID Int Gest CustomerId (Primary Key)

ORDER_ID Int Order Id Of Customer References (Customer Order)

NAME Name Name Of The Customer

Table 4.1.12 GUEST_CUSTOMER

5.5) Screen Layout

Page 81: Global Sky Shop

Home Page Of TVM India

Page 82: Global Sky Shop

Customer Registration Form

Page 83: Global Sky Shop

Forget The Login Name And Password

Page 84: Global Sky Shop

Customer Basket

Page 85: Global Sky Shop

Category Home

Page 86: Global Sky Shop

Insert Category

Page 87: Global Sky Shop

Update Category

Page 88: Global Sky Shop

Insert Employee

Page 89: Global Sky Shop

Order Basket

Page 90: Global Sky Shop

Insert Category

Page 91: Global Sky Shop

Insert Product

Page 92: Global Sky Shop

Welcome after Login

5) Coding :

Page 93: Global Sky Shop

Coding Guidelines

This Section defines the coding guidelines to be adopted during

development of TVM India. Coding guidelines are essential for any

software the development, maintenance and enhancements of which

includes multiple programmers. In addition to providing for better team

development, a standard also allows for the development of software

tools to aid in the creation, testing, and documentation of code.

Need of Code Conventions

Code conventions are important to programmers for a number of

reasons:

80% of the lifetime cost of a piece of software goes to

maintenance.

Hardly any software is maintained for its entire life span by the

original author.

Code conventions improve the readability of the software,

allowing engineers to understand new codes more quickly

and thoroughly.

By following coding conventions the development time is

reduced tremendously.

It gradually develops a discipline among S/W Enggs. And this

discipline amounts to minimum number of bugs in the S/W

you write.

Page 94: Global Sky Shop

Java Source Files

Each Java source file contains a single public or default class or

interface. Interfaces associated with a class must be in different

source file. The public or default class should be the first class in the

file.

Java source files have the following ordering:

7) Package and Import statements.

8) Beginning comments.

9) Class/ interface implementation comment (/** … */)

10) Specific Comments (// for both single and multiple line

comments);

11) Class and interface declarations

12) Class/ interface statement

13) Static variables (in sequence)

14) Constructors

15) Method Comments

Beginning comments

All source files should begin with a JavaDoc-style comment that lists

the following things:

Project name:

Module name:

Program name:

Program description:

Author:

Date of Creation:

Modified Date:

Modified By:

Page 95: Global Sky Shop

Package and Import Statements

The first non-comment line of most Java source files is a package

statement. After that, import statements can follow. For example:

package java.awt;

import java.awt.peer.CanvasPeer;

Class / interface implementation comment (/**...*/)

Class name:

Class description:

Author name @ author:

Date of creation:

Methods

Comments

Method name:

Method description:

Parameter @param:

Returns @return:

Exception @exception:

Author Name @ author:

Date @date:

Method Definition

Given below sequence is to be followed when defining methods:

private methods

protected methods

public methods

Note: All variables/ objects of same type should be clubbed

together i.e. all int should be at one place and strings type in

one place.

Page 96: Global Sky Shop

Naming Convention

Naming conventions make programs more understandable by making

them easier to read. They can also give information about the function

of the identifier-for example, whether it's a constant, package, or class-

which can be helpful in understanding the code.

Naming Convention Will Be Uniform for the whole project:

The JAVA CLASS names Must Be Self Explanatory.

First letter in lowercase, with the first letter of each internal word

in uppercase.

Member Variables must start with m_ e.g. m_myChar

For static variables the First Letter must be 's_'

The names of variables declared class constants and of ANSI

constants should be all uppercase with words separated by

underscores ("_").

Coding Convention:

This Coding convention is uniform through out the project and it is

mandatory to follow these steps for all Classes we write:

These are the recommendations for code readability.

The term compute can be used in methods where something is

computed.

The term find can be used in methods where something is

looked up.

The terms get/set must be used where an attribute is accessed

directly.

The term initialise can be used where an object or a concept is

established.

List suffix should be used on names representing a list of

objects.

Page 97: Global Sky Shop

n prefix should be used for variables representing a number of

objects.

No suffix should be used for variables representing an entity

number.

Iterator variables can be called i, j, k etc.

is prefix should be used for Boolean variables and methods.

Complement names must be used for complement entities.

get/set, add/remove, create/destroy, start/stop, insert/delete,

increment/decrement, old/new, begin/end, first/last, up/down,

min/max, next/previous, old/new, open/close, show/hide

Abbreviations in names should be avoided.

Negated Boolean variable names must be avoided

Associated constants (final variables) should be prefixed by a

common type name.

Exception classes should be suffixed with Exception.

Default interface implementations can be prefixed by Default.

Files

Classes should be declared in individual files with the file name

matching the class name.

File content must be kept within 80 columns.

Special characters like TAB and page break must be avoided.

The incompleteness of split lines must be made obvious.

Split lines occurs when a statement exceed the 80 column limit given

above. It is difficult to give rigid rules for how lines should be split.

In general:

Break after a comma.

Break after an operator.

Page 98: Global Sky Shop

Align the new line with the beginning of the expression on the previous

line.

Variables should be initialised where they are declared and they

should be declared in the smallest scope possible.

Variables must never have dual meaning.

Class variables should never be declared public.

Related variables of the same type can be declared in a common

statement.

Unrelated variables should not be declared in the same statement.

Variables should be kept alive for as short a time as possible.

Comments

Tricky code should not be commented but rewritten.

Making the code self-documenting by names and an explicit logical

structure should in general minimize the use of comments.

Use // for all comments, also multi line comments for description only.

Comments should be indented relative to their position in the code.

The declaration of collection variables should be followed by a

comment stating the common type of the elements of the

collection.

Page 99: Global Sky Shop

Code Statistics

Statistic Value

Number of Classes 40

Number of Reusable Classes 12

Number of Lines of Source Code in Thousands

Number of Non Commented Lines of Source code in

Thousands

Code Listing

As the source code is the copy right of TVM India Ltd, I was not permitted to

attach the code here.

Page 100: Global Sky Shop

6) Implementation/Technological Environment

Implementation Environment:

If you can’t get software into your users’ hands, then what is its value?

Absolutely nothing. Software deployment is a complex endeavour, all

too frequently ignored in favour of more interesting topics such as

distributed object development, components, or the latest version of

the Java development kit.

Because deployment can be quite complex, especially when your user

base is physically dispersed or you have a wide range of system

configurations, you must start planning early in your project life cycle.

When deploying a system, consider three basic tasks: preparing for

release, releasing the application to operations and support, and

releasing the application to your user community. Let’s map these

tasks to the Deployment workflow on a phase-by-phase basis.

TVM India is situated not only in GURGAON , but it also

has branches in Pune and Bangloore. Reason behind having more

than one branch is to augment the company’s reach in mass. Very

soon it will have delivery centers in other cities of INDIA.

Technological Environment

Global Sky Shop is implemented in LINUX environment.

It uses the J2SE 1.4.1 and JRE1.4

Global sky shop is using SERVLETS and JSP Technology .

In spite of using JSP Model 1 architecture or MODEL 2

architecture it Is using JAKARTA STRUTS FRAMEWORK 1.2

Page 101: Global Sky Shop

7) Testing & Result

Implementation is undertaken once the design phase is complete. In this

phase, every module identified and specified in the design document is

independently coded and unit tested. Unit testing is testing of different units

or modules of a system in isolation.

The objective of the implementation phase is

To define the organization of the code, in terms of implementation

subsystems organized in layers,

To implement classes and objects in terms of components (source

files, binaries, executables, and others),

To test the developed components as units, and

To integrate the results produced by individual implementers (or

teams), into an executable system.

The Implementation phase limits its scope to how individual classes are to be

unit tested. System test and integration test are described in the Testing

phase

Unit Testing

Unit testing (or module testing) is the testing of different units or modules of a

system in isolation.

What is Testing?

Testing a program consists of providing the program with a set of test inputs

(or test cases) and observing if the program behaves as expected. If the

program fails to behave as expected, then the conditions under which a

failure occurs are noted for debugging and correction. The following are

some commonly used terms associated with testing

A failure is a manifestation of an error (or defect or bug). But, the

mere presence of an error may not necessarily lead to a failure.

Page 102: Global Sky Shop

A fault is an incorrect intermediate state that may have been entered

during program execution, e.g. a variable value is different from

what it should be. A fault may or may not lead to a failure.

A test case is the triplet [I, S, O], where I is the data input to the

system, S is the state of the system at which the data is input, and

O is the expected output of the system.

A test suit is the set of all test cases with which a given software

product is to be tested.

Verification and Validation

Verification is the process of determining whether one phase of a software

product conforms to its previous phase, whereas validation is the process of

determining whether a fully developed system conforms to its requirements

specification. Thus while verification is concerned with phase containment of

errors, the aim of validation is to make the final product error free.

Unit testing for TVM India

During unit testing of IMAR some small bugs were found and those were

fixed.

Introduction

This phase starts once the unit tested Modules are ready for

integration to form a system to be developed. The Integration Testing,

Functional Testing and system testing is carried out in this phase

Integration Testing involves testing a set of functionally related

software modules to ensure integration of functionality and is derived

from the design of the software. The objective of integration testing is

to ensure that components link and work together, and the focus is on

the effectiveness of functional interactions and compatibility at the

interfaces of the components. Integration testing is carried out based

on the control flow of units, and their dependency. Large complex

Page 103: Global Sky Shop

products can go through many build-and-test cycles before they are

fully integrated.

The number of integration test cycles needed is determined by:

The number of components/Modules;

The newness or “rawness” of components/Modules;

The relative complexity of components/Modules; and

The risk aversion vs. aggressiveness of the development

team and PM

Integration Testing may be combined with Function and System

Testing.

Function Testing & System Testing: is quite different from unit and

integration testing. Where unit and integration testing is more

technical in nature and is performed by technical specialists, who are

close to the details of the system, Functional & System Testing

focuses on the functionality of the system. While unit and integration

testing is performed earlier and on subsystems that may be much

smaller than the entire system, Functional & System Testing tests the

entire system against the requirements and verifies all User

Documentation is correct. The results are analysed and Bug reports

are generated for discrepancies found during testing. The Project

Manager, in coordination with the Test Leader, analyses all Bug

reports and determines which ones must be recycled to the software

developer before re-testing. Conceptually, Functional & System

Testing requirements are based upon the Use Case models, Business

models, SRS.

Objectives

The objective of the Testing phase is

To verify the interaction between objects.

To verify the proper integration of all components of the

software.

Page 104: Global Sky Shop

To verify that all requirements have been correctly

implemented.

To identify and ensure defects are addressed prior to the

deployment of the software.

7.1) Testing for TVM INDIA

Before a system can be released for general use or even beta testing, it must

pass a series of tests. These tests are specifically designed to discover errors

or bugs, which may have been over looked in the design or implementation

stages. They are also essential tool for determining whether the system

meets the Software Requirements Specifications. With the Software

Requirements Specifications and Design Documents for the IMAR System

complete, it has come time to outline potential testing strategies. The tests

outlined in this document are organized into four categories:

Interpreter Tests 1.

Integrator Tests 2.

Graphical User Interface Tests 3.

Testing the entire Grader System 4.

It is believed that these tests will provide a solid testing base for all aspects of

the IMAR System.

Performance Testing

Similar to both the Interpreter and the Integrator, the time it takes for

the GUI to build show the information from database and send it to the

user is dependent on the size of the database and the execution time

of the database methods it uses. Thus, once again, applying time

performance tests is inappropriate. However, whether or not the

execution of the GUI takes an excessively long time (defined as being

a length of time at which a user may become irritated by the speed –

Page 105: Global Sky Shop

possibly 1 to 2 minutes) will be tested in conjunction with the functional

and stress tests described above.

Graphical User Interface Tests

The most significant tests for the GUI are the structural tests, as there

is very little complexity and inputs are very restricted. Of most

significance is the testing of flow of control between the GUI and

underlying methods/modules. Essentially every action a user performs

affects which method is currently in control. Thus rigorous testing of

this component is necessary for the successful operation of the GUI.

Result Summary

I did the unit testing for the and some bugs were found, those were

fixed. For further testing, TVM India was handed over to Testing team,

which tested it and reported some bugs, which were fixed by me later.

8) Enhancement

The Elaboration phase focuses on detailed analysis of the problem

domain and defining an architectural foundation for your project. When you

define architecture, you must define the deployment configurations for your

system—each individual deployment configuration should be documented

with a UML deployment model that shows how you’ll organize actual software

and hardware components. Deployment modelling is arguably part of the

Analysis and Design workflow, but it should be part of the Deployment

workflow because it is a key deployment artifact.

Data conversion is key to deploying a new software system. It’s a complex

effort that should start early in the software life cycle, typically during the

Elaboration phase. You must analyse your legacy data, which entails

identifying the legacy data sources, using a persistence model to model the

legacy schemas, and choosing official sources for each data attribute that is

stored in several places. You must understand your existing legacy data

schema so that you can convert it to your new schema, which will be finalized

Page 106: Global Sky Shop

as part of your Analysis and Design workflow efforts during the Construction

phase.

During elaboration your deployment plan will evolve, likely based on one of

several common installation approaches. Perhaps someone will visit every

user and install the software by hand or perhaps the software will be

physically distributed for users to install on their own. You might decide to

have users log on to a specific location, such as a web site or internal server,

to download and install it from there. Perhaps your software will automatically

install itself when a user logs in one day, a possible built-in feature of your

organization’s technical infrastructure. Regardless of your general installation

strategy, you’ve got some planning to do.

9) Limitations

During the Construction phase, you develop detailed design and source code

for your application. The majority of your Deployment workflow efforts during

this phase will focus on legacy data conversion modelling and planning,

including the development of scripts and tests to perform the actual

conversion. A related effort is legacy equipment conversion; you might need

to upgrade user desktops or internal application servers to run your new

system.

As, there is nothing in this world perfect. Once the object is created is

need to be continuously enhancements. Limitations makes any project more

enhanceble .

Limitations of TVM India is not exactly can be defined. But any limitation will

be removed .

Page 107: Global Sky Shop

10) Conclusion

No software is perfect; you will find some limitations in each software system.

IMAR is no exception; there are some limitations that were not rectified due

to limitation of time and availability of resources. Some of these limitations

are following:

1) It does not pick data for child projects.

2) Graphs are not implemented yet.

3) Status bar shows only the description of menu items.

4) Metric name cannot be defined as variable in metric formula.

5) It does not refresh the project list in tree panel automatically when

a new project is added to the system. User has to click Refresh

button.

6) Project Information Screen (New Project) is congested.

Further scope of improvement

There is always scope of improvements for each software system.

Introducing following features can further improve IMAR.

1) Graphs in reports for various metrics.

2) HTML Format Reports.

3) SQL Builder

4) Formula Builder

5) Timing driven update from MS Project.

6) Web Interface for measure collections from various team leaders.

7) Integration with Rational Suite.

Page 108: Global Sky Shop

11 ) Bibliography

Rajib Mall, Fundamentals of Software Engineering, PHI, 1999.

Roger S. Pressman, Software Engineering, 3rd Edition, McGraw Hill, 1992.

Ian Sommerville, Software Engineering, 4th Edition, Addison Wesley, 1992.

Pankaj Jalote, Software Engineering: A Practitioner’s Approach, Narosa Publishing, New Delhi, 1989.

Grady Booch, Object Oriented Analysis and Design, Addison Wesley, 1994.

Anita D. Carlton , Measuring the Software Process, Addison Wesley.

Date C. J., An Introduction to Database Systems, Volume 1, Fourth Edition, Addison Wesley.

Date C.J., Relational Database - Selected Writings, Addison Wesley.

Elmasri R., Navathe S.B., Fundamentals of Database Systems, Addison Wesley

JAVA, JSP and Servlets, BPB Publications.

Patric Norton, Java 2 Complete Refrence, PHI.

Dietal & Dietal, Java How to Program

http://java.sun.com

http://www.javahome.com

www.developer.java.sun.com

Page 109: Global Sky Shop