Vous êtes sur la page 1sur 61

ABSTRACT Earlier IT applications were used to automate routine, information-intensive back-office transactions like payroll processing, accounting etc.

which helped in increasing efficiency and productivity. Today IT is used to reengineer core value activities and change the basis of competition. A streamlined and integrated value chain helps businesses eliminate redundancies, reduce cycle times, and achieve even greater productivity and efficiency. Real time information could be used to improve coordination and control and to add value to and differentiate existing products and services. The above said is true for xxxxxxxxxx Ltd also and this project (Plant Hire Information System) aims to avoid the complexity and redundancy in handling the equipment hiring details for its different departments. The system uses Internet technology and is web based allowing the project managers to request for equipment to be hired from their site itself. The system stores and maintains all the details about the equipments which are on-hire and offhire. Detailed explanation of the work is given in the chapters of this report.

ACKNOWLEDGEMENTS I would like to take an opportunity to thank my Supervisor Dr. XXXXX for her suggestions, guidance and directing me the right direction throughout my project work. I would like to thank all the teaching, non teaching staff members and lab staff members who provided excellent lab facilities. I would finally thankful to my family, friends for giving me the inspiration to complete this course.

CONTENT OUTLINE OF CHAPTERS

TABLE OF CONTENTS

PAGE No 6

CHAPTER 1: INTRODUCTION 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 XXXXXX Ltd. What is Plant Hire Information System (PHIS)? Goals of PHIS The Existing System The Proposed System Software Requirements System Development Plan Key Areas of Computer Science Used in the Project 8 8 9 9 9 10 10 10

CHAPTER 2: LITERATURE REVIEW 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Research Methodologies What is Internet and Websites For? Web Database Application How Web Pages Works? Steps in Website Development Features of a Successful Web site Mistakes in a Website Database Systems and RDBMS 11 11 13 14 14 15 16 17

CHAPTER 3: TOOLS AND TECHNIQUES USED 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Web Programming Tools .Net Architecture Why ASP.Net? Why ORACLE? ASP.Net and VB.Net in Detail Structured Query Language Javascript 19 20 21 22 22 23 24

3.8

Web Services Technology

24

CHAPTER 4: ANALYSIS OF THE PROBLEM 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Analysis The Milestone of a Project Goals and Audience of the System Requirements Analysis and Methodologies Used Formulation and Evaluation of Alternative Solutions Content and Data Analysis Determining Interactivity Data Flow Diagram 26 26 26 27 28 28 29

CHAPTER 5: DESIGN OF THE SOLUTION 5.1 5.2 5.3 Design of Output and Input Database Design Page and Forms Design 30 30 31

CHAPTER 6: DEVELOPMENT OF PLANT HIRE INFORMATION SYSTEM 6.1 6.2 6.3 Website Implementation Plan Assumptions Made The Pages 35 35 35

CHAPTER 7: IMPLEMENTING AND TESTING THE WEBSITE 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 Implementing Home Page Implementing the Forms Validation of the Form Fields Storage and Manipulation of Data Connecting with the Database Error handling when working with the database Security Features Description of the Files Used Installation Requirements Testing the Website 37 37 37 37 37 38 38 38 38 39

CHAPTER 8: FUTURE ENHANCEMENTS AND CONCLUSION 8.1 8.2 Future Enhancements Conclusion 41 41 42 42 43 44 45 52

REFERENCES BIBLIOGRAPHY APPENDICES Data Flow Diagram E-R Diagram Forms Design Screenshots

OUTLINE OF CHAPTERS This thesis is divided into eight chapters and explains in detail about the aims and objectives of the project, the processes, the tools and methodologies used for developing the project. The thesis also examines how the website is implemented and tested. A brief summary of all the chapters follows: Chapter 1: Introduction This chapter contains a general overview of the project. It describes the aims of the project and what tools and techniques are used in implementing this project. It also explains how the present system is working and how the proposed system should work. Chapter 2: Literature Review This contains an analysis of the various literatures on the related topics. It depicts ideas regarding Internet and website development very clearly. It also explains about the security and database design issues to be concerned when developing the project. Chapter 3: Tools and Techniques Used This chapter provides a sketch of the various tools and techniques used for implementing the project. It also compares the different tools used for web programming and gives a general idea about the .Net architecture. Chapter 4: Analysis of the Problem The audience as well as the user requirements is specified in this chapter. It also discusses the methodologies used for identifying the user requirements as well as the data flow among the processes. Chapter 5: Design of the Solution Chapter 5 describes how the various elements of the design phase are handled. Design of output and input, database and web forms are explained in detail. Chapter 6: Development of Plant Hire Information System From this chapter, the reader would get a detailed understanding of the different processes that are to be implemented. It is explained what are the assumptions to be taken while working with the system and also the details of each web page forms.

Chapter 7: Implementing and Testing the System Chapter 7 explains in detail the technical features used in implementing the various functionalities of the project. The second part of this chapter gives a detailed description on how the system is tested for errors and how security is incorporated into the system. Chapter 8: Conclusion Scope for future expansion and experience gained while undertaking this project is explained here in detail. The report also contains well structured references, bibliography and appendices.

CHAPTER 1: INTRODUCTION 1.1 XXXXX Ltd.

Background to the company was given in this section. Removed for confidentiality reasons. 1.2 What is Plant Hire Information System (PHIS)?

XXXXX group is a Construction & Civil Engineering Company. xxxxx group uniquely embraces four key services to provide Clients with a capability to undertake all aspects of a project. These key services are: Construction: It is xxxxxx building division responsible for general contracting. Civil Engineering: This division carries out wide range of works like Earthwork, drainage, bridges, and roads Demolition: This division carries out major demolition works & strip or part of works for major companies like IKEA, ASDA, and SAINSBURY. Plant Hire: This hire division maintains all major equipment like Excavators, trucks, tippers, dumpers and other equipment which will be on hire for different projects. For Construction, Civil Engineering & Demolition projects you need various plant equipments on hire. These hire equipments are provided by xxxx plant hire unit, other hire companies like MultiX, Speedy Hire, Hire Force, Andrew Sky, Ground Force etc. The proposed Plant Hire Information System deals with new projects and their plant hire equipment details so that the authorized person can easily maintain the records. By designing this system the company can reduce the costs of unwanted plant hire items. 1.3 Goals of PHIS

As stated in the abstract, PHIS is developed for the. xxxx Contractors Ltd. The website is a simple solution to reduce the operating costs and redundancy in maintaining and processing equipment hire details. The main goal of PHIS is to increase the operating efficiency of the Plant Hire Department. 1.4 The Existing System

As specified above, the Construction, Civil Engineering and Demolition projects need plant equipments which are to be hired either from the plant hire department or from other companies. The need for hiring equipments is identified by the project managers and the

request for hiring is submitted to an authorized person who has the right to order the equipment for hire. The authorized person places the order with the hire company who will then deliver the requested equipment. When the corresponding project finished the use of the equipment, it is off-hired. If any equipment is malfunctioning and need to be exchanged, the hire company will do it, if requested by the authorized person. All the data processing is done manually. 1.5 The Proposed System

It is proposed to computerize the data processing regarding to the equipment hire function of xxxx Contractors Ltd. It is done using the Internet technology and is implemented as a website. Thus the system enables the project managers to enter the request details for hiring equipments from their site itself.

1.6

Software Requirements

The website uses a combination of different web development technologies. For the simple client side part of the site, classic HTML and some javascript is enough. But for server side scripting, it is decided to use ASP.Net together with ORACLE for supporting the database needs of the website. VB. Net is used for programming the server functions. 1.7 System Development Plan

The whole system is developed according to the classical systems development life cycle model. It is planned to divide the development of the website into clearly defined steps which are specified as follows: Define Goals and Audience Study of Existing System Requirements Analysis Process Specification Design Site Navigation Page and Forms Design Design Database Review of work done so far Interim Report Developing Pseudo code Programming the Site

Website Implementation and Testing System Documentation In developing the project, I have tried my maximum to follow this order as is evident from the documentation itself. 1.8 Key Areas of Computer Science Used in the Project

In developing the project, I have adopted theories and applications from the following areas: Web Database Application Software Engineering Database Management Systems Internet and its Applications By developing this project I gained a thorough understanding of the above specified areas and am fully confident on successfully developing any such projects in the future.

10

CHAPTER 2: LITERATURE REVIEW 2.1 Research Methodologies

As this website is developed solely for the use of xxxx group, secondary research on to the registers of the Plant Hire department are undertaken in order to understand the nature of data and information. To get a clear grasp of the project development methodologies, I have made detailed research into Software Engineering and System Analysis textbooks. Also I researched various literatures and websites during the design and development phase. Books and journals are referred on ASP.Net, VB.Net and ORACLE as given in the references and bibliography sections of this report. The aid from search engines are vastly used in assisting the project development, especially that of Google. The project reports available in the University library are also referred while preparing this report. The facts and findings obtained by my literature research are explained in the following sections. 2.2 What is Internet and Websites For?

The rise in the usage of Internet over the last five years has been explosive. It is fast becoming the form of modern day communication. The neat thing about the Internet is that everyone can have their say. The Internet also known as information superhighway is a worldwide network of computers connected in a common manner allowing ease of access both for communicating and for transferring data1(Murphy B., 2000). Each network cooperates with the other networks to direct Internet traffic so that information can pass among them. The world wide web is one special area of the Internet. It is based on links which enables easy surfing from one web server to another. It allows pages with fancy graphic and multimedia elements to be constructed, while other areas of the Internet do not.

Murphy B., 2000, Building a Website on the Internet, The Cromwell Press, Wiltshire

11

The World Wide Web The web is the most interesting, most innovative, most visible, and fastest growing part of the Internet2 (Gralla P., 2001). The web consists of different websites which again consists of different web pages. It is possible to navigate through these pages with the help of hyperlinks, which are in essence multimedia publications containing music, audio, video, animation as well as graphics and text. Users can access the web pages with the help of the web browser. This is the client part of the client/server model of the world wide web. The server software runs on the machine where the site is hosted. Every site has a unique URL (Uniform Resource Locator) which distinguishes it from the other sites hosted in the web. When we wants to visit a particular site, we types the URL in the address bar of the browser which in turn communicates with the server using the Hypertext Transfer Protocol (HTTP). When the server gets a request from the client (browser), the server acknowledges it by finding and sending back the requested page. After the information is displayed, the HTTP connection is closed and can be reopened. Markup Languages and Hypertext Markup languages consists instructions or statements which directs the browser software how to display and manage a web document. These instructions are called tags or markups. Hence the name markup language. Tags are embedded in the source document that creates the web page and allows to embed images and links to other pages within the parent web page. So each web page has everything it needs to be displayed on any computer with a browser that can interpret the mark-up language. Hypertext Markup Langauge (HTML) is the mark-up language of the web. It defines the format of a web document and enables hypertext links to be embedded in the document. Dynamic HTML (DHTML) allows the web to be more dynamic, interactive and flexible, and they enable HTML to perform animations. Tim Berners-Lee envisioned a system in which a document could be linked to other documents, enabling researchers to easily find more and related information simply by following a link from one document on the network to another. Hypertext consists of a
2

Gralla P., 2001, How The Internet Works, 6th edn, Que, Indianapolis

12

hyperlink that appears onscreen as a highlighted word, icon, or graphic. By moving a mouse cursor over the item, or the object, and clicking it, you easily navigate to additional information. This information can be located at any other place on the web, be it on the same host server or one across the globe. A linked object can be various media, such as text, or graphical button, or still images, for example. The documents and objects that are being linked to, can be on the same site as the original document or on an entirely different site. Interactive Forms Interactive forms are used while working databases and the manipulation of data into information requires some kind of response or feedback from the user. Such forms should have a submit button, when clicked, communicates with the corresponding action file according to the specified protocol. The data in the data fields is sent to the server with the request. When a form submission is received by the server, it activates a CGI (Common Gateway Interface) application, a program, or a script that interacts with a web server; it then passes the resulting information to a web form. The programs output goes either to another program, such as a database, or into a unique HTML document or both. 2.3 Web Database Application

In future, users will essentially have one tool available to them: a Web browser. Whether users are in-house using high-speed connections or on the road with modems, all information would be stored on a massive backend database. Everything - every document, email, and video clip - would be stored within the database. The system of having individual file servers that store different portions of a company' s files would die. Everything would be in a centralized database. There are two basic advantages to this centralised system. The first is cost savings. When dozens of NT servers are replaced by one homogenous database, not only do those individual servers disappear but so does the staff needed to maintain them. This system would also simplify the desktop. Users would require hardly any help desk support. The second advantage is that with files stored in a database, everything can be the subject of queries. The basic parts or layers of a database web application are: The client: the users web browser, a java applet, a java application, or even a platform depended client program.

13

The application logic: encoded in the algorithms used in the CGI script, special modules of the web server, or even an application depended server. The database connectivity: the database API, or general connectivity protocol such as ODBC or JDBC. The database server: RDBMS, ODBMS, etc. The implementation of such applications can be done using the multi-tiered model, because one or more layers can be coalesced together. The usual implementation is a three-tiered system: First tier: web client (eg. The users browser) Second tier: web server, CGI scripts and connection APIs for the database (e.g. Apache with mod_php, supporting MySQL database, and PHP scripts) Third tier: the database server (e.g. MySQL server) 2.4 How Web Pages Works?

A search in a database begins with submitting a form in the web page, which in turn invokes a CGI script. The browser might pass the data to the web server in a query string. When the web server receives the request, it sends the information through the CGI program to the database. Typically, the program is stored in a unique directory that contains all the CGI scripts serviced by the web server. The database retrieves the records that match the criteria. It then returns the retrieved data to the web server via the CGI in the form of a new HTML page. The server then sends the page back to the client browser as a new HTML page. 2.5 a) Steps in Website Development Define a strategy

Define why you want the website for. Evaluate the business objectives and target audiences who are they, what do you want to do with them and what they want from you. You will then be in a position to brief what the contents of the website to be. b) Prepare sitemap and storyboards

Illustrate how the website will work which gives an idea of how the content will flow. Provide a series of storyboards which clearly show how different parts of the site will look and how your web visitor will interact with you online.

14

c)

Design a website

Design the various output, input and its formats. Design the web forms also. d) Build great content

Design the content of the website. It should be meaningful and sensible. e)


3

Test the site

Test the site for discrepancies and correct it if there is any. (Dinucci D. et. Al., 1999) Features of a Successful Web site Easy to read. If background colours or images are used, the text on top of the

2.6 a)

background should be in a colour that can easily be seen. Use a colour scheme that complements and is pleasing to the eye. White space between images and sections of text make a page easier to view. b) Easy to navigate. A visitor should be able to find the information they are looking

for without hassle and frustration. The site' s navigation buttons should be grouped together. If image links are used, text links should also be provided for those people who have images turned off on their browser or are using an older browser that doesn' t support images. c) Comfortably viewed. A Web site should be easily viewable in all screen sizes

without a visitor having to scroll horizontally (left to right). d) Quick to download. Graphics and sounds add download time to a Web page. Use

them sparingly. Don' t make your visitors wait too long for your site to download or they will click away and probably won' t return. It is a good idea to find out what the approximate download times are for people who are using 28K and 56K telephone modems. Not everyone has DSL or cable Internet. e) Avoid dead links. Make sure that links on all your pages are working, whether they

are internal links to pages within your site, or links to external Web sites.

Dinucci D., Giudice M., Stiles M., 1999, Elements of Web Design, 2nd edn, Peachpit Press, Berkeley,

CA

15

f)

Keep the content fresh. People are more apt to return to your Web site if they find

new and interesting material. Post articles on your site, offer a newly updated "Internet Special" or provide fresh, helpful links. All these things cause visitors to bookmark your site as a reference tool. g) Clear and to the point. Visitors should have a clear understanding of what your Web

site is about when they visit. Studies have shown that people do not like to read computer screens, so keep your Web site copy interesting to read and to the point. h) Keep your target audience in mind. Think about the people who would be

interested in visiting your Web site. If you are designing a web site about razor blades and shaving cream for men, the site should have a masculine feel to it. Decorating the page with pink hearts and roses would not be a good idea! i) Provide a form for visitors to contact you. Visitors are more likely to fill out a form

to contact you than clicking on an e-mail link. Always make things easy for your visitors especially contacting you. j) Browser compatible. Check your Web site in the most popular browsers to make

sure everything is displayed properly. The top two browsers used are Internet Explorer and Netscape Navigator, but there are others such as the AOL browser, Mosaic, Opera and Web TV to name a few4 (http://www.istart.co.nz/web-design-development.htm). Various versions of the same browser also display differently. It is a good idea to have a program on your computer that checks browser and version compatibility.
5

(Nygaard V., 2000) Mistakes in a Website

2.7

The most common errors are: Unclear goals, no targets, no measures of success Content related issues Poor Structure and Navigation. Not optimised to produce effective Internet search engines listings. Done in isolation of other marketing activities
4 5

http://www.istart.co.nz/web-design-development.htm Viki Nygaard, 2000, http://www.mountevansdesigns.com/articles_topten.html

16

Website project seen as solely a "technical" responsibility Poor choice of developer / tool Not updated regularly - seen as a one off exercise. Not written conforming to standards - Not tested in different software. No monitoring/ assessment of website visitor statistics
6

(http://www.webmastersink.com/webman/design/checklist.html)

2.8

Database Systems and RDBMS

A database management system consists of a collection of interrelated data and a set of programs to access those data. The collection of data, usually referred to as the database, contains information about one particular enterprise. The primary goal of a DBMS is to provide an environment that is both convenient and efficient to use in retrieving and storing database information. The database which uses tables for storage of data is the relational DBMS7 (Silberschatz A., Korth H. F., Sudarshan S., 1997).

The Relational Model This model has established itself as the primary data model for commercial data processing applications. The relational model uses a collection of tables to represent both data and the relationships among those data. Each table has multiple columns, and each column has a unique name. A row in a table represents a relationship among a set of values. Normalization Among the undesirable properties that a bad database design have are Repetition of information Inability to represent certain information A set of functional dependencies can be used in designing a relational database in which most of the above said undesirable properties do not occur. It may become necessary to decompose a relation into several smaller relations. Using functional dependencies, several normal forms
6 7

http://www.webmastersink.com/webman/design/checklist.html Silberschatz A., Korth H. F., Sudarshan S., 1997, Database System Concepts, Mc-Graw Hill

International Editions

17

are designed that represent good database designs. A set of design criteria and six rules, normalization helps database designers prove that their logical design is correct and optimal. Using normalization, undesirable features are removed from the design. Each successive rule implies that the prior ones are met. Normalization implies splitting tables into two or more tables with fewer columns. Most designs try to reach 3NF and a few 4NF, but not many reach 5NF. The six normalization rules are: 1. 1NF: 2. 2NF: 3. 3NF: Each row or column must have a single value with no repeating values. Every non-key column must depend on the primary key No non-key column can depend on another non-key column

4. BCNF: No attribute of a composite key can be dependant on an attribute of the other composite key. 5. 4NF: 6. 5NF: An entity cannot have a 1:N relationship between primary key columns and Break all tables into the smallest possible peaces to eliminate all redundancy non-key columns. within a table.

18

CHAPTER 3: TOOLS AND TECHNIQUES USED 3.1 Web Programming Tools

When it comes to Web development, we have a lot of options. Many of these methods involve pre-processing embedding code into HTML pages with special tags that signal to a preprocessor that they contain code, and that it should do something with it. This code is then run on the server, and it returns some content, which then assumes part of the shape of the resulting HTML page sent back to the browser. Both the open source language PHP and languages within Microsoft' s ASP.NET framework fall into this category; Java Server Pages (JSP) and Perl/Mason operate this way as well. ASP.Net vs ASP ASP.NET is a completely new ASP. It was written entirely from the ground up in C#. ASP.NET makes use of compilable programming languages, such as Visual Basic.Net, C#, even COBOL, to write Web Applications 8(http:// dotnetjunkies.com / WebLog/ seichert/ archive/2003/10/14/2598.aspx ). The applications are compiled on the server, and pages are served in HTML for the specific browser that has issued the request. ASP.Net vs PHP Strengths and Weaknesses of ASP.Net ASP.NET' s strength lies clearly in its clean design and implementation. It is an objectoriented programmer' s dream, with language flexibility, and with sophisticated objectoriented features supported. It is truly interoperable with your programmers' existing skills. Another strength of ASP.NET is the development environment. Developers can use WebMatrix, a community-supported tool, Visual Studio .NET, or various Borland tools such as Delphi and C++ Builder. Plenty of other third-party IDE solutions for ASP.NET are certain to surface as well. But what you gain in robustness, you pay for in efficiency. ASP.NET is expensive with respect to memory usage and execution time, which is due in large part to a longer code path. For Web-based applications, these limitations can be a serious problem, because on the Web, the application is likely to scale to thousands and thousands of users per second. Memory usage can also become an issue on the Web server

http:// dotnetjunkies.com / WebLog/ seichert/ archive/2003/10/14/2598.aspx

19

Strengths and Weaknesses of PHP PHP 5 has still shortcomings including its lack of exceptions, event-based error-handling instances that interrupt the normal flow of a program, jumping your code to a special errorhandling section. Java also provides exceptions for error handling, while C++ provides exception handling via the try, catch, and throw syntax. Another weakness is that PHP' s function names are case insensitive. PHP wasn' t designed to be an object-oriented language. Some of those features were added later, although care was made to keep backward compatibility with PHP 3, so you' re left with a bit of both models. The price is right, so you don' t have to worry about licensing issues. It' s open source, too, so an entire community will keep a close eye on development, identifying bugs and making sure they get fixed. And if there' s a feature you don' t like, you can dabble with the code. What' s more, PHP works native with Apache: It can be compiled as a module or directly into the Apache binary. Going with a web server with Apache' s track record means security remains a top priority. And, finally, PHP has a smaller code path, meaning there' s less server-side code executed to parse and execute your PHP page, which results in more efficient memory and usage and faster execution 9(Moulding P., 2002).

3.2

.Net Architecture

Microsoft describes the .NET framework variously as a new computing platform designed to simplify application development in the highly distributed environment of the Internet and as XML web services platform that will enable developers to create programs that transcend device boundaries and fully harness the connectivity of the Internet 10( Jones R. A., 2002). The following are the main features that are the underpinnings of the .NET framework: The Common Language Runtime(CLR): All code written in the .NET languages is executed via the CLR. The CLR is responsible for enforcing various rules that are designed to make .NET applications robust. These includes constraints on datatypes, memory usage and application security. Managed Execution: The entire process of turning the source code into a running application in the .NET framework is referred to as managed execution.

Moulding P., 2002, PHP Black Book, 1st edn, dreamtech, New Delhi Jones R. A, 2002, Mastering ASP.Net with VB.Net in VB.Net Complete, SYBEX, Alameda, CA

10

20

The Common Type System(CTS): CLR defines the CTS. At its most basic level, CTS can be thought of as defining all the datatypes that managed code is allowed to use. It also defines rules for creating, persisting, using, and binding to types. Cross-language Interoperability: Code written in one .NET language can be easily used from another .NET language. This interoperability is pervasive. The .NET framework class library: A class library is a set of predefined classes that can be used to access common functionality. Namespaces: Classes within the .NET framework class library are arranged in namespaces, groups of objects that perform similar functions. Assemblies: .NET group code into units called assemblies. An assembly can consist of a single file or can consist of components distributed across multiple files. The CLR uses assemblies as a fundamental unit of management in many respects. Application domains: Application domain provides a second level of code grouping in .NET. An application domain is composed of a group of assemblies loaded together. The CLR enforces isolation between application domains, such that code running in one application domain cannot directly manipulate objects in another application domain. Security: The .NET framework implements both code access security and rule based security. Deploying and Configuring .NET applications: The .NET framework is designed to make deploying applications simple and less likely than current models to cause conflicts with existing applications. Web Services: They are a means for interacting with objects over the Internet. Windows Forms: is the visual programming model for .NET. ASP.NET: is Microsofts server based framework for running .NET code on web servers.

3.3

Why ASP.Net?

An important part of .NET is its use in creating Web applications through a technology known as ASP.NET. Far more than an incremental enhancement to Active Server Pages (ASP), the new technology is a unified Web development platform that greatly simplifies the implementation of sophisticated Web applications. ASP.NET provides a programming model and infrastructure that facilitates developing new classes of Web applications. Part of this infrastructure is the .NET runtime and framework. Server-side code is written in .NET compiled languages. Two main programming models are supported by ASP.NET.

21

Web Forms helps you build form-based Web pages. A WYSIWYG development environment enables you to drag controls onto Web pages. Special "server-side" controls present the programmer with an event model similar to what is provided by controls in ordinary Windows programming.

Web services make it possible for a Web site to expose functionality via an API that can be called remotely by other applications. Data is exchanged using standard Web protocols and formats such as HTTP and XML, which will cross firewalls.

Both Web Forms and Web services can take advantage of the facilities provided by .NET, such as the compiled code and .NET runtime. In addition, ASP.NET itself provides a number of infrastructure services, including state management, security, configuration, caching, and tracing 11(www.aspauthors.com).

3.4

Why ORACLE?

In Oracle' s view, smaller businesses would save money by using simple Internet connectivity to access the same sort of power on remote, "professionally managed" systems. The other major advantage is that sharing good information with outside resources would be much easier since everything is stored remotely. Oracle foresees a time when all but a company' s "core competency" is outsourced to firms that have specific skills in various disciplines. Using the Internet, a small firm could easily outsource all of its human resources, purchasing, and other departments 12(http://www.oracle.com/technology/pub/articles/hull_asp.html). 3.5 ASP.Net and VB.Net in Detail

ASP.NET a next generation of ASP (Active Server Pages) introduced by Microsoft. Similar to previous server-side scripting technologies, ASP.NET allows you to build powerful, reliable, and scalable distributed applications. ASP.NET is based on the Microsoft .NET framework and uses the .NET features and tools to develop Web applications and Web services. Even though ASP.NET sounds like ASP and syntaxes are compatible with ASP but ASP.NET is much more than that. It provides many features and tools, which let you develop more reliable and scalable, Web applications and Web services in less time and resources. Since ASP.NET is a compiled, .NET-based environment; you can use any .NET supported

11 12

www.aspauthors.com http://www.oracle.com/technology/pub/articles/hull_asp.html

22

languages, including VB.NET, C#, JScript.NET, and VBScript.NET to develop ASP.NET applications. ASP.NET provides a programming model and infrastructure that facilitates developing new classes of Web applications. Part of this infrastructure is the .NET runtime and framework. Server-side code is written in .NET compiled languages. Two main programming models are supported by ASP.NET.

Web Forms helps you build form-based Web pages. A WYSIWYG development environment enables you to drag controls onto Web pages. Special "server-side" controls present the programmer with an event model similar to what is provided by controls in ordinary Windows programming.

Web services make it possible for a Web site to expose functionality via an API that can be called remotely by other applications. Data is exchanged using standard Web protocols and formats such as HTTP and XML, which will cross firewalls.

Both Web Forms and Web services can take advantage of the facilities provided by .NET, such as the compiled code and .NET runtime. In addition, ASP.NET itself provides a number of infrastructure services, including state management, security, configuration, caching, and tracing. 3.6 Structured Query Language

A query language is a language in which a user requests information from the database. It can be either procedural or non-procedural. In a procedural language, the user instructs the system to perform a sequence of operations on the database to compute the desired result. In a nonprocedural language, the user describes the information desired without giving a specific procedure for obtaining that information. Of the several query languages, SQL has clearly established itself as the standard relational database language. SQL has the following parts: Data definition language provides commands for defining relation schemas, deleting relations, creating indices, and modifying relation schemas. Interactive data manipulation language includes a query language based on both the relational algebra and the tuple relational calculus. It includes also commands to insert tuples into, delete tuples from, and to modify tuples in the database.

23

Embedded data manipulation language is designed for use within general purpose programming languages. View definition includes commands for defining views. Authorization includes commands for specifying access rights to relations and views. Integrity includes commands for specifying integrity constraints that the data stored in the database must satisfy. Transaction Control includes commands for specifying the beginning and ending of transactions. 3.7 Javascript

Javascript is an interpreted programming language whose interpreter is embedded inside the web browser software. The script contained in web documents can be read by the browsers Javascript engine whenever the document is loaded into the browser window. In this way , the web documents can be made to respond to the users actions and to perform dynamic visual effects. The language contains many impressive features but for security reasons it cannot read or write files, with the exception of cookie files that store a small amount of data
13

(McGrath M., 2003). Combining Javascript with the Document Object Model (DOM)

allows the creation of powerful dynamic HTML effects. 3.8 Web Services Technology

Web services are the most promising feature of the .NET platform. A web service is a class that resides on a web server, and its methods can be called over the Internet. The methods of this class dont return an HTML page. Instead, they return one or more values, packaged as XML documents. Any application that can handle XML can call these methods and use their results. Every application can access web services; conversely, any web server can expose functionality in the form of web services. What makes it all possible is that everything is based on a universal standard, the XML standard. The web service class inherits from System.Web.Services The names of the functions is prefixed with the following keyword to turn them into web methods: <WebMethod()>

13

McGrath M., 2003, Javascript in easy steps, Computerstep, UK

24

Any client application that has access to the Internet can call this method14 (Petrousos E., Bilgin A., 2002). Web services perform functions, which can be anything from simple requests to complicated business processes...Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service15 (Venu V., 2001). Viewed from an n-tier application architecture perspective, the web service is a veneer for programmatic access to a service which is then implemented by other kinds of middleware. Access consists of service-agnostic request handling (a listener) and a facade that exposes the operations supported by the business logic. The logic itself is implemented by a traditional middleware platform.

14

Petroutsos E., Bilgin A., 2002, Mastering Visual Basic.Net Database Programming,
Venu V., 2001, O' Reilly Open Source Convention: July 26-30, Portland, OR, www.w3.org

SYBEX, Alameda, CA
15

25

CHAPTER 4: ANALYSIS OF THE PROBLEM 4.1 Analysis The Milestone of a Project

Systems analysis involves the investigation of a system to gain a thorough understanding on the user requirements, how the present system is working and what are the problems encountered in the working of the present system. This project uses a structured approach to systems analysis and design which is characterized by the use of top-down decomposition and modeling techniques within discrete phases defined by the systems development lifecycle. 4.2 Goals and Audience of the System

This website is designed with the aim of efficient and effective coordination of plant hire information so that it reduces the cost incurred in manipulating the data using the current manual system. The website is planned to implement solely for the use of xxxx Contractors Ltd. As such the audience of the website are the various project managers who submit hire requests and the authorized persons who make the orders. And of course, the website administrator also visits the site for administrative purposes. 4.3 Requirements Analysis and Methodologies Used

Analysis of the existing system led to the requirement of a new system in which the data can be manipulated easily. All the functions of the existing system are now being operated manually. So it is decided to computerize the system by developing a web database application. The existing system is functioning as follows: The project manager recognizes the need for new equipment. He submits the request to his boss. Boss will issue the request identification to the project manager. With that identification, he can make an order to the hiring company. Hiring company hires the equipment on the date requested by the manager. The equipment can be hired as long as the end of the project (as per the requirement of the project). After the need, the equipment is off-hired to the hiring company. For finding the requirements of the customer, I first browsed certain similar websites as explained earlier. But as the project is prepared for xxxx, I understood that it is better and wise to use some marketing research technologies to understand the needs and wants of customers. The goal of marketing is nothing but satisfying the needs and wants of customers. Good research generates dependable data, being derived by practises that are conducted professionally and that can be used reliably for managerial decision making 16(Cooper D.R.,
16

Cooper D. R., Schindler P. S., 2003, Business Research Methods, 8th edn, Mc-Graw Hill, Irwin

26

Schindler P. S., 2003). Research methods are concerned with how the required information will be collected, and effective planning presupposes an understanding of the alternatives, and how and when each can be effectively used 17(Hague P., Jackson P., 1995). Research methods can be qualitative or quantitative. Qualitative methodologies gain qualitative understanding of the underlying reasons and motivations of the issue in hand. The two qualitative research methodologies that I used for finding the customer needs and wants are: Interviews and Focus Groups. First I conducted a secondary research on the records and registers of the Plant Hire department in order to understand the nature of data processing done using the existing manual system. I conducted interviews and focus groups with the management of xxxx group, the plant hire department, the project managers and the employees, during the early stage of the project development itself and throughout the whole project, in which we discussed about the requirements. In addition, I also used my discretion or judgement in implementing the system, which I gained through the experience in working with the group as a System Engineer. The research process undertaken for requirements analysis yielded the following results: The project managers wanted a simple system for making a request for hiring equipment, from the project site itself. The system should allow authorized persons to confirm the request and issue an order id. Consensus is brought on in these discussions, on what should be the data to be used as input and how should be the output. Discussions are also held to gain a grasp on how the users are expecting what the look and feel of the website should be. 4.4 Formulation and Evaluation of Alternative Solutions

Before going into the design and development of the website, it is wise to evaluate the feasibility and viability of designing and developing such a website. A feasibility study involves determining if the information system makes sense for the organization from an economic and operational standpoint. The project is evaluated for technical, operational and economic feasibility. Technical Feasibility Evaluating the technical feasibility is the most important part of a feasibility study. This is because, at this point of time, not too many detailed design of the system are provided thus
17

Hague P., Jackson P., 1995, Do Your Own Market Research, 2nd edn, Kogan Page

27

making it difficult to assess issues like performance, costs on account of the kind of technology to be deployed and so on. The main issues which have to be considered while doing a technical feasibility is: Understand the different technologies that can be used to design and develop the website. Find out whether the technology is widely accepted. Find out whether the technology can handle all the required operations in an effective and efficient way. Operational Feasibility This section tests whether the website is feasible in terms of its operations. It should find out whether the end users can effectively use the website for satisfying their requirements. These requirements are the outcome of the requirements analysis stage, which is the first stage of any project. Economic Feasibility Economic feasibility attempts to weigh the costs of developing and implementing a new system, against the benefits that would accrue from having the new system in place. This feasibility study gives the economic justification for the new system. A simple economic analysis gives the actual comparison of costs and benefits. In addition, this proves to be a useful point of reference to compare actual costs as the project progresses. 4.5 Content and Data Analysis

Decisions on the content of the website and the input and output data needed for the site are made on this stage. The output of this stage of the project is used as the input to the design stage for page and forms design and database design. For example, the project manager should fill up a form for requesting to hire equipment. This submitted request details is passed on to the authorized persons for confirmation and issue of the unique order id.

4.6

Determining Interactivity

Interactivity determines how the web pages interact with the end user. This should be the basis for forms designing. It is through the form fields that the user inputs the data which interacts with the server in order to submit and confirm the hire request.

28

4.7

Data Flow Diagram

A DFD (Data Flow Diagram) is a diagrammatic representation of the passage of data through a system, and depicts any changes made to that data and what data is stored18 (Robinson b., Prior M., 1995). A DFD consists of the following components or elements: process, data flow, data store and terminator. A process is used to transform data into information. For this transformation, data must be moved from one process to another. This is depicted by the data flow. The data store is the media used for storage - it can be a file, a pile of documents, or a database. Data originating from or finishing outside the boundary of the defined system is shown by a terminator. The data flow diagram for PHIS is given in the appendix.

18

Robinson B., Prior M., 1995, Systems Analysis Techniques, International Thomson Computer Press

29

CHAPTER 5: DESIGN OF THE SOLUTION During the system design, models of the web pages and the database to be used are designed. For this we have to make decision on what should be the contents of each page. Plans are made on the data inputs on to the system, how the data will flow through the system and the required outputs and program specifications. 5.1 Design of Output and Input

Decisions are taken on what should be the output given to the end user and how the output should be presented. The media required for presenting the output is also designed. The media used fro outputting in the PHIS is the CRT screen. The identified outputs of the system are as follows: Information on request details to be authorized. Search results for queries on equipment on hire, according to certain criteria as shown in explanation I. Also provides details of off-hired equipments. Similar to output design, various data that should be used as inputs to the site are decided. The main input to the Plant Hire Information System is the request details that are to be passed to the authorized persons for confirmation and issue of an unique order id. 5.2 Database Design

Data are grouped into different tables which will be used in a relational database management system 19(Silberschatz A., Korth H. F., Sudarshan S., 1997 ). After identifying the attributes of the tables, the primary key and foreign key of each table is identified. The keys are used to declare the relationship among the tables and an entity-relationship diagram is prepared. (See appendix for list of tables and entity-relationship diagram). Database designing is the process of developing the conceptual model of data. It is the definition of entire information content of the organization and it specifies the relationship between the data. The model is used to group data into a number of tables. For designing a table, decisions must be made on the fields of the table, type of the field, its length, default value etc. For this firstly, the entities and relationships must be identified. Secondly, their attributes must be specified. The method of organizing or structure date into the tables is

19

Silberschatz A., Korth H. F., Sudarshan S., 1997, Database System Concepts, Mc-Graw Hill

International Editions

30

known as normalization. The tables designed for this website are all in the normalized form. The list of tables and the entity-relationship diagram are given in the appendix. An entity is something about which the organization wishes to collect and store data. It is capable of being uniquely identified. An attribute is a data element that is associated with an entity. Entities are associated with each other via relationships20 (Robinson B., Prior M., 1995). This diagram can be considered as a simplified view of an entity-relationship diagram. Some organizations follow this type of entity-relationship diagram as it is not complicated as the other one and is easy to understand. Entities are given in the top of each box and the attributes follow the entity. Entities are related via the primary key - foreign key relationship. Primary and foreign keys are underlined in each box. 5.3 Page and Forms Design

Page design includes designing of the individual pages to be hosted in the site by structuring its contents and designing the forms to be used for interacting with the end users. How to navigate through the pages (hyperlink design) is also designed in this section. Description of Hyperlinks Buttons & Hyperlinks Login

Reference Form

Action Display login form. Enter username and password. Check number of characters in password . Link to the company website Check username and password from LOGIN table. If correct, display

HOME

Company Name

HOME

SUBMIT

LOGIN

OPTIONS form. Else display incorrect username or password with links to login, register now again.

20

Robinson B., Prior M., 1995, Systems Analysis Techniques, International Thomson Computer Press

31

CHANGE PASSWORD HIRE REQUEST AUTHORIZE REQUEST ON HIRE

LOGIN

Display the form for changing the password. Ask for new password 2 times and check for similarity. Display the form in frame4 to enter the request details Display the request details from the temporary table for authorization in frame 4 Display on_hire form for entering order date and the amount paid.

OPTIONS

OPTIONS

OPTIONS

OFF_HIRE GO (Select hire detail) GO (Search for hire company details) SUBMIT

OPTIONS

Display off_hire form for entering off hire date Provide different possibilities as hyperlinks to refine the search criteria in frame 4 (see explanation 1) Display details of selected hire company in frame 4 Insert into HIRE_REQ_TEMP table and display message your request is waiting for authorization. Check validity of quantity. Insert into table HIRE_COMPANY. Generate a unique order id, after selecting all the requests to be authorized. For authorizing, he should select from the list of hire companies provided for each requests. Insert order_id, order date and amount paid into ONHIRE_DATE_AMT table and providing corresponding message. Insert order_id and off hire date into table OFF_HIRE_DATE and display message Off hire is successful.

OPTIONS

OPTIONS

HIRE REQUEST

AUTHORIZE SELECTED REQUESTS SUBMIT

AUTHORIZE REQUEST ON HIRE

SUBMIT

OFF HIRE

32

Descriptions of Buttons and Hyperlinks for WEB SITE ADMINISTRATOR (use javascript for validating form fields) Buttons & Hyperlinks SUBMIT

Reference Form

Action

FORM 1

Generate department id and insert department id and name into the table

SUBMIT

FORM 2

Generate manager id and insert manager id and name into table

SUBMIT

FORM 3

Generate project id and insert the details in the table

SUBMIT

FORM 4

Generate equipment id and insert details into the table

SUBMIT

FORM 5

Generate hire company id and insert details into the table

SUBMIT

FORM 6

Insert the details into the hire company equipment table. Enter username and password and insert into LOGIN table; so that the

SUBMIT

FORM 7

users can be issued the username and password by the website administrator which can be used to login into the system the first time.

Explanation I: We can provide a search facility for hire details based on different options. These options can be selected from the combobox. The different options are: By department By project By request date By hire date By off hire date By hire company By order id (see explanation 2) On selection of the above options, certain sub options are displayed in frame 4 which can be used for refining the search criteria. For eg:-, if we select by department all the department

33

names will be listed in combobox. Upon selecting one department, frame 4 will displays the details of all equipments hired by this department (only on hire) in a sequence. The details listed are:

Request Date: On Hire Date: Expected Hire Date: Order id: Project Name: Department Name:
Explanation II

Department Name

Equipment Name: Brand: Hire Company: Authorized Person: Quantity: Amount Paid:

With this search result, we can provide a facility to update the hire amount. The form will be as follows:

Links same as In OPTIONS Page

RESULTS OF SEARCH (checkbox) Want to update amount? SUBMIT

Frame 3 frame 4.

Frame 4

On clicking SUBMIT, check the value of checkbox. If true, the following form is displayed in

Order id:

Amount paid: SUBMIT

Order id is retrieved from the result of the above search and is disabled. Clicking SUBMIT button update the ONHIRE_DATE_AMT table and displays the total amount paid for the corresponding order.

34

CHAPTER 6: DEVELOPMENT OF PLANT HIRE INFORMATION SYSTEM 6.1 Website Implementation Plan

The website is divided into three different modules which are described as follows: Equipment Request Manipulation Submission and authorization of request for the equipment and issue of unique order_id. Hire Details Manipulation On-hire and off-hire details of the equipments are manipulated in this module. A Search module Users can view results (equipment hire details) of a search engine which will be based on the following criteria: a) by department b) by project c) by date d) by hire company e) by order_id f) by off-hire date Only registered users can visit the inner pages of the site. For this purpose, a facility for registration and login is provided. (See appendix for Data Flow Diagram) 6.2 Assumptions Made It is the web administrator who has the authority for adding details of new departments, projects, equipments and the different hire company. If any equipment on hire needs to be exchanged due to malfunctioning, first the equipment has to be off-hired and then a new request must be made for the same equipment. It is assumed that the hire company can deliver the full number of equipments requested.

6.3

The Pages HOME The home page is implemented in four frames. The Top frame just shows the company and system name. The left frame gives a general information on the whole system, which

Pages for the End User

35

is the frame whose contents will change for other forms. The right frame provides links to various hire companies. LOGIN Users can access the whole system by logging into the system. Users are requested to provide their username and password for verification. OPTIONS Provide various links to navigate to the inner pages. Frame 2 of home page is again divided into two frames. HIRE REQUEST This form asks for the details of equipments to be ordered for hire. AUTHORIZE REQUEST This form provides all the request details in a sequence which can be further selected by the authorized person for confirmation. ON HIRE The form allows to update the amount paid for a hired equipment. OFF HIRE When an equipment is returned back to the hire company, the off hire date is entered into the database via this form. Pages for Web site Administrator Inserting new departments Inserting new managers Inserting new projects Inserting new equipments Inserting new hire company details Inserting details of a new equipment Registering new users

36

CHAPTER 7: IMPLEMENTING AND TESTING THE WEBSITE 7.1 Implementing Home Page

The home page gives general information on the website and provides a hyperlink to the user to login to the site. It has links to the websites of certain plant hire companies. The home page is implemented using frames whose design is as shown in the appendix. 7.2 Implementing the Forms

The website interacts with the users through forms. The main controls used in the forms are labels, textboxes, combo boxes and buttons. There are four main forms: Hire Request This form helps the project managers to submit the request for hiring equipment. Authorize Request Authorized persons can view all the requests for hiring equipment. He can select the particular hire company from where the equipment is to be hired and there after confirm the request. A unique order id will be generated for each confirmed request. On Hire The amount paid for each order can be updated through this form. Off Hire If any equipment is returned back, the corresponding details are recorded in the database through this form. 7.3 Validation of the Form Fields

A lot of validations are provided in the interactive fields to avoid errors or mistakes while the user giving their details and requirements. Data types are also validated. All validations are done using Javascript. 7.4 Storage and Manipulation of Data

Oracle 9-i is used as the database. Data is manipulated with the help of related tables whose description is given in the E-R diagram. Primary key and foreign key constraints are developed and references among tables are given. All master tables are related to the child tables via references. 7.5 Connecting with the Database

Database connection is implemented using the web services technology. The webservice Hireconnect is created for the database connection. Oracle client namespace is used since asp.net and vb.net are the development tools. Connection is made by instanciating an object

37

of the OracleConnection class. The connection string is passed as parameter of that class. In the connection string the datasource, username and password is used as parameters. One object of OracleCommand is then creates and different queries are passed as parameters of this class. To read from the database the OracleDataReader class is used. 7.6 Error handling when working with the database

Exceptions are called for each and every database operation. Primary key constraints avoids duplication of values of identifying fields in master tables. 7.7 Security Features

Only a registered user can browse through the forms. Administrator is the person who adds new users. Any addition of new managers, department and so on is the duty of the web site administrator. Also no person can browse the site unless he is logged in to the site with a proper username and password. 7.8 Description of the Files Used

The whole project is stored in two folders: PlantHireInfoSystem and HireConnect. The folder PlantHireInfoSystem includes all the .aspx files and .aspx.vb files which incorporates the web forms and the code behind each web forms. The file PlantHireInfoSystem.vbproj.webinfo is used to provide the path of the whole project. The HireConnect folder has all the files for implementing the web services technology for database connectivity and access. The Planthire.asmx specifies the code behind filename and the name of the web services class. The web service class and all its methods are defined in the code behind file Planthire.asmx.vb.

7.9 Installation Requirements The following are the tools required for installing the project: Platform Database Browser - Windows/Unix/Linux - ORACLE 9-i - Any supporting ASP.Net Server - IIS with .Net framework

38

7.10

Testing the Website

Before presenting to the real world, a web application should be tested for its quality and accuracy, for which certain test criteria are established. The criteria are set based on the system specifications and user requirements. These tests make sure that the web application is able to satisfy the requirements and execute in a manner executed. Compatibility Testing Compatibility testing measures how well pages display on different clients such as browsers, different browser version, different operating systems, and different machines. The main issues are the different implementations of HTML by the various browser manufacturers and the different machine platform display and rendering characteristics. Integration Testing Integration tests are performed when new code is added to an existing code base. It measures whether the new code works -- integrates -- with the existing code; these tests look for data input and output, correct handling of variables, etc. Security Auditing Security auditing refers to the testing of the site and web server configuration with an eye towards eliminating any security or access loopholes. Usability Testing Usability testing measures the site' s user interface for ease and intuitiveness of navigation. User Acceptance Testing User acceptance testing refers to the process, between web site owners and contractors, of setting up criteria for the formal acceptance of the web site code. Somebody must define the tests that the web site code must meet the user requirements in order for the site work to be considered complete -- and somebody must execute those acceptance tests. Validation Testing Validation testing verifies that the HTML code in a file meets the DTD (Document Type Definition) for any particular version of HTML.

39

How Plant Hire Information System is tested? PHIS is accessed using the browsers Internet Explorer and Netscape Navigator, in different versions to know whether it is browser compatible. It is developed in different modules hire request, authorize request, on hire, off hire and site administration. When each module was developed it was integrated with the already developed modules and tested whether it works fine as a whole. Each web page is tested for the look and feel and whether it is acceptable to the users. It is also tested whether it is easy to navigate through the pages even for a person who is using Internet for the first time. When forms are filled out, each field value is checked by using client side validations. It is tested whether the correct and appropriate validation messages are displayed to the user. PHIS ask for the username and password before users are allowed to access the inner pages as part of maintaining the privacy and security of the whole data processing function.

40

CHAPTER 8: FUTURE ENHANCEMENTS AND CONCLUSION 8.1 Future Enhancements

Certain features are not implemented as I found it is not economically and technically feasible on the perspective of a student project. But later on, this work can be developed into a fully commercial website, provided the following enhancements are made: PHIS can be modified as a website which can be used by any companies hiring equipments as the xxxx group. For this purpose the database should be modified significantly to incorporate all such companies wishing to use the website. In fact, then the database should be dynamic. The website can be further enhanced to include advertisements of construction companies and hire companies. An electronic cash transaction system can be developed for payment of cash to the hire company for satisfying the hire request. In developing PHIS, it is assumed that the hire company can satisfy each request in full number needed by the project. But in future, it can be modified by searching whether the company can satisfy the request in full. If not, the system will automatically search in the database for another company who can satisfy the remaining request and inform the authorized person. In such cases, he can make the remaining order from that company. 8.2 Conclusion

Plant Hire Information System developed for xxxx Contractors Ltd. is supposed to reduce the operating costs of hiring equipments for different projects. Hope that this website can be developed and implemented properly and as intended. Due to the experience gained till now by working on the project, I understood how to analyse a problem, find out a feasible solution from the alternatives, and properly analyse the existing system. I also learned to design the database and the different web forms. After programming the site, I am now thorough with VB.Net and ORACLE. More important is, I gained practical experience in designing and developing a business website. Technically concluding, the site is developed by using the most popular web programming languages and tools which helps in providing greater degree of flexibility and interactivity to the end users.

41

REFERENCES 1. Cooper D. R., Schindler P. S., 2003, Business Research Methods, 8th edn, Mc-Graw Hill, Irwin 2. Gralla P., 2001, How The Internet Works, 6th edn, Que, Indianapolis 3. Hague P., Jackson P., 1995, Do Your Own Market Research, 2nd edn, Kogan Page 4. Jones R. A, 2002, Mastering ASP.Net with VB.Net in VB.Net Complete, SYBEX, Alameda, CA 5. McGrath M., 2003, Javascript in easy steps, Computerstep, UK 6. Moulding P., 2002, PHP Black Book, 1st edn, dreamtech, New Delhi 7. Murphy B., 2000, Building a Website on the Internet, The Cromwell Press, Wiltshire 8. Petroutsos E., Bilgin A., 2002, Mastering Visual Basic.Net Database Programming, SYBEX, Alameda, CA 9. Robinson B., Prior M., 1995, Systems Analysis Techniques, International Thomson Computer Press 10. Silberschatz A., Korth H. F., Sudarshan S., 1997, Database System Concepts, McGraw Hill International Editions 11. Vasudevan V., 2001, O' Reilly Open Source Convention: July 26-30, Portland, OR, www.w3.org 12. Viki Nygaard, 2000, http://www.mountevansdesigns.com/articles_topten.html 13. http://www.aspauthors.com 14. http://www.xxxxplc.co.uk 15. http://dotnetjunkies.com/WebLog/seichert/archive/2003/10/14/2598.aspx 16. http://www.oracle.com/technology/pub/articles/hull_asp.html 17. http://www.istart.co.nz/web-design-development.htm 18. http://www.webmastersink.com/webman/design/checklist.html BIBLIOGRAPHY 1. http://www.paston.co.uk/web-design-cm.html 2. http://www.siec.k12.in.us/~west/online/steps1.htm 3. http://www.philosphe.com

42

APPENDICES Dataflow diagram Level 0

Dataflow diagram Level 1

43

Entity-Relationship Diagram
Department Department id Department name Equipment Equipment id name/category Brand Purpose

Hire Company Hire Company id Name Address Phone Email

Project Manager id Project id Project name Department id Site location Start date End date

Hire_Req_Temp Request date Project id Equipment id Expected hire date Quantity

Hire Comp_Equip Equipment id Hire Company id Charging details

Project Manager Manager id Manager name

Hire Order Order id Request date Project id Equipment id Hire Company id Authorized person Expected Hire date Quantity

Off Hire Order id Off Hire Date

Onhire_Date_Amt Order id Order date Amount paid

44

Web Pages and Forms and Explanations (All the underlined word(s) are hyperlinks) PAGES FOR AUTHORISED PERSONS AND PROJECT MANAGERS 1. HOME page Frame1

xxxx CONTRACTORS Ltd. PLANT HIRE INFORMATION SYSTEM Picture of some construction works

This website allows the project mangers of xxxx Contractors Ltd. to submit request for hiring an equipment and the authorized persons to authorize the request and issue an ordered. The project managers and authorized persons should login to the site using the username and password provided by the website administrator for the first time. Thereafter they can change the password if needed.

Picture of Some hire Equipments

Links to hire Company web Sites LOGIN

Frame2

Frame3 45

2. LOGIN form

Username:

Password:

SUBMIT

CHANGE PASSWORD

Table Required: LOGIN 3. OPTIONS form

Hire Request Authorize Request On-Hire Off-Hire Tutorial Search for hire details
(Combo Box)

Welcome to username. You can select from the different options provided in the left frame.

GO Search for hire Company


(Combo Box)

GO Administration Page 46

4. HIRE REQUEST form

Request Date: Project Name:

Todays Date (Combo Box)


(Combo Box)

Required Equipment:

Required Brand: Expected Hire Date: Required Quantity:

(Combo Box)

(Calendar)

SUBMIT

Tables Required: HIRE_REQ_TEMP, PROJECT, EQUIPMENT 5. AUTHORIZE REQUEST form Welcome to authorised person Request Details Request Date: . Project Name: . Manager Name: .. Equipment Name:. Brand Name: Expected Hire Date: . Required Quantity: .. List of Hire Companies Hire Company1 Hire Company2 . . .

. Tables Required: HIRE_REQ_TEMP, PROJECT, EQUIPMENT, .. HIRE_COMPANY, HIRE_COMP_EQUIP, HIRE_ORDER AUTHORISE SELECTED REQUESTS 47

6. ON-HIRE form

Order id: Hire Date: (Calendar)

Amount Paid: SUBMIT Table Required: ONHIRE_DATE_AMT

7. OFF-HIRE form

Order id: Off-Hire Date: (Calendar)

SUBMIT

Tables Required: OFF_HIRE_DATE

48

PAGES FOR WEB SITE ADMINISTRATOR 1. For inserting new departments (FORM 1)

New Department Tables Required: DEPARTMENT. SUBMIT 2.

2. For inserting new managers(FORM 2)

New Manager

SUBMIT

Table Required: MANAGER 3. For inserting new projects (FORM 3)

Name Department Manager Site Location Start Date End Date Table Required: PROJECT 49 SUBMIT (Combobox) (Combobox)

4. For inserting new equipments Name Brand Purpose (TextArea)

(FORM 4)

SUBMIT Table Required: EQUIPMENT

5. For inserting new hire company details Name Address Phone Email SUBMIT Table Required: HIRE_COMPANY (TextArea)

(FORM 4)

6. For inserting the details of a new equipment possessed by a hire company (FROM 6)

Company Name Equipment Name Brand Charge

(ComboBox) (ComboBox) (ComboBox)

SUBMIT Table Required: HIRE_COMP_EQUIP 50

7. For registering new users

(FORM 7)

User Name Password Re-type Password SUBMIT Table Required: LOGIN

51

Screenshots: Home page: This page has been deleted for confidentiality purposes Login Page:

Options page:

52

Hire request:

Authorize Request:

53

On hire:

Off hire:

54

Search for Hire details:

Search result of Civil department: 55

Search result of Project: xxxx hospital Printout deleted for confidentiality reasons

Search result of Orders:

56

Administration pages:

New Department Page: 57

New Equipment page:

New Equipment possession by company: 58

New Hire Company:

New Manager Entry: 59

New User Entry:

Access denied to project manager to admin pages: 60

61