Bike Document

81
CHAPTER 1 I INTRODUCTION 1.1 ORGANIZATION PROFILE 1.2 ABSTRACT Bike Showroom Automation is a application which fulfills the requirement of a Bike showroom. It provides the interface to users in a graphical way to manage the daily transactions as well as historical data. Also provides the management reports like monthly purchases and monthly sales. This application maintains the centralized database so that any changes done at a location reflects immediately. The aim of this application is to reduce the manual effort needed to manage transactions and historical data used in Bike showroom. Also this application provides an interface to users to view the details like cost, description, image of all available models in the showroom. 1.2 PROBLEM DEFINITION

description

Bike Document

Transcript of Bike Document

CHAPTER 1

I INTRODUCTION

1.1 ORGANIZATION PROFILE

1.2 ABSTRACT

Bike Showroom Automation is a application which fulfills the requirement of a Bike showroom. It provides the interface to users in a graphical way to manage the daily transactions as well as historical data. Also provides the management reports like monthly purchases and monthly sales. This application maintains the centralized database so that any changes done at a location reflects immediately. The aim of this application is to reduce the manual effort needed to manage transactions and historical data used in Bike showroom. Also this application provides an interface to users to view the details like cost, description, image of all available models in the showroom.

1.2 PROBLEM DEFINITION

The objective of this project is to create a Bike Showroom Management System which helps to manage the details about the bikes available and also the employees working in that showroom. Most of the showrooms today are running manually storing data in books and files. As the storage medium are books there is chance of inconsistency, accessing a particular item is very time consuming and boring task and the probability of errors during calculations is very high. Due to these drawbacks of the existing manual system, the need of new computerized system is inevitable.Using the features of C#.net , the Showroom Management System has got highly user friendly interface which makes the dealing with the system simpler and easier. With the MSSQL Server 2008, we can store and retrieve required data in efficient manner, so that the precious time of users can be saved, calculations can be made accurately and thereby make their procedures simple.

The aim of this application is to reduce the manual effort needed to manage transactions in a company. Also this application provides an interface to users to view the details like the stock, dealer details, customer details etc.

Current system is a manual one in which users are maintaining ledgers, books etc to store the information like vehicles details, stock details, product details and customer deatils etc..

II System Analysis

2.1 EXISTING SYSTEM ARCHITECTURE

Current system is a manual one in which users are maintaining ledgers, books etc to store the information like models, products, sales and purchases of bikes, customer details as well as employee details.It is very difficult to maintain historical data. Also regular investments need to purchase stationary every year.

A bike showroom has to manage a number of forms regarding bike details , stock, customer details and due details etc. At present all the procedures are doing manually. There are many disadvantages for this system. Data security cannot be assured, retrieving data is difficult. There is chance of losing the stored details. Also errors occur. It is a time consuming process. Disadvantages: The following are the disadvantages It is difficult to track the occupancy.1. More manual hours need to generate required reports2. It is tedious to track the details of cabs provided by third party.3. There is no possibility to track the approvals of requests.4. No co-ordination between various departments.

2.2 PROPOSED SYSTEM ARCHITECTURE

Proposed system is a software application which avoids more manual hours that need to spend in record keeping and generating reports. This application keeps the data in a centralized way which is available to all the users simultaneously. It is very easy to manage historical data in database. No specific training is required for the employees to use this application. They can easily use the tool that decreases manual hours spending for normal things and hence increases the performance.

To take advantage of the latest technology and to manage the details stored in the showroom a new system needs to be developed. The new system should accomplish the following functions The system should allow the representative to handle the model, price, The bike, other details all have to be handled. It should store the customer details, update the price. The colors available for a specific bike, its chassis no, engine no etc. also has to be stored.

ADVANTAGES

Easy to manage all the daily transactions Can generate required reports easily Easy to manage historical data in a secure manner Centralized database helps in avoiding conflicts Easy to use GUI that does not requires specific training

2.3 USER INTERFACE REQUIREMENTS

In todays information-rich society, every field is computerized. Each and every process done in a firm is stored in a system for easy access and future reference. In a bike showroom there will be bike sales and information regarding that sale such as when it has been sold, to whom, details of customer, about the amount and details of the bike etc. Also showroom has to record the details of employees working there. We can add such details to a database in a system. Thus maintaining the data can be done easier and chance of inconsistency and redundancy can be reduced to an extent. Bike showroom Management System is one among them. The system is meant to fully automate the process done in the showroom. One of the important objectives of the system is to fasten and improve the process of managing the showroom. USER REQUIREMENT SPECIFICATIONS The User Requirements Specification describes the business needs for what users require from the system. User Requirements Specifications are written early in the validation process, typically before the system is created. They are written by the system owner and end-users, with input from Quality Assurance. Requirements outlined in the URS are usually tested in the Performance Qualification or User Acceptance Testing. User Requirements Specifications are not intended to be a technical document; readers with only a general knowledge of the system should be able to understand the requirements outlined in the URS.User Requirements ExamplesGood requirements are objective and testable. For example: Screen A accepts production information, including Lot, Product Number, and Date. System B produces the Lab Summary Report. Twenty users can use System C concurrently without noticeable system delays. Screen D can print on-screen data to the printer. System E will be compliant with 21 CFR 11.The URS should include: Introduction including the scope of the system, key objectives for the project, and the applicable regulatory concerns Program Requirements the functions and workflow that the system must be able to perform Data Requirements the type of information that a system must be able to process Life Cycle Requirements including how the system will be maintain users requirement.3.1.1:FUNCTIONAL REUIREMENTSAPPLICATION DESIGNUSERS:The major functionality of this product is divided into four categories. 1. Administrative User Functions. 2. Approvers Functions. 3. Transport Functions. 4. Guest Functions.

In this application each and every user must having their own User ID and Password, using these User ID and Password only they can directly enter into their corresponding Login forms.

1) Administrative User Functions:In this functionality the administrator will do his own responsibilities. Whenever he needs to change the Password, then he can directly change it. If any reason he needs to add a new user he can directly add. The admin user can view the details of all the users and he can add or remove any particular users. He can view the details of all the employees of the company and any time he can add or remove any particular employee or employees. This application mainly concentrated about the transport. The admin user can view the details of all the categories of the transport. This categories viewing list has shows the ID Number of the category, category code, how much amount per month, and how much distance allotted for the particular category, all these information will be provided. The admin user can add and remove any particular category. The admin user can view the details of all the vehicles details which are presently using in the particular company. In this list also each and every vehicle has its own identification number, registration number of the particular vehicle, and the type of the vehicle either it is own or hire. The administrator can add the vehicle depends upon the situation of the company. The admin user can view the details of all the routes. In this routes module the admin user can view the route code, route ID, destination, bus no, and also he can view the pickup points of the particular route. He can add or remove the pickup points of the route. He can add or remove the routes. He can view the details of all the bus requests which are posted from the employees. If he needs the transport facility, then he can also apply the bus request. He can add or remove the bus requests. He can view the details of all the cab requests of the employees. He can also add or remove the cab requests of the employees. The admin user can view the details of all the users and he can add a new user. He can view or generate all the management reports.

2) Approvers Functions:In this function, the Approver can enter into his functionality using his own User ID and Password. After entering into his functionality, whenever he needs to change his password then he can directly change it. The approvers user can view the details of all the users and employees of the particular company. This application mainly concentrated about the transport. The approvers user can view the details of all the categories of the transport. This categories viewing list has shows the ID Number of the category, category code, how much amount per month, and how much distance allotted for the particular category, all these information will be provided. He can view the details of all the vehicles. In this list contains the Identification number of the particular vehicle, registration number of the vehicle and the type of the vehicle means it is for hire or own, this type of information will included in this list. The approvers user can view the details of all the routes and their destination, location, route id, route code all these details will displayed in this list. The approvers user can view the details of all the bus requests which are posted from the employees of the company. He can add or remove the particular bus requests. He can view the details of all the cab requests. He can add or remove the cab requests. Mainly the approvers user can approve the cab requests which are posted from the employees of the company. He can view the all types of the reports.

3) Transport Functions:In this function, the Transport user can enter into his functionality using his own User ID and Password. After entering into his functionality, whenever he needs to change his password then he can directly change it. The Manager can view the details of all the users and the employees of the company. He can view the details of all the categories of the transport. The transport user can view the details of all the vehicles. He can view the details of all the routes. The transport user can view the details of all the bus requests which are posted from the employees of the company. After his careful verification only he can provide the transport facility to the requested employee. He can add or remove the request of the employee.

4) Guest Functions:In this function, the Accountants can enter into his functionality using his own User ID and Password. After entering into his functionality, whenever he needs to change his password then he can directly change it. Here the Guest user means any of the employee can login into the user functionality. He can view the details of all the users and employees of the company. This application mainly concentrated about the transport. The guest user can view the details of all the categories of the transport. This categories viewing list has shows the ID Number of the category, category code, how much amount per month, and how much distance allotted for the particular category, all these information will be provided. He can view the details of all the vehicles. In this list contains the Identification number of the particular vehicle, registration number of the vehicle and the type of the vehicle means it is for hire or own, this type of information will included in this list. The guest user can view the details of all the routes and their destination, location, route id, route code all these details will displayed in this list. The guest user can view the details of all the bus requests which are posted from the employees of the company. Also he can add or remove the bus requests for his own. He can view the details of all the cab requests. Also he can add or remove the cab requests for his own. He can view all types of management reports.

3.1.2:NON FUNCTIONAL REQUIREMENTS Nonfunctional requirements are the properties that your product must have. Think of these properties as the characteristics or qualities that make the product attractive, or usable, or fast, or reliable. These properties are not required because they are fundamental activities of the product -- activities such as computations, manipulating data, and so on -- but are there because the client wants the fundamental activities to perform in a certain manner. They are not part of the fundamental reason for the product's existence, but are needed to make the product perform in the desired manner. Nonfunctional requirements do not alter the product functionality. That is, the functional requirements remain the same no matter what properties you attach to them. The non-functional requirements add functionality to the product -- it takes some amount of pressing to make a product easy to use, or secure, or interactive. However the reason that this functionality is part of the product is to give it the desired characteristics. So you might think of the functional requirements as those that do the work, and the nonfunctional requirements as those that give character to the work.Nonfunctional requirements make up a significant part of the specification. They are important as the client and user may well judge the product on its non-functional properties. Provided the product meets its required amount of functionality, the nonfunctional properties -- how usable, convenient, inviting and secure it is -- may be the difference between an accepted, well-liked product, and an unused one.Let's take a look at another real example. Anyone who has purchased a car, whether they were aware of it or not, made their final decision based on which car met both their functional and nonfunctional needs. Functionally, the car had to be able to transport passengers from some starting location to a particular destination (that is, get me from point A to point B). A variety of nonfunctional attributes or characteristics were likely considered: security and safety, maintainability (ease of repair), reliability (probability of failure), scalability (ease of expansion), efficiency and performance (gas mileage, engine size, capacity -- both in number of passengers and cargo space), portability (ease of transport -- can it be towed easily or can it tow a trailer), flexibility (ease of change -- can it adapt to changes in weather/road conditions), and usability (ease of use -- comfort, handling, stereo sound quality)3.1.3:DOMAIN REUIREMENTS

Requirements can cause substantial problems in large software projects if not handled correctly and efficiently. The problems of missing requirements or incorrect de-scoping of projects are virtually the most prominent ones. Combining graphical representation of requirements and organizing these requirements in several abstraction levels was identified as one of the potential solutions to such issues in our research project conducted with one of major automotive companies in Sweden. The objective of the research reported in this paper is to improve requirements engineering activities by using a graphical modelling language for managing requirements based on Requirement.Abstraction Model (RAM). We evaluated our results via a pilot controlled experiment and the results show a statistically significant improvement in the time required to assess the impact of changes by 37% with the same accuracy. Domain requirements reflect the environment in which the system operates so, when we talk about an application domain we mean environments such as train operation, medical records, e-commerce etc.Domain requirements may be expressed using specialised domain terminology or reference to domain concepts. Because these requirements are specialised, software engineers often find it difficult to understand how they are related to other system requirements.Domain requirements are important because they often reflect fundamentals of the application domain. If these requirements are not satisfied, it may be impossible to make the system work satisfactorily. For example, the requirements for the insulin pump system that delivers insulin on demand include the following domain requirement: The system safety shall be assured according to standard IEC 60601-1:Medical Electrical Equipment Part 1:General Requirements for Basic Safety and Essential Performance.This requirement means that the developers must be familiar with that standard to ensure that they do not violate it. It constrains both the design of the device and the development process. Other requirements have to be checked against this standard.Sometimes, characteristics of the application domain mean that the requirements specification has to include a description of how to carry out some computations. For example, the domain requirement below is included in the requirements specification for an automated train protection system. This system automatically stops a train if it goes through a red signal. This requirement

SYSTEM STUDY4.1 FEASIBILITY STUDYThe development and implementation of a new system is definitely expensive. It requires system resources, manpower, time and money. So it increases the necessity of the feasibility study based on the proposed system requirements. During system analysis, the feasibility study of the proposed system is to be carried out. The study is done in three phases:1. Technical feasibility1. Economical feasibility1. Operational FeasibilityTechnical FeasibilityThe assessment of technical feasibility must be based on an outline design of system requirements in terms of input, output, files, programs, and procedures. This can be qualified in terms of volume of data, trends, frequency of updating, cycles of activity etc. in order to give an introduction of technical system. Bike showroom management system satisfies technical feasibility because it need not require any additional hardware or system configuration for implementation and execution.Economical Feasibility Usually for windows applications the costs involved are fairly minimal. Even features like search, Reporting, functionality for multiple users etc coast very minimal amount. So the Bike showroom management system satisfies economical feasibility.Operational Feasibility The windows application is a highly programmable environment that allows mass customization through the immediate deployment of a large and diverse range of applications, to millions of global users.III DEVELOPMENT ENVIRONMENT

3.1 H/W ENVIRONMENT

System: Pentium IV 2.4 GHz. Hard Disk: 40 GB. Floppy Drive: 1.44 Mb. Monitor: 15 VGA Colour. Mouse: Logitech. Ram: 256 Mb.

3.2 S/W ENVIRONMENT Operating system : - Windows 7. Front End : - Visual Studio.Net 2010 Back End : -SQL server 2008 Coding Language: - Visual C# .Net.

SOFTWARE DESCRIPTION

ADO.NETADO.NET is a part of the .NET Framework ADO.NET consists of a set of classes used to handle data access ADO.NET is entirely based on XML ADO.NET has, unlike ADO, no Recordset object The ConnectionAfter we import all the necessary namespaces, we're ready to connect to our database. Now, whether you implement the DataReader or Dataset, your initial database connection will still be as follows:SqlConnection objConnect = new SqlConnection (Your Connection String); objConnect.Open();Above, we set up our SQLConnection Connection object with our database connection information, and then we opened it. Listed below are the common connection object methods we could work with:Open - Opens the connection to our database Close - Closes the database connection Dispose - Releases the resources on the connection object. Used to force garbage collecting, ensuring no resources are being held after our connection is used. Incidentally, by using the Dispose method you automatically call the Close method as well. State - Tells you what type of connection state your object is in, often used to check whether your connection is still using any resources. Ex. if (ConnectionObject.State == ConnectionState.Open) As far as opening a database connection goes, that's really the extent of it. Now we have to decide which object to use in order to achieve the end results you wish to present. We now have to choose whether to work with a Datareader or the Dataset. Let's begin by looking at the DataReader.The DataReaderWith classic ASP, when we needed a method for data retrieval, we'd use the appropriate data object and set its cursors to the task at hand. If we wanted a quick forward-only data read, we would set our Recordset's CursorType to adOpenForwardOnly and its LockType to adLockReadOnly (often referred to as a "fire-hose" cursor). Well, with .NET, all you need is the DataReader, which offers many features by which you can further tweak the efficiency of its output.Command Object MethodsNow that we know what the DataReader does, there are numerous methods that can be used with it to achieve your specific goals. Here are some methods the DataReader works with through its Command object. The four Execute methods all pertain to an action performed by the Command object, wile the remaining methods are used to enhance the Command object's own functionality. ExecuteReader - Simply executes the SQL query against the database, using the Read() method to traverse through data, as illustrated belowExecuteNonQuery - Used whenever you work with SQL stored procedures with parameters, as illustrated in the Stored Procedures section below ExecuteScalar - Returns a lightning fast single value as an object from your database Ex. object val = Command.ExecuteScalar(); Then check if != null. ExecuteXmlReader - Executes the SQL query against SQL Server only, while returning an XmlReader object. Prepare - Equivalent to ADO's Command.Prepared = True property. Useful in caching the SQL command so it runs faster when called more than once. Ex. Command.Prepare(); Dispose - Releases the resources on the Command object. Used to force garbage collecting, ensuring no resources are being held after our connection is used. Incidentally, by using the Dispose method you automatically call the Connection object's Close method as well. Thus, after we establish our initial database connection all we need to do to retrieve data with a DataReader is to use the Command object to query the open database. The Command.ExecuteReader method used via the Command Object creates our DataReader.SqlCommand objCommand = new SqlCommand(Sql String, objConnect);SqlDataReader objDataReader = objCommand.ExecuteReader();

C#.NETC# is an elegant, simple, type-safe, object-oriented language that allows enterprise programmers to build a breadth of applications.C# also gives you the capability to build durable system-level components by virtue of the following features: Full COM/Platform support for existing code integration. Robustness through garbage collection and type safety. Security provided through intrinsic code trust mechanisms. Full support of extensible metadata concepts. You can also interoperate with other languages, across platforms, with legacy data, by virtue of the following features: Full interoperability support through COM+ 1.0 and .NET Framework services with tight library-based access. XML support for wWeb-based component interaction. Versioning to provide ease of administration and deployment. Partial type:C# 2.0 introduces the concept of a partial type declaration. This is quite simply a single type which spans multiple files, where each file declares the same type using the partial modifier. The files may refer to members declared within one another without problem (just as forward references within C# is already not a problem). Here's an example (which in itself is a complete program). This allows all the auto-generated code which either mustn't be touched on pain of brokenness or shouldn't be touched because you'll lose all your changes anyway to live in a completely separate file to the code you wish to add. It doesn't help much if you want to tweak the generated code, of course, but that's a less common issue.

Aliases:In previous versions of C#, it was impossible to use two different types which had the same name (including namespace) within the same assembly. (The types themselves would have to be defined in different assemblies anyway, of course, but you might want to use them both from the same assembly.) C# 2.0 introduces the concept of an "alias". This allows you to effectively name an assembly reference when you compile the code, and use that name to disambiguate between names. As well as disambiguating between identical namespace-qualified names, aliases allow you to disambiguate between names which have been declared within an already used namespace and names which belong to the "root" namespace. This is achieved with the predefined alias of global.Static classes:Prior to version 2.0, it was impossible to create a class with no instance constructors in C#. If you didn't declare one, the compiler provided a default constructor for you (a public parameterless constructor which called the parameterless constructor of the base type). For classes which were never meant to be instantiated (usually utility classes such as System.Math), this meant you needed to include a private constructor which you didn't call yourself in order to prevent instantiation. In C# 2.0, there are static classes. These are simply declared using the static modifier. They cannot be derived from or instantiated, and they have no constructors (it is a compile-time error to provide any yourself, and the compiler won't add one for you). Their members must all be staticC# provides language support for nullable types using a question mark as a suffix. For example, int? is the same type as Nullable (which is also the same type as Nullable in the normal way). C# then allows you to compare a nullable value with null, or set it to null, and these work in the obvious way. There's an implicit conversion (no cast required) from a non-nullable type to its equivalent nullable type, and there's an explicit conversion (cast requried) from a nullable type to its equivalent non-nullable type. The cast is compiled into a call to the Value property, and an InvalidOperationException is thrown if the value is null at that point. A nullable type can also be used as the right hand side of the as operator, with the natural consequences. The boxed type of a nullable value is the boxed type of the equivalent non-nullable value. If you box a value which is already null (i.e. HasValue is false), the result is null. This was a late change to the behaviour, as it required CLR changes which Microsoft were hoping to avoid - you may therefore see some beta documentation which disagrees with this. Note that unlike in SQL, two null values of the same type are equal. In other words, the following: int? x = null;int? y = null;Console.WriteLine (x==y);

prints "True". As well as the System.Nullable struct, there's the non-generic Static class System.Nullable. This merely provides support for the System.Nullable struct, in terms of finding out the non-nullable type of a nullable type and performing comparisonsSQL Server 2008:Microsoft SQL Server 2008 automatically tunes many of the server configuration options, therefore requiring little, if any, tuning by a system administrator. Although these configuration options can be modified by the system administrator, it is generally recommended that these options be left at their default values, allowing SQL Server to automatically tune itself based on run-time conditions.However, if necessary, the following components can be configured to optimize server performance: SQL Server Memory I/O subsystem Microsoft Windows NT optionsIndexes are structured to facilitate the rapid return of result sets. The two types of indexes that SQL Server supports are clustered and non-clustered indexes. Indexes are applied to one or more columns in tables or views. The characteristics of an index affect its use of system resources and its lookup performance. The Query Optimizer uses an index if it will increase query performance. An index in SQL Server assists the database engine with locating records, just like an index in a book helps you locate information quickly. Without indexes, a query causes SQL Server to search all records in a table (table scan) in order to find matches. A database index contains one or more column values from a table (called the index key) and pointers to the corresponding table records. When you perform a query using the index key, the Query Optimizer will likely use an index to locate the records that match the query.A B-tree is analogous to an upside-down tree with the root of the tree at the top, the leaf levels at the bottom, and intermediate levels in between. Each object in the tree structure is a group of sorted index keys called an index page. A B-tree facilitates fast and consistent query performance by carefully balancing the width and depth of the tree as the index grows. Sorting the index on the index key also improves query performance. All search requests begin at the root of a B-tree and then move through the tree to the appropriate leaf level. The number of table records and the size of the index key affect the width and depth of the tree. Index key size is called the key width. A table that has many records and a large index key width creates a deep and wide B-tree. The smaller the tree, the more quickly a search result is returned.Multiple Databases:Most Business applications database because there are many types of data that you cannot store effectively in a single table.When businesses first begin to use computers they discovered they could eliminate repetitious data by breaking up some databases into multiple tables.When a business kept records on paper, for example, the payroll department had a file with each employees name, address, social security number unmanned data on the benefits department had a file with each employees name, address, Social Security number and data on the benefits to which each was entitled.The computer can looks up the name and address that go with each payroll record. It can retrieve data so quickly that it can display the name and address ROM one table and the payroll data from another table just as quickly as if they were in a single table. You only have to enter the basic data once, though. When sometimes you only have to change the address in one table, and it will automatically be changed in all the forms used by all the departments. Relational Database is not needed for very simple data, such as a mailing list, but they are needed for most business applications. Internet Integration:The SQL Server 2005 programming model is integrated with the Windows DNA architecture for developing Web applications, and SQL Server 2005 supports features such as English Query and the Microsoft Search Service to incorporate user-friendly queries and powerful search capabilities in Web application.Scalability and Availability:The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows 98 through large, multiprocessor servers running Microsoft Windows 2000 Data center edition. SQL Server 2005 Enterprise Edition supports features such as federated servers, indexed views, and large memory support that allow it to scale to the performance levels required by the largest Websites.

Ease of installations, deployment and use :SQL Server 2005 includes a set of administrative and development tools that improve upon the process of installing, deploying, managing, and using SQL Server across several sites. SQL Server 2005 also supports a standards-based programming model integrated with the Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of building powerful and scalable systems. These features allow you to rapidly deliver SQL Server applications that customers can implement with a minimum of installation and administrative overhead.Enterprise Manager is the main administrative console for SQL Server installations. It provides you with a graphical "birds-eye" view of all of the SQL Server installations on your network. You can perform high-level administrative functions that affect one or more servers, schedule common maintenance tasks or create and modify the structure of individual databases. Query Analyzer offers a quick and dirty method for performing queries against any of your SQL Server databases. It's a great way to quickly pull information out of a database in response to a user request, test queries before implementing them in other applications, create/modify stored procedures and execute administrative tasks. SQL Profiler provides a window into the inner workings of your database. You can monitor many different event types and observe database performance in real time. SQL Profiler allows you to capture and replay system "traces" that log various activities. It's a great tool for optimizing databases with performance issues or troubleshooting particular problems. Service Manager is used to control the MS SQL Server (the main SQL Server process), MSDTC (Microsoft Distributed Transaction Coordinator) and SQL Server Agent processes. An icon for this service normally resides in the system tray of machines running SQL Server. You can use Service Manager to start, stop or pause any one of these services. Data Transformation Services (DTS) provide an extremely flexible method for importing and exporting data between a Microsoft SQL Server installation and a large variety of other formats. The most commonly used DTS application is the "Import and Export Data" wizard found in the SQL Server program group.DatabaseA database is similar to a data file in that it is a storage place for data. Like a data file, a database does not present information directly to a user; the user runs an application that accesses data from the database and presents it to the user in an understandable format. Database systems are more powerful than data files. The data is more highly organized. In a well-designed database, there are no duplicate pieces of data that the user or application has to update at the same time. Related pieces of data are grouped together in a single structure or record, and relationships can be defined between these structures and records. When working with data files, an application must be coded to work with the specific structure of each data file. In contrast, a database contains a catalog that applications use to determine how data is organized. Generic database applications can use the catalog to present users with data from different databases dynamically, without being tied to a specific data format. Relational DatabaseThere are different ways to organize data in a database but relational databases are one of the most effective. Relational database systems are an application of mathematical set theory to the problem of effectively organizing data. In a relational database, data is collected into tables (called relations in relational theory). A table represents some class of objects that are important to an organization. For example, a company may have a database with a table for employees, another table for customers, and another for stores. Each table comprises columns and rows (attributes and tuples in relational theory). Each column represents some attribute of the object represented by the table. For example, an Employee table would typically have columns for first name, last name, employee ID, department, pay grade, and job title. Each row represents an instance of the object represented by the table. For example, one row in the Employee table represents the employee who has employee ID 12345. When organizing data into tables, you can usually find many different ways to define tables. Relational database theory defines a process, normalization, which ensures that the set of tables you define will organize your data effectively. While SQL Server is designed to work as a server in a client/server network, it is also capable of working as a stand-alone database directly on the client. The scalability and ease-of-use features of SQL Server allow it to work efficiently on a client without consuming too many resources. Structured Query Language (SQL)To work with data in a database, you must use a set of commands and statements (language) defined by the DBMS software. There are several different languages that can be used with relational databases; the most common is SQL. Standards for SQL have been defined by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO). Most modern DBMS products support the Entry Level of SQL-92, the latest SQL standard (published in 1992).

IV System Design

Design is the first step in the development phase for any engineered product or system. Design is a creative process; a good design is the key to effective system. The term Design is defined as The process of applying various techniques and principles for the purpose of defining a process or a system in sufficient detail to permit its physical realization. It may be defined as the process of applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization. Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm that is used. For a project management point of view, software design is conducted in two steps. Preliminary design is concerned with the transformation of requirements in to data and software architecture. Detail design focuses on refinement to the architectural representation that lead to detail algorithm data structure and representation of software. In system design high-end decisions are taken regarding the basic system architecture, platforms and tools to be used the system design transforms a logical representation of what a given system is required to be in the physical specification. A design starts with the system requirement specification and converts it to a physical reality during the development. Important design factors such as reliability response time, throughput of the system maintainability, expandability etc should be taken into account. INPUT DESIGNInput screen has to be designed so simple that the user can enter data easily. The input design involves determining what are the inputs , how the data should be performed, how to validate data, how to minimize data entry and how to provide a multiuser facility. In accurate input, data are the most common cause of errors in data processing. Errors entered by data entry operators can be controlled by input design. Input design is the process of converting user-originated inputs to a computer-based format. Input data are collected and organized into groups of similar data. Once identified, appropriate input media are selected for processing.

Enough messages and dialogue boxes are provided while design screen, which does guide user at the time of any errors, or at time of entry. This feature provides a user-friendly interface to native users. It can be emphasized that input deigns of ACS system is so designed that it ensures easy and error free data entry mechanism. Once one is sure of input data the output formatting becomes a routine workOUTPUT DESIGNA quality output is one, which meets the requirements of the end user and presents the information clearly. In any systems results of processing are communicated to the user and to other systems through outputs. In the output design it is determined how the information is to be displayed for immediate need and also the hard copy output. It is the most important and direct source information to the user. Efficient and intelligent output design improves the systems relationship the user and helps in decision making.

The objective of the output Design is to convey the information of all the past activities, current status and to emphasize important events. The output generally refers to the results and information that is generated from the system. Outputs from computers are required primarily to communicate the results of processing to the users. They are also used to provide a permanent copy of these results for later consultation.

DATABASE DESIGNThe data in the system has to be stored and retrieved from database. Designing the database is a part of system design. Data elements and data structures to be stored have been identified at analysis phase. They are structured and put together to design the data storage and retrieval system.A database is a collection of interrelated data stored with minimum redundancy to serve many users quickly and efficiently. The general objective is to make database access easy, quick, inexpensive and flexible for the user. Relationships are established between the data items and unnecessary data items are removed. Normalization is done to get an internal consistency of data and to have minimum redundancy and maximum stability. This ensures minimizing data storage required, minimizing changes of data inconsistencies and optimizing for update times. The SQL Server database has been chosen foe developing the relevant databases.

4.1.1.1.Tablename : admin

Sl.noAttributeData TypeDescriptionConstraints

1.adminidint(10)Administrator idPrimary key

2.adminnamevarchar(25)Administrator name

3.usernamevarchar(25)User name

4.passwordvarchar(25)Password

5.contactnumbervarchar(25)Phone number

6.createdatdateCreated time

7.lastlogindatetimeLast login time

8.statusvarchar(10)status

4.1.1.2.Tablename: customer

Sl.noAttributeData TypeDescriptionConstraints

1.custidint(10)CustomeridPrimary key

2.fnamevarchar(25)First name

3.lnamevarchar(25)Last name

4.contactnovarchar(25)Phone number

5.emailidvarchar(25)Email id

6.passwordvarchar(25)Password

7.addresstextAddress

8.Cityvarchar(20)City

9.statevarchar(20)Status

10.countryvarchar(50)Country

11.pincodevarchar(10)Pincode

12.gendervarchar(10)Gender

13.createdatdateCreated time

14.lastlogindatetimeLast login time

15.statusvarchar(10)Status

4.1.1.3.Tablename: dealer

Sl.noAttributeData TypeDescriptionConstraints

1.dealeridint(10)Dealer idPrimary key

2.adminidint(10)Administrator idForeign key

3.companynamevarchar(25)Company name

4.Imgidint(10)Image id

5.Fnamevarchar(25)Fisrt name

6.Lnamevarchar(25)Last name

7.usernamevarchar(25)User name

8.passwordvarchar(25)Password

9.contactnumbervarchar(15)Phone number

10.addresstextAddress

11.createdatdateCreated time

12.lastlogindatetimeLast login time

13.Statusvarchar(10)Status

4.1.1.3.Tablename: image

Sl.noAttributeData TypeDescriptionConstraints

1.Imgidint(10)Image idPrimary key

2.imagenamevarchar(25)Imagename

3.Vehidint(10)Vehicle idForeign key

4.imagepathvarchar(50)Image path

5.defaultimgint(1)Default image

4.1.1.3.Tablename: sales

Sl.noAttributeData TypeDescriptionConstraints

1.Salesidint(10)Sales idPrimary key

2.Vehidint(10)Vehicle idForeign key

3.Custidint(10)Customer idForeign key

4.showroomidint(10)Showroom idForeign key

5.vehcostfloat(10,2)Vehicle cost

6.Taxidint(10)Tax idForeign key

7.ord_datedateOrdered date

8.del_datedateDelivery date

9.descriptiontextDescription of vehicle

10.Statusvarchar(10)Status

4.1.1.3.Tableshowroom: showroom

Sl.noAttributeData TypeDescriptionConstraints

1.showroomidint(10)Showroom idPrimary key

2.dealeridint(10)Dealer idForeign key

3.Showroomnamevarchar(50)Showroom name

4.imagepathvarchar(100)Image path

5.contactnovarchar(15)Contact number

6.addresstextAddress

7.Cityvarchar(25)City

8.Statevarchar(25)Status

9.pincodevarchar(10)Pincode

10.statusvarchar(10)Status

4.1.1.3.Tablename: tax

Sl.noAttributeData TypeDescriptionConstraints

1.Taxidint(10)Tax idPrimary key

2.taxdescriptiontextTax description

3.Taxfloat(10,2)Total Tax

4.Statusvarchar(10)Status

4.1.1.3.TABLENAME: vehicle

Sl.noAttributeData TypeDescriptionConstraints

1.Vehidint(10)Vehicle idPrimary key

2.dealeridint(10)Dealer idForeign key

3.vehnamevarchar(50)Vehicle name

4.vehmodelvarchar(50)Vehicle model

5.vehtypevarchar(15)Vehicle type

6.vehdescriptiontextVehicle description

7.vehcostdecimal(10,2)Vehicle cost

8.createdatdateCreate time

9.statusvarchar(10)status

Employee ID:Sl.noAttributeData TypeDescriptionConstraints

1.Emp idint(10)Employee idPrimary key

2.EmpNamevarchar(25)Emplolyeename

3.Date of joiningDatetimeDate of joining

4.Designationvarchar(50)Designation

5.SalaryInt (6)Salary

Entity Relationship Diagram (ER-Diagram):Entity relationship diagram is used in modern database software. Software engineering is to illustrate logical structure of database.iit is a relational schema database, modelling method, used to model a system and approach .this approach is commonly used in database design. The diagrams created using this method are called Entity-Relationship Diagram.Entity-Relationship Diagram depicts the various relationships among entities, considering each objective as an entity. Entity is represented as rectangle and relationship between data objects .the ER diagram is a notation that is used to conduct the data modelling activity.Entity: Entity is the thing in which we want to store the information it is an elementary basic building block of storing information about business process. An entity represents an object defined within the information system about which you want to store the information .entities are distinct things in the enterprise.

Relationships: A relationship is named connection or association between entities or used to relate two or more entities with common attributes or meaningful interaction between objects. Attributes: Attributes are the properties of the entities and the relationships are the descriptions of the entity. Attributes are elementary pieces of information attached to an entity.

NameNotationDescription

Entity

An entity is a single object about which data can be stored it is subjected of a table. Entity and their relationships are modelled through the use of the entity relationships diagram.

Relationship

A relationship is named connection or association between entities or used to relate two or more entities with common attributes or meaningful interaction between objects.

Attributes

Attributes are the properties of the entities and the relationships are the descriptions of the entity. Attributes are elementary pieces of information attached to an entity.

DETAILED DESIGN5.1. Introduction: The detailed design starts after the system design phase is complete. The main goal of detailed design is to specify the logic for the different modules that have been specified during the system design or coding for the module can be developed such that specification of the module may be given precisely. Once the module is precisely specified the internal logic for the module that will implement the given specification as decided. The specification should be such that they are complete unambiguous and precise and they are not suggested any particular implementation. A well defined design language like PDL(Process Design Language)is used for detailed design. In this project the front end consists of PHP forms. The form design is done using Dreamweaver.We are also using MySQL as backend tool for computerization of Online vehicle showroom.

5.2. Applicable Documents : The detailed design refines the system design document hence the first applicable document here is system design. Also we are referring the data structures. Hence the second applicable document is database design. Since this project is user friendly, all users can operate it efficiently. This project helps the user to know the details of the dealers working in the showroom, and also about the customers. The admin can have the up to date information about the ordered vehicles made by customer. All work that was done by writing in papers can now be stored in database through the computer.

5.3. Structure of software package :The various functional components used are: Functional component 1: Login module

Functional component 2: Vehicle module

Functional component 3: Vehicle selection module

Functional component 4: Booking module

Functional component 5: Admin module

Functional component 6: Dealer module

5.4 .Modular Decomposition of the System:5.4.1. Login module:5.4.1.1.Design assumptions: The module of this system are design to authenticate a user before he/she enters into the system. The user must have valid username and password registered. If the user is not valid than the user must login again with the correct username and password.

5.4.1.2. Identification of module:The module identified in this sytem: Get username Get password Login

5.4.1.3. Structure Chart showing hierarchy of modules: It is graphical representation of the control logic of processing function or modules representation of system It is one of the most common methods used for system design. In a structure chart each program module is represented by a rectangular box. Modules at the top level of the structure chart call the modules at the lower levels. The connection between modular are represented by lines between the rectangular boxes. The connection describes the data flows between the called and calling module.

5.4.2.Vehicle module:5.4.2.1.Design assumptions: The module of this system are used to add new vehicles and to update vehicle details and to delete vehicles.5.4.2.2.Identification of module:The module identified in this sytem: Add vehicle update delete

5.4.3. Vehicle Selection module:5.4.3.1.Design assumptions: This search screen Option must be provide to select the vehicles based on name. In this option customer can select vehicles based on its model.Admin module:5.4.5.1.Design assumptions: Administrator has full permission to access this web site. Here administrator can add new vehicle details, and he can add his employees.5.4.5.2. Identification of module:The module identified in this sytem: login add new dealer change password logout

5.4.6. Dealer module:5.4.6.1.Design assumptions: Dealers can handle customer details, and he can communicate with customers through mail. If customer forgets his password dealer can reset his password.5.4.6.2. Identification of module:The module identified in this sytem: login add new customer

IntroductionThe purpose of the Design Phase is a solution of the problem specified in the requirements document. This is the first step in moving from the problem domain to the solution domain. The design of a system is perhaps the most critical factor affecting the quality of the software; it has a major impact on the later phases is the Design Document. This Document is similar to a blueprint or a plan for the solution and is used later during implementation, testing and maintenance.

The Design activity is often divided into separate phases System Design and Detailed Design. System Design is sometimes also called Top-Level Design. This system design aims to identify and modules that should be in the system, the specifications of these modules, and how they interact with each other to produce the desired result. At the end of the System Design all the major data structures, file formats, and the major modules in the system and their specifications are decided.

3.2 Applicable Documents : The document used in system design is Software Requirement Specification Document.

3.3 Functional Decomposition :

Main and Login Page: The main page, neatly designed page, here login option is provided to login. Also new signup option is provided to for new user to signup.

Vehicles page: This screen will display all the vehicle details, with exact cost, Features, Model details, etc.

Vehicle Selection Screen: This search screen Option must be provide to select the vehicles based on name. In this option customer can select vehicles based on its model.

Booking page: In this page user can book vehicles by entering cart information. After booking vehicles user will receive booked vehicles information via mail.

This page also includes the details about the payment must be done by the customer during the time of delivery.

Admin Page: Administrator has full permission to access this web site. Here administrator can add new vehicle details, and he/she can add his/her dealers.

Dealer Page: Dealer can handle customer details, and he/she can communicate With customers through mail. If customer forgets his/her password employee can reset his password.

3.4 DESCRIPTION OF THE PROGRAMS

3.4.1 Context Flow Diagram (CFD)

A Context Flow Diagram is a top level (also known as level 0) data flow diagram. It only contains one process node (process 0) that generalizes the function of the entire system in relationship to external entities. In context diagram the entire system is treated as a single process and all its inputs, outputs, sinks and sources are identified and shown.CFD OF VEHICLE SHOWROOM MANAGEMENT:CFD Level 0:Transaction reportPurchased vehiclesCustomerAdmin/dealer

dealer

Add vehiclesProfile, order vehicles Vehicle Showroom

3.4.2 DATA FLOW DIAGRAM(DFD):

Symbols Used in DFD Diagram:

NOTATIONCOMPONENTDESCRIPTION

ProcessAn oval represents a process or transform that is applied to data or control and changes it in some way.

External EntityA rectangle is used to represent an external entity, that is, a system element that produces information for transformation by the software or receives information produced by the software.

Data FlowsAn arrow represents one or more data items or data objects.

Data StoreThe open box represents datastore-stored information that is used by the software.

A Data Flow Diagram (DFD) is a graphical representation of the "flow" of data through an Information System. A data flow diagram can also be used for the visualization of Data Processing. It is common practice for a designer to draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then "exploded" to show more detail of the system being modell.A DFD represents flow of data through a system. Data flow diagrams are commonly used during problem analysis. It views a system as a function that transforms the input into desired output. A DFD shows movement of data through the different transformations or processes in the system.Dataflow diagrams can be used to provide the end user with a physical idea of where the data they input ultimately has an effect upon the structure of the whole system from order to dispatch to restock how any system is developed can be determined through a dataflow diagram. The appropriate register saved in database and maintained by appropriate authorities.Data Flow Diagram of the Vehicle showroom management

Level 1: TOP LEVEL DFD

Add vehicles 1.0

DealerDealer details

VehiclesUploading images 2.0Vehicles details

Registration 3.0Customer detailsAdmin

Customer

Vehicle Sales 4.0Sales Sales report

Level 2: ADMIN MODULE

Level 3: DEALER MODULE

Level 4: CUSTOMER MODULE

3.5.DESCRIPTION OF THE COMPONENT: 3.5.1 LOGIN MODULE: INPUT: The username and passwordPROCESS: The process is named as authentication the process check the accepted username and password OUTPUT: If the inputs are valid the successful login is one and a new screen with links to respective page is displayed.

3.5.2.ADMIN MODULEINPUT: inputs dealer details to create new account for dealerPROCESS: validation of data. OUTPUT: The system creates new dealer profile with login ID and password.

3.5.3.DEALER MODULEINPUT: inputs the vehicle details such as vehicle name, image, price, etc.PROCESS:Calculate vehicle price and uploading image. OUTPUT:The system uploads new vehicle details to database.

3.5.4.CUSTOMER MODULEINPUT: The user creates new account and orders new vehicle.PROCESS: Vehicle ordering and payment process OUTPUT: The user orders vehicle and makes payment.

MODULES

Administrator Module Stock Module Sales Module Employee Module Reporting ModuleADMINISTRATOR MODULE This module is used to maintain the details of users of the project. Users are divided into two categories. a. Admin b. Normal user EMPLOYEE MODULE This module maintains all that information which belongs to the employees who are working with the company. It also takes care about employee salaries and to generate pay slips.

Stock Module: This module maintains all the information to manage purchases done in the company. All the purchases are recorded to database and can be viewed as a report that displays all the purchases made by the company. Sales Module: This module deals with major and crucial part which includes sales of bikes and services provided to customers. This module provides interface to add/update the sales transactions and also the services provided to customers. Also shows the information of the models available and provide facility to choose their model. And can add new models to the database. Report module This module used to provide reports required by the higher management. To generate dynamic reports like VAT on purchases and VAT on sales.TESTING & VALIDATION CHECK

Definition of Testing:

Testing is a process of running software in an intention to find errors the software, which has been developed, has to be tested to prove its validity. Testing is considered to be the least creative phase of the whole cycle of system design. In the real sense it is the phase, which helps to bring out the creativity of the phases.Testing program is the first step in the debugging process. Some people idea of the testing a program consists of running the program a few times to see what happens, each time using slightly different input. This process can succeed when we have a short program, but it is not effective for a long program. In any case, even for the simplest program the choice of test data is all-important.A good testing suite is vital because the user must test all possible Execution paths inside the code in order to have any hope it will be bug free. Testing program is an art, not a science.Testing of the system is done to ensure the integrity of the system. Testing is vita for the success of the project, which is the last stage of development. The aim of testing is to prove that the development system addresses the predefined processing requirements and will perform reliably and efficiently during time.Testing is the process of creating a program with the explicit information of finding error that makes a program fail. Successful test finds the error yet undiscovered. As an additional benefit, testing demonstrates that a software function appear to be working according to the specifications.

Purposes of testing:

To affirm the quality of the project. To find and eliminate any errors from previous stages. To validate the software and to eliminate the operation. Reliability of the system.

Types of testing:

The software, which has been developed, has to be tested to prove its validity. Testing is considered to be the least creative phase of the whole cycle of system design. In the real sense it is the phase, which helps to bring out the creativity of the phases.The Time Assessment for molding of casting was tested along the following guidelines to prove its validity. It was tested using two techniques of software testing.Unit Testing

In the lines of this strategy all the individual functions and modules were put to the test independently. By following this strategy all the error in coding were identified and corrected. This method was applied in combination with the white and Black box testing techniques to find the errors in each module.Integration TestingThis testing strategy has two different approaches namely the Top-down approach in which the integration is carried out from the top level module to the bottom and the Bottom-up approach in which the integration is carried out from the low level module to the top.

The modules were tested using the Bottom-up approach by introducing stubs for the top-level functions. This test was used to identity the errors in the interfaces, the errors in passing the parameters between the functions and to correct them.Validation TestingThe main aim of this testing is to verify that the software system does what it was designed for Alpha testing and Beta testing were conducted to ensure the validity of the system. A customer conducted the Alpha test at the developers site. The end user of the software conducted the Beta test at one or more of the customer site.

System TestingThe idea of applying this strategy was to put the system to a series of different test whose primary purpose is to fully exercise the computer-based system. Although each test has a different purpose, all work to verify that all system elements have been properly integrated and perform allocated functions, security testing was conducted.Acceptance testingAcceptance testing involves planning and execution of functional tests, performance test and stress test to verify that the implemented system satisfies its requirements. Typically, acceptance test will incorporate test cases developed during unit testing and integration testing.Additional test cases are added to achieve the desired level of functional, performance and stress testing of the entire system. Tools of special importance during acceptance testing include a test coverage analyzer, and a coding standard checker.

Preparing Test PlanPreparing test plan is the first step in the last phase of software development cycle .The test plan consists of all the activities that had to be done in the software testing phase. This test plan has been documented using the rational test manager software.Perform Validation TestingSoftware is completely assembled as a package interfacing errors have been uncovered and a final series of software test validation testing may begin. Validation successive when the customer is satisfied.

Validation Test CriteriaSoftware validation is achieved through a series of black box test that demonstrates conformity with requirements.

SYSTEM IMPLEMENTATIONImplementation is one of the most important tasks of the project. Implementation is the phase in which one has to be cautious, because all the efforts undertaken during the project will be fruitful only if the software is properly implemented according to the plans made. The implementation phase is creative than system design. It is primarily concerned with user training, site preparation and file conversion. When the managers system is linked to terminals on remote sites, the telecommunication network and tests of the network along with the system are also included under implementation.Depending upon the nature of the system, extensive user training may be required. Programming itself is a design work. The initial parameters of the management information system should be modified as a result of programming efforts; programming provides a reality test for the assumptions made by the analyst. System testing check the readability and accuracy of the system access and retrieve and update data from the new files. Once the program becomes available, the test data are read into the computer and processed. In most conventions parallel run was conducted to establish the efficiency of the system. The most critical stage in achieving a successful new system is giving the confidence that the new system will work and be effective. The system can be implemented only after thorough testing is done and if it is found to be working according to the specification. This method also offers the greatest security since the old system can take over if the errors are found or inability to handle certain type of transactions while using the system.SYSTEM MAINTENANCE

Software maintenance is the process of modifying a software system or components after its delivery in order to correct faults, improve the performance and other attributes, or to adapt to a change environment. Maintenance covers a wide range of activities including correcting the coding and design errors, updating the documentation and test data, and upgrading the user support. There is an aging process that calls for periodic maintenance or hardware and software. Maintenance is always necessary to keep the software usable and useful. Hardware also requires periodic maintenance to keep the system into its standards. Software maintenance activities can be classified in to three:Corrective maintenanceAdaptive maintenancePerfective maintenance

Corrective maintenance removes software faults. Perfective maintenance improves the system without changing its functionality. The objective of perfective maintenance should be to prevent failures and optimize the software.

Adaptive maintenance modifies the software to keep it up to date with its operative environment. It may be needed because of changes in the user requirements, changes in target platform, or changes in external interfaces. Minor adaptive changes should be handled by normal maintenance process. Major adaptiveness should be carried out as, a separate development process.

8.1 Future Enhancement The requirement of the company is bound to change as and when new changes are made within the organization. This system has been designed in such a way that any further enhancement can be incorporated with the existing system. Any changes to the showroom management can be implemented to the system. This system has been developed using VB, Therefore any further enhancement will surely add to the feasibility and usefulness of the system for the organization as a whole in the future.CONCLUSIONThe project Showroom Management System has been developed to overcome the problem faced in the present system. The developed package was found to work out the operation effectively. The objectives such as reducing inconsistency, limiting redundancy, accessing data within less time of the system have been achieved.A consistent and efficient system has been successfully developed, implemented and tested. The system is very flexible and user friendly. So further changes can be incorporated into these systems easily. Adequate documentation provides for maintenance and future enhancement.

Appendix

Screen shot