Projects Org « Complete IT and Non IT Projects



ABC LAPTOPS Service Center Management System

 

|Acknowledgment 3 |

| |

|Declaration 4 |

| |

| Introduction & Objectives of the Project |

| Introduction 8 |

| Objectives of the Project 9 |

| Advantage 10 |

|Drawback of Current Manual-System 11 |

|Proposed System 12 |

|Need 13 |

| |

| System Study |

|Preliminary Investigation 24 |

|System Development Life Cycle 25 |

| |

| System Analysis |

|Importance of Computerized System 30 |

|Principle of System Analysis 31 |

| |

|4. System Design |

| 4.1 System Design 33 |

| 4.2 Data Modeling 37 |

| 4.3 E-R Diagram 41 |

| 4.4 Context Level DFD 44 |

| 4.5 Modules 51 |

| 4.6 Process Logic for Each Modules 54 |

| 4.7 Tool/Platform, Hardware and Software Requirement Specification 55 |

| 4.8 Scheduling 56 |

| |

|5. System Development |

| Source Code 59 |

| Code Efficiency 138 |

| |

| Testing |

| 6.1 Testing Phase 140 |

|6.2 Level of Testing 141 |

| 6.3 Verification and Validation (V&V) 146 |

| |

| 7. System Implementation |

| |

| 7.1 Post Implementation Maintenance and Review 149 |

| 7.2 Hardware Evaluation Factors 149 |

| 7.3 Software Evaluation Factors 150 |

| 7.4 Conversion and Training 151 |

| 7.5 Training Needs 152 |

| |

| 8. Cost Estimation of the Project 153 |

| |

| 9. GANTT & PERT CHART 154 |

| |

| 10. Security and Validations 157 |

| |

| 11. Scope of Future Application 158 |

| |

| 12. Conclusion 159 |

| |

| 13. Bibliography 159 |

| |

| 14. Glossary 160 |

1. INTRODUCTION & OBJECTIVES OF THE PROJECT

1.1 INTRODUCTION

At ABC Laptop Service Center, experienced laptop technicians can perform prompt service on all makes and models of the ABC laptop & notebook computers. The qualified technical staff diagnoses challenging problems for all models. Online users and customers can send their laptop Repair Request , to get free Laptop Repair Estimate.

Simply after filling the Laptop repair estimate form service center will send the customers estimate. If the customer accepts the estimate service center will start repairing the laptop. ABC Laptop Service technicians are experienced in troubleshooting and fixing the most challenging problems. Moreover, if a customer has broken laptop sitting around not being used, HP Laptop Service center will buy it from the customer at a fair price. Users have to click Sell your laptop and provide service center with some information about the laptop.  HP Laptop Service Center will respond shortly with an offer. I am confident that this software package can be readily used by non-programming personal avoiding human handled chance of error. This project is used by two types of users

i. Online Users.

ii. Administrator (management of the company).

Online users can check their service details, service center details, repair estimate etc.

Administrator can maintain daily updates in the records. Administrator is must be an authorized user. He can further change the password. There is the facility for password recovery, logout etc.

1.2 OBJECTIVES OF THE PROJECT

The objectives of the project are to:

i. Develop a functional & usable HP Laptops Service Center Management System.

ii. This Website is useful for the who are interested in Laptop servicing from authorized service centers.

iii. This Website is useful for users as follows:

• To get servicing tips to save money on repairing by servicing your Laptop yourself.

• Users can further contain the information of the Show Rooms and Service centers.

• To email all the customers whose service is due?

iv. This Website is useful for Administers as follows:

• To add laptop details sold from a particular showroom.

• Add servicing details of the laptop.

• Add service centers details.

• Respond Trouble Tickets.

• Collecting Feedbacks from the customers or users.

• Report Generation

• Add information about the accessories and spare parts available in the company.

1.3 ADVANTAGE

I have designed the given proposed system in the PHP, MY SQL to automate HP Laptops Service Center Management System.

Performance: During past several decades, the records are supposed to be manually handled for all activities. The manual handling of the record is time consuming and highly prone to error. To improve the performance of the Company system, the computerized system is to be undertaken. The computerized project is fully computerized and user friendly even that any of the members can see the report and status of the company.

Efficiency: The basic need of this website is efficiency. The website should be efficient so that whenever a new user submit his/her details the website is updated automatically. This record will be useful for other users instantly.

Control: The complete control of the project is under the hands of authorized person who has the password to access this project and illegal access is not supposed to deal with. All the control is under the administrator and the other members have the rights to just see the records not to change any transaction or entry.

Security: Security is the main criteria for the proposed system. Since illegal access may corrupt the database. So security has to be given in this project.

1.4 DRAWBACKS OF CURRENT MANUAL- SYSTEM

• The current manual system has a lot of paper work and it does not deal with exact record details.

• To maintain the records of sale and service manually, is a Time-consuming job.

• With the increase in database, it will become a massive job to maintain the database.

• Requires large quantities of file cabinets, which are huge and require quite a bit of space in the office, which can be used for storing records of previous records.

• The retrieval of records of employees, customers, trouble tickets will be a tedious job.

• Lack of security for the records, anyone disarrange the records of your system.

ESTABLISH THE NEED OF NEW SYSTEM

1. Problem of Reliability: Current system is not reliable. It seems to vary in quality from one month to the next. Some times it gives good output, but some times the output is worst.

2. Problem of Accuracy: There are too many mistakes in reports.

3. Problem of timeliness: In the current system the reports and output produced is mostly late and in most of the cases it is useless because it is not on time.

4. Problem of Validity: The output and reports mostly contains misleading information. The customer's information is sometimes not valid.

5. Problem of Economy: The current system is very costly. We have to spend lots of money to keep the system up and going, but still not get the desired results.

6. Problem of Capacity: The current system is suffering from problem of capacity also. The staff for organization is very less and the workload is too much. Few peoples cannot handle all the work.

1.5 PROPOSED SYSTEM

1. The web-site is to be accessed from any where anytime.

2. As the project is web-based so the software should be platform independent.

3. The data is very important asset for corporation so strong authentication method is to be used to ensure security of information from malicious user.

4. As the valuable data is being transferred through internet so the security of data is to be maintained at any cost.

5. Easy to be customized in future. As the client demand some other additional features. The complexity of customer’s company may be different or if mode of business changes then the system has capability to make appropriate modification to suite that change. Customization is key factor of designing this software.

6. The web-site manipulates data in an accurate way.

7. Accuracy of all type of calculations are important and to be achieved at any cost.

8. This should always be observed during the development of the software that the user is not from technical background, so the software should be user friendly and can be handled easily.

9. Storage of data should be easily accessible.

10. The data retrieval and other manipulation related task which is done at the database level should be fast enough. The database should support multiple users at a time.

11. The product should fulfill user’s requirement.

1.6 NEED

I have designed the given proposed system in the PHP, MY SQL to automate the process The following steps that give the detailed information of the need of proposed system are:

• Performance: During past several decades, the records are supposed to be manually handled for all activities. The manual handling of the record is time consuming and highly prone to error. To improve the performance of the system, the computerized system is to be undertaken. The computerized project is fully computerized and user friendly even that any of the members can see the report and status of their enquiries.

• Efficiency: The basic need of this website is efficiency. The website should be efficient so that whenever a new user submits his/her details the website is updated automatically. This record will be useful for other users instantly.

• Control: The complete control of the project is under the hands of authorized person who has the password to access this project and illegal access is not supposed to deal with. All the control is under the administrator and the other members have the rights to just see the records not to change any transaction or entry.

• Security: Security is the main criteria for the proposed system. Since illegal access may corrupt the database. So security has to be given in this project.

SOFTWARE & HARDWARE REQUIREMENTS

“Client-Server approach with XML / PHP, MY SQL”

The need of today’s software development is competence in a GUI based front-end tool, which can connect to Relational Database engines. This gives the programmer the opportunity to develop client server based commercial applications.

FRONT END

PHP, MY SQL programming tools are complete programming environments. It allows programmers to build a GUI program using the various on-screen controls such as buttons, text, menus, boxes etc. These controls are placed on a form and then the processing details related with each control are filled in.

In the business world, competitive strategies have become the order of the day to improve quality, cut costs and provide a high response customer service base. Most organizations today need to be market driven and do a lot of value addition to their products and services. This naturally calls for rational decision making, which requires information. Information Technology or IT provides that effective channel to support and implement this strategy. Client/Server is the technology that empowers the desktop, thus setting a trend for the way successful organizations will use technology in the next decade.

2.2 INTRODUCTION TO PHP, MY SQL

Php .Introduction

MySQL™ and PHP are two of the most popular open source technologies to emerge during the past decade. PHP is a powerful language for writing server-side Web applications. MySQL is the world's most popular open source database. Together, these two technologies provide you with a powerful platform for building database-driven Web applications.

This hands-on MySQL and PHP training course teaches attendees everything they need to successfully build data-driven Web sites using MySQL and PHP.

2.3 My SQL

Introduction

It's very likely that the first task the administrator will want to undertake is proper configuration of MySQL's configuration file. This file, entitled f, stores default startup options for both the server and for clients. Correct configuration of this file can go a long way towards optimizing MySQL, as various memory buffer settings and other valuable options can be set here.

Interestingly, the scope of this file can be set according to its location. The settings will be considered global to all MySQL servers if stored in /etc/f. It will be global to a specific server if located in the directory where the MySQL databases are stored (/usr/local/mysql/data for a binary installation, or /usr/local/var for a source installation). Finally, its scope could be limited to a specific user if located in the home directory of the MySQL user (~/.f). Keep in mind that even if MySQL does locate a f file in /etc/f (global to all MySQL servers on that machine), it will continue its search for a server-specific file, and then a user-specific file. You can think of the final configuration settings as being the result of the /etc/f, mysql-data-dir/f, and ~/.f files.

In order to aid administrator's in the proper configuration of this file, the MySQL developers have included four sample f files within the distribution. Their names are my-f.sh, my-f.sh, my-f.sh, and my-f.sh, and each denotes recommended configuration settings in accordance with system resource availability.

5 Data Type

. TEXT TYPES

|CHAR( ) |A fixed section from 0 to 255 characters long. |

|VARCHAR( ) |A variable section from 0 to 255 characters long. |

|TINYTEXT |A string with a maximum length of 255 characters. |

|TEXT |A string with a maximum length of 65535 characters. |

|BLOB |A string with a maximum length of 65535 characters. |

|MEDIUMTEXT |A string with a maximum length of 16777215 characters. |

|MEDIUMBLOB |A string with a maximum length of 16777215 characters. |

|LONGTEXT |A string with a maximum length of 4294967295 characters. |

|LONGBLOB |A string with a maximum length of 4294967295 characters. |

The ( ) brackets allow you to enter a maximum number of characters will be used in the column.

VARCHAR(20)

CHAR and VARCHAR are the most widely used types. CHAR is a fixed length string and is mainly used when the data is not going to vary much in it's length. VARCHAR is a variable length string and is mainly used when the data may vary in length.

CHAR may be faster for the database to process considering the fields stay the same length down the column. VARCHAR may be a bit slower as it calculates each field down the column, but it saves on memory space. Which one to ultimatly use is up to you.

Using both a CHAR and VARCHAR option in the same table, MySQL will automatically change the CHAR into VARCHAR for compatability reasons.

BLOB stands for Binary Large OBject. Both TEXT and BLOB are variable length types that store large amounts of data. They are similar to a larger version of VARCHAR. These types can store a large piece of data information, but they are also processed much slower.

NUMBER TYPES

|TINYINT( ) |-128 to 127 normal |

| |0 to 255 UNSIGNED. |

|SMALLINT( ) |-32768 to 32767 normal |

| |0 to 65535 UNSIGNED. |

|MEDIUMINT( ) |-8388608 to 8388607 normal |

| |0 to 16777215 UNSIGNED. |

|INT( ) |-2147483648 to 2147483647 normal |

| |0 to 4294967295 UNSIGNED. |

|BIGINT( ) |-9223372036854775808 to 9223372036854775807 normal |

| |0 to 18446744073709551615 UNSIGNED. |

|FLOAT |A small number with a floating decimal point. |

|DOUBLE( , ) |A large number with a floating decimal point. |

|DECIMAL( , ) |A DOUBLE stored as a string , allowing for a fixed decimal point. |

The integer types have an extra option called UNSIGNED. Normally, the integer goes from an negative to positive value. Using an UNSIGNED command will move that range up so it starts at zero instead of a negative number.

DATE TYPES

|DATE |YYYY-MM-DD. |

|DATETIME |YYYY-MM-DD HH:MM:SS. |

|TIMESTAMP |YYYYMMDDHHMMSS. |

|TIME |HH:MM:SS. |

MISC TYPES

|ENUM ( ) |Short for ENUMERATION which means that each column may have one of a specified possible |

| |values. |

|SET |Similar to ENUM except each column may have more than one of the specified possible values.|

ENUM is short for ENUMERATED list. This column can only store one of the values that are declared in the specified list contained in the ( ) brackets.

ENUM('y','n')

You can list up to 65535 values in an ENUM list. If a value is inserted that is not in the list, a blank value will be inserted.

SET is similar to ENUM except SET may contain up to 64 list items and can store more than one choice

PHP ENVIRONMENT / OPERATING SYSTEM

Introduction

The PHP IDE Project is a proposed open-source project under the Eclipse Tools Project. This document describes the content and the scope of the proposed project.

This proposal is in the Project Proposal Phase and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the

Background

PHP started as an open source project about 10 years ago. During the last 10 years, PHP has gained significant momentum with now more than 23 million Web domains running PHP. PHP’s simplicity and low cost of ownership have all contributed to the fast and wide adoption of the language. PHP has now reached the point of maturity where organizations are seeking standard tools and solutions that will further facilitate application development with PHP.

Project Goal

The PHP IDE project will deliver a PHP Integrated Development Environment framework for the Eclipse platform. This project will encompass the development components necessary to develop PHP-based Web Applications and will facilitate extensibility. It will leverage the existing Web Tools Project in providing developers with PHP capabilities.

Project Scope

The project will contribute an initial set of Eclipse plug-ins that will add PHP IDE capabilities to Eclipse, and will provide APIs to further extend the functionality of the project. The project will be composed of a set of extensible features covering the development life cycle of PHP including functionality that deals with developing, deploying, documenting, debugging and testing PHP-based applications.

The next section describes in detail the design, features and extension points needed in order to provide a comprehensive IDE.

Project Description

Functional Requirements

The PHP IDE Project will include the following components:

PHP IDE Core

The PHP IDE Core provides the infrastructure for the PHP IDE and includes:

• PHP Language Model - provides infrastructure for the PHP language and the most popular extensions. This Core component is the basis of all PHP language classes, functions and constants and it will support both PHP 4 and PHP 5. The two PHP major versions support will affect the code assist, syntax coloring and PHP Functions view.

• PHP Inspector / Code Builder - analyzes PHP language elements such as: classes, functions, constants, variables, include statements, PHPDoc blocks and errors. The PHP Inspector component is based on the PHP language Lexer and Parser and provides analysis for all PHP source code in either PHP 4 or PHP 5.

• PHPDoc Support - provides infrastructure that helps overcome some of the PHP language complexities. It adds capabilities to the PHP Language model and the PHP Inspector.

• PHP User Model - provides an API for navigating through PHP inspected data (PHP classes, functions, constants, variables and include statements). Used by the search engine, Code Assist and PHP Explorer View.

• PHP Source Code Formatter - Format PHP code according to personal preferences. The tool works in tandem with the Web Tools Project formatter.

PHP IDE UI

The PHP IDE UI provides the user interface for the PHP IDE. It includes several contributions to the Eclipse workbench:

• PHP Editor – The PHP Editor is built over the Web Tools Structured Editor and should inherit all its capabilities and actions. The PHP as a Structured Editor allows working on more then one programming language at the same time. All features in the PHP Editor support both PHP 4 and PHP 5.

• PHP Outline View – Supports two types of Outline Views:

o PHP specific - shows the structure of an inspected PHP file (classes, functions, variables, include files and constants).

o Generic web view - shows an HTML structural View – inherited from the Web Tools Project.

• Project Outline View - Very similar to the Outline View except that it shows the structure of an entire PHP Project.

• PHP Explorer View - PHP element hierarchy of the PHP projects in the workbench. It provides a PHP specific view of the resources shown in the Navigator.

• PHP Language View - A graphical representation of the PHP language Model.

• PHP Manual View - An offline view of the official PHP Manual ().

The UI will also provide the following functionalities:

• PHP Searching – Integrated in the Eclipse workbench’s search dialog, finds declarations of PHP classes, functions, constants and variables.

• Open PHP Type Dialog - Similar to JDT’s open Type dialog, the PHP open type dialog will show all PHP types in the workspace in order to open the selected type in the Editor.

PHP IDE Debug

The PHP IDE debug provides the infrastructure for PHP debugging, implemented on top of the debug model provided by the Eclipse Platform Debugger and on top of the Web Tools Projects. The PHP IDE will support both types of PHP Servers: PHP local web server and PHP executable. The debug protocol is based on Zend Studio’s debug protocol with extension points for new protocol messages.

Debug Perspective

The Debug Perspective will be based on the Eclipse Debug Perspective with compliance to the relevant PHP Debug actions. The perspective will contain the standard debug views.

Debug Preview

The Preview view will display what will be rendered on the browser as a result of processing the PHP file that is being edited. This will be part of a Multi-Page Editor, which will contain a Source page and a Preview page aggregated in a Tabbed Container.

Extension Points

The following list is work in progress and will most likely expand as requirements are identified. The PHP IDE project will provide extension points to facilitate the extensibility of the project. The extensions points will provide the ability to

• Extend the debug communication protocol, between the PHP IDE and the Web Server, with new messages. This will enable to increase the debugging capabilities with new features and functions.

• Integrate additional PHP builders.

• Extend the PHP data models by providing new data model that will reflect code assist and outline view.

• Launch of a PHP project on any Web server.

In addition, the PHP IDE project will define several extension points to enhance the PHP Editor. The extensions points will provide the ability to

• Add new folding structured (regions) for the PHP Editor (similar to org.eclipse.jdt.ui.foldingStructureProviders)

• Enhance the PHP IDE with new text hover to the PHP Editor

[pic]

The PHP IDE project will be built using several Eclipse Web Tools Platform (WTP) project components. The WTP provide generic, extensible and standards-based tools for Web-centric application development. It provides editors for various Web centric languages such as: HTML, CSS, JavaScript, WSDL, etc. In addition, WTP provides facilities for configuring and connecting to Web Servers. The PHP IDE will use the WTP Server facilities to manage and configure Web Servers. PHP IDE project will benefit from the client web development support, already available in the WTP (HTML, CSS, etc) and will add the server side web development support (PHP). The integration between the PHP IDE and WTP will provide the PHP IDE’s users with a comprehensive solution for WEB development.

Main plug-ins:

• PHP Editor, will extend the WTP’s Structure Editor. The Editor will add PHP support to the Structured Editor using PHP Lexical Analyzer for the PHP language. The use of the WTP’s Structure Editor as a baseline for the extended functionality will provide the PHP developer with the benefits and capabilities that are already available with the WTP editor.

• Debugger - The debugger communication protocol between the IDE and the server side in the PHP IDE will be based on Zend’s proven debugging protocol. This protocol defines the agreed-upon format for transmitting data between both the server and the client side in order to facilitate debugging of a PHP application. The debug protocol will support PHP web server debugging and PHP stand-alone application debugging. Debug initiation will be done through an HTTP request made to the debugger server side, then the debugger server will open a communication channel to the PHP IDE to start debugging communication.

• Inspection – The PHP IDE will make use of an existing Zend inspection model and tool for parsing PHP code. The PHP parser establishes a model constructed by file data for each of the project files. Each file’s data includes: classes, functions, constants, errors and include file data. The model is used for Code Assist, Outline View, Project Outline View and PHP Explorer View. The model is updated while you type in the editor and for every change in the PHP Project’s structure.

Code contributions

Zend and IBM will be making an initial code contribution that will encompass the core functionality for the PHP project including:

• High-quality and proven PHP model infrastructure incl. editor, syntax highlighting, code completion, and PHP explorer

• PHP perspectives

• PHP debugging capabilities

Development Plan

We plan to have an initial prototype version available by the end of Q1/2006. After the availability of the initial version we will work on incorporating changes and feedback as needed and strive to release the first functional version as early as possible.

2.1 PRELIMINARY INVESTIGATION

System development, a process consisting of two major steps of system analysis and design, start when management or sometimes system development personnel feel that a new system or an improvement in the existing system is required. The system development life cycle is classically thought of as the set of activities that analysts, designers and users carry out to develop and implement an information system. The system development life cycle consists of the following activities:

➢ Preliminary investigation

➢ Determination of system requirements

➢ Design of system

➢ Development of software

➢ System testing

➢ Implementation, evaluation, and maintenance

A request to take assistance from information system can be made for many reasons, but in each case someone in the organization initiates the request is made, the first system activity the preliminary investigation begins. This activity has three parts:

1) Request clarification

2) Feasibility study

3) Request approval

Request clarification: Many requests from employees and users in the organizations are not clearly defined, therefore it becomes necessary that project request must be examined and clarified properly before considering systems investigation.

2.2 SYSTEM DEVELOPMENT LIFE CYCLE

Systems are created to solve problems. One can think of the systems approach as an organized way of dealing with a problem. In this dynamic world, the subject System Analysis and Design (SAD), mainly deals with the software development activities.

DEFINING A SYSTEM

A collection of components that work together to realize some objective forms a system. Basically there are three major components in every system, namely input, processing and output.

In a system the different components are connected with each other and they are interdependent. For example, human body represents a complete natural system. We are also bound by many national systems such as political system, economic system, educational system and so forth. The objective of the system demands that some output is produced as a result of processing the suitable inputs.

SYSTEM LIFE CYCLE

System life cycle is an organizational process of developing and maintaining systems. It helps in establishing a system project plan, because it gives overall list of processes and sub-processes required for developing a system.

System development life cycle means combination of various activities. In other words we can say that various activities put together are referred as system development life cycle. In the System Analysis and Design terminology, the system development life cycle means software development life cycle.

Following are the different phases of software development cycle:

▪ System study

▪ Feasibility study

▪ System analysis

▪ System design

▪ Coding

▪ Testing

▪ Implementation

▪ Maintenance

The Different Phases Of Software Development Life Cycle Are Shown Below.

[pic]

A system analysis is a separation of a substance into parts for study and their implementation and detailed examination.

Before designing any system it is important that the nature of the business and the way it currently operates are clearly understood. The detailed examination provides the specific data required during designing in order to ensure that all the client's requirements are fulfilled. The investigation or the study conducted during the analysis phase is largely based on the feasibility study. Rather it would not be wrong to say that the analysis and feasibility phases overlap. High-level analysis begins during the feasibility study. Though analysis is represented as one phase of the system development life cycle (SDLC), this is not true. Analysis begins with system initialization and continues until its maintenance. Even after successful implementation of the system, analysis may play its role for periodic maintenance and up gradation of the system.

One of the main causes of project failures is inadequate understanding, and one of the main causes of inadequate understanding of the requirements is the poor planning of system analysis.

Analysis requires us to recall the objectives of the project and consider following three questions:

✓ What type of information is required?

✓ What are the constraints on the investigation?

✓ What are the potential problems that may make the task more difficult?

3.1 IMPORTANCE OF COMPUTERIZED HP LAPTOPS SERVICE CENTER MANAGEMENT SYSTEM

There are several attributes in which the computer based information works. Broadly the working of computer system is divided into two main groups:

□ Transaction System

□ Decision Support System

Transaction System:

A transaction is a record of some well-defined single and usually small occurrence in a system. Transactions are input into the computer to update the database files. It checks the entering data for its accuracy. This means that numeric data appears in numeric field and character data in character field. Once all the checks are made, transaction is used to update the database. Transaction can be inputted in on-line mode or batch mode. In on-line mode, transactions are entered and updated into the database almost instantaneously. In batch mode, transactions are collected into batches, which may be held for a while and inputted later.

Decision Support System:

It assists the user to make analytical decision. It shows the various data in organized way called analysis. This analysis can be made to syrdy preferences and help in making decisions.

Computer system works out best with record maintenance. It will tell you which customer would get how much pending/reports statements. It will also help to search the information about a particular person by simply entering his telephone number. User can store information as per requirement, which can be used for comparison with other reports.

3.2 PRINCIPLES OF SYSTEM ANALYSIS

Principles:

1. Understand the problem before you begin to create the analysis model.

2. Develop prototypes that enable a user to understand how human machine interaction will occur.

3. Record the origin of and the reason for every requirement.

4. Use multiple views of requirements like building data, function and behavioral models.

5. Work to eliminate ambiguity.

A Complete Structure:

The limited time and resources have restricted us to incorporate, in this project, only the main activities that are performed in news sites, but utmost care has been taken to make the system efficient and user friendly.

For the optimum use of practical time it is necessary that every session is planned. Planning of this project will include the following things:

• Topic Understanding.

• Modular Break – Up of the System.

• Processor Logic for Each Module.

• Database Requirements.

Topic Understanding:

It is vital that the field of application as introduced in the project may be totally a new field. So as soon as the project was allocated to me, I carefully went through the project to identify the requirements of the project.

Modular Break –Up of the System:

➢ Identify The Various Modules In The System.

➢ List Them In The Right Hierarchy.

➢ Identify Their Priority Of Development

➢ Description Of The Modules:

4.1 SYSTEM DESIGN

The design document that we will develop during this phase is the blueprint of the software. It describes how the solution to the customer problem is to be built. Since solution to complex problems isn’t usually found in the first try, iterations are most likely required. This is true for software design as well. For this reason, any design strategy, design method, or design language must be flexible and must easily accommodate changes due to iterations in the design. Any technique or design needs to support and guide the partitioning process in such a way that the resulting sub-problems are as independent as possible from each other and can be combined easily for the solution to the overall problem. Sub-problem independence and easy combination of their solutions reduces the complexity of the problem. This is the objective of the partitioning process. Partitioning or decomposition during design involves three types of decisions: -

Define the boundaries along which to break;

Determine into how money pieces to break; and

Identify the proper level of detail when design should stop and implementation should start.

Basic design principles that enable the software engineer to navigate the design process suggest a set of principles for software design, which have been adapted and extended in the following list:

Free from the suffer from "tunnel vision." A good designer should consider alternative approaches, judging each based on the requirements of the problem, the resources available to do the job.

The design should be traceable to the analysis model. Because a single element of the design model often traces to multiple requirements, it is necessary to have a means for tracking how requirements have been satisfied by the design model.

The design should not repeat the same thing. Systems are constructed using a set of design patterns, many of which have likely been encountered before. These patterns should always be chosen as an alternative to reinvention. Time is short and resources are limited! Design time should be invested in representing truly new ideas and integrating those patterns that already exist.

The design should "minimize the intellectual distance" between the software and the problem as it exists in the real world. That is, the structure of the software design should (whenever possible) mimic the structure of the problem domain.

The design should exhibit uniformity and integration. A design is uniform if it appears that one person developed the entire thing. Rules of style and format should be defined for a design team before design work begins. A design is integrated if care is taken in defining interfaces between design components.

The design activity begins when the requirements document for the software to be developed is available. This may be the SRS for the complete system, as is the case if the waterfall model is being followed or the requirements for the next "iteration" if the iterative enhancement is being followed or the requirements for the prototype if the prototyping is being followed. While the requirements specification activity is entirely in the problem domain, design is the first step in moving from the problem domain toward the solution domain. Design is essentially the bridge between requirements specification and the final solution for satisfying the requirements.

The design of a system is essentially a blueprint or a plan for a solution for the system. We consider a system to be a set of components with clearly defined behavior that interacts with each other in a fixed defined manner to produce some behavior or services for its environment. A component of a system can be considered a system, with its own components. In a software system, a component is a software module.

The design process for software systems, often, has two levels. At the first level, the focus is on deciding which modules are needed for the system, the specifications of these modules, and how the modules should be interconnected. This is what is called the system design or top-level design. In the second level, the internal design of the modules, or how the specifications of the module can be satisfied, is decided. This design level is often called detailed design or logic design. Detailed design essentially expands the system design to contain a more detailed description of the processing logic and data structures so that the design is sufficiently complete for coding.

Because the detailed design is an extension of system design, the system design controls the major structural characteristics of the system. The system design has a major impact on the testability and modifiability of a system, and it impacts its efficiency. Much of the design effort for designing software is spent creating the system design.

The input to the design phase is the specifications for the system to be designed. Hence, reasonable entry criteria can be that the specifications are stable and have been approved, hoping that the approval mechanism will ensure that the specifications are complete, consistent, unambiguous, etc. The output of the top-level design phase is the architectural design or the system design for the software system to be built. This can be produced with or without using a design methodology. Reasonable exit criteria for the phase could be that the design has been verified against the input specifications and has been evaluated and approved for quality.

A design can be object-oriented or function-oriented. In function-oriented design, the design consists of module definitions, with each module supporting a functional abstraction. In object-oriented design, the modules in the design represent data abstraction (these abstractions are discussed in more detail later). In the function-oriented methods for design and describe one particular methodology the structured design methodology in some detail. In a function- oriented design approach, a system is viewed as a transformation function, transforming the inputs to the desired outputs. The purpose of the design phase is to specify the components for this transformation function, so that each component is also a transformation function. Hence, the basic output of the system design phase, when a function oriented design approach is being followed, is the definition of all the major data structures in the system, all the major modules of the system, and how the modules interact with each other.

Once the designer is satisfied with the design he has produced, the design is to be precisely specified in the form of a document. To specify the design, specification languages are used. Producing the design specification is the ultimate objective of the design phase. The purpose of this design document is quite different from that of the design notation. Whereas a design represented using the design notation is largely to be used by the designer, a design specification has to be so precise and complete that it can be used as a basis of further development by other programmers. Generally, design specification uses textual structures, with design notation helping in understanding

4.2 DATA MODELING

Data modeling defines primary data objects, composition of each data object, and attributes of the object, relationships between each object and other objects and between objects and the processes.

List of Tables:

Entity Users

Description: To store login details of the online users.

|Field |Type |Constraints |

|User id |Char (30) |Primary Key |

|Username |Char (30) |Not Null |

|Password |Char (30) |Not Null |

|Email |Char (20) |Not Null |

|Security_question |Char (80) |Not Null |

|Answer |Char (50) |Not Null |

Entity-Category

Description: To store details of the categories of the Laptops provided by HP.

|Field |Type |Constraints |

|Category |Char (30) |Not Null |

|Type 1 |Char (30) |Not Null |

|Type2 |Char (30) |Not Null |

|Type 3 |Char (30) |Not Null |

Entity: Laptop

Description: To store laptop details sold by the company by a particular showroom.

|Field |Type |Constraints |

|Product_ID |Char (30) |Primary Key |

|Name |Char (50) |Not Null |

|Type |Char (50) |Not Null |

|Model |Char (50) |Not Null |

|Cofiguration |Char (150) |Not Null |

|Showroom_Name |Char(50) |Not Null |

|Address |Char(50) |Not Null |

|City |Char(30) |Not Null |

|State |Char(30) |Not Null |

Entity: Customer

Description: To store details of the customers.

|Field |Type |Constraints |

|Customer_id |Char (30) |Primary Key |

|Customer_name |Char (30) |Not Null |

|Address |Char (50) |Not Null |

|City |Char (30) |Not Null |

|State |Char (30) |Not Null |

|Phone |Number |Not Null |

|Email |Char (30) |Not Null |

|Product_ID |Char (30) |Foreign key |

|Type |Char (30) |Not Null |

|Date_of_purchase |Date |Not Null |

|Model |Char (50) |Not Null |

Entity: Stock

Decription: To store details of the product.

|Field |Type |Constraints |

|Product_Id |Char (30) |Primary Key |

|Name |Char (30) |Not Null |

|Qty_available |Char (30) |Not Null |

Entity: Supplier

Description: To store details of suppliers.

|Field |Type |Constraints |

|Supplier_id |Char (30) |Primary Key |

|Name |Char (30) |Not Null |

|Address |Char (30) |Not Null |

|City |Char (30) |Not Null |

|State |Char (30) |Not Null |

|Phone |Number |Not Null |

|Product name |Char (50) |Not Null |

|Qty_supplied |Number |Not Null |

|Date_of_supply |Date |Not Null |

|Payment |number |Not Null |

|Mode_of _payment |Char (30) |Not Null |

Entity : Feedback

Decription: To store feedback details.

|Field |Type |Constraints |

|Name |Char (30) |Not Null |

|Phone |Char (30) |Not Null |

|Email |Char (30) |Not Null |

|Comment |Char(30) |Not Null |

Entity: Service Details

Decription: To store details of the product.

|Field |Type |Constraints |

|Cust_ID |Char (30) |Not Null |

|Cust_Name |Char (30) |Not Null |

|Address |Char (30) |Not Null |

|Product_Id. |Char(30) |Not Null |

|Type |Char(30) |Not Null |

|First_Service_Date |Char(30) |Not Null |

|Second_Service_Date |Char(30) |Not Null |

|Third_Service_Date |Char(30) |Not Null |

|Remark |Char(250) |Not Null |

Entity: Showroom Details

Decription: To store details of the showroom.

|Field |Type |Constraints |

|Cust_ID |Char (30) |Not Null |

|Cust_Name |Char (30) |Not Null |

|Address |Char (30) |Not Null |

|Laptop_No. |Char(30) |Not Null |

|Type |Char(30) |Not Null |

|First_Service_Date |Char(30) |Not Null |

|Second_Service_Date |Char(30) |Not Null |

|Third_Service_Date |Char(30) |Not Null |

|Remark |Char(250) |Not Null |

Entity: Engineer Details

Decription: To store details of the engineer to whom service is assigned.

|Field |Type |Constraints |

|Engin_ID |Char (30) |Primary Key |

|Name |Char (30) |Not Null |

|Address |Char (130) |Not Null |

|Contact_No |Number |Not Null |

|Date_of_joining |Date |Not Null |

|Service_center_name |Char(130) |Not Null |

|Service_center_address |Char(130) |Not Null |

|Laptop_assigned |Char(130) |Not Null |

|Date_Of_jobwork |Date |Not Null |

4.3 ENTITY RELATIONSHIP DIAGRAM (ERD)

Entity – Relationship Diagram: This depicts relationship between data objects. The attribute of each data objects noted in the entity- relationship diagram can be described using a data object description. Data flow diagram serves two purposes:

1. To provide an indication of how data are transformed as they move through the system.

2. To depict the functions that transformation the data flow.

Data Objects: A data object is a representation of almost any composite information that must be understood by the software. By composite information, we mean something that has a number of different properties or attributes. A data object encapsulates data only there is no reference within a data object to operations that act on the data.

Attributes: Attributes define the properties of a data object and take on one of three different characteristics. They can be used to:

Name an instance of data object.

Describe the instance.

Make reference to another instance in other table.

Relationships: Data objects are connected to one another in a variety of different ways. We can define a set of object relationship pairs that define the relevant relationships.

❑ CARDINALITY AND MODALITY:

❖ Cardinality:

The data model must be capable of representing the number of occurrences of objects in a given relationship. The cardinality of an object relationship pair is

□ One-T0-One (1:1): An occurrence of object ‘A’ can relate to one and only one occurrence of object ‘B’ and vice versa.

□ One-To-Many (1:N): One occurrence of object ‘A’ can relate to one or may occurrences of object ‘B’ but an occurrence of object ‘B’ can relate to only one occurrence of object ‘A’.

□ Many-To-Many (M: N): An occurrences of ‘B’ and an occurrence of ‘B’ can relate to one or many occurrence of ‘A’.

❖ Modality:

The modality of a relationship is zero if there is no explicit need for the relationship to occur or the relationship is optional. The Modality is one if the occurrence of the relationship is mandatory.

The object relationship pair can be represented graphically using the Entity Relationship Diagrams. A set of primary components are identified for the Entity Relationship Diagram,

1. Attributes,

2. Relationships and

3. Various Type Indicators.

The primary purpose of the Entity Relationship Diagram is to represent data objects and their relationships.

E-R DIAGRAM

4.4. DATA FLOW DIAGRAM

Context Level DFD for HP Laptop Service Center Management System

DFD FOR CUSTOMER

Laptop

Customer

DFD FOR SERVICE CENTER RECEPTION

Engineer

DFD FOR MANAGER SERVICE SHOP

DFD FOR ENGINEER

Store

DFD FOR ACCOUNTS

Engineer

Customer

DFD FOR THE STORE

Update store

Store

4.5 MODULES

“A modularization consists of well-defined manageable units with well defined interfaces among the units”.

Desirable property of modular system include

i. Each module is a well defined sub-system.

ii. Single, well – defined purpose of each module.

iii. Modules can be separately compiled and stored in a library.

iv. Modules can use other module.

v. Modules should be easier to use than to build.

vi. Modules should be simpler from outside then from inside.

Module 1: Password Module

In this module, this website is for multiple users. If a User enters a password and the software checks its validity. If the password is valid then option is given to change the password, otherwise “Invalid

User/Password” message is displayed. There is an option for password recovery, log out, login, new users sign in. The Administrator can also update changes in the site after login.

Module 2: Creating new Entities ( Users ,Laptop, Showroom, Service_center, Customer, Mechanics, Stock, Administrator)In this module, whenever a new entity is required to be added the corresponding forms are opened and the database is manipulated to check whether the data is already existing or not. If it already exists, then it prompts that “Entry already existing” and if not than the data is entered with the various validation checks.

Module 3: Modifying / Updating Existing Entities

In this module, whenever an existing entity is required to be modified the corresponding forms are opened and the database is manipulated and the data is fetched. Now the administrator can made the required changes and then accordingly, he updates the data. Again, the checks are followed in case there is any invalid entry.

Module 4: Searching

In this module, whenever an existing entity is required to be searched the corresponding forms are opened and the database is manipulated and the data is fetched. Again, the checks are followed in case there is any invalid entry.

Module 5: Servicing

In this module, servicing details of all the Laptops is stored in the database. This database will be uploaded so that, if a user or customer who wants to service a laptop can check his/her servicing details. There are some conditions and durations for servicing. Suppose a customer has purchased a laptop from any showroom of HP then he can get services from any authorized service center of the HP.

Module 6: Showroom_details

In this module, details of all the showrooms is stored in the database. This database will be uploaded so that, if a user or a customer who wants to purchase a laptop can check about the HP Laptop showrooms.

Module 7. Owners

In this module, details of the owners of the laptop is stored in the database. This database will be uploaded so that, if a user or a customer who wants the services from any authorized service centers can be tracked.

Module 8: Repair Estimates

If a customer is interested in repair of their laptop, he can fill a form and can get the repair estimate from the service center.

Module 9: Service Tips

In this module, service tips are provided to the customers so that they can save their money.

Module 10: Emails

In this module, Administrator can inform or remind all the customers whose service is due; this will be checked automatically from the database.

Module 11: Admin Panel

This module is useful for the administers as follows:-

• To add laptop details sold from a particular showroom.

• Add servicing details of the laptops.

• Add service centers details.

• Sending auto reminders to the customers.

• Collecting Feedbacks from the customers or users.

• Report Generation

• Add information about the accessories and spare parts available in the company.

Module 12: Validation of Data Entered by the User & Error Handling

In this module, the validity of data entered by the user during the various business processes is checked through various validation checks. For example, there should not be any characters entered in the numeric fields, likewise if there is any error occurs than it should handle that particular error and give the required messages.

Module 13: Feedback

This module keeps track of all the feedbacks given by the users for future records.

Module 14: Transactions

This module keeps track of all the transactions done by the company for future records and income tax purposes.

4.6 PROCESS LOGIC FOR EACH MODULE

In the first module, validity of password is checked against a particular user.

In the second module, whenever a new entity is entered it should be checked for the duplicate data.

In the third and fourth module, just like the first module it should have the proper checks for every entity being modified or updated.

In the tenth module, again the validation checks are made and the different reports are generated to ease the business processes and decision making.

Eleventh Module is related to the admin panel .Administrator is the important person who is managing this project and making the site dynamic.

Last module is related to the billing system to calculate monthly transactions.

Report Generation

The reports generated by the administrator are

i. Users : To get online users details

ii. Customer Reports: To show customer details

iii. Laptop Reports: To get laptop details sold by the showrooms.

iv. Service Details: To get information about the services provided by the service centers.

v. Any general information

vi. Service Centers Details: To get detailed information about the service centers.

vii. Bill Details.: To get transaction details .

4.8 SCHEDULING

Scheduling of a software project does not differ greatly from scheduling of any multi- task engineering effort. Therefore, generalized project scheduling tools and techniques can be applied with little modification to software projects.

Program evaluation and review technique (PERT) and critical path method (CPM) are two project scheduling methods that can be applied to software development. Both techniques are driven by information already developed in earlier project planning activities.

Estimates of Effort

➢ A decomposition of the product function.

➢ The selection of the appropriate process model and task set.

➢ Decomposition of tasks.

Interdependencies among tasks may be defined using a task network. Tasks, sometimes called the project Work Breakdown Structure (WBS) are defined for the product as a whole or for individual functions.

Both PERT and CPM provide quantitative tools that allow the software planner to (1) determine the critical path-the chain of tasks that determines the duration of the project; (2) establish "most likely" time estimates for individual tasks by applying statistical models; and (3) calculate "boundary times" that define a time window" for a particular task.

Boundary time calculations can be very useful in software project scheduling. Slippage in the design of one function, for example, can retard further development of other functions. It describes important boundary times that may be discerned from a PERT or CPM network: (I) the earliest time that a task can begin when preceding tasks are completed in the shortest possible time, (2) the latest time for task initiation before the minimum project completion time is delayed, (3) the earliest finish-the sum of the earliest start and the task duration, (4) the latest finish- the latest start time added to task duration, and (5) the total float-the amount of surplus time or leeway allowed in scheduling tasks so that the network critical path maintained on schedule. Boundary time calculations lead to a determination of critical path and provide the manager with a quantitative method for evaluating progress as tasks are completed.

Both PERT and CPM have been implemented in a wide variety of automated tools that are available for the personal computer. Such tools are easy to use and take the scheduling methods described previously available to every software project manager.

5.1 SOURCE CODE

Home.php

[pic]

Untitled Document

            

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download