Professional Documents
Culture Documents
Inventory Management System Project Report
Inventory Management System Project Report
PROJECT REPORT
ON
SUBMITTED BY
DEPARTMENT OF COMPUTER SCIENCE GALGOTIAS INSTITUTE OF MANAGEMENT AND TECHNOLOGY 1, KNOWLEDGE PARK 2 GREATER NOIDA (U.P) 201 306 MAY,2012
CANDIDATE'S DECLARATION
I, hereby certify that the work which is being presented in the project entitled INVENTORY MANAGEMENT SYSTEM is carried out at Drishtee Development & Communication LTD in partial fulfillment of the requirement for the award of degree of MASTER OF COMPUTER APPLICATION submitted in the Department of Computer Science at GALGOTIAS INSTITUTE OF MANAGEMENT AND TECHNOLOGY, GREATER NOIDA under GAUTAM BUDDH TECHNICAL UNIVERSITY, LUCKNOW is an authentic record of my own work carried out during a period from January to May,2012 under the guidance of Mr. SUSHIL PANDEY.
Industrial coordinator:
CONTENTS
1. INTRODUCTION 1.1 1.1.1 1.1.2 1.2 Abstract Of Project Title Of The Project Objective Problem Specification
2. Feasibility Study 3. Software Requirement Specification 3.1 Introduction 3.2 Selection Of Technology/Specific Requirement 4 Design 4.1 ER Diagram 4.2 Data Flow Diagram 4.3 Modules 4.4 Database 4.5 Input-Output Form 5. Implementation 6. Testing & Result 7. Enhancement 8. Limitation 9. Conclusion 10. Bibliography 11. Snap Shots & Description
ACKNOWLEDGEMENT
I convey my gratitude to all those who helped me reach a stage where I have immense confidence to launch my career in the competitive world of Information & Technology. I would like to express my deep sense of gratitude to Drishtee Development and Communication Ltd. , Noida for extending me the opportunity for the project training and improving all the necessary resources and expertise for this purpose. I am very grateful to Mr. Deependra Singh Solanky, Mr. Sushil Panday,Mr. Gaurav Choudhary and Mr. Utkarsh Choudhary for helping me in completing my project. I would definitely like to pay my thanks for his constant interest and support for this venture. My profound thanks to Ms Blassy, Head of MCA Department, Galgotias College, Greater Noida, who has been a source of perpetual inspiration to me and for gently guiding and paving my way towards a bright career, throughout my M.C.A Course. I acknowledge the role of my Project Head, Mr. Mr. Sushil Panday who guided me frequently during my training period. He was always willing to give all kind of support and encouragement. It was only because of care, support and help of the teachers that I was able to overcome my initial hiccups during my early days in the institute.
Although I have tried to express my gratitude to every person who contributed to my project, there may still someone hiding the veils of unknown, whom I may not be able to recognize. I would like to say thanks to all of them who helped me throughout my training.
YATENDRA SOLANKI
In rural India, villagers live without easy access to trade, government, business and health services. This makes them easy prey for intermediaries who control the supply chain of products and services and can demand high payments to allow villagers access to it. In addition to this, there is a high opportunity cost for availing these services as any transaction involves long travel and loss of daily wage. In this context, Information and Communication Technologies (ICTs) can play a significant role in making information and services available at a reasonable cost. Through a tiered franchise and partnership model, Drishtee facilitates the establishment of ICT nodes enabling access to information as well as local services to the rural community at nominal value. The business model is driven by the village entrepreneur, who owns the village node to operate a self-sustaining, profitable kiosk. The kiosk provides access to information like government records, agricultural data, and health insurance; help in filing of applications for licenses, certificates, compensations, and benefits; commodity product rates in different markets; education like computer courses, and Spoken English Programs. The entrepreneur earns by charging the community a nominal fee for the services provided. Drishtee has a fixed sharing with the Kiosk operator and a variable revenue sharing with the service providers. The Social Return on Investment Analysis shows that for every US$1 of social cost incurred, US$20 of social benefit is generated. Drishtee has successfully demonstrated this concept across various geographic regions. Each Kiosk caters to approximately 1200 households, majority of which have an aggregated income of less than $ 2 a day. With a vision to reach out to every village in the country and beyond, Drishtee has set for itself an ambitious target of reaching out to 10,000 Villages in the next 2 years. Over a longer a period, Drishtee is geared up to become a rural supply chain for last mile deliveries.
Abstract of Project
In times of economic slow -down, cutting costs is the major strategy used by the companies. There is a need to track the performance of each product in terms of demand to determine how much to order and when to order. The parameters that are required to answer these questions are economic order quantity (EOQ) and the re-order point. The annual cost of each product is obtained to determine the best deal for the invoices received for the product. The Project INVENTORY MANAGEMENT SYSTEM is for maintaining the IT Assets of Drishtee. Till now the assets of company maintained manually, this is very much time consuming and have lots of errors. To overcome this problem INVENTORY MANAGEMENT SYSTEM software isrequired.
This project implemented a inventory management system and tracks the performance of each product using a web application. This will help the decision makers to initiate accurate re-order and make forecast and demand of the product at any point of time.
This project implemented a inventory management system and tracks the performance of each product using a web application. This will help the decision makers to initiate accurate re-order and make forecast and demand of the product at any point of time.
Objectives
Inventory Management system provides information to efficiently manage the flow of materials, effectively utilize people and equipment, coordinate internal activities and communicate with customers . Inventory Management does not make decisions or manage operations, they provide the information to managers who make more accurate and timely decisions to manage their operations. Inventory Management must be designed to meet the dictates of market place and support the companys Strategic Plan . The many changes in the market demand , new opportunities due to worldwide marketing , global sourcing of materials and new manufacturing technology means many companies need to change their Inventory Management approach and change the process for Inventory Control. The Inventory Management system and the Inventory Control Process provides information to efficiently manage the flow of materials, effectively utilize people and equipment, coordinate internal activities, and communicate with customers. Inventory Management and the activities of Inventory Control do not make decisions or manage operations; they provide the information to Managers who make more accurate and timely decisions to manage their operations.
Practicality: The system should be stable and can be operated by the intelligence. Efficiency: There should be balance amongst various factors like accuracy, one hand and response timeliness of the system on the other hand. comprehensiveness on people with average
Cost: It is desirable to aim for the system with a minimum cost that it must satisfy the entire requirement. Flexibility: The system should be modifiable depending on the changing needs of the user. Such subject to the condition
modifications should entail extensive reconstructing or recreation of software. It should also be portable to different computer systems. Security: This is very important aspect requiring rigorous designing of database including hardware reliability, fallback procedures and physical security of data.
10
Problem Specification
The first step of Inventory Management System is identifying the problem.The Project INVENTORY MANAGEMENT SYSTEM is for maintaining the IT Assets of Drishtee. Till now the assets of company maintained manually on exel, this is very much time consuming and have lots of errors. To overcome this problem INVENTORY MANAGEMENT SYSTEM software is required.
11
12
Feasibility Study
A feasibility study is a formal study used to decide what type of system can be developed which meets the needs of the organization.
Systems Investigation
Techniques used in gathering information to investigate the present system include:
Systems Analysis
Systems analysis is a detailed look at a current system and what a new system will be required to do. The objectives of the new system: To ease data management and storage of information. To reduce the number of errors creeping with the current system. Designing in a proper sequenced way to facilitate cross-checking.
Testing
The primary purpose of this phase is to determine whether the software developed and unit tested in Phases 3 and 4 is ready for implementation. Each testing stage will have a unique testing team, who will define the work plan, approach, scope and entry and exit criteria for each stage. Each testing stage should be completed
Maintenance Phase
Any change to any component of the product (including documentation) after it has passed the acceptance test.
13
14
15
FEASIBILITY STUDY
Feasibility study is a test of a system proposal according to its workability, impact on the organization, ability to meet user needs, and effective use of resources. It focuses on 3 major questions: 1. What are the users demonstrable needs &how does a candidate system meet them? 2. What resources are available for given candidate systems? Is the problem worth solving? 3. What are the likely impacts of the candidate system on the organization? How well does it fit within the organizations? The objective of a feasibility study is not to solve the problem but to acquire a sense of its scope. During the study, the problem definition is crystallized and aspects of the problem to be included in the system are determined. Consequently, costs and benefits are estimated with greater accuracy at this stage. The result of the feasibility is a formal proposal. It consists of the following: 1. Statement of the problem A carefully worded statement of the problem that led to analysis. 2. Summary of findings& recommendations It is ideal for user who requires quick access to the results of the analysis of the system under study. Conclusions are stated, followed by a list of the recommendation justification for them. 3. Details of findings An outline of the methods & procedures undertaken by the existing system, followed by coverage of the objective and procedures of the candidate system. It also includes output reports, file structures& cost and benefits of candidate system. 4. Recommendations and conclusions
16
Specific Recommendations regarding the candidate system, including personnel assignments, costs, project schedule, and target dates.
FEASIBILITY CONSIDERATION
Three key considerations are involved in the feasibility analysis: 1. Economical feasibility 2. Technical feasibility 3. Behavioral feasibility
Economicalfeasibility :It is used for evaluating the effectiveness of a candidate system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs.
Technical feasibility :It centers around the existing computer system and to what extent it can support the roposed addition. If the budget is a serious constraint, then the project is judged not feasible.
Behavioral feasibility:People are inherently resistant to change & computers have been known to facilitate change. An estimate should be made of how strong a reaction the user stay is likely to have toward the development of a computerized system. It is common knowledge that computer installations have something to do with turnover, transfers & changes in employee job status. Therefore, it is understandable that the introduction of a candidate system requires special effort to educate, sell & train the staff on new ways of conducting business.
17
Among the most important information contained in a feasible study in cost benefit analysis and assessment of the economic justification for a computer based system project. Cost benefit analysis delineates costs for project development and weighs them against tangible (i.e. measurable directly in dollars) & intangible benefits of a system. Cost benefit analysis is complicated by criteria that vary with the characteristics of system to be developed the relative size of the project & the expected returns on investment desired as part of companys strategic plan. In addition many benefits derived from computer-based systems are intangible (e.g. better design quality through interactive optimization, increased patient satisfaction pre analyzed sales data). Direct quantitative comparisons may be difficult to achieve. Costs associated with development of a computer-based system are:
TECHNICAL ANALYSIS
During technical analysis, analyst evaluates the technical merits of system concept, while at the same time collecting additional information about performance, reliability,
maintainability and predictability. Technical analysis begins with an assessment of the technical viability of the proposed system. 1. What technologies are required to accomplish system function and performance? 2. What new materials, methods, algorithm, or processes are required and what is their development risk? 3. How will these technology issues affect cost? The result obtained from technical analysis from basis for another go/no-go decision on the test system If technical risk severe, if models indicates that desired function cannot be achieved, if the pieces just wont fit together smoothly- its back to the drawing board! data and information generated were firstly retrieved. The project that has to be completed must have minimum data entry and consistency of record.
18
The application of computers speeds up data processing activities and adds some flexibility to the management of data and the information generated from it. Widespread and easy access to data from computers, advances in logical and physical access methods, matched by step increased in the density and volumes of disk storage devices, led gradually to a reassessment of the role of data management decision making. Here the recognition of need is done. Analysis involves interviewing the clients and end users. During this process of analysis, a massive amount of information is collected in forms of answers to questions. One of the major problems during analysis is how to organize the information obtained so the information can be effectively evaluated for completeness and consistency.
19
20
1. Abstract:This is the requirements specification document There is a need to track the performance of each product in terms of demand to determine how much to order and when to order. The parameters that are required to answer these questions are economic order quantity (EOQ) and the re-order point. The annual cost of each product is obtained to determine the best deal for the invoices received for the product. The Project INVENTORY MANAGEMENT SYSTEM is for maintaining the IT Assets of Drishtee.
2. Purpose:The Project INVENTORY MANAGEMENT SYSTEM is for maintaining the IT Assets of Drishtee. Till now the assets of company maintained manually on exel,this is very much time consuming and have lots of errors. To overcome this problem INVENTORY MANAGEMENT SYSTEM software is required.
21
3. Scope:The software will be ONLINE, web based software to manage the IT assets of Drishtee.. The proposed software will run from an Internet browser and Internet connectivity is compulsory for the functioning of this software.
client/server applications, the client part of the program is often called the
front end and the server part is called the back end.
Compilers, the programs that translate source code into object code, are often
composed of two parts: a front end and a back end. The front end is responsible for checking
syntax
and detecting errors, whereas the back end performs the actual translation into
object code.
22
The .NET Framework is divided into an almost painstaking collection of functional parts, with a staggering total of more than 10,000 types(the .NET term for classes, structures, interfaces, and other core programming ingredients). The massive collection of functionality that the .NET Framework provides is organized in a way that traditional Windows programmers will see as a happy improvement. Each one of the thousands of classes in the .NET Framework is grouped into a logical, hierarchical container called a namespace. Different namespaces provide different features. Taken together, the .NET namespaces offer functionality for nearly every aspect of distributed development from message queuing to security. This massive toolkit is called the class library.
One of the major reasons for performance degradation in classic ASP pages is its use of interpreted script code. Every time an ASP page is executed, a scripting host on the web server needs to interpret the script code and translate it to lower-level machine code, line by line. ASP.NET applications are always compiledin fact, its impossible to execute C# or Visual Basic code without it being compiled first.
3: ASP.NET Is Multilanguage
IL is a stepping stone for every managed application. (A managedapplicationis any application thats written for .NET and executes inside the managed environment of the CLR.) In a sense, IL is thelanguage of .NET, and its the only language that the CLR recognizes. Galgotias Institute Of Management & Technology, Gr. Noida | Project Report
23
The most important aspect of the ASP.NET engine is that it runs inside the runtime environment of the CLR.
A: Automatic memory management and garbage collection: Every time your application instantiates a reference-type object, the CLR allocates space on the managed heapfor that object. However, you never need to clear this memory manually. The garbage collector runs periodically inside the CLR, automatically reclaiming unused memory for inaccessible objects. This model saves you from the low-level complexities of C++ memory handling and from the quirkiness of COM reference counting.
B: Type safety: When you compile an application, .NET adds information to your assembly that indicates details such as the available classes, their members, their data types, and so on. As a result, other applications can use them without requiring additional support files, and the compiler can verify that every call is valid at runtime. This extra layer of safety completely obliterates whole categories of low-level errors.
C: Extensible metadata: The information about classes and members is only one of the types of metadata that .NET stores in a compiled assembly. Metadatadescribes your code and allows you to provide additional information to the runtime or other services. For example, this metadata might tell a debugger how to trace your code, or it might tell Visual Studio how to display a custom
24
control at design time. You could also use metadata to enable other runtime services, such as transactions or object pooling.
D: Structured error handling: . NET languages offer structured exception handling, which allows you to organize your errorhandling code logically and concisely. You can create separate blocks to deal with different types of errors. You can also nest exception handlers multiple layers deep.
E: Multithreading: The CLR provides a pool of threads that various classes can use. For example, we can call methods, read files, or communicate with web services asynchronously, without needing to explicitly create new threads.
5: ASP.NET Is Object-Oriented: ASP provides a relatively feeble object model. It provides a small set of objects; these objects are really just a thin layer over the raw details of HTTP and HTML. On the other hand, ASP.NET is truly object-oriented. Not only does your code have full access to all objects in the .NET Framework, but you can also exploit all the conventions of an OOP (objectoriented programming) environment. For example, you can create reusable classes, standardize code with interfaces, extend existing classes with inheritance, and bundle useful functionality in a distributable, compiled component.
6 : ASP.NET Is Multiservice and Multibrowser: One of the greatest challenges web developers face is the wide variety of browsers they need to support. Different browsers, versions, and configurations differ in their support of HTML. Web developers need to choose whether they should render their content according to HTML 3.2, HTML 4.0, or something else entirelysuch as XHTML 1.0 or even WML (Wireless Markup Language) for mobile devices. This problem, fueled by the various browser companies, has plagued developers since the World Wide Web Consortium (W3C) proposed Galgotias Institute Of Management & Technology, Gr. Noida | Project Report
25
the first version of HTML. Life gets even more complicated if you want to use an HTML extension such as JavaScript to create a more dynamic page or provide validation.
7 : ASP.NET Is Easy to Deploy and Configure : Every installation of the .NET Framework provides the same core classes. As a result, deploying an ASP.NET application is relatively simple. Distributing the components your application uses is just as easy. All you need to do is copy the component assemblies along with your website files when you deploy your web application. Because all the information about your component is stored directly in the assembly file metadata, theres no need to launch a registration program or modify the Windows registry. Configuration is another challenge with application deployment, particularly if you need to transfer security information such as user accounts and user privileges. ASP.NET makes this deployment process easier by minimizing the dependence on settings in IIS (Internet Information Services). Instead, most ASP.NET settings are stored in a dedicated web.config file. The web.config file is placed in the same directory as your web pages. It contains a hierarchical grouping of application settings stored in an easily readable XML format that you can edit using nothing more than a text editor such as Notepad.
26
27
28
The back-end comprises the components that process the output from the front-end.Back-
A back-end database is a
database
external
itself or by low level manipulation of the data (e.g. through SQL commands).
SQL SERVER:SQL Server is an SQL-compliant RDBMS. SQL-compliant means it use the ANSI (American National Standard Institute) version of Structured Query Language or SQL. Structured Query Language is a command that allow us to modify or retrieve information from the database. Client server means that SQL Server is designed to store data in the central location (the server) and deliver it on demand to numerous other locations (the client). SQL Server is also a Relational Database Management System (RDBMS).
29
Processing Environment : PLATFORM : .NET 3.5 Operating System : Windows 7 Professional. Language : ASP.NET using C# Back End : SQL Server 2000 R2
Hardware Requirements :
Pentium Dual-Core Processors 1GB of RAM 160GB of Hard Disk Server/Client Machine
Software Requirements : Visual Studio.Net (version 3.5) .Net Framework (version 3.5) SQL Server 2008
Galgotias Institute Of Management & Technology, Gr. Noida | Project Report
30
31
SYSTEM DESIGN
System layout is the first step of the software development, which requires a mindful and sensible planning. The aim of S/W designing is to achieve the desired goal by planning how various parts are to be coded properly. It is to be done carefully because if this phase contains any error then that is going to effect the performance of the system. As a result it may take more processing time, response time and extra coding i.e. programs will occupy extra memory.
Design objective:Goals in mind while designing the system: 1 2 3 4 To reduce the manual work required to be done. To reduce errors inherently manually making the output inconsistent & incorrect. To make the system completely menu driven & user friendly. To design the system so that even non- programmer can use the system effectively and system could act catalyst in achieving objectives. 5 To improve the management of permanent information of the company by keeping it properly structured tables. 6 To provide the facility to modify any record whenever required. Galgotias Institute Of Management & Technology, Gr. Noida | Project Report in
32
DESIGN OVERVIEW
The design stage takes the final specification of the system from analysis stages and finds the best way of fulfilling them, given the technical environment and previous decision on the required level of automation. The system design is carried in two phases:
The architectural design (high level design) The detail design (low level design)
33
The steps involved were: Generation of table script. Check the constraint. Keys. Generate the program: The program was generated based on the relationship specified and according to the preferences. Program specification: The program specifications are written for the transaction, modification, queries, reports and printer. The logic for each field, block and form were written so that anyone who does not know system will be able to code logic. Field validation and friendly messages were written as a part of program specification
34
35
Table design:The tables of the project designed on the behalf of following pages :-
1. Product Brand 2. Product Category 3. Product 4. Product Transaction 5. Product Transaction List
36
Table design:-
Field name
Brand_code
Datatype
Varchar
Size
6
Key
Primary key
Allow nulls
___
250 10
10 15
37
Table design:-
Field name
Category_code
Datatype
Int
Size
-
Key
Primary key
Allow nulls
___
6 250 -
10 50 10 15
38
Table design:-
Field name
Datatype
Size
Key
Allow nulls
Category_code
Int
Primary key
----
Brand_code
Varchar
6 Checked
Int
----
Int
Product_name
Varchar
250
----
Product_detail
Varchar
1000
----
Serial_no
Varchar
100
Checked
Purchase_date
Datetime
Checked
Search_option1
Varchar
100
Checked
39
Office_id
Int
----
Current_status
Char
Checked
Current_status_on
Datetime
Checked
Created_by
Char
10
----
Created_on
Datetime
----
Modified_on
Datetime
Checked
Modified_by
Char
10
Checked
Ip_address
Varchar
15
Checked
40
Datatype
Int Int Int
Size
-
Key
Primary key
Allow nulls
----------
Office_id
Int
----
Char
10
----
----
41
Created_by
Char
10
----
Ip_address
Varchar
15
Checked
42
Field name
Datatype
Int
Size
-
Key
Primary key
Allow nulls
----
1 10
----------
Ip_address
Varchar
15
Checked
Holder_emp_code
Char
10
----
Transaction_ history_no
Int
----
43
44
Data flows:Data flow is, with an arrowhead showing the direction of flow.
Data Flow Processes:A process transforms incoming data flows into outgoing data flow. It can be symbolized by a circle. The area of the circle is divided into two parts i.e. identification & description of function.
External Entities:External sources or destination of data, which may be people, organization or outer entities, interact with system but are outside its boundary. A solid square defines a source or sink of data.
Data stores:An open-ended rectangle is a data store data at rest or temporary storage of data.
45
Physical diagram:The DFD showing the general that is the top layer of the system is called the context diagram. The physical context diagram describes the payroll monitoring system at very top level.
Exploded diagram:To understand the system better we required to get a clear idea of the system in that case we draw a lower level of DFD i.e. exploded.
DFD( Data flow Diagram) for Login Page :Following Data Flow Diagram shows the user Login Authentication to protect unwanted users.First Check the users authentication before Inventory Management system Login if login authentication is true then he/she will be Login for Inventory Management system Home else not Login for desired Login Users.
46
47
DFD( Data flow Diagram) for 1 level:After you login following Data Flow Diagram shows the user interaction with the login. The DFD shows Login, Assets Master, Transaction, Report and user output.
48
DFD( Data flow Diagram) for 2 level:In 2 level DFD the user enter the Product Brand Master, Product Category Master and then only move to the Product Master. The entry details save on Assets Master Database
49
DFD( Data flow Diagram) for 3 level:In 3 level DFD the user enter the Product Brand Master, Product Category Master and directly on Product Master. The entry details save on Assets Master Database
50
51
FLOWCHARTS
Flowcharts are maps or graphical representations of a process. Steps in a process are shown with symbolic shapes, and the flow of the process is indicated with arrows connecting the symbols.
Promote process understanding by explaining the steps pictorially. People may have differing ideas about how a process works. A flowchart can help you gain agreement about the sequence of steps. Flowcharts promote understanding in a way that written procedures cannot do. One good flowchart can replace pages of words. Provide a tool for training employees. Because of the way they visually lay out the sequence of steps in a process, flowcharts can be very helpful in training employees to perform the process according to standardized procedures. Identify problem areas and opportunities for process improvement . Once you break down the process steps and diagram them, problem areas become more visible. It is easy to spot opportunities for simplifying and refining your process by analyzing decision points, redundant steps, and rework loops. Depict customer-supplier relationship, helping the process workers understand who their customers are, and how they may sometimes act as suppliers, and sometimes as customers in relation to other people.
52
53
SYSTEM IMPLEMENTATION
After a thorough testing of the different aspects of the system described above are to be put to actual use by use by using live data by user staff after sufficient training for the use of the software has been provided to the department members. The result indicated a considerable time saving with the candidate system and comes out with fast and efficient development.
What is system implement:System Implementation is the process of having system personnel check out and put new software in to use, train users, install the new application and construct any files of data needed to use it.There are many implementation strategies, sometimes system developers may choose to pilot (test) the operation in only one area of the firm, say in one department or with only one or two persons. Sometimes they run old and new system together to compare the results.
USER`S TRAINING
In the Inventory Management System all the separate modules were put into a menu and after that this menu was attached with a master page. The first few days, I was physically present with the staff of the training department and made them understand the new system, as they were unfamiliar with it. I got them acquainted with the various screens and the various terms and the various interrelationships between them.After a thorough testing of the different aspects of the system as described above are to be put to actual use by using live data by user staff after sufficient training for the use of the software has been provided to the all drishtee staff members of Territery Division Office. The result indicated a considerable time saving with the candidate system and comes out with fast and efficient development.
54
IMPLEMENTATION MECHANISMS
To implement this software, the following s/w and h/w specification are needed as:
Operating environment:
Pentium processor 20MB hard disk memory space. 128-256MB RAM and more for fast and efficient execution. Pointing device such as mouse Windows XP/7
Platform used: Windows 7 Front end (GUI): Visual Studio .Net 2010 Back end (Data base): SQL Server 2008 R-2
Processor speed-133MHz Memory-2GB and more RAM-64MB Monitor Keyboard Floppy Drive Mouse CD-ROM.
55
56
ASP.NET includes two controls that allow website users to upload files to the web server. Once the web server receives the posted file data, its up to your application to examine it, ignore it, or save it to a back-end database or a file on the web server.
57
The controls that allow file uploading are HtmlInputFile (an HTML server control) and FileUpload (an ASP.NET web control). Both represent the <input type="file"> HTML tag. The only real difference is that the FileUpload control takes care of automatically setting the encoding of the form to multipart/form data. If you use the HtmlInputFile control, its up to you to make this change using the enctype attribute of the <form> tagif you dont, the HtmlInputFile control wont work. Declaring the FileUpload control is easy. It doesnt expose any new properties or events that you can use through the control tag.
C# example :protected void btnUpload_Click(Object sender, System.EventArgs e) {_ String path = @C:\temp\ + FileUpload1.FileName; FileUpload1.PostedFile.SaveAs(path); }
Some few other quirks of the FileUpload control that are good to know:
You can check the size of the uploaded file using the PostedFile. ContentLength property. This lets you put a size limit on uploads. Just dont call the SaveAs method if the file exceeds the maximum length.
The ASP.NET user account must have access rights to the location to which you save the file. Galgotias Institute Of Management & Technology, Gr. Noida | Project Report
58
The SaveAs method isnt what copies the file from the users computer to the server. Instead, the file is copied to the server when the user posts the page by clicking the Upload button. The SaveAs method merely directs the FileUpload control to save the file that has been copied to the server. If you dont call the SaveAs method, the uploaded file is discarded.
59
60
MASTER PAGE
A Master Pageis simply a template a page that provides elements that appear consistently on each page, as well as contentplaceholdersthat specify where the variable content for each page should appear. A page that actually holds the content that a Master Page displays in its content area is called acontent page. The ContentPlaceHolder is a portion of the page where the content page can insert content. We can use a master page to ensure that every web page in your application has the same header, footer, and navigation controls. Master pages are an ASP.NET feature thats designed specifically for standardizing web-page layout.
61
To provide a practical, flexible solution for page templating, a number of requirements must be met: The ability to define a portion of a page separately and reuse it on multiple pages. The ability to create a locked-in layout that defines editable regions. Pages that reuse this template are then constrained to adding or modifying content in the allowed regions. The ability to allow some customization of the elements you reuse on each page. The ability to bind a page to a page template declaratively (with no code) or to bind to a page dynamically at runtime. The ability to design a page that uses a page template with a tool such as Visual Studio. Master pages meet all of these requirements.
Another difference between master pages and ordinary web forms is that master pages can use the ContentPlaceHolder control, which isnt allowed in ordinary pages. The ContentPlaceHolder is a portion of the page where the content page can insert content.
62
Use the WebsiteAdd New Item command, select Web Page as the template, check the Select Master Page option, and then choose the Master Page you want the content page applied to.
Select a Master Page either in the Solution Explorer or the Web Designer window, then choose the WebsiteAdd Content Page command.
When we create a content page in this manner, initially the page contains just the following markup: <%@ Page Language=C# MasterPageFile=~/MasterPage.master AutoEventWireup=true Title=Untitled Page %> <asp:Content ID=Content1 ContentPlaceHolderID=ContentPlaceholder1 Runat=Server> </asp:Content> CodeFile=Default.aspx.csInherits=_Default
63
64
WEB CONFIG
Web.config acts as a central location for storing the information to be accessed by web pages. This information could be a Connection String stored at a centralized location so that it can be accessed in a data-driven page. If the connection string changes its just a matter of changing it at one place. In classic ASP such global information was typically stored as an application variable. In the sample we'll read the information from web.config using ASP.NET and ASP as there could be a possibility of project having ASP and ASP.NET pages.
What is Web.ConfigFile ?
configuration file
application. An Asp .net application has one web.config file which keeps the configurations required for the corresponding application. Web.config file is written in XML with specific tags having specific meanings.
65
What is Machine.configFile ?
As web.config file is used to configure one asp.net web application, same way Machine.config file is used to configure the application according to a particular machine. That is, configuration done in machine.config file is affected on any application that runs on a particular machine. Usually, this file is not altered and only web.config is used which configuring applications.
1. 2. 3. 4.
Database Connections : The most important configuration data that can be stored inside the web.config file is the database connection string. Storing the connection string in the web.config file makes sense, since any modifications to the database configurations can be maintained at a single location. As otherwise we'll have to keep it either as a class level variable in all the associated source files or probably keep it in another class as a public static variable. But it this is stored in the Web.config file, it can be read and used anywhere in the program. This will certainly save us a lot of alteration in different files where we used the old connection.
Session States :
66
Session in Asp .net web application is very important. As we know that HTTP is a stateless protocol and we need session to keep the state alive. Asp .net stores the sessions in different ways. By default the session is stored in the asp .net process.
Error Handling : Error handling is one of the most important part of any web application. Each error has to be caught and suitable action has to be taken to resolve that problem. Asp.net web.config file lets us configure, what to do when an error occurs in our application.
Security : The most critical aspect of any application is the security. Asp.net offers many different types of security method which can be used depending upon the condition and type of security you need.
1.) No Authentication: No Authentication means "No Authentication" :) , meaning that Asp.net will not implement any type of security.
2.) Windows Authentication: The Windows authentication allows us to use the windows user accounts. This provider uses
IIS to perform the actual authentication, and then passes the authenticated identity to your
code. If we like to see that what windows user is using the Asp.net application we can use: User.Identity.Name; This returns theDOMAIN\UserNameof the current user of the local machine.
3.) Passport Authentication: Passport Authentication provider uses Microsoft's Passport service to authenticate users. You need to purchase this service in order to use it.
67
4.) Forms Authentication: Forms Authentication uses HTML forms to collect the user information and than it takes required actions on those HTML collected values.
web.config: Contains a key-value pair. web.config <? xmlversion="1.0"encoding="utf-8"?> <configuration> <appSettings> <add key="ConnectionString1"value="server=localhost; uid=sa; pwd=; database=northwind"/> <add key="ConnectionString2"value=" server=localhost; uid=sa; pwd=; database=pubs"/> </appSettings> </configuration>
68
69
ADO.NET
ADO.NET consists of managed classes that allow .NET applications to connect to data sources (usually relational databases), execute commands, and manage disconnected data.
1. ADO.NET Data Providers A data provideris a set of ADO.NET classes that allows you to access a specific database, execute SQL commands, and retrieve data. Essentially, a data provider is a bridge between your application and a data source.
Connection: You use this object to establish a connection to a data source. Command: You use this object to execute SQL commands and stored procedures. DataReader: This object provides fast read-only, forward-only access to the data retrieved from a query.
DataAdapter: This object performs two tasks. First, you can use it to fill a DataSet (a disconnected collection of tables and relationships) with information extracted from a datasource.Second, you can use it to apply changes to a data source, according to the modifications
70
SQL Server provider: Provides optimized access to a SQL Server database (version 7.0 or later).
OLE DB provider: Provides access to any data source that has an OLE DB driver. This includes SQL Server databases prior to version 7.0.
ODBC provider: Provides access to any data source that has an ODBC driver.
tables, datasets, rows, views, and constraints. In addition,contains the key interfaces that are implemented by the connection based data objects.
2. System.Data.Common: Contains base, mostly abstract classes that implement some of the interfaces from System.Data and define the core ADO.NET functionality. Data providers inherit from these classes (such as DbConnection, DbCommand, and so on) to create their own Specialized versions.
3. System.Data.OleDb :Contains the classes used to connect to an OLE DB provider, Including OleDbCommand, OleDbConnection, OleDbDataReader and OleDbDataAdapter. These classes support most OLE DB providers,but not those that require OLE DB version 2.5 interfaces.
71
4. System.Data.SqlClient : Contains the classes you use to connect to a Microsoft SQL Server database, including SqlDbCommand, SqlDbConnection, SqlDataReader, and SqlDBDataAdapter. These classes are Optimized to use the TDS interface to SQL Server. 5. System.Data.OracleClient : database including Contains the classes required to connect to an Oracle OracleConnection, OracleDataReader, and
OracleCommand,
OracleDataAdapter. These classes are using the optimized Oracle Call Interface (OCI).
6. System.Data.Odbc: Contains the classes required to connect to most ODBC drivers.These classes include OdbcCommand, OdbcConnection, OdbcDataReader, and OdbcDataAdapter. ODBC drivers are included for all kinds of data sources and are configured through the Data Sources icon in the Control Panel.
7. System.Data.SqlTypes : Contains structures that match the native data types in SQL Server.These classes arent required but provide an alternative to using standard .NET data types, which require automatic conversion.
72
implement standard functionality, just like the Connection classes. In this case, the IDbCommand interface defines a few key properties and the core set of methods that are used to execute a command over an open connection.
Command Basics
Before we can use a command, we need to choose the command type, set the command text, and bind the command to a connection. We can perform this work by setting the corresponding properties (CommandType, CommandText, and Connection), or we can pass the information we need as constructor arguments.
Method Description
1. ExecuteNonQuery() Executes non-SELECT commands, such as SQL commands that insert, delete, or update records. The returned value indicates the number of rows affected by the command. You can also use ExecuteNonQuery() to execute data-definition commands that create, alter, or delete database objects (such as tables, indexes, constraints, and so on).
2. ExecuteScalar() Executes a SELECT query and returns the value of the first field of the first row from the rowset generated by the command. This method is usually used when executing an aggregate SELECT command that uses functions such as COUNT() or SUM() to calculate a single value.
3. ExecuteReader() Executes a SELECT query and returns a DataReader object that wraps a read-only, forward-only cursor.
73
Method Description
1. Read() Advances the row cursor to the next row in the stream. This method must also be called before reading the first row of data. (When the DataReader is first created, the row cursor is positioned just before the first row.) The Read() method returns true if theres another row to be read, or false if its on the last row.
2. GetValue() Returns the value stored in the field with the specified index, within the currently selected row. The type of the returned value is the closest .NET match to the native value stored in the data source. If you access the field by index and inadvertently pass an invalid index that refers to a nonexistent field, you will get an IndexOutOfRangeException exception.
3. GetValues() Saves the values of the current row into an array. The number of fields that are saved depends on the size of the array you pass to this method. You can use the DataReader.FieldCount property to determine the number of fields in a row, and you can use that information to create an array of the right size if you want to save all the fields.
4. NextResult() If the command that generated the DataReader returned more than one rowset, this method moves the pointer to the next rowset (just before the first row).
74
5. Close() Closes the reader. If the originator command ran a stored procedure that returned an output value, that value can be read only from the respective parameter after the reader has been closed.
The DataAdapter serves as a bridge between a single DataTable in the DataSet and the data source. It contains all the available commands for querying and updating the data source. To enable the DataAdapter to edit, delete, and add rows, you need to specify Command objects for the UpdateCommand, DeleteCommand, and InsertCommand properties of the DataAdapter. To use the DataAdapter to fill a DataSet, you must set the SelectCommand. .
Method Description
1. Fill() Adds a DataTable to a DataSet by executing the query in the SelectCommand. If our query returns multiple result sets, this method will add multiple DataTable objects at once. You can also use this method to add data to an existing DataTable.
2. FillSchema() Adds a DataTable to a DataSet by executing the query in the SelectCommand and retrieving schema information only. This method doesnt add any data to the DataTable. Instead, it simply preconfigures the DataTable with detailed information about column names, data types, primary keys, and unique constraints.
75
3. Update() Examines all the changes in a single DataTable and applies this batch of changes to the data source by executing the appropriate InsertCommand, UpdateCommand, and DeleteCommand operations.
76
77
Testing
Testing is the major control measure used during software development. Its basic function is to detect errors in the software. During requirement analysis and design, the output is a document that is usually textual and no executable. After the coding phase, computer programs are available that can be executed for testing purpose. This implies that testing not only has to uncover errors introduced during coding, but also errors introduced during previous phase. Thus the goal of testing is to uncover the requirements, design and coding errors in the programs.
Objectives of testing
First of all objectives should be clear.
Testing as a process of executing a program with the intent of finding errors. To perform testing, test cases are designed. A test case is a particular made up of artificial situation upon which a program is exposed so as to find errors. So a good test case is one that finds undiscovered errors.
If testing is done properly, it uncovers errors and after fixing those errors we have software that is being developed according to specifications.
The above objective implies a dramatic change in viewpoint .The move counter to the commonly held view than a successful test is one in which no errors are found. In fact, our objective is to design tests that a systematically uncover different classes of errors and do so with a minimum amount of time and effort.
78
Testing principles
Before applying methods to design effective test cases, software engineer must understand the basic principles that guide the software testing process. Some of the most commonly followed principles are: All test should be traceable to user requirements as the objective of testing is to uncover errors, it follows that the most severe defects (from the users point of view) are those that causes the program to fail to meet its requirements.
Tests should be planned long before the testing begins. Test planning can begin as soon as the requirement model is complete. Detailed definition of test cases can begin as soon as the design model has been solidated. Therefore, all tests can be planned and designed before any code can be generated.
The Pareto principle applies to software testing stated simply the Pareto principle implies that 80 percent of all errors uncovered during testing will likely be traceable to 20 percent of all program modules. The problem of course, is to isolate these suspects modules and to thoroughly test them. Testing should begin in the small and progress towards testing in large. The first tests planned and executed generally focus on individual modules. As testing progresses, testing shifts focus in an attempt to find errors in integrated clusters of modules and ultimately in the entire system. Exhaustive testing is not possible. The number of paths permutations for impossible to execute every combination of paths during testing. It is possible however to adequately cover program logic and to ensure that all conditions in the procedural design have been exercised. To be most effective, an independent third party should conduct testing. By most effective, we mean testing that has the highest probability of finding errors (the primary objective of testing).
79
Software configuration It includes software requirement specification, design specification and source code of program. Software configuration is required so that testers know what is to be expected and tested.
Test configuration It is basically test plan and procedure. Test configuration is testing plan that is, the way how the testing will be conducted on the system. It specifies the test cases and their expected value. It also specifies if any tools for testing are to be used. Test cases are required to know what specific situations need to be tested. When tests are evaluated, test results are compared with actual results and if there is some error, then debugging is done to correct the error. Testing is a way to know about quality and reliability. Error rate that is the occurrence of errors is evaluated. This data can be used to predict the occurrence of errors in future.
In first approach, only overall functioning of the product is tested. Inputs are given and outputs are checked. This approach is called black box testing. It does not care about the internal functioning of the product.
The other approach is called white box testing. Here the internal functioning of the product is tested. Each procedure is tested for its accuracy. It is more intensive than black box testing. But for the overall product both these techniques are crucial. There should be sufficient number of tests in both categories to test the overall product.
80
Performance tests evaluate response time, memory usage, throughput, device utilization and execution time. Stress tests push the system to or beyond its specified limits to evaluate its
81
robustness and error handling capabilities. Reliability tests monitor system response to representative user input, counting failures over time to measure or certify reliability.
Black box testing uncovers the following types of errors 4. Incorrect or missing functions 5. Interface errors 6. External database access 7. Performance errors 8. Initialization and termination errors
The base of the Black box testing strategy lies in the selection of appropriate data as per functionality and testing it against the functional specifications in order to check for normal and abnormal behavior of the system. Now a days, it is becoming common to route the Testing work to a third party as the developer of the system knows too much of the internal logic and coding of the system, which makes it unfit to test the application by the developer. In order to implement Black Box Testing Strategy, the tester is needed to be thorough with the requirement specifications of the system and as a user, should know, how the system should behave in response to the particular action.
82
Various testing types that fall under the Black Box Testing strategy are: functional testing, stress testing, recovery testing, volume testing, User Acceptance Testing (also known as UAT), system testing, Sanity or Smoke testing, load testing, Usability testing, Exploratory testing, ad-hoc testing, alpha testing, beta testing etc.
These testing types are again divided in two groups: a) Testing in which user plays a role of tester b) User is not required.
Functional Testing :In this type of testing, the software is tested for the functional requirements. The tests are written in order to check if the application behaves as expected.
Stress Testing :The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. which checks for the stress/load the applications can withstand.
Load Testing :The application is tested against heavy loads or inputs such as testing of web sites in order to find out at what point the web-site/application fails or at what point its performance degrades.
83
This type of testing is done without any formal Test Plan or Test Case creation. Ad-hoc testing helps in deciding the scope and duration of the various other testing and it also helps testers in learning the application prior starting with any other testing.
Exploratory Testing :This testing is similar to the ad-hoc testing and is done in order to learn/explore the application.
Usability Testing :This testing is also called as Testing for User-Friendliness. This testing is done if User Interface of the application stands an important consideration and needs to be specific for the specific type of user.
Smoke Testing :This type of testing is also called sanity testing and is done in order to check if the application is ready for further major testing and is working properly without failing up to least expected level.
Recovery Testing :Recovery testing is basically done in order to check how fast and better the application can recover against any type of crash or hardware failure etc. Type or extent of recovery is specified in the requirement specifications.
Volume Testing :Volume testing is done against the efficiency of the application. Huge amount of data is processed through the application (which is being tested) in order to check the extreme limitations of the system.
84
User Acceptance Testing :In this type of testing, the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to.
Alpha Testing :In this type of testing, the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers.
Beta Testing :In this type of testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers.
More effective on larger units of code than glass box testing Tester needs no knowledge of implementation, including specific programming languages Tester and programmer are independent of each other tests are done from a user's point of view will help to expose any ambiguities or inconsistencies in the specifications test cases can be designed as soon as the specifications are complete
85
Disadvantages of Black Box Testing Only a small number of possible inputs can actually be tested, to test every possible
input stream would take nearly forever Without clear and concise specifications, test cases are hard to design There may be unnecessary repetition of test inputs if the tester is not informed of test cases the programmer has already tried May leave many program paths untested Cannot be directed toward specific segments of code which may be very complex (and therefore more error prone)
Test cases
We know, test cases are integral part of testing. So we need to know more about test cases and how these test cases are designed. The most desired or obvious expectation from the test cases is that it should be able to find most errors with the least amount of time and effort.
Test case Test Objective Test Procedure ID Brand_1 To Check all Mandatory Fields Click Submit Button without entering data.
Test Data
Expected Results
Passed/ Failed
Comment s
1.Without enter any brand code. 2. Without enter any brand name.
1. HCL 2. #$$$$
Passed
86
1.Without enter Product Category code, Product Category Name, and Parent Category Name.
Enter mandatory Product Category Fields and press Code : LPT, submit button Product Category Name : Laptop
Passed
87
88
CONCLUSION
The goals accomplished in designing/developing of this system:
User Friendliness
The system has totally user-friendly in sense as user only has to interact with GUI pages and almost everywhere whenever any kind of task is going to perform.
Duplicate
As data is entered in different modules so consideration is made so No duplicate entry exists in the system.
Menu Driven
The system is made totally menu driven for the best results.
Query
To see all the information regarding a single Report, a Report view page has been provided.
Security
A high level security at different levels has been incorporated into the system on the basis of user requirements.
Fast
As far as possible slow responses are avoided and, thus, the system is fast enough.
Future Plans
The development of modules are made such that user can trace back and update the error entry.
89
90
Further Enhancement This is the pilot project, if needed, can be further modified according to requirement.
91
92
REFERENCES
TEXT REFERENCES
1. Pro ASP.NET 3.5 in C# 2008, Second Edition by Matthew MacDonald and Mario Szpuszta,Apress. 2. Oreilly.Learning.Web.Design.3rd.Edition.Jun.2007. 3. Sams Asp Net 3.5 Unleashed Jun 2006 4. Wrox.Professional.ADO.dot.NET.2.Programming.with.SQL.Server.2005.Oracle.and.MySQ L.Dec.2005.eBook. 5. Addison Wesley - The Gurus Guide to Transact SQL
WEB REFERENCES
1. www.w3schools.com 2. http://msdn.microsoft.com/enus/library/system.web.httpcontext.session.aspx 3. www.dotnetspider.com 4. http://www.edrawsoft.com/Flowchart-tutorial.php 5. http://www.codeproject.com/KB/database/DatabaseAcessWithAd oNet1.aspx 6. http://quickstarts.asp.net/QuickStartv20/aspnet/doc/pages/pages. aspx 7. http://www.bigresource.com/MS_SQL-data-bindingd4UHaJPz.html 8. http://www.sql-server-performance.com 9. http://www.sgsy.in
93
94
95
Purpose
If you wants to avail all the facilities of Inventory Management System properly, you need to be registered through this Login Page and then you will be authorised user of this site Innventory Management System. This registration process requires your basic knowledge such as Login Name, password and Organisation etc.
Snapshot View
This shows the login page view for authorised users of Inventory Management System. Here you can login to your account if you are already registered. This will provide you with a username and password.
Login is failed when the user credentials are not entered correctly.
96
When we open the project the first page opened will be login page where we enter the login credentials of user name and password. When the entries are entered correctly the page will be redirected to default.aspx page. Otherwise error will be displayed on the login screen.
97
98
This is the first page of Inventory Management System (product Brand master). The page is concerned with the following functionalities :(1) There are two input values on the on the form. Brand Category Code (For entering the brand code). Brand Category Name (For entering the name of the brand). (2) There is a Submit Button on the form. For submitting the input values. (3) There is a Grid view on the form.
The Grid view show all input values on the form randomly after pressing the Submit Button.
99
100
The second page of Inventory Management System (Add product Category).The page is concerned with the following functionalities :(1) There are two textboxes on the form : Product Category Code (For entering the product category code). Product Category Name (For entering the name of the product category). (2) There is dropdown list on the form : Parent Category Name (For selecting the parent category of the product) (4) There is a Submit Button on the form. Submit Button ( For submitting the input value) (3) There is a Grid view on the form. Grid view (For showing all input values on the form randomly after pressing the Submit Button)
101
102
PRODUCT :The third page of Inventory Management System (Add product).The page is concerned with the following functionalities :(1) There are three textboxes on the form : Product Name (For entering the product name) Product Detail (For entering the product detail) Purchase date (For entering the purchase date of product) Serial Number (For entering the serial number of product) Search 1,2 (For searching the product) (2) There are three dropdown lists on the form : Brand Name (For selecting the brand of the product) Category Name(For selecting the category of the product) Office (For selecting the particular where to transfer the product) (3) There is a search textbox on the form There is a Submit Button on the form : Submit Button ( For submitting the input value) (4) There is a Grid view on the form : Grid view (For showing all input values on the form randomly after pressing the Submit Button)
Continue.
103
104
105
The third page of Inventory Management System (Active product in stock).The page is concerned with the following functionalities :(1) There is a Grid view on the form : Grid view (Grid view showing all the active products of company) (2) There are Check Boxes on the Grid View of the form : Check Boxes (Check Boxes for selecting the ready to use products from the list of the products, after selecting the particular row the product is transfer to Product Form) (3) There is a Submit Button on the form : Submit Button ( For submitting selecting check box values to Product Form)
106
107
Purpose
This module provides you the facility to View all data entries :-
108