Sei sulla pagina 1di 109

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: Nitin Agrawal 0302914050 MCA 6th Semester (2003 2004) Submitted to:

Under the guidance of: Mr. Subhash Rathi Sr. Project Manager TVM India Pvt. Ltd.

KIET SCHOOL OF COMPUTER APPLICATION


KRISHNA INSTITUTE OF ENGINEERING & TECHNOLOGY, GHAZIABAD UP TECHNICAL UNIVERSITY, LUCKNOW

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. Radhakrishnan Principal, KIET School of Computer Applications, Krishna Institute of Engineering and Technology

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

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

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 rewriting business models. To succeed in todays 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

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 customers 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.

1) Table of Contents:1. Introduction 8 1.1 Abstract of Project.8 1.1.1 1.1.2 1.2 2. Title of the Project..8 Objective

Problem Specification/Need of Project

Feasibility Study

2. Software Requirement Specifications 3.1 3.2 3. Design 4.1 4.2 4.3 4.4 4.5 5. 6. 7. 8. 9. 10. 11. Coding Implementation/Technological Environment Testing & Result Enhancement Limitations Conclusion Bibliography ER Diagram Data Flow Diagram (0 & 1 Level) Modules Database Input-Output form (Screen Layout) Introduction Selection of Technology/Specific Requirements

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 projects 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 Vihar Phase V Institutional Area, Gurgaon.

1.1.3) Project Guide Mr. Subhash Rathi Software Engineer Mr. Nimesh Arayan Software Engineer 1.1.4) Software Support Platform: Windows 98/NT/2000, Linux Language: Java RDBMS: MYSQL Other 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


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. 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 customers 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 ISO9000: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 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.

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 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. 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 todays 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 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. 2.6. Company will have some employee in its IT department to manage the site time to time. 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.

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 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. 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 users 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. 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 Shops 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 PCs 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 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. 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 users 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 doesnt 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. Global Sky Shop will display a registration form for new customer to become a registered user. 3.3.2) Products 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). 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 customers 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. 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 departments 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 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 products information from different files. 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 rehosting 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 lifecycle 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. 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 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: 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 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. 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. 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 nonobject-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-objectoriented 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 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 objectoriented 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.

Identifying Object Classes

Customer Product

Employee Job

User Department

Category Address

Channel

Basket

Role

Anonymous customer

Computer

Manager

Delivery Boy

Basket

Order

Administrator

Account

Telephone

Operator

Enquiry

Payment

Cash card

Login

Database

File

Catalog

Guest Customer

Visitor

Global Sky Shopclasses identified from knowledge of problem domain

Keeping the right classes

Category Id Name Description

Product Id Name Category Selling price Description

Address Street City Country Zip code Phone no Fax

Department Id Name Manger Description

Employee User id Date of joining Department id Job id Supervisor name Salary Location Description

Demographic Details Id City Pin code Address1 Address2 Phone1 Phone2 Fax

User Id Role id First Name Last name Sex Date of birth Email id Mobile No Login name Password Security Question Answer

Job Id Name Description

Basket Order id Product id Price Quantity

Channel Id Name Time Slot Duration Description

Role Id Name Description

Anonymous Customer Id Name Phone no.

Order Id Customer id CSE - id Date of request Address of Delivery Desired date of delivery Actual date of delivery Payment type Delivery boy Total cost of order Status Address of delivery

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 products 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.

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.

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.

4.1 Object diagram

Department Department has employees

User

Role

Employee Employee do job Job Anonymous customer

Customer

Global Manager Regional Manager Administrator

Registered customer

Customer makes an order Order One order contain one basket Basket Basket contains products Product

CSE

Delivery boy

Channel

Category

Object diagram of Global Sky Shop using right associations

Dynamic Modeling

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

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.

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

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.

Normal scenario to register a new customer

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

Exception scenario of new customer registration:

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.

Normal Scenario to insert an object in the database

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

Exception scenario of insertion of an object in the database:

Administrator fills the wrong user name and password . Administrator view the login form GSS verify the login name and password. Administrator fills the login form (login name and password) Same page is displayed when login fails. GSS verify the login name and password Administrator fills the invalid information. GSS display the list of different type of classes (department, Name may exist product, category, employee etc.) o An error message is displayed on the same page. o Administrator select a class o o o o o o o o o 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 Normal scenario to delete an 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

Exception scenario of deletion of an object: o o Administrator fills thethe login form Administrator view wrong user name and password . o o GSS verify the loginthe login form (login name and password) Administrator fills name and password. o o Same page isthe login name and password GSS verify displayed when login fails. o o Administrator delete anddifferent no item classes (department, GSS display the list of there is type of selected. product, category, employee page o An error message on the sameetc.) to sleet the items first. Administrator select a class o o Administrator deletes and there is no object left to delete in that o class. display all the objects stored in the database of same class GSS and a message o An errorinsert link is displayed. o o A Administrator choose an object message is displayed when admin tries to delete an object which o isGSS display the information object. particular object being referred by any other of that o GSS ask customer to object Normal scenario to update an 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

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.

Normal scenario to assign an order to a CSE by administrator

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

Exception scenario of assignment of CSE by administrator: 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 o o o Administrator enter form id of CSE. CSE view the login wrong An error message form (login name and password) CSE fills the login is displayed accordingly.

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 Normal o CSE choose an order scenario to assign an order to delivery boy by CSE 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

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.

Normal scenario to read an order to be delivered by the 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

Exception scenario of reading the order by delivery boy:

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.

Normal scenario to decide a suitable delivery status of an order

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

Exception scenario of deciding the order status by delivery boy:

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.

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

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 category Select 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 Open index page GSS Database

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 category Select 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

Event Trace diagram to register a new customer Customer Open index page Ask for Registration Agree for registration Display registration form Submit the information Transfer Information Thanks message GSS Database

Event trace diagram for insertion of an object in database

Administrator

GSS

Database

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 Boy GSS Delivery

CSE login Display list of classes After successful login Select order class Display order assigned to him by admin. Select an order Display order details Select a delivery boy Delivery boy login Display list of orders Assigned to him Select an order Display order details And 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

do : assign the order click Ok button on to delivery boy assignment form

assignment Select an do: see all the do: display [ delivery boy [ delivery boy do: dileverydilevery boy products in an on View free ] display click order is not a delivery is free selectselection formStatus button ] status boy id / order boy Assign button

4.2 DATA FLOW DIAGRAMS

0 level DFD of central control

Delivery boy list Administrator CSE

CSE Id Object detalis Central Control

Delivry boy id

Object detalis Delivry boy id Delivery Boy Delivery boy list GSS DATABASE

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

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.

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

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.

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 ID NAME DESCRIPTION IS_DELETED

Type Int Varchar Varchar TinyInt

Remarks Category Id (Primary Key) Name Of Category(Unique Key) Description Of The Category Delete Status Category Of The

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.

Attribute ID NAME DESCRIPTION IS_DELETED

Type Int Varchar Varchar TinyInt

Remarks Role Id (Primary Key) Name Of Role(Unique Key) Description Of The Role 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 ID NAME

Type Int Varchar

Remarks Project Id (Primary Key) Name Of Product (Unique Key)

CATEGORY_ID COST_PRICE SELLING_PRICE ROL

Int Double Double Int

Category Id of The Product From Which It Belongs Cost Price Of The Product Maximum Retail Price Of The Product Reorder Level Of The Product. Works As The Critical Point Of Reorder Reorder Product Quantity Of The

ROQ IS_DELIVEY_CHARGES DESCRIPTION IS_DELETED

Int TinyInt Varchar TinyInt

Whether There Are Delivery Charges On That Product Description Of The Product 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.

Attribute

Type

Remarks

ID PERM_ADD1 PERM_ADD2 PERM_CITY PERM_PIN PERM_PHONE LOCAL_ADD1 LOCAL_ADD2 LOCAL_CITY LOCAL_PIN LOCAL_PHONE FAX IS_DELETED

Int Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar TinyInt

Demographic Id of the user Permanent Address 1 Of User Permanent Address 2 Of User City in Permanent Address Pin In The Permanent Address Permanent Phone Number Local Address1 Of User Local address Of User City Of Local Address Pin Of The Local City Local Phone Number Of User Fax Of User 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.

Attribute ID NAME

Type Int Varchar

Remarks Department Key) Id (Primary

Name Of Department (Unique Key)

DESCRIPTION IS_DELETED MANAGER

Varchar TinyInt Int

Description Department Delete Status Department Manager Id Department

Of Of Of

The The That

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.

Attribute

Type

Remarks

ID NAME DESCRIPTION

Int Varchar Varchar

Job Id (Primary Key) Name Of Job (Unique Key) 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 ID ROLE_ID

Type Int Int

Remarks User Id (Primary Key) Role of the user( References

Role) DEMOGRAPHIC_ID FIRST_NAME LAST_NAME GENDER DOB EMAIL_ID MOBILE_NO LOGIN_NAME PASSWORD SECURITY_QUESTION ANSWER IS_DELETED Int Varchar Varchar Char Date Varcahr Varchar Varchar Varchar Varchar Varchar TinyInt Demographic Id of The user From Which User Belongs First Name Of The User Last Name Of The User Gender Of User Date Of Birth Of User Email Id Of The User Mobile Number Of User Login Name Of User Password Of The User Security Question Selected By User Answer Of The Selected By User Delete Status Of User Question

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.

Attribute

Type

Remarks

ID ROLE_ID DATE_OF_JOIN DEPARTMENT_ID JOB_ID SALARY LOCATION DESCRIPTION IS_DELETED SUPERVISOR

Int Int Date Int Int Double Varchar Varcahr TinyInt Int

Id (Primary Key) References User Role of the user( References Role) Date When The Employee Joined The Organisation Department Id Of Employee (References Department) Job Id Of The Employee(References Job) Salary Of Employee Working Location Of Employee Short Description Of Employee Delete Status of Employee 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.

CAHNNEL
This table contains information about all the channels on which the advertisement of products from TVM India are shown.

Attribute ID NAME TIME_SLOT DURATION DESCRIPTION IS_DELETED

Type Int Varchar Varchar Int Varchar TinyInt

Remarks Channel Id (Primary Key) Name Of The Channel Time Slot In Which Advertisement is shown. Duration Of Time. The

Advertisement

Descripton About Channel. 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.

ORDER_ITEM
This table contain the information about the basket of items that the customer has selected to order .

Attribute ID PRODUCT_ID SELLING_PRICE QUANTITY IS_DELETED

Type Int Int Double Int TinyInt

Remarks Order Id (Primary Key) References(Customer Order) Ids of the products selected by customer( References Product) Seling Price Of Product individual

Quantity Of Each Product 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

ID CUSTOMER_ID CHANNNEL_ID DATE_REQUEST

Int Int Int Date

Customer Order Id (Primary Key) Id of Customer (References demographic details) Cannel On Which Customer Saw The Advertisement. Date Of Customer Request By

DESIRED_DATE_DELIVERY Date ACTUAL_DATE_DELIVERY DELIVERY_ADD1 DELIVERY_ADD2 DELIVERY_CITY DELVRY-PIN DELIVERY_PHONE PAYMENT_TYPE DELIVERY_BOY_ID CSE_ID DELIVRY_STETUS IS_DELETED Date Varchar Varcahr Varchar Varchar Varchar Char Int Int Char TinyInt

Desired Date of Delivery Actual Date Of Delivery Delivery Address 1 Delivery Address 2 Delivery City Pincode Of Delivery Address Phone No Address Mode Of Customer Of Delivery By

Payment

Delivery Boy Id(References Employee) Customer Support Executive Id (References Employee) Delivry Status Of Customer Order 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.

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 ID ORDER_ID NAME

Type Int Int Name

Remarks Gest CustomerId (Primary Key) Order Id Of Customer References (Customer Order) Name Of The Customer

Table 4.1.12 GUEST_CUSTOMER

5.5) Screen Layout

Home Page Of TVM India

Customer Registration Form

Forget The Login Name And Password

Customer Basket

Category Home

Insert Category

Update Category

Insert Employee

Order Basket

Insert Category

Insert Product

Welcome after Login

5) Coding :

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.

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) 12) 13) 14) 15) Class and interface declarations Class/ interface statement Static variables (in sequence) Constructors 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:

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.

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 classwhich 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.

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. 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.

Code Statistics Statistic Number of Classes Number of Reusable Classes Number of Lines of Source Code in Thousands Number of Non Commented Lines of Source code in Thousands Value 40 12

Code Listing As the source code is the copy right of TVM India Ltd, I was not permitted to attach the code here.

6) Implementation/Technological Environment
Implementation Environment:

If you cant 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. Lets 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 companys 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

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. 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 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. 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 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 systemeach individual deployment configuration should be documented with a UML deployment model that shows how youll 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. Its 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 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 organizations technical infrastructure. Regardless of your general installation strategy, youve 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 .

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.

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 Practitioners 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

Potrebbero piacerti anche