Photo Lab

Published on February 2017 | Categories: Documents | Downloads: 58 | Comments: 0 | Views: 363
of 70
Download PDF   Embed   Report

Comments

Content

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 correctness
of entered data in all respects. If it is not, then the user is in his liberty to correct it. This

2

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.

vi.

Administrator checks whether every customer paid bills or not.


Admin Login into his account.



Checks the customer details.
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

Client

Admin
View
customer
Unlock
account
Delete DEO
View material
details
DEO
Registration
Customer

Login
View
customer

Delete
DEO
View
materials

Status update
Material
updating
Update
Delete

Customer
details

Reg DEO
Customer bill
Employee
registration

Block

Employee
details

Employee
details
Employee
salaries

DEO login

View
customer
details

Admin

Unlock

Employee

New customer

Database

Employee
salaries

Delete
employee
New
customer
Registration
Update status
&insert image

Material
details

Image
Material update

5

Update
customer

DEO
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 softwareintensive 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
1

1

*

1
1
1

*

*

*

*

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>>

Registration

<<include>>
<<include>>

Data Entry
<<include>>

Billing
Data Entry Operetaor

Reports

Materials

Maintenance

Login

Checking billing details

Administrator

Checking all details
at the end of day

Taking process bill
from customer

Use case diagram :

11

Job Input

<<include>>

<<include>>

<<include>>

Job Output

Delete Job

Process Billing

Lab Despatch Report

Update Materials details

Update all details
every day

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.

12

Name Of The Use Case: Billing
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.

13

 Click on Reports.
 Click on Submit button.

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.

14

6.2.2 Class Diagrams

Customer
string customerId;
string name;
string address;
string phoneno;
string takingtime;
string deliverytime;
int noofcopies;
string validity;

Login
string userId;
string password;
verifyuserId()
verifypassword()
connectwithDB()
disconnectwithDB()
*

deletecustomer()
update()
status()
1

1
1

1

delete()
1

*

registermember()
customerdetailscheck()
statusupdate()
materialupdate()
unlockaccount()
customerbilling()
employeesalaries()

DEO details
string name;
string userId;
string password;
string address;
string gender;
string dob;
string phoneno;

1
1

1
1
1
1

*

unlock()
*

Main Controller
1

Delete DEO
string userId;

getcustomerdetails()
storecustomerdetails()
modifycustomerdetails()
deletecustomerdetails()

*

1
DEO
string name;
string id;
string password;

Unlock DEO
string userId;

*

Status
string userId;
string status;

Materials
string availability;
int number;

connectwithDB()
updatestatus()

photosheet()
chemical()

1

Admin
string userId;
string password;
unlockDEO()
deleteDEO()
employee()
customerbill()
1

*
Employee
string name;
int salary;
salary()

15

1
1

getDEOdetails()
storeDEOdetails()
deleteDEOdetails()

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
16



unlockDEO ()



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
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

check()

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

enter details

DB:Data Base

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:

25

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

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:

26

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

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:

27

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

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

29

Login:

Login

invalid
check details

valid
main form

Fig 6.2.5.1 Activity diagram for Login

Registration:

30

Registration

invalid

Register
Database

check details
valid
Accept

Fig 6.2.5.2 Activity diagram for Registration

Status update:

31

DEO login
invalid
check details
valid
Status
entered
invalid

check detail
valid
Update

Fig 6.2.5.3 Activity diagram for Status Update

Material Update:
32

DEO Login
invalid
check details
valid
Photosheet &
Chemical

Availability

Number

Fig 6.2.5.4 Activity diagram for Material Update

33

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

Employee Salaries:
34

Admin
Login
invalid
check details
valid
Enter
EmployeeId

invalid

check detail
valid
Enter
Salary

Fig 6.2.5.6 Activity diagram for Employee Salaries

Customer Billing:
35

DEOLogin

invalid
Check Details
valid
Enter
Userid
invalid
check details
valid
Enter
Customer bIll

Fig 6.2.5.7 Activity diagram for Customer billing

36

6.2.6 Component Diagram:

login.html

regisration.ht
ml

validations.js

core library
components

front panel
window

home.html

administrative
components

database
components

registration.dat
documentload.dat
documentshare.dat
approval.dat
docids.dat

jsps and
servlets

37

styles.css

6.2.7 Deployement Diagram:

<<Data Server>>
Deploy Database

<<server>>
Document
Management system

Administrati
ve servlets

<<client>>
DEO

<<client>>
Admin

38

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.

39

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.

40

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>
<li><a href="DeleteDEO.jsp">Delete DEO</a></li>
<li><a href="viewmat.jsp">Material</a></li>

41

<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-88591" 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];
document.getElementById("d8").disabled=true;
document.getElementById("d9").disabled=true;

42

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());
}
else if(window.ActiveXObject)

43

{
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;&nb
sp;&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","server
");
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;
uid="mrs"+String.valueOf(i);
uid.trim();

44

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"
value="female">Female</td>
</tr>

45

<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>
<option>JUN</option>
<option>JUL</option>

46

<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>
<option>12</option>
<option>13</option>

47

<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>
<option>2010</option>
<option>2011</option>

48

<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>
<td><select id="d25" name="top">
<option value="0">select</option>

49

<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>

50

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

51

Home page for Data Entry Operator

Data Entry Operator entering Customer details

52

Viewing Customer details

Entering Material details

53

Updating Work Status of Lab

Administrator Home Page

54

Customer Bill Details

Entering Employee salaries

55

Viewing Employee Salaries

Deleting Employee from Photo Lab Management System

56

8. Testing
8.1 Functional Test Cases
TEST
CASE ID

DESCRIPTION

TEST STEPS

EXPECTED
RESULT

PLS_Logi
n_tc_01

Verify that the user Invoke browser 1. PLS login
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.

PLS_Reg
_tc_02

Verify that the user Invoke browser
should be able to with URL
registered to the
system

3.PLS
Home
page should be
displayed

1.PLS
registration
page should be
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

RE
MA
RKS

OK
/ER
RO
R

DESCRIPTIO
8.2 Integration Test Cases
N

TEST

EXPECTED

REMA

OK/E

STEPS

RESULT

RKS

RRO

the Invoke

After the

R
PLS_customer_tc_0

Enter

3

customer

browser

successfully

details

and with URL

login by the

Verify

the

DEO, home

customer

page of DEO

details

should be

entered by the

displayed.

DEO.
Click

Enter the

New

details about

Customer

the customer
like
name,address,
text fields and
submit, cancel
buttons should

Click

be displayed.
on Details about

Customer

the customer is

details

displayed when
the id of the
customer is

PLS_Staus_tc_04

To enter the Invoke

clicked.
The

status of the browser

contains status

work given by with URL

field and image

the

file

customer

page

upload

and the image

button

of

submit button.

the

and

customer.

PLS_Materials_tc_0
5

Click

on Enter the status

Status

and upload the

update

image of the

button
the Invoke
58
details of the browser

customer.
The
page

materials view with URL

material types

Enter

contains

TEST CASE ID

DESCRIPTIO

TEST

EXPECTED

REMARK

DEF

N

STEPS

RESULT

S

ECT
ID

PLS_Unlock_tc

Mainly

for Invoke

After successfully

_06

unlocking the browser

login

by

the

DEO account with URL Administrator.Ho
by

the

me

administrator

page

of

administrator
should

be

displayed.
Click on Enter the userid
Unlock

and

account.

submit button.

PLS_

Deletion

delete_tc_07

the and DEO browser
details

of Invoke

click

on

After successfully
login

by

the

with URL Administrator. His
home page should
be displayed.
Click on This page contains
deleteDE

the

userid

O

and after entering
userid

click

delete button.

59

field
on

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.

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

60

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

PLS_customer_tc_09

DESCRIPTI

TEST

EXPECTED

REM

ON

STEP

RESULT

ARK

S
Invok

After

e

successfully

brows

login

er

DEO. His home

with

page should be

URL

displayed

S

add

by

the

with

customer

Click

hyper link.
Enter all

new

details about the

custo

customer

mer

click on submit

hyper

button.

link.
Click

The new item

submi

details

t

stored in to the

button database.
.

61

the
and

are

OK/ERROR

The

details

should
PLS_employee_tc_10

be

Invok

displayed.
After

e

successfully

brows

login

er

DEO. His home

with

page should be

URL

displayed
add

by

the

with

employees

Click

hyper link.
Enter all

new

details about the

emplo employee

the
and

yee

click on submit

hyper

button.

link.
Click

The new item

submi

details

t

stored in to the

are

button database.
The
details
should
displayed.

9. Conclusion

62

be

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.

10. Appendix A - Hardware and Software Configurations
63

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

11. Appendix B – Data Base Tables

64

 PLS
 DEODetails
 block
 employee3
 empsal
 image2
 photosheet
 chemical

11.1 PLS
Schema:

Name
USERID

Null?

Type

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)

TOPHOTO

VARCHAR2(20)

ADVANCE

VARCHAR2(20)

BALANCE

VARCHAR2(20)

PAID

VARCHAR2(20)

11.2 DEODetails
65

Schema:

Name
USERID

Null?

Type

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
USERID

Null?

Type

PRIMARYKEY VARCHAR2(20)

PASSWORD

VARCHAR2(12)

COUNT

NUMBER(2)

STATUS

VARCHAR2(5)

ENDMIN

NUMBER(2)

TYPE

VARCHAR2(10)

11.4 Employee3
Schema:

66

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
Schema:
Name
USERID
IMG

Null?
PRIMARYKEY

Type
VARCHAR2(30)
BLOB

11.7 Photosheet
Schema:

67

Name
AVAILABLEDATE

Null?
PRIMARYKEY

Type
VARCHAR2(20)

TOP

VARCHAR2(50)

VENDER

VARCHAR2(20)

COST

VARCHAR2(20)

AVAILABILITY

VARCHAR2(20)

NUM

VARCHAR2(20)

11.8 Chemical
Schema:
Name
AVAILABLEDATE

Null?
PRIMARYKEY

Type
VARCHAR2(20)

TOP

VARCHAR2(50)

VENDER

VARCHAR2(20)

COST

VARCHAR2(20)

AVAILABILITY

VARCHAR2(20)

NUM

VARCHAR2(20)

12. Appendix C - Limitations and Enhancements

68

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.

13. Appendix D - Bibliography

69

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

70

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close