Project Documentation
Project Documentation
Introduction
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
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.
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
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.
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:
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
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>>
Reports <<include>>
Lab Despatch Report
Maintenance
Update all details
every day
Login
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.
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.
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.
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:
send Acknowledgement
response
18
DeleteDEO:
Enter UserID
Delete
Delete()
Send Acknowledgement
response
19
Login:
Enter UserId
Enter password
get details
check()
Sucessful Login
Home Page
20
Material Update:
send acknowledgement
response
21
New Customer:
enter details
store details
check()
send acknowledgement
responce
22
Status Update:
Enter UserId
Change Status
change in database
check()
send acknowlegdement
response
23
Unlock Account:
Enter UserId
Unlock
unlock()
send Acknowledgement
response
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
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
1: enter details
D:DEO :Customer
5: responce
4: send acknowledgement
3: check()
2: store details
DB:Data
Base
26
Registration:
1: Enter details
A:Admin R:Register
5: response
4: send Acknowledgement
3: check()
2: Store details
DB:DataB
ase
1: Enter UserId
2: Change Status
D:DEO :Status
6: response
5: send acknowlegdement
4: check()
3: change in database
DB:Data
Base
27
Unlock Account:
1: Enter UserId
A:Admin :Unlock
5: response
4: send Acknowledgement
3: unlock()
2: Unlock
DB:DataB
ase
28
6.2.5 Activity Diagrams
Login:
Login
invalid
check details
valid
main form
29
Registration:
Registration
Register
Database
invalid
check details
valid
Accept
30
Status update:
DEO login
invalid
check details
valid
Status
entered
invalid
check detail
valid
Update
31
Material Update:
DEO Login
invalid
check details
valid
Photosheet &
Chemical
Availability
Number
32
Unlock Account:
Admin
Login
invalid
check details
valid
Enter
UserId
check detail
invalid
valid
Delete
33
Employee Salaries:
Admin
Login
invalid
check details
valid
Enter
EmployeeId
check detail
invalid
valid
Enter
Salary
34
Customer Billing:
DEOLogin
invalid
Check Details
valid
Enter
Userid
invalid
check details
valid
Enter
Customer bIll
35
6.2.6 Component Diagram:
home.html
administrative database
components components
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
38
6.4 System Evolution :
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: </td>
<td><input type="text" name="name" id="h1"></td>
</tr>
<tr><td>Password: </td>
<td><input type="password" name="psw" id="h2"></td>
</tr>
</table>
<br><center> <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("$");
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> &nbs
p; &n
bsp;
&nbs
p; 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> &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
51
Viewing Customer details
52
Entering Material details
53
Customer Bill Details
54
Viewing Employee Salaries
55
8. Testing
56
8.1 Functional Test Cases
8.2 Integration Test Cases
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
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
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:
63
TOPHOTO VARCHAR2(20)
ADVANCE VARCHAR2(20)
BALANCE VARCHAR2(20)
PAID VARCHAR2(20)
11.2 DEODetails
Schema:
11.3 block
Schema:
64
11.4 Employee3
Schema:
11.5 Empsal
Schema:
11.6 Image2
65
Schema:
11.7 Photosheet
Schema:
11.8 Chemical
Schema:
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:
[3] H.M. DEITEL & P.J . DEITEL , JAVA How to Program ,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