Difference between revisions of "IS480 Team wiki: 2014T1 Res Novae Diagrams"
Line 196: | Line 196: | ||
|style ="background-color:white; text-align:left"|<ul> | |style ="background-color:white; text-align:left"|<ul> | ||
− | + | <br> | |
<li>Search</li> | <li>Search</li> | ||
<li>Revoke user</li> | <li>Revoke user</li> |
Revision as of 09:24, 28 November 2014
Stakeholders & Team | Technologies & Resources | Project Description | Project Scope |
Project Framework | Our Schedule | Project Metrics | Project Deliverables |
Project Diagrams & Technical Aspects | User Interface | User Review | Our Minutes |
Contents
Business Process Diagram
The basic business process flow of users using CAMANS are as follows:
Associate
Associates are tasked with the responsibilities of issuing specific beneficiaries (EZ-link cards, Cash transport, Meal cards etc.) to the needy foreign workers. As such, their business flow starts with the users keying in the foreign worker's FIN or identification number. In the event there is no match (i.e. first time user), the user will proceed to create a new case for the foreign worker. Should there be a case linked to the foreign worker, the user can then proceed to issue the beneficiaries as requested. The process ends when the foreign worker is cleared and the user proceeds to assist another foreign worker.
Specialist
Specialists are tasked with the intricate tasks of helping foreign workers who do not fall into any specific beneficiary (i.e. multiple/ sensitive or difficult cases). These users will access the full spectrum of job and worker compliments which CAMANS has to offer. Their business flow starts with the user keying in the foreign worker's FIN or identification number. In the event there is no match, the user will proceed to create a new case for the foreign worker. In the even there is a case linked to the foreign worker, the user can then view/edit or add information in the compliments which is required. The process ends when the foreign worker is cleared and the user proceeds to assist another foreign worker.
EER Diagram
Heeding the feedback given to the team during the mid-term presentations, we have reduced the database tables from 84 to 51. They are divided into 6 categories - namely user, worker, job, problem, attachment and drop downs.
For a high level view of the database, please refer to the following links:
[Midterm]
[Final]
CAMANS's database structure - By Categories
Primary Table name | Primary key | Foreign key | Other tables associated to this table |
---|---|---|---|
tbl_user | NRIC_No |
| |
tbl_worker | FIN_Number |
| |
tbl_job | Job_Id | FIN_Number |
|
tbl_problem | Problem_Id | FIN_Number, Job_Id |
|
tbl_dropdown | dropdown_Id |
User
Worker
Job
Problem
Attachment
Dropdown
Class Diagram
Our application applies Java model 2, which is associated with MVC(model-view-controller) paradigm. Requests from client side are passed to the controllers which conduct the logic needed to obtain content to display. It then decides which view to pass the request to. The view then renders the content passed by the controller.
In our application, first request from client side is passed to the LoginController. LoginController will go through back end logic to transfer query to LoginServlet, which will pull in user manager class to go to individual users.
Use Case Diagram
As an administrator, management or a specialist, he/she can perform the functions below:
Function group | User related | Worker Related | Problem related | Access rights | Attachment related | Miscellaneous |
---|---|---|---|---|---|---|
Administrator Specific functions |
|
|
|
|
|
|
Management Specific functions |
|
|
|
|
|
|
Specialist Specific functions |
|
|
|
|
|
|
As an associate, he/she can perform the functions below:
Function group | User related | Worker Related | Problem related | Job related | Miscellaneous |
---|---|---|---|---|---|
Specific functions |
|
|
|
|
|
Administrator
Management
Specialist
Associate
System Architecture Diagram
Users access CAMANS through their smart devices (mobile phone, computer, or tablet) which utilizes HTTPS protocol to make a connection to the server via the internet. The HTTPS connection goes through the firewall, which acts as a safe-guard against certain port intrusion, to the Apache Tomcat Server. Once activated, the Apache Tomcat Server would proceed to process JSPs while sending SQL requests to mySQL (Server) and storage/ retrieval requests to the Linux file system.
Technical Difficulties & Solutions
Throughout the course of this FYP, Res Novae has faced numerous technical problems pertaining to Application coding, Server and Database. In a bid to help current and future FYP teams which might face similar issues, here are some of the more note worthy difficulties and solutions:
Database Inter-table linkage Issues
Problem:
CAMANS has a total of 84 tables which have different linkages within themselves. This results in several database search errors which plagued CAMANS very badly during the first few iterations. In addition, since CAMANS started development before the database can stabilize, correction works often proved to be tedious and extremely time consuming.
Solution:
A thorough understanding of the database you are trying to build is key to solving this issue. Although theoretically easy to implement, many database developers start to forget the linkages of their newly created tables after a period of time. In our case, we decided to investigate and identify the linkages between them. Creating special "keys" (table columns) which would tie the linked tables together, we managed to solve this issue. A abstract of our codes to create tables is as follows, take special notice of the created foreign key linkages (Job_key & Prob_key):
In addition, in the rare occurrence that there is a change in the values of the Primary keys which are linked to other tables, you can create your tables with the following code to allow auto updating of dependent tables:
Linux Server (Ubuntu)
Problem:
Unfamiliar with Linux and much less with Ubuntu command line, the team had a difficult time understanding how applications that worked fine on localhost suddenly becomes inaccessible when uploaded on the Linux Server. This cause us to face multiple HTTP related errors which caused much delay in deveopment. This is especially so since CAMANS relies heavily on the Linux File System to store it's attachments (User uploaded files).
Solution:
There are four things which you must be sure of before embarking on such a project. The team has found the following online help useful, we hope you can benefit from it as much as we did:
File permissions:
- Chmod command examples (Permissions)
- Chmod detailed explanation
- Chown Group permissions
- Understanding file permissions: Tutorial
Command Line (Terminal):
VI File editor (Command Line):
Linux file System:
Uncomplicatted Firewall:
Multiple criteria search
Problem:
Allowing the client to search with multiple criteria increases the usability of the system. However, it comes with the potential problems of having searches giving out erroneous results.
Solution:
Using an extensive "if-else" loop, we have created a servlet which would take in all the values keyed in by the user and systematically construct a SQL query which would be passed through the database. An example of such "combined" query is as follows: