0% found this document useful (0 votes)
53 views

Project Documentation

This document outlines the requirements for developing a Photo Lab Management System. The system will allow a photo studio to store customer, employee, and work details and update them as needed. It will include features for a data entry operator to enter customer and material details, and for an administrator to manage employee details and check the status of customers and materials. The system aims to automate the photo studio's processes and paperwork for improved efficiency over the current manual system. It will use technologies like UML, J2EE, XML and tools like Eclipse, Apache Tomcat, Oracle, and Rational Rose.

Uploaded by

Tanishka Patil
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

Project Documentation

This document outlines the requirements for developing a Photo Lab Management System. The system will allow a photo studio to store customer, employee, and work details and update them as needed. It will include features for a data entry operator to enter customer and material details, and for an administrator to manage employee details and check the status of customers and materials. The system aims to automate the photo studio's processes and paperwork for improved efficiency over the current manual system. It will use technologies like UML, J2EE, XML and tools like Eclipse, Apache Tomcat, Oracle, and Rational Rose.

Uploaded by

Tanishka Patil
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 69

1.

Introduction

1.1 About Project

This project is aimed at developing an Photo Lab Management System


(PLS) for a photo studio. This system can be used to store the details of the
customers,employees,work details and update the details based on the customer details,
material details.

DEO enters the details about the customer,materials,deletion of the


customer details and admin mainly checks the details of customer,materials and enters
the details about the employees and updates the details of employees in frequent
intervals. Admin also deals with deletion of the DEO and employee details and he also
plays a role in releasing the lock of the DEO account when it is locked.

1
2. Project Analysis
2.1 Purpose of the project
The Photo Lab Management System (PLS) is a complete system for
managing photo processing labs in a most efficient way. By implementing the
computerised management for Billing, Inventory you could utilise your resources to the
fullest extent of efficiency thereby stepping up the productivity levels. This has been
designed and developed after a thorough study of Photo Finishing Industry’s needs and
manual system of operations. So this product has come out as whole and Smooth
Solution for your needs. In every data entry, before storing the data in computer, the
system will confirm with the user, asking questions like 'Is this Ok?’ to ensure
correctness of entered data in all respects. If it is not, then the user is in his liberty to
correct it.

2.2 Existing System


Commonly every details about photo lab are entered in the form of
paper work. All the details about billing,employee salary,materials used for photos
development and customer details comes under the paper work of photo lab.Person
should be able to enter entire details about every thing in the paper work every work.But
this is a difficult work for any one which takes a lot of time and this is the main
disadvantage of the existing system.Costumer should be satisfy with product and should
give the output to the customer in intime. We should not test the patience of the customer
which definetly effects the business side.
2.2.1 Problem in Existing System:
Problem is mainly the paper work.This should be rectified.
2.3 Proposed System
The system has full validation process in each and every data input
element, to ensure that the user has entered only valid data. So the mistakes are
eliminated in a great way. In every data entry, before storing the data in computer, the
system will confirm with the user, asking questions like 'Is this Ok?’ to ensure

2
correctness of entered data in all respects. If it is not, then the user is in his liberty to
correct it. This manual is split into sections like Operations, which covers entering of day
to day and periodical transactions that take place in a lab. Various reports that are
available in the system are explained in the Report section.Usually data entry operator
mainly makes a detail analysis every day and updates the data every day in the system
about billing,salaries,materials,etc. Administrator checks about status of the photo lab
every day.

3. Requirement Analysis
3.1 Purpose and Scope
This project is aimed at developing an Photo Lab Management System
(PLS) for a photo studio.
Usually data entry operator mainly makes a detail analysis every day
and updates the data every day in the system about billing,salaries,materials,etc.
Administrator checks about status of the photo lab every day.

3.2 Users of the System


1) Data Entry Operator(DEO)
2) Administrator

4. SpecificRequirements
4.1 Functional Requirements and Non-Functional Requirements
a.Functional Requirements:
i. The tool mainly helps in giving perfect photo wanted by the customer.
 DEO Login into his account.
 Enters the details of the customer.
 When the work status is completed then he uploads the customer photo and
stores in the database.
 The image is retrieved automatically from the database while seeing the
customer details entered.

3
ii. Maintainance of employee salaries,materials updation and customer bills.
 DEO Login into his account.
 Enters the customer details and material details every day.
 Updates the material details and customer details.
 Admin Login into his account.
 Maintains the employee details.
iii. Utilities should be maintained such that every task is given separate icon in
the tool.
iv. Every customer is given unique number.
 DEO Login into his account.
 Number for every customer is automatically generated.
v. Administrator checks whether every customer paid bills or not.
 Admin Login into his account.
 Checks the customer details.
vi. Data Entry operator should maintain all the details about the
customer and administrator maintains the details about the employee.

b. Non-Functional Requirements:
i. Secure access of confidential data (user’s details). SSL can be used.
ii. 24 X 7 availability
iii. Better component design to get better performance at peak time.
iv. Flexible service based architecture will be highly desirable for future extension.

4.2 User Interface Requirements


o Professional look and feel.
o Help should be very user friendly.
o User interface should include good images.

4
4.3 Proposed System Architecture
Server Database
Client

Login
Admin
View
customer
View Admin
customer
Unlock
Unlock
Delete
account Customer
DEO
View details
Delete DEO
materials
Reg DEO
View material
details Block
Customer bill

DEO
Employee
Registration
registration Employee
details
Customer Employee
details
Employee
Employee Employee
salaries salaries
DEO login
Delete
employee
New customer
Material
New details
View
customer
customer
Registration
details Update status
Status update &insert image
Image
Material Material update
updating

Update 5

Delete
Update DEO
customer details

Delete cusomer
5. System Requirements
5.1. Technologies Used: 5
1. UML.
2. J2EE. – JSP, Servlets.
3. XML.
4. AJAX .

UML:
The Unified Modeling Language (UML) is an open method used to
specify, visualize, construct and document the artifacts of an object-oriented software-
intensive system under development.[1] UML offers a standard way to write a system's
blueprints, including conceptual components such as:
actors,
business processes and
system's components, and activities

J2EE:
Java Platform, Enterprise Edition or Java EE is a widely used platform
for server programming in the Java programming language. The Java EE Platform differs
from the Java Standard Edition Platform (Java SE) in that it adds libraries which provide
functionality to deploy fault-tolerant, distributed, multi-tier Java software, based largely
on modular components running on an application server.

XML:
XML (Extensible Markup Language) is a general-purpose specification
for creating custom markup languages.[1] It is classified as an extensible language,

6
because it allows the user to define the mark-up elements. XML's purpose is to aid
information systems in sharing structured data, especially via the Internet.

5.2. Tools Used:


1. Eclipse 3.3
2. Apache Tomcat 5.0
3. Oracle 9I
4. Rational Rose 2002
5. VSS

ECLIPSE 3.3:
Eclipse is a multi-language software development platform comprising
an IDE and a plug-in system to extend it. It is written primarily in Java and is used to
develop applications in this language and, by means of the various plug-ins, in other
languages as well—C/C++, Cobol, Python, Perl, PHP and more.

APACHE TOMCAT:
Apache Tomcat (or Jakarta Tomcat or simply Tomcat) is an open
source servlet container developed by the Apache Software Foundation (ASF). Tomcat
implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun
Microsystems, and provides a "pure Java" HTTP web server environment for Java code
to run.

Tomcat should not be confused with the Apache web server, which is
a C implementation of an HTTP web server; these two web servers are not bundled
together. Apache Tomcat includes tools for configuration and management, but can also
be configured by editing XML configuration files.

ORACLE 9I:

7
The Oracle Database (commonly referred to as Oracle RDBMS or
simply Oracle) consists of a relational database management system (RDBMS) produced
and marketed by Oracle Corporation. Oracle had become a major presence in database
computing.

RATIONAL ROSE:

Rational rose is used for drawing the UML diagrams easily


and in required format.

VSS:
Microsoft Visual SourceSafe is a file-level version control system
that permits many types of organizations to work on several project versions at the same
time. This capability is particularly beneficial in a software development environment,
where it is used in maintaining parallel code versions. However, the product can also be
used to maintain files for any other type of team.

8
6. System Design
6.1 Data Flow Diagrams
6.1.1E- R Diagram
1 1
admin userid
...
1 deals
1
passsword address name
*
userid emplo
view
view yee mobile
...
generates jd
1 DEOname
gender
deals DOB
gender
DEO
1 *
... *
1 location experience type of work
custo
userid userid
name mer
maintains ...
DOB
password paid
noc
address
*
* address mobile tam
gender
materi
available date vender
als
...
vup
mobile
availability
top starting date
status

cost number delivery date


balance

An entity-relationship model (ERM) in software engineering is an


abstract and conceptual representation of data . Entity-relationship modeling is a

9
relational schema database modeling method, used to produce a type of conceptual model
or semantic data model of a system, often a relational database, and its requirements in a
fashion. There are a number of entities, attributes, relationships etc, as mentioned below.
6.2 Behavioral Diagrams
6.2.1 Use Case Diagrams

10
Login
<<include>> Job Input

<<include>>
Registration
Job Output
<<include>>

Data Entry
Delete Job
<<include>>

Billing Process Billing


<<include>>
Data Entry Operetaor

Reports <<include>>
Lab Despatch Report

Materials <<include>> Update Materials details

Maintenance
Update all details
every day

Login

Checking billing details

Administrator Checking all details


at the end of day

Taking process bill


from customer

Use case diagram :

11
Use case diagrams are central to modeling the behaviour of a system,
a subsystem of a class. Generally they show a set of usecases, actors and their
relationships. These diagrams gives the static view of a system.
Description:
Name Of The Use Case: Login
Description:
DEO and administrator of the PLS system must be login to the
access the required services.
Pre Condition: Each user must have a valid user id and password.
Post condition: Home Page will be displayed.
Flow of events:
 Invoke the Welcome page of PLS System.
 Enter the valid User ID and Password.
 Click on Sign In button to access Home page.
Alternative Flow of Events:
 If the DEO is new admin should Click on Registration Link.
 If the DEO account is locked then he must contact administrator.

Name Of The Use Case: Data Entry


Description:
DEO of the PLS system after login he must enter the job to be
done for the customer and customer details.
Pre Condition: The DEO must be logged into the system.
Post condition: Customer details are entered into the database.
Flow of events:
 Login to the DEO Home Page.
 Click on New Customer.
 Click on Submit button for entering details into the database.
Name Of The Use Case: Billing

12
Description:
DEO of the PLS system after login he can enter the details about
the customer billing.
Pre Condition: DEO must be logged into the system.
Post condition: Customer details will be displayed.
Flow of events:
 Login to the DEO Home Page.
 Click on customer details.
 Click on Submit button.

Name Of The Use Case: Materials


Description:
DEO of the PLS system after login he can update and enter the
material details.
Pre Condition: DEO must be logged into the system.
Post condition: Material details page will be displayed.
Flow of events:
 Login to the DEO Home Page.
 Click on material updaion details.
 Click on Submit button.
Name Of The Use Case: Reports
Description:
DEO of the PLS system after login he can generate the reports.
Pre Condition: DEO must be logged into the system.
Post condition: Reports page will be displayed.
Flow of events:
 Login to the DEO Home Page.
 Click on Reports.
 Click on Submit button.

13
Name Of The Use Case: Checking customer details
Description:
Administrator of the PLS system after login he can check the
customer details which are already entered.
Pre Condition: Administrator must be logged into the system.
Post condition: Customer details page will be displayed.
Flow of events:
 Login to the admin Home Page.
 Click on customer details.
Name Of The Use Case: Checking Billing Details
Description:
Administrator of the PLS system after login he can check the
customer billing details which are already entered.
Pre Condition: Administrator must be logged into the system.
Post condition: Customer billing details page will be displayed.
Flow of events:
 Login to the admin Home Page.
 Click on customer billing button.

6.2.2 Class Diagrams

14
Customer
Login
string customerId;
string userId;
string name; Unlock DEO
string password; Delete DEO
string address;
string userId; string userId;
string phoneno;
verifyuserId()
string takingtime;
verifypassword() unlock() delete()
string deliverytime;
connectwithDB()
int noofcopies; *
disconnectwithDB()
string validity; 1
*
getcustomerdetails()
* storecustomerdetails()
modifycustomerdetails()
deletecustomerdetails()

*
Main Controller
1 DEO details
DEO registermember() string name;
1 customerdetailscheck() string userId;
string name;
statusupdate() string password;
string id;
materialupdate() string address;
string password; 1
1 unlockaccount() string gender;
customerbilling() string dob;
deletecustomer()
employeesalaries() 1 string phoneno;
update()
1
status()
1 1 getDEOdetails()
1 storeDEOdetails()
1 1 1 deleteDEOdetails()
1 Admin
string userId; 1

1 string password;

unlockDEO()
deleteDEO()
* employee()
* customerbill()
Status Materials
string availability; 1
string userId;
string status; int number;

connectwithDB() photosheet() *
updatestatus() chemical() Employee
string name;
int salary;

salary()

15
Description: The class diagram shows the static design view of a system. It shows the
relation between classes, collaborations and interfaces.
SIMS system has the following classes.

Login:
This class is used login purpose. It contains userid,password are the
attributes. It has the operations like
 verifyuserid()
 verifypassword()
 connectwithDB()
 disconnectwithDB()
Customer:
This class shows the customer details. It contains
customerid,name,address,phoneno,takingtime,deliverytime,noofcopies,validity are the
attributes. It has the operations like
 getcustomerdetails()
 storecustomerdetails()
 modifycustomerdetails()
 deletecustomerdetails()
DEO details:
This class shows the details of the data entry operator. It contains
name,password,userid,address,gender,dob,phoneno are the attributes.It has the operations
like
 getDEOdetails()
 storeDEOdetails()
 deleteDEOdetails()
Admin:
This class shows the administrator privileges. It contains
userid,password are the attributes.It has the operations like
 unlockDEO ()

16
 deleteDEO()
 employee()
 customerbill()
Status:
This class shows the details of the work status. It contains
userid,status are the attributes. It has the operations like
 updatestatus()
 connectwithDB()
materials:
This class shows the details of the materials. It contains
availability,number are the attributes. It has the operations like
 photosheet()
 chemical()
Employee:
This class shows the details of the employee. It contains
name,salary are the attributes. It has the operations like
 salary()
unlockDEO:
This class shows the details of unlocking the DEO. It contains
userid is the attribute. It has the operations like
 unlock()
deleteDEO:
This class shows the details of deleting the DEO details. It
contains userid,status are the attributes. It has the operations like
 updatestatus()
 connectwithDB()

17
6.2.3 Sequence Diagrams
A sequence diagram is a interaction diagram that emphasizes the
time- ordering of messages. The sequence diagram shows a set of objects ,messages, sent
and received by those objects.

Registration:

A:Admin R:Register DB:DataBase

Enter details Store details


check()

send Acknowledgement
response

Fig 6.2.3.1 Sequence diagram for Registration


Description:
1. Administrator enters his user id, password.
2. After successfully login. The administrator home page will be displayed.
3. Administrator enters the details of the DEO.

18
DeleteDEO:

A:Admin :Delete DB:DataBase

Enter UserID
Delete
Delete()

Send Acknowledgement
response

Fig 6.2.3.2 Sequence diagram for DeleteDEO


Description:
1. Administrator enters his user id, password.
2. After successfully login. The administrator home page will be displayed.
3. Enter DEO id.
4. Delete the DEO details.

19
Login:

D:DEO L:Login DB:DataBase


Server

Enter UserId

Enter password
get details
check()
Sucessful Login
Home Page

Fig 6.2.3.3 Sequence diagram for Login


Description:
1. Enter user id , password, select type of user in the login screen.
2. These values are check with the database values.
3. If the database values are matched. By using type of user.
4. Corresponding home page will be displayed.

20
Material Update:

D:DEO :Material DB:DtaBase

change photosheet availability,number

change chemical availability,number


change in database
check()

send acknowledgement

response

Fig 6.2.3.4 Sequence diagram for Material update


Description:
1. DEO enters his user id, password.
2. After successfully login. The DEO home page will be displayed.
3. Enter the material details and update the material details.

21
New Customer:

D:DEO :Customer DB:Data Base

enter details
store details
check()

send acknowledgement
responce

Fig 6.2.3.5 Sequence diagram for Newcustomer


Description:
1. DEO enters his user id, password.
2. After successfully login. The DEO home page will be displayed.
3. Enter the customer details.

22
Status Update:

D:DEO :Status DB:Data Base

Enter UserId
Change Status
change in database
check()

send acknowlegdement
response

Fig 6.2.3.6 Sequence diagram for Status update


Description:
1. DEO enters his user id, password.
2. After successfully login. The DEO home page will be displayed.
3. update the work status of the customer.

23
Unlock Account:

A:Admin :Unlock DB:DataBase

Enter UserId
Unlock
unlock()

send Acknowledgement
response

Fig 6.2.3.7 Sequence diagram for Unlock account


Description:

1. Administrator enters his user id, password.


2. After successfully login. The administrator home page will be displayed.
3. Unlocks the DEO account.

24
6.2.4 Collaboration Diagrams
Collaboration names a society of classes, interfaces, and
others that work together to provide some cooperative behavior that’s bigger than the
some of all its part.
Login:

1: Enter UserId
2: Enter password
D:DEO L:Login

6: Home Page

5: Sucessful Login

4: check()
3: get details

DB:DataBase
Server

Fig 6.2.4.1 Collaboration diagram for login


Material Update:

1: change photosheet availability,number


2: change chemical availability,number
D:DEO :Material

6: response

5: send acknowledgement
4: check()

3: change in database

DB:DtaBa
se

25
Fig 6.2.4.2 Collaboration diagram for Materialupdate

DeleteDEO:

1: Enter UserID
A:Admin :Delete

5: response

4: Send Acknowledgement
3: Delete()

2: Delete

DB:DataB
ase

Fig 6.2.4.3 Collaboration diagram for deleteDEO


NewCustomer:

1: enter details
D:DEO :Customer

5: responce

4: send acknowledgement
3: check()

2: store details

DB:Data
Base

Fig 6.2.4.4 Collaboration diagram for Newcustomer

26
Registration:

1: Enter details
A:Admin R:Register

5: response

4: send Acknowledgement
3: check()

2: Store details

DB:DataB
ase

Fig 6.2.4.5 Collaboration diagram for Registration


StatusUpdate:

1: Enter UserId
2: Change Status
D:DEO :Status

6: response

5: send acknowlegdement
4: check()

3: change in database

DB:Data
Base

Fig 6.2.4.6 Collaboration diagram for Statusupdate

27
Unlock Account:

1: Enter UserId
A:Admin :Unlock

5: response

4: send Acknowledgement
3: unlock()

2: Unlock

DB:DataB
ase

Fig 6.2.4.7 Collaboration diagram for Unlock account

28
6.2.5 Activity Diagrams

Login:

Login

invalid
check details

valid

main form

Fig 6.2.5.1 Activity diagram for Login

29
Registration:

Registration

Register
Database
invalid

check details

valid

Accept

Fig 6.2.5.2 Activity diagram for Registration

30
Status update:

DEO login

invalid

check details

valid

Status
entered

invalid
check detail
valid

Update

Fig 6.2.5.3 Activity diagram for Status Update

31
Material Update:

DEO Login

invalid
check details

valid

Photosheet &
Chemical

Availability

Number

Fig 6.2.5.4 Activity diagram for Material Update

32
Unlock Account:

Admin
Login
invalid

check details

valid

Enter
UserId

check detail
invalid
valid

Delete

Fig 6.2.5.5 Activity diagram for Unlock account

33
Employee Salaries:

Admin
Login

invalid

check details

valid

Enter
EmployeeId

check detail
invalid

valid

Enter
Salary

Fig 6.2.5.6 Activity diagram for Employee Salaries

34
Customer Billing:

DEOLogin

invalid
Check Details

valid

Enter
Userid

invalid

check details

valid

Enter
Customer bIll

Fig 6.2.5.7 Activity diagram for Customer billing

35
6.2.6 Component Diagram:

login.html regisration.ht validations.js


ml

front panel core library styles.css


window components

home.html

administrative database
components components

jsps and registration.dat


servlets documentload.dat
documentshare.dat
approval.dat
docids.dat

36
6.2.7 Deployement Diagram:

<<Data Server>>
Deploy Database

<<server>>
Document
Management system

Administrati
ve servlets

<<client>> <<client>>
Admin DEO

37
6.3 System Specific Modules
 Login & Registration
 Customer details
 Reports
 Bills
 Materials
 Employees

Login & Registration:


Admin should be login & he should register the DEO details.
DEO should be login.
Enter the details on these Login and Registration pages.
Customer Details:
DEO should enter the customer details carefully.
Reports:
After login in to the system Reports should be generated by the
DEO. The administrator views every day.
Bills:
The bills of the customer should be entered and updated by the
DEO.
Materials:
DEO should enter the details about the materials and updated them
every day.
Employees:
Admin should enter the details about the employees working in the
studio.Admin also enters the salary details of the employees every month.

38
6.4 System Evolution :

The PLS system is implemented for a photo studio. It is developed


on a pure java2EE architecture. It is using Oracle database. By using type 4 th driver all
database transactions are done. The 4th driver is database dependent. This driver is a pure
java driver.

This stores the large amounts of data of the customers coming to the
photo studio and the details about the employees and also the details about materials. It
stores the data as category –wise. Suppose if the category is apple, the data will be stored
into the fruits inventory.

If the data is about employees then the data will be stored in to the
Employess Inventory.
Similarly, if the data is about materials then the data will be stored
into the materials inventory. Like wise all the data is stored into the database.

39
6.5 Sample Code

LoginPage.jsp:
<%@ page import="java.sql.*" language="java"
contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>PHOTO LAB MANAGEMENT SYSTEMS</title>
</head>
<body>
<form name="f1" action="./UserLoginValidation.jsp">
<table align="center">
<tr><td>User Id:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td><input type="text" name="name" id="h1"></td>
</tr>
<tr><td>Password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td><input type="password" name="psw" id="h2"></td>
</tr>
</table>
<br><center> &nbsp;&nbsp;&nbsp; <input type="submit" value="Login">
</center>
</form>
</body>
</html>

ADHomme.jsp:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>PHOTO LAB MANAGEMENT SYSTEMS</title>
</head>
<body>
<div id="menu">
<ul><li class="AdHome.jsp">
<p class="links"><a href="AdHome.jsp" class="more1">Home</a></p>
</li>
<li><a href="view customer.jsp">Customer</a></li>
<li><a href="Admin.jsp">Unlock</a></li>
<li><a href="RegDEO.jsp">New DEO</a></li>

40
<li><a href="DeleteDEO.jsp">Delete DEO</a></li>
<li><a href="viewmat.jsp">Material</a></li>
<li><a href="cusbill.jsp">Billing</a></li>
<li><a href="employeedet1.jsp">Employee</a></li>
<li><a href="LoginPage.jsp">Logout</a></li>
</ul>
</div>
</body>
</html>

View customer.jsp:
<%@ page import="java.sql.*" language="java"contentType="text/html; charset=ISO-8859-
1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>PHOTO LAB MANAGEMENT SYSTEMS</title>
<link href="default.css" rel="stylesheet" type="text/css" media="screen" />
<script language="javascript">
function get(id) //ajax code for displaying values
{
var req1=getRequestObject();
req1.onreadystatechange=function(){handleResponse1(req1);}
req1.open("GET","getdetails.jsp?id="+id,true); //redirecting to other jsp page
req1.send(null);
}
function handleResponse1(req1)
{
if(req1.readystate==4)
{
var s=req1.responseText;

var x=s.split("$");

document.getElementById("d1").value=x[0]; //retriving the fields for displaying


document.getElementById("d2").value=x[1];
document.getElementById("d3").value=x[2];
if(x[3].indexOf("m")==4)
{
document.getElementById("d4").checked="true";
}
else
document.getElementById("d14").checked="true";
document.getElementById("d5").value=x[4];

41
document.getElementById("d8").disabled=true;
document.getElementById("d9").disabled=true;
document.getElementById("d10").disabled=true;
document.getElementById("t1").style.visibility="visible"; //hidding the field after displaying
the starting date
p2.innerText=x[5];
document.getElementById("d11").disabled=true;
document.getElementById("d12").disabled=true;
document.getElementById("d13").disabled=true;
document.getElementById("t2").style.visibility="visible"; //hidding the field after
displaying the delivery date
p3.innerText=x[6];
document.getElementById("d7").value=x[7];
document.getElementById("d15").value=x[8];
document.getElementById("d6").value=x[9];
document.getElementById("d17").disabled=true;
document.getElementById("t5").style.visibility="visible";
p5.innerText=x[10];
document.getElementById("d25").disabled=true;
document.getElementById("t6").style.visibility="visible";
p6.innerText=x[11];
document.getElementById("d23").value=x[12];
document.getElementById("d24").value=x[13];
if(x[14].indexOf("y")==4)
{
document.getElementById("d20").checked="true";
}
else
document.getElementById("d22").checked="true";
if(x[10].indexOf("y")==4)
{
document.getElementById("d30").style.visibility="visible";
document.f1.d31.src=x[15];
}
else
{
document.getElementById("d30").style.visibility="hidden";
document.f1.d31.src="";
}
}
}
function getRequestObject()
{
if(window.XMLHttpRequest)
{
return(new XMLHttpRequest());

42
}
else if(window.ActiveXObject)
{
return(new ActiveXObject("Microsoft.XMLHTTP"));
}
else
return(null);
}
</script>
</head>
<body>
<ul>
<li class="current_page_item"><a href="AdHome.jsp">Home</a></li>
</ul>
<center><h2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;View
Customer Details</h2>
</center></div>
<form name="f1">
<table align="center">
<tr><td valign="top">
<div id="d30" style="visibility: hidden"><img src=""
name="d31" id="d31" width="200" height="200"></img></div>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
p;</td>
<td><table align="center" width="500">
<tr><td>Userid:</td>
<td><input type="text" name="txt" id="d1" value='<%
String max=null;
String uid="";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","serve
r");
Statement st = con.createStatement();
ResultSet res=st.executeQuery("select max(userid) from PLS");
res.next();
max=res.getString(1);
String max1=max.substring(3);
int i=Integer.parseInt(max1);
i=i+1;

43
uid="mrs"+String.valueOf(i);
uid.trim();
session.setAttribute("userid",uid);
%><%=uid %><%
}
catch(NullPointerException e) {
uid="mrs1";
session.setAttribute("userid",uid);
%><%=uid%> <%
}
catch(Exception s){
s.printStackTrace();
}%>'disabled /></td>
<td><p id="p1"></p>
</td>
<td rowspan="16"><select size="32"
onclick="get(this.value)">
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "system","server");
PreparedStatement pst = con.prepareStatement("select * from PLS");
ResultSet rs = pst.executeQuery();
while (rs.next()) {
%>
<option value="<%=rs.getString("userid")%>">
<%=rs.getString("userid")%></option>
<%
}
} catch (Exception e) {
System.out.println(e);
}%></select></td>
</tr>
<tr><td>Name:</td>
<td><input type="text" name="cn" id="d2"></td>
</tr>
<tr><td>Address:</td>
<td><textarea rows="5" cols="20" name="adrs"
id="d3"></textarea></td>
</tr>
<tr><td>Gender:</td>
<td><input type="radio" name="radio" id="d4" value="male">Male</td>
</tr>
<tr><td></td>
<td><input type="radio" name="radio" id="d14"

44
value="female">Female</td>
</tr>
<tr><td>Mobile:</td>
<td><input type="text" name="mobile" id="d5" value=+91></td>
</tr>
<tr><td>Starting Time:</td>
<td><select id="d8" name="sdate">
<option value="0">DD</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="03">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select> <select id="d9" name="smonth">
<option value="0">MM</option>
<option>JAN</option>
<option>FEB</option>
<option>MAR</option>
<option>APR</option>
<option>MAY</option>

45
<option>JUN</option>
<option>JUL</option>
<option>AUG</option>
<option>SEP</option>
<option>OCT</option>
<option>NOV</option>
<option>DEC</option>
</select> <select id="d10" name="syear">
<option value="0">YYYY</option>
<option>2000</option>
<option>2001</option>
<option>2002</option>
<option>2003</option>
<option>2004</option>
<option>2005</option>
<option>2006</option>
<option>2007</option>
<option>2008</option>
<option>2009</option>
<option>2010</option>
<option>2011</option>
<option>2012</option>
<option>2013</option>
<option>2014</option>
<option>2015</option>
</select></td>
</tr>
<tr><td><div id="t1" style="visibility: hidden"></div>
</td>
<td><p id="p2"></p>
</td>
</tr>
<tr><td>Delivery Time:</td>
<td><select id="d11" name="ddate">
<option value="0">DD</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option>10</option>
<option>11</option>

46
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select> <select id="d12" name="dmonth">
<option value="0">MM</option>
<option>JAN</option>
<option>FEB</option>
<option>MAR</option>
<option>APR</option>
<option>MAY</option>
<option>JUN</option>
<option>JUL</option>
<option>AUG</option>
<option>SEP</option>
<option>OCT</option>
<option>NOV</option>
<option>DEC</option>
</select> <select id="d13" name="dyear">
<option value="0">YYYY</option>
<option>2000</option>
<option>2001</option>
<option>2002</option>
<option>2003</option>
<option>2004</option>
<option>2005</option>
<option>2006</option>
<option>2007</option>
<option>2008</option>
<option>2009</option>

47
<option>2010</option>
<option>2011</option>
<option>2012</option>
<option>2013</option>
<option>2014</option>
<option>2015</option>
</select></td>
</tr>
<tr><td><div id="t2" style="visibility: hidden"></div>
</td>
<td><p id="p3"></p>
</td>
</tr>
<tr><td>Total Amount:</td>
<td><input type="text" id="d6" name="tam"></td>
</tr>
<tr><td>Advance:</td>
<td><input type="text" id="d23" name="advance"></td>
</tr>
<tr><td>Balance:</td>
<td><input type="text" id="d24" name="balance"></td>
</tr>
<tr><td>Paid:</td>
<td><input type="radio" name="radio1" id="d20"
value="yes">Yes</td>
</tr>
<tr><td></td>
<td><input type="radio" name="radio1" id="d22"
value="no">No</td>
</tr>
<tr><td>Status:</td>
<td><select id="d17" name="status">
<option value="0">select</option>
<option>YES</option>
<option>NO</option>
</select></td>
</tr>
<tr><td><div id="t5" style="visibility: hidden"></div>
</td>
<td><p id="p5"></p>
</td>
</tr>
<tr><td>No. of Copies:</td>
<td><input type="text" id="d7" name="noc"></td>
</tr>
<tr><td>Type of Photo:</td>

48
<td><select id="d25" name="top">
<option value="0">select</option>
<option>Passport</option>
<option>Stamp</option>
<option>MaxiSize 4*6</option>
<option>Size 6*8</option>
<option>Size 8*12</option>
<option>Size 10*12</option>
<option>Size 12*15</option>
<option>Size 15*18</option>
</select></td></tr>
<tr><td><div id="t6" style="visibility: hidden"></div>
</td>
<td>
<p id="p6"></p>
</td>
</tr>
<tr><td>Validity of the card Upto in days:</td>
<td><input type="text" id="d15" name="vup" value="20"
readonly="readonly"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>

49
7. SCREENS
Welcome page for Photo Lab Management System
http://localhost:8089/FINAL/LoginPage.jsp

50
Home page for Data Entry Operator

Data Entry Operator entering Customer details

51
Viewing Customer details

52
Entering Material details

Updating Work Status of Lab

Administrator Home Page

53
Customer Bill Details

Entering Employee salaries

54
Viewing Employee Salaries

Deleting Employee from Photo Lab Management System

55
8. Testing

56
8.1 Functional Test Cases
8.2 Integration Test Cases

TEST DESCRIPTION TEST STEPS EXPECTED RE OK


CASE ID RESULT MA /
RKS ER
RO
R
PLS_Logi Verify that the user Invoke browser 1. PLS login
n_tc_01 should be able to with URL page should be
login to the system displayed. a)
user id b)
password c)ok,
cancel d) type
of user.

Enter username, 2.User name,


password and password
Type of user should be
displayed in the
sims login page.

Then click ok. 3.PLS Home


page should be
displayed

PLS_Reg Verify that the user Invoke browser 1.PLS


_tc_02 should be able to with URL registration
registered to the page should be
system displayed with
the first name,
last name, user
id, pwd,
confirm
password, date
of birth, phone
no, submit
button.
Enter username, 2.Fields that are
first name, to be stored into
password, the database, a
confirm message will be
password, type of displayed like
user. user
successfully
registered to the
system.
57
Click on This page contains
deleteDE the userid field
O and after entering
userid click on
delete button.

PLS_ Enter the Invoke The page contains


employee_tc_08 details the browser all the fields about
employee with URL the employee
details like
name,salary,addre
ss etc fields.

Click on Enter all the


employee details about the
insert employee in the
corresponding
fields and click on
submit button.

58
PLS_ Enter the Invoke The page contains
employeesal_tc_ details about browser all the fields about
08.1 the salaries of with URL the employee id
the employee and salaries
every month

Click on Enter the details


employee of the salaries of
salaries the customer and
click on submit
button.

8.3 System Test Cases


TEST CASE ID DESCRIPTI TEST EXPECTED REM OK/ERROR
ON STEP RESULT ARK
S S
PLS_customer_tc_09 Invok After
e successfully
brows login by the
er DEO. His home
with page should be
URL displayed with
add customer
hyper link.
Click Enter all the
new details about the

59
custo customer and
mer click on submit
hyper button.
link.
Click The new item
submi details are
t stored in to the
button database.
.
The details
should be
displayed.
PLS_employee_tc_10 Invok After
e successfully
brows login by the
er DEO. His home
with page should be
URL displayed with
add employees
hyper link.
Click Enter all the
new details about the
emplo employee and
yee click on submit
hyper button.
link.
Click The new item
submi details are
t stored in to the
button database.
The details

60
should be
displayed.

9. Conclusion

Hence the Photo Lab Management System (PLS) for a photo


studio is developed. This system is made finally to store the details of the
customers,employees,work details and update the details based on the customer details,
material details.

The system is developed which is useful for DEO to enter the


details about the customer,materials,deletion of the customer details and admin mainly
checks the details of customer,materials and to enter the details about the employees and
updates the details of employees in frequent intervals. It also helps Admin for the
deletion of the DEO and employee details and helps in releasing the lock of the DEO
account when it is locked.

61
10. Appendix A - Hardware and Software Configurations

Hardware Requirements:
1. PC with 2 GB hard-disk
2. 256 MB RAM

Software Requirements:
1. Windows 95/98/XP with MS-office
2. Apache Tomcat server
3. Java---front end
4. Oracle 10g--back end

62
11. Appendix B – Data Base Tables
 PLS
 DEODetails
 block
 employee3
 empsal
 image2
 photosheet
 chemical

11.1 PLS
Schema:

Name Null? Type


USERID PRIMARY KEY VARCHAR2(20)
NAME VARCHAR2(20)
ADDRESS VARCHAR2(20)
GENDER VARCHAR2(20)
MOBILE VARCHAR2(20)
STARTINGDATE VARCHAR2(20)
DELIVERYDATE VARCHAR2(20)
NOC NUMBER
VUP NUMBER
TAM NUMBER
STATUS VARCHAR2(20)

63
TOPHOTO VARCHAR2(20)
ADVANCE VARCHAR2(20)
BALANCE VARCHAR2(20)
PAID VARCHAR2(20)

11.2 DEODetails
Schema:

Name Null? Type


USERID PRIMARYKEY VARCHAR2(20)
DEONAME VARCHAR2(20)
ADDRESS VARCHAR2(20)
GENDER VARCHAR2(20)
MOBILE NUMBER
DOB VARCHAR2(20)
LOCATION VARCHAR2(20)
PASSWORD VARCHAR2(20)

11.3 block
Schema:

Name Null? Type


USERID PRIMARYKEY VARCHAR2(20)
PASSWORD VARCHAR2(12)
COUNT NUMBER(2)
STATUS VARCHAR2(5)
ENDMIN NUMBER(2)
TYPE VARCHAR2(10)

64
11.4 Employee3
Schema:

Name Null? Type


USERID VARCHAR2(20)
NAME VARCHAR2(20)
ADDRESS VARCHAR2(20)
GENDER VARCHAR2(20)
MOBILE VARCHAR2(20)
DOB VARCHAR2(20)
JD VARCHAR2(20)
TW VARCHAR2(20)
EXP VARCHAR2(20)
SALARY VARCHAR2(20)

11.5 Empsal
Schema:

Name Null? Type


EMPID VARCHAR2(20)
SALARY VARCHAR2(20)
PAIDDATE VARCHAR2(20)
STATUS VARCHAR2(20)

11.6 Image2

65
Schema:

Name Null? Type


USERID PRIMARYKEY VARCHAR2(30)
IMG BLOB

11.7 Photosheet
Schema:

Name Null? Type


AVAILABLEDATE PRIMARYKEY VARCHAR2(20)
TOP VARCHAR2(50)
VENDER VARCHAR2(20)
COST VARCHAR2(20)
AVAILABILITY VARCHAR2(20)
NUM VARCHAR2(20)

11.8 Chemical
Schema:

Name Null? Type


AVAILABLEDATE PRIMARYKEY VARCHAR2(20)
TOP VARCHAR2(50)
VENDER VARCHAR2(20)
COST VARCHAR2(20)
AVAILABILITY VARCHAR2(20)
NUM VARCHAR2(20)

66
12. Appendix C - Limitations and Enhancements

Limitations:
 If the type of user is Administrator, he works only with administrator
role not the DEO role.

Enhancements:
 Implementations of J2EE to provide high security are enhancements
required.

67
13. Appendix D - Bibliography

Book References:

[1] O’ REILLY, Java Server Pages , third edition , 2004.

[2] GRADY BOOCH, IVAR JACOBSON, JAMES RUMBAUGH, Unified Modeling


Language , 2nd edition , 2004.

[3] H.M. DEITEL & P.J . DEITEL , JAVA How to Program ,6th edition , 2005.

[4] ROGER S. PRESSMAN ,Software Engineering , A Practitioner’s Approach , 6th


edition , 2005.

[5] HERBERT SCHILDT , The Complete Reference JAVA , 5th edition, 2005.

[6] RAGHU RAMA KRISHNAN , Database Management Systems , 3rd edition, 2003.

Web References:

[1] www.w3schools.com

[2] www.java2s.com

68
69

You might also like