Contents
Critical Discussion. 3
Process Followed. 3
Major Design Decision. 3
Design Pattern. 3
Tools Used. 3
Design to Implementation Problem.. 3
Functionalities Implemented. 4
Part 1. 4
UML Class Diagram.. 4
Cardinality Description. 5
Use. 5
DFD.. 6
Part B. 7
UML. 7
Cardinality Description. 7
Use. 8
DFD.. 8
Sequence Diagram.. 9
Use Case. 10
Screenshots of the Software. 13
Self-Assessment Sheet. 17
Appendix. 18
Critical Discussion
Process Followed
The process that has been followed to develop the software has been as follows:
- The classes and attributes has been identified, from the given scenario.
- The proposed class diagram was prepared from the data analysed for classes and attributes.
- They key elements for database has been identified.
- The user was identified, along with all the roles that he has to do.
- The use case diagram for the user is then developed.
- The sequence diagram is then developed, for the proposed system, before modelling.
- The data flow diagram is developed, for the database to be implemented.
- The Java backend of the system is then developed for the cases and attributes, according to the class diagram.
- The frontend of the software has been developed in JSP, according to interfaces identified.
- The database is modelled in Glassfish server for the software, according to data flow diagram.
Major Design Decision
The major design decisions taken for the software are:
- Developed of interface in JSP, to provide support on all browsers as well as easy integration with Java.
- Use of CSS to style the webpages.
Design Pattern
The design pattern used in our software is DAO Pattern. This focus on developing all the changes which connects with building up secured system and deal with the login of different accounts. The administration matches with the requests and applications to appropriately view the relevant patterns of accessing and redirecting the system.
As per the performance, the major focus is on controlling the login system plan which redirects to handle all the Super admin home view and other login models.
Tools Used
We have used Netbeans IDE for the development of the software. The modelling of Java software is enhanced when an IDE is used. The IDE also supports the modelling and designing of web pages, hence it has an additional advantage.
Design to Implementation Problem
The problem was encountered during designing of faces for the connection of pages with Glassfish server. It was resolved by doing research on the problem, and modelling it accordingly. The details of all JSP pages has to be included in it, with the relative path.
Functionalities Implemented
The functionalities that has been implemented in the software are:
- Index Page of the software (Welcome Page).
- Registration for user/admin.
- Login page for the user.
- User management backend in Java.
- Procedure management by the admin after login.
- Sterile operation management page.
- Tray management and details entry page for the admin.
- Consignment management page, where details of consignment can be entered by the admin.
- The interfaces are developed in form of website using interface classes: Register Admin and Login.
- The username is primary key in credentials database.
- Tray ID is foreign key in Procedure Management.
- Tray ID is primary key in Tray Management.
- There is no primary key in Sterile Operation Management, as the data is not referenced from any other table.
- Classes has been developed for each action that has to be performed by a user.
Cardinality Description
The Registration process links one used to the registration database. Many users can register through the same process.
The login interface allows the user to login to the system. Only one user can login at a time.
The Tray Management service allows for the management of the trays, allowing for multiple tray at a time, by 1 user.
The sterile operation management allows for management of multiple operations at a time, by 1 user.
The procedure management allows for management of multiple procedures at a time, by one user.
Use
The use of register page is to create new admin for the management of procedures.
The login interface allows the admin to login, keeping thee data secure, and manage the specific services.
The procedure management allows the management of procedure where the tray IDs are specified, with number of trays, used in an operation.
The sterile operation management allows for management of data for the sterile operation performed on a tray, by the operator. It takes input for machine ID, date and time.
The tray management system allows management of trays, with its list of content and sterile type required.
- The diagram denotes the classes along with the database table that has been linked with it.
- The data flow is from left to right.
- The attributes of the database has been depicted in the database attached to classes.
- The username and password is entered in registration page, and re-entered and verified in login page.
- The procedure management takes the data tray ID, number of tray and operation type, as input.
- Sterile operation management takes operator name, sterile machine ID, date and time.
- The tray management takes tray ID, list of content of trays a sterile type of the tray to be used as data.
- The interfaces are developed in form of website using interface classes: Register Admin and Login.
- The username is primary key in credentials database.
- Tray ID is foreign key in Procedure Management.
- Tray ID is primary key in Tray Management.
- There is no primary key in Sterile Operation Management, as the data is not referenced from any other table.
- Classes has been developed for each action that has to be performed by a user.
- Consignment Management has no primary key, as it has not been referenced from any other table.
Cardinality Description
The Registration process links one used to the registration database. Many users can register through the same process.
The login interface allows the user to login to the system. Only one user can login at a time.
The Tray Management service allows for the management of the trays, allowing for multiple tray at a time, by 1 user.
The sterile operation management allows for management of multiple operations at a time, by 1 user.
The procedure management allows for management of multiple procedures at a time, by one user.
Use
The use of register page is to create new admin for the management of procedures.
The login interface allows the admin to login, keeping thee data secure, and manage the specific services.
The procedure management allows the management of procedure where the tray IDs are specified, with number of trays, used in an operation.
The sterile operation management allows for management of data for the sterile operation performed on a tray, by the operator. It takes input for machine ID, date and time.
The tray management system allows management of trays, with its list of content and sterile type required.
The consignment management is used by all the classes, after login, for one instance.
Table for consignment has been added, and are linked to the three classes, as all external consignment can use that data for sterilization process.
- The username and password is entered in registration page, and re-entered and verified in login page.
- The procedure management takes the data tray ID, number of tray and operation type, as input.
- Sterile operation management takes operator name, sterile machine ID, date and time.
- The tray management takes tray ID, list of content of trays a sterile type of the tray to be used as data.
- The consignment management takes the data from all other classes, and name, dates, status and bill.
- Sequence of the actions has been depicted in the diagram.
- All the actions that can be performed by admin has been denoted by arrow, with their head to the class they effect.
- The action that user performs has been written on the top of the arrow.
In this diagram, all the actions that a user can perform according to assignment, and the software developed, has been linked. The actions are listed in the sequence of their performance to achieve a task.
Use Case Element | Description |
Use Case Name | Register |
Actor | Admin |
Precondition | No precondition |
Basic Flow |
|
Alternate Flow | No alternate flow |
Use Case Element | Description |
Use Case Name | Login |
Actor | Admin |
Precondition | Register |
Basic Flow |
|
Alternate Flow | Wrong credentials |
Use Case Element | Description |
Use Case Name | Manage Procedure |
Actor | Admin |
Precondition | Logged in |
Basic Flow |
|
Alternate Flow | Move back to homepage |
Use Case Element | Description |
Use Case Name | Manage Sterilization |
Actor | Admin |
Precondition | Logged in |
Basic Flow |
|
Alternate Flow | Move back to homepage |
Use Case Element | Description |
Use Case Name | Manage Tray |
Actor | Admin |
Precondition | Logged in |
Basic Flow |
|
Alternate Flow | Move back to homepage |
Use Case Element | Description |
Use Case Name | Manage Consignment |
Actor | Admin |
Precondition | Logged in |
Basic Flow |
|
Alternate Flow | Move back to homepage |
Self-Assessment Sheet
Place a tick in the box that you deem to be most indicative of the quality of the work.
% | No Attempt to Very Poor | Poor | Fair | Good | Very Good | Excellent | |
Structured Design (Part 1 of the requirements) | 10 | Done | |||||
Object Oriented Design (Part 2 of the requirements) | 30 | Done | |||||
Design patterns discussion | 5 | Done | |||||
Structured methodology vs. object oriented methodology discussion | 5 | Done | |||||
The process followed and suitability of tools | 5 | Done | |||||
How well the design is reflected into code | 10 | Done | |||||
System Prototype (part 3 of the requirements) | 10 | Done | |||||
Lab Quiz | 10 | ||||||
Demonstration | 10 | ||||||
Accurate Self- Assessment | 5 | ||||||
Totals | 100 |
Note: You must submit this self-assessment in The Part C the final report. The boxes in bold are for examiner use only.
Appendix
<%@page contentType=”text/html”%>
<%@page pageEncoding=”UTF-8″%>
<%@taglib prefix=”f” uri=”http://java.sun.com/jsf/core”%>
<%@taglib prefix=”h” uri=”http://java.sun.com/jsf/html”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<link href=”css/style.css” rel=”stylesheet” type=”text/css” />
<title>Register Role</title>
</head>
<body>
<div>
<div class=”header”><center><h1>Sterile Service Management</h1><!– end .header –></center></div>
<div class=”content”>
<h1><center>Sterile Operation Management</center></h1>
<f:view><center>
<h:form id=”ruledetails”>
<h:panelGrid columns=”3″ border=”0″>
Operator Name: <h:inputText id=”rname”
requiredMessage=”*”
value=””
required=”true”/>
<h:message for=”create:lname” style=”color: red”/>
Sterile Machine ID: <h:inputText id=”ruledesc”
requiredMessage=”*”
value=””
required=”false”/>
<h:message for=”create:lname” style=”color: red”/>
Date: <h:inputText id=”memdesc”
requiredMessage=”*”
value=””
required=”false”/>
<h:message for=”create:lname” style=”color: red”/>
Time: <h:inputText id=”stime”
requiredMessage=”*”
value=””
required=”false”/>
<h:message for=”create:lname” style=”color: red”/>
</h:panelGrid><br> <br>
<h:commandButton id=”submit”
value=”Submit”
action=”submit”/>
<h:messages style=”color: red” globalOnly=”true”/>
</h:form></center>
</f:view>
<br><center>
<a href=”./faces/welcomeJSF.jsp”>Return to main page</a>
</center>
<!– end .content –></div>
<div class=”footer”><center>
©Sterile Service Management </center><!– end .footer –></div>
<!– end .container –></div>
</body>
</html>
<%@page contentType=”text/html”%>
<%@page pageEncoding=”UTF-8″%>
<%@taglib prefix=”f” uri=”http://java.sun.com/jsf/core”%>
<%@taglib prefix=”h” uri=”http://java.sun.com/jsf/html”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<link href=”css/style.css” rel=”stylesheet” type=”text/css” />
<title>Register Role</title>
</head>
<body>
<div>
<div class=”header”><center><h1>Sterile Service Management</h1><!– end .header –></center></div>
<div>
<h1><center>Register New Crew</center></h1>
<f:view><center>
<h:form id=”rolereg”>
<h:panelGrid columns=”3″ border=”0″>
Crew Name: <h:inputText id=”fname”
requiredMessage=”*”
value=””
required=”true”/>
<h:message for=”create:fname” style=”color: red”/>
Description: <h:inputTextarea id=”desc”
requiredMessage=”*”
value=””
required=”true”/>
<h:message for=”create:lname” style=”color: red”/>
</h:panelGrid><br> <br>
<h:commandButton id=”submit”
value=”Create Crew”
action=”submit”/>
<h:messages style=”color: red” globalOnly=”true”/>
</h:form></center>
</f:view>
<br><center>
<a href=”./faces/welcomeJSF.jsp”>Return to main page</a>
</center>
<!– end .content –></div>
<div class=”footer”><center>
©Sterile Service Management </center><!– end .footer –></div>
<!– end .container –></div>
</body>
</html>
<%@page contentType=”text/html”%>
<%@page pageEncoding=”UTF-8″%>
<%@taglib prefix=”f” uri=”http://java.sun.com/jsf/core”%>
<%@taglib prefix=”h” uri=”http://java.sun.com/jsf/html”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<link href=”css/style.css” rel=”stylesheet” type=”text/css” />
<title>Register Role</title>
</head>
<body>
<div>
<div class=”header”><center><h1>Sterile Service Management</h1><!– end .header –></center></div>
<div class=”content”>
<h1><center>Procedure Management</center></h1>
<f:view><center>
<h:form id=”ruledetails”>
<h:panelGrid columns=”3″ border=”0″>
Tray IDs Used: <h:inputTextarea id=”rname”
requiredMessage=”*”
value=””
required=”true”/>
<h:message for=”create:fname” style=”color: red”/>
Number of Tray: <h:inputText id=”reffect”
requiredMessage=”*”
value=””
required=”false”/>
<h:message for=”create:lname” style=”color: red”/>
Operation Type: <h:inputText id=”ruledesc”
requiredMessage=”*”
value=””
required=”false”/>
<h:message for=”create:lname” style=”color: red”/>
Crew Name: <h:inputText id=”rsub”
requiredMessage=”*”
value=””
required=”false”/>
</h:panelGrid><br> <br>
<h:commandButton id=”submit”
value=”Submit”
action=”submit”/>
<h:messages style=”color: red” globalOnly=”true”/>
</h:form></center>
</f:view>
<br><center>
<a href=”./faces/welcomeJSF.jsp”>Return to main page</a>
</center>
<!– end .content –></div>
<div class=”footer”><center>
©Sterile Service Management </center><!– end .footer –></div>
<!– end .container –></div>
</body>
</html>
<%@page contentType=”text/html”%>
<%@page pageEncoding=”UTF-8″%>
<%@taglib prefix=”f” uri=”http://java.sun.com/jsf/core”%>
<%@taglib prefix=”h” uri=”http://java.sun.com/jsf/html”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<link href=”css/style.css” rel=”stylesheet” type=”text/css” />
<title>Register Role</title>
</head>
<body>
<div>
<div class=”header”><center><h1>Sterile Service Management</h1><!– end .header –></center></div>
<div class=”content”>
<h1><center>Tray Management</center></h1>
<f:view><center>
<h:form id=”emergencydetail”>
<h:panelGrid columns=”3″ border=”0″>
Tray ID: <h:inputText id=”rname”
requiredMessage=”*”
value=””
required=”true”/>
<h:message for=”create:fname” style=”color: red”/>
List of Content: <h:inputTextarea id=”ruledesc”
requiredMessage=”*”
value=””
required=”false”/>
<h:message for=”create:lname” style=”color: red”/>
Sterile Type: <h:inputText id=”stype”
requiredMessage=”*”
value=””
required=”true”/>
<h:message for=”create:stype” style=”color: red”/>
</h:panelGrid><br> <br>
<h:commandButton id=”submit”
value=”Submit”
action=”submit”/>
<h:messages style=”color: red” globalOnly=”true”/>
</h:form></center>
</f:view>
<br><center>
<a href=”./faces/welcomeJSF.jsp”>Return to main page</a>
</center>
<!– end .content –></div>
<div class=”footer”><center>
©Sterile Service Management </center><!– end .footer –></div>
<!– end .container –></div>
</body>
</html>