You are on page 1of 69

CHAPTER 1: INTRODUCTION

This project Account Tracking System is a complete Project Management tool that can be used anytime, anywhere by anyone. This product enables Project Managers and team members to collaborate and communicate project and personal information around the globe. It provides access regarding details of the project to individual team member depending upon permission authored by the administrator. This Project provides up-to-date status of all active Projects in the company. Using this tool, an organization can access the project status anytime, anywhere thus ensuring timely decisions. Moreover, using a Web browser, executives can have a high-level overview of all projects. This Project is useful for distributed organizations and provides real-time information on various project activities like Work Schedules, Task Creation, Resource Allocation, Deliverables, Issues, Reporting, Schedules, etc.,

1.1 MODULES
This project has been mainly divided into four modules viz.

1.General
Users of the ATS system should login to access the system. The system validates the user details and checks for the access permissions. The access to various modules of the system is provided based on the privileges of the users. These are the typical users accessing to system. They can take any specific role like: 1.PM-TL(Administrator) 2.Project-resource User can take any specific role like PM-TL, Project Resource. PM-TL will be having the administrative privileges of Resources, Projects, Tasks and Reports.

Admin privileges include create, update and delete for resources, projects and tasks. Various reports of Project will give PM-TL their task easy in updating the onsite timesheet system (iTime). Project-Resource will have ability to enter tasks related to the project. Tasks include task name, duration, start date and end date. Privileges on the tasks create, update and delete for the current week. No update/delete permission on the past weeks.

2. User Maintenance
PM-TL is the actor of the User Maintenance subsystem. Maintain user interface This module describes the user creation, modification and deletion. Assign Privileges This describes how different access privileges are assigned to the user and modified if required.

3.Manage Projects
This subsystem allows managing projects. The types of operations allowed are create, update and delete a project for the system by PM-TL. PM-TL is the actor of the Manage Project System. Manage Project This module describes the steps involved in creating, updating and deleting a project. Assign Resource to Project This module deals with assigning a resource to a project.

4. Manage Project Tasks.


This subsystem enables the project resource to enter tasks of the project. The entries of the tasks include the task name, duration, task start date and end date. Project Resource is the actor of the Manage tasks subsystem. 2

Manage tasks This use case describes the creation, update and deletion of tasks related to a project. create, update and delete tasks should be for the current week tasks only.

5.Reports
This subsystem enables to generate the following type of reports: 1. 2. 3. 4. Resources in the team. Resources and projects they are assigned to. Project-Task, Resources, duration, start date and end date. Summary of all Projects, Resources and billable hours related to particular month selected. PM/TL is the actor of Reports subsystem.

Screen design/Graphical User Interface:


Graphical User Interface (GUI) that is straightforward and easy to navigate has been designed. This GUI provide various screens with appropriate incorporate icons, hyperlinks etc. to facilitate screen navigation and data entry.

1.3 ATS GENERAL ARCHITECTURE :

Fig 1.3.1 : Layered Architecture 3

Table 1.1 : Layers Of Architecture

Database Layer Application Layer

Contains the data and database-related objects like stored procedures, triggers, packages, etc. Contains the objects addressing the business logic; Most of the middle-level Java objects will be here in application layer. It will be on the web server; It contains the web pages (JSPs) of the application which will interact with the front-end browsers Contains the web browser which interacts with web server

Web Interface Layer

Client Layer

CHAPTER 2: LITERATURE REVIEW(a)


4

2.1 PROJECT CATEGORY:


Project can be categorized in two ways: Local Area Network projects. Distributed Projects.

Local Area Network projects are those projects where application has to be incorporated in the Local area network of the client i.e. within its premises only. In case of LAN, server is not remotely located and client accesses the application through the network. Here the question of platform independence does not arise and we can use the technologies like: Visual Basic, Fox pro, D2k or C, C++, etc. Distributed projects are those projects where application is remotely situated. In these kinds of projects, application is remotely situated on to the remote server from where client machine accesses the application. WAN and Internet is a kind of distributed application where client machine connects to the remote server and application is downloaded on to the client machine. Here the question of platform independence arises and we use technologies like Java Servlet, Java Server Pages, Java Beans, RMI, etc.

2.2 JAVA
2.2.1 OVERVIEW:
Java is powerful but lean on Object Oriented programming language. It has generated a lot of excitement because it makes it possible to program for Internet by creating applets, programs that can be embedded in web page. The context of an applet is limited only by one's imagination. For example, an applet can be an animation with sound, an interactive game or a ticker tape with constantly updated stock prices. Applets can be just little decorations to liven up web page, or they can be serious applications like word processors or spreadsheet.

But Java is more than a programming language for writing applets. It is being used more and more for writing standalone applications as well. It is becoming so popular that many people believe it will become standard language for both general purpose and Internet programming. There are many buzzwords associated with Java, but because of its spectacular growth in popularity, a new buzz word has appeared ambiguous, indeed, all indications are that it will soon be everywhere. Java builds on the strength of C++. It has taken the best features of C++ and discarded the more problematic and error prone parts. To this lean core, it has added garbage collection (automatic memory management), multithreading (the capacity for one program to do more than one thing at a time), security capabilities. The result is that Java is simple, elegant, powerful and easy to us Java is actually a platform consisting of three components: 1. Java programming language. 2. Java is library of classes and interfaces. 3. Java is a Virtual Machine. The following sections will say more about these components:

JAVA IS PORTABLE:
One of the biggest advantages Java offers is that it is portable. An application written in Java will run on all the major platforms. Any computer with a Java based browser can run the applications or applets written in the Java programming language. A programmer no longer has to write one program to run on a Macintosh, another program to run on a Windows machine, still another to run on a UNIX machine, and so on. In other words, with Java, developers write their programs only once. The Virtual Machine is what gives Java its cross platform capabilities. Rather than being compiled into

Machine language, which is different for each operating systems and computer architecture, Java code is compiled into byte codes.

JAVA IS OBJECT-ORIENTED:
The Java programming language is object oriented, which makes program design focus on what you are dealing with rather than on how you are going to do something. This makes it more useful for programming in sophisticated projects because one can break the things down into understandable components. A big benefit is that these components can then be reused. Object oriented languages use the paradigm of classes. In simplest term, a class includes both the data and the functions to operate on the data. You can create an instance of a class, also called an object, which will have all the data members and functionality of its class. Because of this, you can think of a class as being like a template, with each object being a specific instance of a particular type of class. The class paradigm allows one to encapsulate data so that specific data values are those using the data can not see function implementation. Encapsulation makes it possible to make the changes in code without breaking other programs that use that code. If for example the implementation of a function is changed, the change is invisible to the programmer who invokes that function, and it does not affect his/her program, except hopefully to improve it.

JAVA MAKES IT EASY TO WRITE CORRECT CODE:


In addition to being portable and object oriented, Java facilitates writing correct code. Programmers spend less time writing Java code and a lot less time debugging it. In fact, developers have reported slashing development time by as much as two thirds. The following is a list of some of Java's features that make it easier to write correct code:

NO POINTERS:
Eliminates big source errors. By using object references instead of many pointers, problems with pointer arithmetic are eliminated, and problems with inadvertently accessing the wrong memory address are greatly reduced.

STRONG TYPING:
Cuts down on runtime errors. Because Java enforces strong type checking, many errors are caught when code is compiled. Dynamic binding is possible and often very useful, but static binding with strict type checking is used when possible.

SIMPLICITY:
Java is made easier to learn and use correctly. Java keeps it simple by having just one way to do something instead of having several alternatives, as in some languages. Java also stays lean by not including multiple inheritances, which eliminates the errors and ambiguity that arise when you create a subclass that inherits from two or more classes. To replace capabilities, multiple inheritances provide Java lets you add functionality to a class throw the use of interfaces.

JAVA INCLUDES A LIBRARY OF CLASSES AND INTERFACES:


The Java platform includes an extensive class library so that programmers can use already existing classes as it is, create subclasses to modify existing classes, or implement interfaces to augment the capabilities of classes. A package is a collection of related Java classes and interfaces. The following list, though not complete, gives examples of some Java packages and what they cover. java.lang -- This package is so basic that it is automatically included in any Java program. It includes classes dealing with numeric, strings, objects, runtime, security and threads. Java.io -- Classes that manage reading data from input streams and writing data to the output streams. Java.util -- Miscellaneous utility classes, including generic data structures, bit sets, time, date, the string manipulation, random number generation, system properties, notification and enumeration of data structures. Java.awt --Classes that manage user interface components such as windows, dialog boxes, buttons, check boxes, lists, menus, scrollbars, and text fields; the AWT" stands Abstract Window Toolkit. Java.sql -- The JDBC API, classes and interfaces that access databases and send SQL statements. The first three packages listed, java.lang, java.io, and java.util form the foundation, and they are the basic classes and interfaces for general-purpose programming. Development Kit Version1.1 added some new packages, with Java

JDBC is being one of them. Other new packages include such things as Remote Method Invocation, Security and Java Beans the new API for creating reusable components.

JAVA IS EXTENSIBLE:
A big plus for Java is the fact it can be extended. It was purposely written to be lean with the emphasis on doing what it does very well; instead of trying to do everything from the beginning, it was return so that extending it is very easy. Programmers can modify existing classes or write their own new classes or they can write a whole new package. The JDBC API, the java.sql package, is one example of a foundation upon which extensions are being built. Other extensions are being added or worked on in area such as multimedia, Internet Commerce, conferencing, and Telephony.

JAVA IS MULTITHREADED:
Multithreading is simply the ability of a program to do more than one thing at a time. For example an application could be faxing a document at the same time it is printing another document. Or a program could process new inventory figures while it maintains a feed for current prices. Multithreading is particularly important in multimedia: a multimedia program might often be running a movie, running an audio track and displaying text all at the same time.

2.3 HYPERTEXT MARKUP LANGUAGE (HTML)


HTML stands for Hyper Text Markup Language, which is an application of standard generalized markup language. It is a simple language used to define and describe the layout of a web page.

10

HYPER TEXT
Hyper text is an ordinary text that has been dressed up with extra features such as formatting, imaging, multimedia and links to other documents.

MARKUP
Markup is the process of taking ordinary text and adding extra symbols. Each of the symbols used for markup in HTML is a command that tells a browser how to display the text. Markup can be very simple or it can be very complicated.

LANGUAGE
It is actually a key point to remember about HTML. HTML is a computer language related to programming languages like BASIC, C etc. HTML has its own syntax, and rules for proper communication.

HTML ELEMENTS
HTML comprises of three major elements that render a well structures look for a document. Some of these elements are optional yet their assures a better presentation Head Body Footer

The first HTML tag is used to identify a HTML document. The entire document should be written inside <HTML> </HTML> tags. The title of the document can be included in the <TITLE> </TITLE> tags.

11

BASIC ELEMENTS
An HTML document contains of text and tags used to convey the data of a document and to mark it issues. The < and > symbols that to a new user might seem to dominate an HTML are the beginnings and endings of the tags that mark a documents structure with an understanding of what these tags do a developer can quickly learn about tags mark familiar structure like titles, headings, paragraphs and lists. The < and > symbols in HTML are used to make tags to delimit elements. These elements identify the document structure. The letters into the element tag are casesensitive. Some elements such as line break elements can be delimited by one tag i.e., <BR>. Elements such as paragraph element <P> can be delimited by both start and end tag. Some elements also have attributes; the image element <IMG> uses SRC (source) to identify the file of the image to be included in the document.

BODY ELEMENTS
Body elements are used to mark text as context of a document. Unlike the head elements almost all of these marks lead to some visual expression in the browser body. The element starts with <BODY>. The tags mark the contents of the HTML document. <A>, this is an anchor element, which is based on for linking documents together

Attributes
HREF: This attribute identifies the URL of hypertext reference for this anchor in the form of HREF = URL. Where the URL given will be the resource that the browser receives and the user clicks the anchor hotspot. OL: For ordered list of elements.

12

DL: A definition list or glossary has three parts a term details explanation of the term identified with the DT element. HR: Horizontal rule, divides section of text P: This element signals a paragraph start it can have a stop tag</P> BR: This element forces a break. IMG: The IMG element allows graphical browser to place graphic images in a document at the location of the tag. SRC: This attribute indicates the source file of the image. ALIGN: This attribute sets the positioning relationship between the graphic and text that follows it. TOP, MIDDLE, LEFT, RIGHT, BOTTOM are the option for this alignment.

FORM ELEMENTS
Forms are used to present an interface consisting of fill in the blank boxes. Checklist radio buttons or other features to gather input from the user, the form elements brackets an input data form. The elements INPUT, SELECT OPTION and TEXTAREA are used to setup areas within the form input. FORM: This delimits the start and end of a data input form. Forms cant be nested although there may be several forms in each document. Forms can handle other elements such as lists<PRE>. SELECT: This element allows the user to choose one of a set of alternatives. The option element is used to define each alternative.

13

OPTION: This element occurs within the select element and is used to represent each choice of the select. TEXT AREA: This element is used to collect multiple lines of text from the user. The user is presented with a scrollable pane in which text can be written.

TABLE ELEMENTS
Table: The <TABLE> tag is used to define tables and has an ending tag </TABLE>

Attributes:
BORDER: Causes border to render around the table. If missing the table has no grid around it or its data. WIDTH: Specifies how wide the table will be. If given as NN% then the width is NN% of the width of the display. COL SPAN: specifies the alignment of items in the columns. CAPTION: Used to label a figure or table. TH: Identifies the table header cell. TD: Identifies a row of tables cells. Attributes: COL SPAN: The number of columns that the cell spans. ROW SPAN: The number of rows that the cell spans.

2.4 JAVA SERVER PAGES (JSP)


Java Server Pages is a simple, yet powerful technology for creating and maintaining dynamic-content web pages. Based on the Java programming language, Java Server 14

Pages offers proven portability, open standards, and a mature re-usable component model.

PORTABILITY
Java Server Pages files can be run on any web server or web-enabled application server that provides support for them. Dubbed the JSP engine, this support involves recognition, translation and management of the Java Server Pages lifecycle and its interaction with associated components.

Architecture of Java Server Pages:


A Java Server Page is a simple text file consisting of HTML or XML content along JSP elements (a sort of short hand for java code). The Java Server Pages file has a .jsp extension to identify it to the server as a Java Server Pages file. When a client request a JSP page of the web server and it has not been run before, the page is first passed to a JSP Engine, which compiles the page to a servlet, runs it and returns the resulting content to the client. There after, the web servers servlet engine will run the compiled page. It is possible to view the finished servlet code that is generated by locating it with in the directory structure of the servlet engine. For example with the JRun, you can find the source code for your JSP files (in servlet form) in the Jrun/jsm-

default/services/jse/servlets/jsp directory. This is very helpful when trying to debug the JSP files. In the javax.servlet.jsp package we can find the following classes JspPage HttpJspPage

15

They define the interface for the compiled JSP page-namely that it must have three methods response) The JSP author can define the first two methods, but the third is the compiled version of the JSP page, and its creation is the responsibility of the JSP engine. JspInit () JspDestroy () JspService (HttpServletRequest request, HttpServletResponse

Elements of Java Server Page:


Directives These provide global information to the page, for example, import statements, the page for error handling or whether the page is part of a session. Declaratives These are for page-wide variables and method declarations. Scriptlets The Java code embedded in the page. Expressions Formats the expression as a string for inclusion in the output of the page.

JSP Directives:
A JSP directive is a statement that gives the JSP engine information for the page that follows. The general syntax of a JSP directive is <%@ directive {attribute =value} %> Where the directive may have a number of (optional) attributes. Each directive has an optional XML equivalent, but these are intended for future JSP TOOLS.

16

Possible directive in JSP1.0 are:


Page information for that page Include files to be included verbatim Taglib the URL for a library of tags that youll use in the page (implemented at the time of writing) As is to be expected, the page directive has many possible attributes. Specifying these are optional, as the mandatory ones has default values.

Attribute and Possible values


Language = java

Description
The language variable tells the server what language will be used in the file. Java is the only supported syntax for a JSP in the current specification.

Extends = package. class

The extends variable defines the parent class of the generated servlet. It isnt normally necessary to use anything other than the provided class.

Import = package.*;

The import variable is similar to the first section of any java program. As 17

such it should always be placed at the top of the JSP file. The value of the import variable should be a comma-separated list of the packages and classes that you wish to import. Session = true/false By default, the session variable is true, meaning that session data is available to a page.

Info = text

Information on the page that can be Accessed through the pages

servlet.getservletsetinfo () method Error Page = pathToErrorPage Gives the relative path to the JSP page that will handle unhandled exceptions. That JSP will have isErrorPage set to true.

IsErrorPage = true/false

Marks the page as an error page.

A JSP declaration can be thought of as the definition of class-level variables and methods that are to be used throughout the page. To define a declarative block, begin the block of code with <%! Declaration>.

18

JSP Scriptlets:
Scriptlets are defined as any block of valid java code that resides <% and %> tags. This code will be placed in the generated servlets _jspService () method. Code that is defined within a scriptlet can access any variable and any bean that have been declared. There are also a host of implicit objects available to a scriptlet from the servlet environment.

Implicit Objects
Request

Description
The client request. This is usually a subclass of HttpServletRequest. This has the parameter list if there is one.

Response

The

JSP

pages

response,

subclass

of

HttpServletResponse. Page Context Page attributes and implicit objects need to be accessible through a uniform API, to allow the JSP engine to compile pages. But each server will have specific implementation of these attributes and objects. The solution to this problem is for the JSP engine to compile in code that uses a factory class to return the servers implementation of the page Context class. That page Context class has been initialized

19

with the request and response objects and some of the attributes from the page directive and provides the other implicit objects for the page request. Session The HTTP session object associated with the request. Application The servlet context returned by a call to getServletConfig ().getContext (). Out Config Page Exception The object representing the output stream. The servletConfig object for the page. The pages way of referring to itself. The uncaught subclass of Throwable that is passed to the error page URL.

JSP Expression:
A JSP expression is a very nice tool for embedding values with in your HTML code. Anything between <% and %> tags will be evaluated, converted to a string, and then displayed. Conversion from a primitive type to a string is handled automatically. JSP expression doesnt close with a semicolon. Thats because the JSP engine will put the expression within an out.println () call.

JSP engine allow you to essentially parameterize HTML (just as you would parameterize a SQL query that differs by only a couple of values). Again and again, your code will 20

setup conditions and loops using a one-line JSP scriptlet and then include the HTML code directly beneath it.

Coding JSP pages:


A big advantage in developing a Java Server Page is that you can code the HTML without enclosing it in Java code. You can then take advantage of HTML editors to develop your content. So from the drudgery of coding HTML output in servlets, weve arrived at the flexibility of coding Java snippets into the HTML page

2.5 J2EE Introduction to J2EE:


The multi-tier architecture such as COBRA has got its own advantages in terms of scalability, performance and reliability. In a multi-tier architecture, a client does not interact directly with the server. Instead, it first contacts another layer called Middleware. The middleware instantiates the server applications and messages the server object. It returns results to the clients. The presence of a middleware layer allows programmers to concentrate on business logic of application. The middleware handles low-lever services, such as thread handling, security, and transactions management. Sun Microsystems introduced the J2EE application server and the enterprise Java Bean (EJB) specifications as a venture into the multi-tier component architecture. J2EE functions as a middle tier server in three tier architectures. It provides certain specifications that can be used to implement enterprise solutions for certain all types of business requirements. J2EE also offers cost effective solution for business solution. 21

J2EE is used for developing, deploying and executing applications in a distributed environment. The J2EE applications server acts as a platform for implementing various server side technologies Servlets, Java Server Pages (JSP) and Enterprise Java Bean (EJB). J2EE allows you to focus on your business logic program. The business logic is coded in java program, which are reusable component that can be accessed client program EJB runs on J2EE server. In J2EE security is handled almost entirely by platform and its admin. The developer does not have to worry about writing the security logic.

J2EE framework and Architecture:


The J2EE SDK architecture consists of the following components: The J2EE server The EJB Container The Web Container

The J2EE server provides the EJB and web containers. The J2EE server enforces authenticating users. The either service provided by the J2EE server are listed here below. various Services to locate and search for services and components. The EJB container manages the execution of Enterprise Bean for J2EE server. EJB is a specification for making server side component that enable and simplifies the task of creating distributed objects. EJB component provide services such as transaction and security management and can be customized during deployment. 22 It allows client to interact with Enterprise Bean. It enables a web browser to access Servlets and JSP files It provides naming and directory services to enable users and

The web container manages the executing of JSP and Servlets for J2EE applications web components and their container run on the J2EE server. Servlets of the java program that can be deployed on a java enable web server to enhances and extend the functionality of the web server for example you can write a Servlets to add a manager service to a website. Servlet can also be used to add dynamic content to web pages. Java Server Page (JSP) adds server side programming functionality to java. JSP consists of regular Html tags representing the static content and code enclosed within special tags representing the dynamic content. After compilation, a JSP generates a Servlets and therefore incorporates all the Servlets functionalities.

The J2EE Runtime:


While J2EE bundles together APIs that have been in existence in one form or another for quite sometime, perhaps its most significant aspect is the abstraction of the runtime infrastructure. The J2EE specification doesnt specify how a J2EE runtime should or could be built. Instead, J2EE specify roles and interfaces for applications, and the runtime onto which applications could be deployed. This results in a clear demarcation between applications and the runtime infrastructure. This demarcation allow the runtime to abstract most of the infrastructure services that enterprise developers have traditionally attempt to build on their own. As a result, J2EE application developers could just focus on the application logic and related service, while leveraging the runtime for all infrastructure-related services. Apart from specifying a set of standard APIs, the J2EE architecture also provides a uniform means of accessing platform-level services via its runtime environment. Such service includes distributed transactions, security, messaging etc.

J2EE Application:
23

J2EE applications are complex access data from a variety of source and cater to a variety of client. To manage these applications the business function conducted in the middle tier. The J2EE platform acts as a middle tier and provides the necessary environment needed by the application. The J2EE building multi-tier application. To create a J2EE application we need to create following three components: (1) J2EE application client (2) Enterprise Bean (3) Web component Each of these components is packaged into a file with a specified file format. A J2EE application client is a Java application that run in a environment that enable it to access to the J2EE services. A J2EE application client is packaged into a .jar (Java archive) file. The web components are packaged into a .war (Web archive) file. An Enterprise Bean consists of three files: the EJB class, Home and Remote Interfaces. The Enterprise Beans are bundled into an EJB.jar file. The .jar, .war and EJB.jar are assembled into a J2EE application, which is an .ear file. The .ear file is then deployed to the J2EE server. Oracle is one of the most successful companies that has released a number of development tools including SQL *PLUS, PL/SQL that enables faster and easier application development and its management. Oracle is the robust Database System, it support very large database. Moreover Oracle is widely used as back end for client / server applications. Administrative tools of Oracle help in securing the Data / Information. platform provides write once, run anywhere, portability and scalability for multi-tier application. It also minimizes complexity for

24

Enterprise Bean (.jar file)

Component (.jar file)

Assembled J2EE Application Server (.jar file)

Deployed

J2EE Server

Fig 2.5.1: Process of creating a J2EE application

J2EE Technologies:
The J2EE includes many technologies such as:

Enterprise Java Beans (EJB) :

25

Enterprise Java Beans (EJB) is write once, run anywhere middle tier component consisting of method that implements the business rule. Enterprise Bean encapsulates the business logic. There are two types of Enterprise Bean: Entity Bean and Session Bean.

Remote Method Invocation (RMI):

Remote Method Invocation is defined for the communication of remote objects in the middle tier of the distribute application. It enables a Java object to communicate remotely with other Java object.

Java Database Connectivity (JDBC):

Java Database Connectivity provides a Database programming API for Java program. A JDBC API contains a set of classes and Interfaces that are used to connect a database build using any DBMS or RDBMS. It also submit SQL query to a database and retrieve its and processes the result of SQL query.

Servlet:

Servlets are used to develop a variety of web-based application. They make use of the extensive power of the Java API such as networking and URL access, multithreading, database connectivity, internationalization, RMI and object serialization. Java Server Pages (JSP) adds server side programming functionality to Java. Both Servlet and JSP allow the creation of database driven web application and have server side programming capability.

Extensible Markup Language (XML)

J2EE uses Extensible Markup Language as a Markup language to describe the contents. The described file created when deploying the J2EE application is an XML file.

26

2.6 JAVA BEANS:


The java beans specification allows software components to be written in java, which encapsulate the logic behind the web application and remove the bulk of the code that would otherwise clutter up JSPs. The result is JSP code that is simpler, easier to maintain and which is more readily accessible to non-programmers. A bean uses properties to describe internal data that affects how it works and what it shows. In java the actual bean property data is usually a private or protected field, which can be edited by publicly available methods. In other words beans allow access to internal data via public get and set methods. This confirms to object orientation norms, which hide internal data from users and explore it only through accessor methods. Another aspect of this component is that it should be able to communicate with other objects or beans. Java beans accomplish this by firing events and listening to them. A bean that is interested in what happens to an object external to itself can register itself as a listener for various events in that object. Conversely an external object can register itself to listen to that bean. This concept is really the key to providing standalone software components

BOUND PROPERTIES:
One way of exporting events is to use bound properties. When a property value changes a bound property can inform other parts of the application that its value is changed.

BEAN EVENTS:
The property change support class should cater for most of the needs. However on many occasions beans will still need to communicate even though no property change activity has occurred.

BEAN PERSISTANCE AND STORAGE:


27

For a component to be really useful it must be possible to save it and any values it may contain and reload it to the same state at a later date. No matter how wonderful the component we create it will not be used much if it has to reset every time it is retrieved. Java beans use the serializable interface to address these issues. The serializable interface has no methods to implement. It is simply on indicator to the compiler that object may be made persistence by serialization. In practice serialization generally means saving the bean to a file using the object output stream classes. Then to restore the bean to read from the same file using object input stream. To make java bean to be serializable we need to do is add the serializable interface in the class declaration.

The J2EE APIs Used:


Distributed applications require access to a set of enterprise services. Typical services include transaction processing, database access, messaging, multithreading etc. The J2EE architecture unifies access to such services in its enterprise service APIs. However, instead of having to access these service through proprietary or non standard interfaces, application programs in J2EE can access these APIs via the container. There are various API specification in J2EE framework which enable us to create an application at great speed with minimum effort.

APIs Used To Build the Software:


1. JDBC API
The JDBC API provides developers with a way to connect to relational data from within java code. Using the JDBC API, developers can create a client (which can be anything from an applet to an EJB) that can connect to a database, execute structured query language statements, and processes the result of those statements. The API provides connectivity and data access across the range of relational databases. It can do this because it provides a set of generic database access methods for sql compliant relational databases. JDBC generalizes the most common database access functions by 28

abstracting the vendor specific detail of particular database. The result is set of classes and interface, placed in the java.sql package, which can be used with any database that has an appropriate JDBC drive. This allows JDBC connectivity to be provided in a consistent way for any database. It also means that with a little care to ensure the application confirms to the most commonly available database features, an application can be use with a different database simple by switching to a different JDBC driver. JDBC includes following packages for the means of database accessing and provides various features of the database. The packages are as follows: java.sql Package: This package contains classes and interfaces designed with traditional client/server in mind. Its functionality is focused primarily on basic database programming services such as creating connections, executing statements and prepared statements, and running batch queries. Advanced functions such as batch updates, scrollable result sets, transaction isolation, and sql data types are also available. javax.sql Package: This package introduces sum major architectural change to JDBC programming compared to java.sql package, and provides better abstractions for connections management, distributed transactions, and legacy connectivity. This package also introduces container-managed connection pooling, distributed transactions, and row sets.

2. JAVA SERVLETS
Servlets are Java technologys answer to Common Gateway Interface (CGI) programming. They are programs that run on a Web server, acting as middle layer between a request coming from a Web browser or other HTTP client and databases or applications on the HTTP server. Their job is to:

29

Read any data sent by the user.


This data is usually entered in a form on a Web page, but could also come from a Java applet or a custom HTTP client program.

Look up any other information about the request that is embedded in the HTTP request.
This information includes details about browser capabilities, cookies, the host name of the requesting client, and so forth.

Format the results inside a document.


In most cases, this involves embedding the information inside an HTML page

Set the appropriate HTTP response parameters.


This means telling the browser what type of document is being returned (e.g., HTML), setting cookies and caching parameters, and other such tasks.

JDBC
There are many classifications of databases available as Hierarchical database, Network database, Relational database, A technology that enables JSP base applications to interact directly with database engines is called Java Database Connectivity and is an integral part of Java platform.

30

Application Server Machine Client Machine Browser with HTML


JSP JDBC Web

server

Engine

Driver

DB Server Machine

RDBMS Server

Fig 2.6.1: Interaction of JSP Page with JDBC JDBC/JSP based web application access the database connections. These connections must be managed carefully by the application especially if a large number of concurrent users may be accessing them. To make this performance optimization JDBC uses a mechanism called connection pooling. The evaluation of this open database access technology has led to a miracle of driver architecture. Here the browser using the web application is not required to support java at all. The JSP has full control over how many JDBC connections are made to the server. The client never makes direct JDBC connection to the server. This solution can work readily through a firewall, only standard HTTP is used between the web server and the client.As a bonus this solution sends itself to easily secured information simply by adding secured 31

socket layer support to the web server. Because of this separation of the presentation from the business logic, which is separated from the database logic, this sort of system is often called three tiers of the system. Although the application server and database server can also running on the same server machine. There is still one minor problem with this scenario. Project personal accessing the JSP page containing the embedded JDBC code can easily and inadvertently modify the database access code and this may result in an erroneous application or even corrupted database. There are 2 solutions for this: 1. Create java beans or java classes that encapsulate all the JDBC operations. This is significantly better solution. But instantiation, initialization and parameterization of the java class or the beans can still represent a significant amount of embedded java code with in the JSP. 2. Create a tag extension set to pushdown all the database access logic. The data access logic programmers write the set of custom tags. The JSP application logic designers will then use the set of custom tag to create their application.

JSPs

Custom tag extension

Custom Java beans/classes

JDBC Driver

Other DB access Technologies

32

Fig 2.6.2: JSP Engine

Connectivity using JDBC


There are four kind of drivers available in Jdbc 1. 2. 3. 4. JdbcOdbc Bridge Driver. Partly Java Driver. Pure Java Driver. Native Driver.

33

CHAPTER 3: LITERATURE REVIEW(b)


3.1 REQUIREMENTS WHILE DESIGNING
Designing the account tracking system starts with the needs of the organization in maintaining the accounts of various resources called the conceptual requirements the Project Manager and the resources of the organization are the decision makers who use the account tracking system for automating the onsite timesheets some of the things which are kept into mind in order to consider the user requirements are:VERIFICATION AND VALIDATION 1. It should satisfy todays needs of information. 2. 3. 4. 5. 6. 7. 8. It should satisfy the performance requirements. It should be easily expandable with the expansion of the organization. It should satisfy the anticipated and unanticipated requirements of the user. It should be modified with the changing hardware and software environment. Once the current date is stored it should not be corrupted. The data entered in the database should be checked for validity Only authorized persons should be allowed to access the data.

34

LOGIN MODULE

3.2 STRUCTURE CHART


USER MAINTENANCE MODULE

MANAGE PROJECT MODULE

MANAGE PROJECT TASKS MODULE

REPORTS

35

Fig 3.2.1 : Structure Chart

3.3 DATABASE DESIGN


Table 3.3.1: emp_details

Field Name
emp_no Address Street City Pin State Phone Mobile Emailid Role_no Desig

Data Type
Number Varchar Varchar Varchar Number Varchar Number Number Varchar Number Varchar

Size
3 50 20 20 6 20 8 10 25 2 15

Constraints
Primary Key, Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null

Table 3.3.2: employee

Field Name
Emp_no Emp_name Status

Data Type
Number Varchar Varchar

Size
3 30 10

Constraints
Primary Key, Not null Not null Not null

36

Table 3.3.3: login Field Name


Logid Emp_name Password Role

Data Type
Varchar Varchar Varchar Varchar

Size
30 30 30 2

Constraints
Not null Not null Not null Not null

Table 3.3.4 : project

Field Name
Proj_no Proj_name Customer Stdate Enddate Duedate Esthrs Tech Status Creator Proj_status

Data Type
Number Varchar Varchar Date Date Date Number Varchar Varchar Number Varchar

Size
3 50 50

Constraints
Primary Key, Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null

8 50 30 3 30

Table 3.3.5 : team

Field Name

Data Type

Size
37

Constraints

Team_no Proj_no

Number Number

3 3

Primary Key, Not null Not null

Table 3.3.6 :role

Field Name
Role_no Role_name

Data Type
Number Varchar Table 3.3.6 :role

Size
3 20

Constraints
Primary Key, Not null Not null

3.4 DATA FLOW DIAGRAMS


Data Flow Diagramming is a means of representing a system at any level of detail with a graphic network of symbols showing data flows, data stores, data processes, and data sources/destination. The data flow diagram is analogous to a road map. It is a network model of all possibilities with different detail shown on different hierarchical levels. This processes of representing different details level is called leveling or partitioning by some data flow diagram advocates. Like a road map, there is no starting point or stop point, no time or timing, or steps to get somewhere. We just know that the data path must exist because at some point it will be needed. A road map shows all existing or planned roads because the road is needed. Details that is not shown on the different levels of the data flow diagram such as volumes, timing, frequency, etc. is shown on supplementary diagrams or in the data dictionary. For example, data store contents may be shown in the data dictionary. Data Flow Diagram (DFD) uses a number of symbols to represent the systems. Data Flow Diagram also known as Bubble Chart is used to clarify system requirements and 38

identifying the major transformations that will become programs in system design. So it is the starting point of the design phase that functionally decomposes the requirements specifications down to the level of details.

Terms used in DFD


Process

A process transforms data values. The lowest level processes are pure functions without side effects. An entire data flow graphics high level process. Graphi

Graphical Representation: Data flows

A data flow connects the output of an object or process to input of another object or process. It represents the intermediate data value within a computation. It is represented by an arrow and labeled with a description of data, usually its name or type. Graphical Representation:

values.

Actors

An actor is active object that drives the data flow graph by producing or consuming

Data store

39

A data store is a passive object with in a data flow diagram that stores data for later access. Graphical Representation :

External Entity A rectangle represents an external entity such as a librarian, a library member. Graphical Representation:

Output Symbol This box represented data production during human computer interaction. Graphical Representation:

40

Fig 3.4.1: Login Page DFD

41

Fig 3.4.2: Project Manager DFD for Resource Module

42

Fig 3.4.3 : Project Manager DFD Project Module

43

Fig 3.4.4 : Project Manager DFD Task Module

44

Fig 3.4.5: Project Manager DFD Reports Module

Fig 3.4.6: Resource DFD Task Module 45

3.6 MICROSOFT ACCESS DESCRIPTION


Microsoft Access is a powerful program to create and manage your databases. It has many built in features to assist you in constructing and viewing your information. Access is much more involved and is a more genuine database application than other programs such as Microsoft Works.

First of all you need to understand how Microsoft Access breaks down a database. Some keywords involved in this process are: Database File, Table, Record, Field, Data-type. Here is the Hierarchy that Microsoft Access uses in breaking down a database. Table 3.6.1: MS-access description Database File: This is your main file that encompasses the entire database and that is saved to your hard-drive or floppy disk. Example) StudentDatabase.mdb Table: A table is a collection of data about a specific topic. There Example can be multiple #1) tables in a database. Students

Example #2) Teachers Field: Fields are the different categories within a Table. Tables usually Example contain #1) multiple Student fields. LastName

Example #2) Student FirstName Datatypes:Datatypes are the properties of each field. A field only FieldName) Datatype) Text has 1 Student datatype. LastName

46

Creating New, and Opening Existing Databases:


Create a New Database from scratch Use the wizard to create a New Database Open an existing database The white box gives you the most recent databases you have used. If you do not see the one you had created, choose the More Files option and hit OK. Otherwise choose the database you had previously used and click OK.

Create a database using the Database Wizard :


When Microsoft Access first starts up, a dialog box is automatically displayed with options to create a new database or open an existing one. If this dialog box is displayed, click Access Database Wizards, pages, and projects and then click OK. If you have already opened a database or closed the dialog box that displays when Microsoft Access starts up, click New Database on the toolbar. On the Databases tab, double-click the icon for the kind of database you want to create. Specify a name and location for the database. Click Create to start defining your new database

Create a database without using the Database Wizard:


When Microsoft Access first starts up, a dialog box is automatically displayed with options to create a new database or open an existing one. If this dialog box is displayed, click Blank Access Database, and then click OK. If you have already opened a database or closed the dialog box that displays when Microsoft Access starts up, click New Database on the toolbar, and then doubleclick the Blank Database icon on the General tab. Specify a name and location for the database and click Create. 47

3.7 TABLES OF MS-ACCESS IN THE DATABASE DESIGN


Table 3.7.1: Client Details

48

Table 3.7.2: Project Detail

CHAPTER 4: LITERATURE REVIEW(c)


4.1 ANALYSIS

49

System Analysis is the process of gathering and interpreting facts, diagnosing the problems and using the information to recommend improvements to the system. Analysis specifies what the system should do, where as, design states how to accomplish the objective. System analysis is an activity that encompasses most of the tasks that are collectively called Computer System Engineering. The activities in this phase include the investigation of the problem, the determination of the desired system performance, the identification and evolution of potential system solution and the analysis of the alternative solutions. The purpose of these activities is to select the most cost effective system. The study phase report is prepared and this system is recommended to the user as the most feasible solution to the problem. System Analysis is conducted with the following objectives in mind. 1. Identify the customers need. 2. Evaluate the system concept for feasibility of people, database and other system elements. 3. Establish cost and schedule constraints. 4. Create a system definition that forms the foundation for subsequent engineering work

4.2 FEASIBILITY ANALYSIS


4.2.1 Feasibility Study An important outcome of preliminary investigation is that determination that the system requested is feasible, that is preliminary investigation examines project feasibility the likelihood of the system being useful to the organization. Test of feasibility are operational feasibility, technical feasibility, economic feasibility. Feasibility study involves the study of the project possibility and justifying its implementation.

4.2.2 Operational feasibility


The JSP tags can be used just like other tags specified in HTML the declarative tags and the scriptlets can be easily invoked. So the system is operationally feasible 50

4.2.3 Technical Feasibility


Windows being the most preferable operating system and the advantages of Java Server Pages which combine markup (whether HTML or XML) with nuggets of java code to produce a dynamic web page. JSP provides a variety of ways to talk to java classes, servlets, applets and the web server. The technology is adequate to meet the specification requirement.

4.2.4 Economic Feasibility


The proposed software would help in increasing the efficiency of maintaining and tracking the accounts of a system pertaining to a particular organization as it eliminates the need of usage of other software. 1. Redundancy can be reduced Ina non-database system, each application has its own private files. this often leads to considerable redundancy in stored data, which results in wastage of space inconsistencies. 2. Inconsistencies can be avoided There will be some occasions on which two entries do not agree this is called inconsistency. it can be avoided in a database by propagating Updates. 3. Data can be shared It means that not only existing system can share the data in the database, but the new application can be developed 4. Standards can be enforced With central control of data certain standards like industrial, national, international can be enforced and

51

5. Security restrictions can be applied Having complete control of data we can ensure that the only means of accessing data is through proper channel 6. Integrity can be maintained The problem of integrity is the problem ensuring the data in the database is accurate. it can ensured by defining validation procedures when ever updating operations are to be carried out . 7. Conflicting requirements can be balanced Database can be structured to provide an overall service

4.2.5 Financial feasibility


As system integration has been a major activity, all the software and hardware specific requirements were met. Hence the financial requirements for the completion of the project would be a bare minimum.

4.3 FUNCTIONAL REQUIREMENTS


4.3.1 Server Software
1. Configure the database a prior to the operations 2. To display screens using tomcat 3. To send and receive values of the fields in the Account Tracking System. 4. Enter into the server mode and wait for the remote client to connect 5. Error messages on improper use of the software 6. Notification on connecting and disconnecting of the clients 7. Ability to configure and store default values for usage of the software 8. Comprehensive online help for the usage of the software

52

4.3.2 Client Software


1. Ability to connect to the server. 2. Notification on connection failures. 3. To display screens using tomcat. 4. Error messages on improper use of the software. 5. Ability to configure and store default values for usage of the software. 6. Comprehensive online help for the usage of the software.

4.4 SOFTWARE REQUIREMENT SPECIFICATIONS


Operating System: Windows O/S Database Support: MS-Access Language used: GUI Design: J2EE technology (JSP, Servlets) Html , JavaScript.

4.5 TESTING

53

Testing:- Software testing is a critical element of software quality assurance and


represents the ultimate review of specification, design and coding. Testing is the exposure of the system to trial input to see whether it produces correct output.

Testing Phases: Software testing phases include the following:


1.Test activities are determined and test data selected. 2.The test is conducted and test results are compared with the expected results.

4.5.1 Types of Testing 4.5.1.1 Unit Testing:


Unit testing is essentially for the verification of the code produced during the coding phase and the goal is test the internal logic of the module/program. In the Generic code project, the unit testing is done during coding phase of data entry forms whether the functions are working properly or not. In this phase all the drivers are tested they are rightly connected or not.

4.5.1.2 Integration Testing:


All the tested modules are combined into sub systems, which are then tested. The goal is to see if the modules are properly integrated, and the emphasis being on the testing interfaces between the modules. In the generic code integration testing is done mainly on table creation module and insertion module. In Account Tracking System inputting the values into the login page and establishing the connection to the server through the user name and password and verifying whether the connection is established properly or not and verifying whether the data is retrieved into the database or not

4.5,1.3 System Testing:


54

It is mainly used if the software meets its requirements. The reference document for this process is the requirement document. Acceptance Testing: It is performed with realistic data of the client to demonstrate that the software is working satisfactorily. In the Generic code project testing is done to check whether the Creation of tables and respected data entry was working successfully or not.

4.5.2 Testing Methods


Testing is a process of executing a program to find out errors. If testing is conducted successfully, it will uncover all the errors in the software. Any testing can be done basing on two ways:

4.5.2.1 White Box Testing


It is a test case design method that uses the control structures of the procedural design to derive test cases. Using this testing a software Engineer can derive the following test cases: Exercise all the logical decisions on either true or false sides. Execute all loops at their boundaries and within their operational boundaries. Exercise the internal data structures to assure their validity.

4.5.2.2 Black Box Testing


It is a test case design method used on the functional requirements of the software. It will help a software engineer to derive sets of input conditions that will exercise all the functional requirements of the program.

Black Box testing attempts to find errors in the following categories:

55

Incorrect or missing functions Interface errors Errors in data structures Performance errors Initialization and termination errors By black box testing we derive a set of test cases that satisfy the following criteria: Test cases that reduce by a count that is greater than one, the number of additional test cases that must be designed to achieve reasonable testing. Test cases that tell us something about the presence or absence of classes of errors rather than errors associated only with a specific test at hand.

4.5.3 Test Approach


Testing can be done in two ways: 1. Bottom Up Approach 2. Top Down Approach

4.5.3.1

Bottom Up Approach

Testing can be performed starting from smallest and lowest level modules and proceeding one at a time. For each module in bottom up testing a short program executes the module and provides the needed data so that the module is asked to perform the way it will when embedded with in the larger system. When bottom level modules are tested attention turns to those on the next level that use the lower level ones they are tested individually and then linked with the previously examined lower level modules.

4.5.3.2 Top Down Approach


This type of testing starts from upper level modules. Since the detailed activities usually performed in the lower level routines are not provided stubs are written. A stub is a module shell called by upper level module and that when reached properly will return a message to the calling module indicating that proper interaction occurred. No attempt is made to verify the correctness of the lower level module. 56

4.6 TEST CASES


4.6.1 General (PM-TL/User Registration) Purpose: Provides the functionality of registration to the user/PM-TL.

Prerequisite: None. Step No. 1. Step Description Username and password and clicks the login button. If he is a valid PM-TL 2. The user/PM-TL enters the clicks the login button. If he is a valid User Exception Handling: 3. The user enters an invalid The Alert Message Please Username. 4. The user enters enter proper information is displayed. Invalid The Alert Message Please enter the correct Password is displayed. Password. The user gets registered and Username and password and user home page appears. Result

The user/PM-TL enters the Manager home Page appears..

57

4.6.2 User Maintenance(PM-TL) Purpose: This module describes the user creation, modification and deletion. Prerequisite: Login procedure should be completed successfully. Step No. 1. Step Description Result

The PM-TL clicks on the The users account is displayed. Resource menu in which it has two pop-ups create and view. If he selects view

2.

If he selects Create

Resource

create

page

is

displayed and the PM-TL can create a new user which can be updated in the database.

4.6.3 Manage Project (PM-TL)

58

Purpose:

managing projects. The types of operations allowed are create,

update and delete a project.

Prerequisite: PM-TL Step No. 1.

Login procedure must be completed and he must be a valid

Step Description The PM-TL clicks on the project menu in which he has three options view, create and assign If he clicks on view The

Result

project

details

are

displayed. 2. If he clicks on create He can create a new project the details are updated in the database. 3. If he clicks on Assign He can select the existing users and assign projects to them .this is updated in assign projects table in database

4.6.4 Manage Project Task (User) Purpose: This subsystem enables the project resource to enter the tasks of
59

the project. Prerequisite: User Step No. 1. Step Description The User clicks on the User Task menu in which he has two options view, create. If he clicks on view The Task details of his Result Login procedure must be completed and he must be a valid

project are displayed. 2. If he clicks on create He can create a new Task based on his project. The details are updated in the database. Exception Handling: 3. If he tries to modify the task Error message is displayed information of the previous saying week tasks cannot be modified

4.6.5 Reports (PM-TL) Purpose: This subsystem enables the project Manager to generate reports

on projects,resources,tasks

60

Prerequisite: PM_TL Step No. 1.

Login procedure must be completed and he must be a valid

Step Description The PM-TL clicks on the Reports menu in which he has three resources,projects,tasks options

Result

If he selects resource and gives resourceid as the input 2. The report is generated for the existing user. If he selects project and gives The information regarding the projectid as input 3. If he selects summary project is displayed Summary of all projects,

resources and billable hours related to a particular month is displayed

4.7 MAINTENANCE
Maintenance is far more than fixing mistakes. The maintenance can be defined using four activities that are undertaken after a program is released for use. 1.The first maintenance activity occurs because it is unreasonable to assume that software testing will uncover all latent errors in a large software system. The process that

61

includes the diagnosis and correction and correction of one or more errors is called corrective maintenance. 2. The second activity that contributes to a definition of maintenance occurs because of the rapid change that encountered in every aspect of computing. Adaptive maintenance, an activity that modifies software to properly interface with a changing environment-is both necessary and commonplace. 3. The third activity that may be applied to as definition of maintenance occurs when a software package is successful. As the software is used new recommendations for new capabilities, modifications to existing functions and general enchantments are received from the users, to satisfy this request Perceptive maintenance is used. 4. The fourth maintenance activity occurs when software is changed to improve future maintainability or reliability, or to provide a better basis for future enhancements. This is often called Preventive maintenance, which is characterized by reverse engineering and Re- engineering techniques.

4.7.1 Maintenance Procedure


The system has been tested in the location of the developer. But it is not possible to find all errors here. It may be that after thorough testing, the user will find errors. In such a case the user when reports the errors it is possible to correct these errors as the coding has been documented and it is possible to find out the location where the error is occurring and the reason for the error can be analyzed and corrected. Thus we can say the system supports for Corrective maintenance. Relating to the requirements of the software as it uses the GUI principles it can be run on any version of windows operating system or the Windows NT system. Relating to the Databases used it is just necessary that we need them to only store data and all operations are carried out using the application. A new version of the database system will always support the older version activities. This shows that the system developed is adaptive to the changes in hardware or software. So the system supports adaptive maintenance. 62

It may be that end-user may want some modifications to be made to the existing functions and enhance the capabilities of the existing system. It is possible to do these activities in the existing system and as the coding has been properly documented it is easy to make these changes to the existing function. This shows that the system supports for perceptive maintenance. Finally relating to the preventive maintenance, the software is to be changed to improve further maintainability and reliability of the system. As the documentation of the system provides for all the details that are taken care of while developing the system.

CHAPTER 5: PROJECT WORK


5.1 IMPLEMENTATION
Before Development of Account Tracking System
The design of this project have very good advantages after the development. Before the development of this project they used to use Excel Sheets for maintaining the accounts of various resources .it used to consume a lot of time for retrieving the 63

information, updating the data ,creation of resources and assigning projects to various resources. It lead to lot of confusion and inconsistency and wasted many working hours. With the development of Account Tracking System for tracking the timesheets sent to onsite every week by project team lead resulted in easy maintenance of projects, billable resources and billable hours for every month. This project also allows the automation of generating the timesheets. The Account Tracking System has been created through modularization of the whole task. The first thing that has been achieved by designing the various screens needed for ATS using Java Scripts and HTML which made GUI comfortable. Later the project is been divided into following modules: 1.General module. 2.User Maintenance module. 3.Manage Projects module. 4.Manage Project Tasks module. 5.Reports.

General module:
This module deals with the login procedure to access the system .The system validates the user details and checks for the access permissions. The access to various modules of the system is provided based on the privileges of the users. The typical users accessing the system can take any specified role like: 1. PM-TL (administrator) 2. project-resource User can take any specific role like PM-TL, project-resource.PM-TL will be having administrative privileges of resources, projects, tasks and reports. Administrative privileges include create, update, delete for resources, projects and tasks. Various reports of project1 will give PM-TL their task easy in updating the onsite time sheet

64

Project resources will have ability to enter tasks related to the project. Tasks include task name, duration, start date, end date, privileges on the tasks create, update, delete for the current week. No update/delete permission on the past weeks.

User Maintenance Module:


PM-TL is the actor of the user maintenance subsystem. The two sub tasks in this module are maintaining user information and assign privileges. The PM_TL maintains the information regarding the creation, modification and deletion of the user. He can provide different access privileges to the user and modify if necessary.

Manage Projects Module:


This subsystem allows managing projects. The types of operations allowed are create, update and delete a project for the subsystem by PM-TL.this module consists of two subtasks manage project and assign resources to project. In manage projects creation,updation and deletion of projects is done. The Assign resource to project deals with assigning of resources to the project

Manage Project Tasks Module:


This subsystem enables the project resource to enter the tasks of the project. The entries of the task include the task name, task duration, task start date and end date. The project Resource manages the project which includes the creation, update and deletion of tasks related to a project create, update and delete tasks should be for the current week tasks only.

Reports:
In this module the PM-TL is going to generate the following reports: 1. 2. Resources in the team Resources and projects they are assigned to 65

3.

Project task, resources, duration, start date and end date.

In the account tracking system we have designed the WebPages using HTML and JavaScript. As a front end tool we have used Java Server Pages and as a middle tier we have used web server called Tomcat5.0 which will deploy the application from JSP. For every JSP, internally a servlet is generated at the Server side. JSPs are used for generating the content dynamically and for minimal usage of code and for getting the request and response from the server or the database by internally acting as a servlet.

CHAPTER 6: RESULT
This objecticve of project Account Tracking System is to be a complete Project Management tool that can be used anytime, anywhere by anyone. This product enables Project Managers and team members to collaborate and communicate project and 66

personal information around the globe. It provides access regarding details of the project to individual team member depending upon permission authored by the administrator.

This Project provides up-to-date status of all active Projects in the company. Using this tool, an organization can access the project status anytime, anywhere thus ensuring timely decisions. Moreover, using a Web browser, executives can have a high-level overview of all projects. This Project is useful for distributed organizations and provides real-time information on various project activities.

CHAPTER 7: CONCLUSION
7.1 CONCLUSION & FUTURE SCOPE
67

The application can be used by organizations that need to keep track of the user information, project information. It can be used by organizations to allow user to create and update his tasks. The System can be used for automating the onsite time sheet generated every month. The template has been so well designed that in case of newer modules to be added, it can plug the new modules in without affecting the already present modules. An elegant user friendly interface is provided so that any novice person can work with it. Authentication, Verification and Validation are some of the main features which are included in the system. The application was tested and found to execute successfully.

The software provides both the user with an online help to guide to help him through its usage, as well as facilitate the storing of important information as default parameters, also errors are taken care by the generation of appropriate user-friendly messages.

The data in the Reports generated using this application is going to be exported to excel sheets using more advanced concepts and sent to onsite for the generation of weekly timesheets.

CHAPTER 8: REFERENCES
1. 2. 3. 4. Deitel ,Deitel and Nieto ,Internet and World Wide Web how to program. Roger S. Pressman ,Software Engineering A Practitioners Approach IEEE, IEEE Software Standards , IEEE Press ,1989 HTML Black Book 68

5. 6.

Internet & World Wide Web Deitel, Deitel Oracle developer 2000-Ivan, Bay, Ross

WEB SITES
1. 2. 3. 4. 5. www.java.sun.com www.w3schools.com www.webopedia.com www.wikipedia.com www.google.com

69

You might also like