Starting from:

$30

SENG2050- Assignment 3 Solved

(Multiple milestone submissions) IT Services Portal 

1         Introduction
The university has an IT issue reporting system (https://17000.newcastle.edu.au). This system is available for staff and students to report issues they are having with various IT systems. Many organizations and institutions use similar systems. In such systems, once an issue has been reported, the system creates a workflow to assist in issue resolution. Issues go through many states in this workflow, such as: “new”, “in progress”, “waiting on third party”, “waiting on reporter”, “completed”, “not accepted”, and “resolved”. For example:

1.       User Bob reports an issue he is having with connecting to the network.

2.       The system marks this as a new issue.

3.       IT staff can see this new issue. When they start work on it, the system will mark it as “in progress”.

4.       At any time both the user and IT staff can add comments to the issue.

5.       If at any time IT staff need to wait for a response from the user or a third party, they may mark the issue as “waiting on reporter” or “waiting on third party” respectively.

•       If the issue has been marked as “waiting on reporter” Bob would get a notification advising him to act on it.

6.       Once IT staff have completed work on the issue, they will mark it as such.

7.       When Bob is notified that the issue is completed, he will normally have a set time period (7 days) to:

•       Accept the change (marking the issue as “resolved”); or  

•       Reject it – marking it as “not accepted” which notifies the IT staff again.

1.1       Your Task
It has been identified that IT staff are tending to similar issues repeatedly. This means that the IT staff are spending their time fixing the same issues, some of which could be fixed by the user on their own with the right knowledge. However, it is not a simple task for a user to locate the information they need to fix their IT issues. This is especially the case with sporadic issues.

Your task is to develop an IT incident reporting system with a built-in knowledge-base. IT staff can mark completed issues as “Knowledge-Base”, this allows users to browse the knowledge-base before submitting an issue, or for IT staff to link a known solution to the issues reported.  

To better manage the issues, information about the current status of the system, such as how many issues are in progress or how many issues are there in each category, are very useful to the IT managers, who might allocate more resources to resolve the issues.   

Note: The system must be implemented using Strut 2.  

2         Requirements
For a group of 3, your system should meet the minimum requirements for a possible 65%. The remaining 35% will be assigned to additional requirements, of which you will need to make up a weight of 30.  

For a group of 4, your system should meet the minimum requirements for a possible 50%. The remaining 50% will be allocated to additional requirements, of which you will need to make up a weight of 45.

i.e. If a group of 3 only implements the minimum requirements they will only be eligible for 65% of the final 25 marks available for this assignment. 

Alternatively, if a group of 4 only implements the minimum requirements, they will only be eligible for 50% of the final 25 marks available for this assignment.

2.1       Minimum Requirements
The minimum requirements of the system are as follows:

2.1.1       User Management
There should be at least 3 different user roles in the system, users, IT staff and IT manager. Users should see different elements in their views appropriate to their role.  

It will be assumed that users are already registered. You should pre-fill the database with some users and provide a list of username-password-role triples.

Additionally, users should have a first name, surname, email, and contact number.

IT managers manage all the IT staff, who might assign a IT staff to a particular issue reported. Both IT managers and IT staff have first name, surname, email, contact number and a unique ID.  

2.1.2       Issue Reporting
Users can report issues. IT staff can either select an issue to work on or been assigned to an issue by the IT manager. Issues must have a state associated to them. Users and IT staff can change the state of an incident at any time (i.e. from “in progress” to “complete”). The following is how an issue’s state will change:

1.       New – A user has reported an issue but IT staff have not started work yet.

2.       In Progress – IT staff have started work, all interested parties can make comments.

3.       Waiting on Third Party – If the input from a third party is expected.  

4.       Waiting on Reporter – If further user input is expected.

5.       Completed – IT staff have provided a solution.  

6.       Not Accepted – If user doesn’t accept the solution, the issue will be marked as “not accepted” and return to “In Progress”

7.       Resolved – A user has accepted the solution.

 

Issues will be categorised as follows:

•       Network

•       Software

•       Hardware  

•       Email

•       Account

IT staff can view all issues in the system. They need to be able to sort issues by their status, category, reporting time and how long the issue has been working on.  

Both IT staff and users can comment on an issue at any time before the issue is in its final state.

Users can only see issues that are in the Knowledge-Base or issues they have reported. They should not be able to see other user’s issues.

Along with state and category, an issue must also have a title, description, resolution details, comments (from both users and IT staff), date and time reported, and date and time resolved.

2.1.3         Knowledge-Base
IT staff may add an incident together with the solution to the Knowledge-Base once it has been set to “Completed” or “Resolved”.

A Knowledge-Base article is viewable by all users and should show at least the original issue’s name, description, resolution details, and date and time resolved.

2.1.4       System statistics
The IT manager is expecting the following statistics on the system

1)      Number of issues in each category.

2)      Number of issues in each status (i.e. new, in progress etc.).

3)      Number of issues that each IT staff is working on.

4)      Average time for an issue to get resolved in the last 30 days.  

5)      The utilization of the Knowledge Base

6)      The top 5 longest un-resolved issues in the current system

IT managers might assign an issue to a IT staff.  

2.2       Additional Requirements
Following are some statements from the stakeholders of the system:

Note: Statements that have a stakeholder indicator (IT staff or User) have been made by those stakeholders. Statements without this indicator are general statements.

1.       “It would be good if the system could suggest related Knowledge-Base articles while I am reporting my issue” (weight 10) 

2.       “I don’t want a new system exposing my internal comments to users if I mark it as a KnowledgeBase article” – IT staff. (weight 10) 

3.       “Sometimes the language that IT staff use is complicated, maybe users should be able to add comments to the Knowledge-Base articles to help other users.” (weight 10) 

4.       “The above suggestion is fine. However, I think we should be able to moderate this” – IT staff. (weight 5) 

5.       “Can we reply to comments on a Knowledge-Base article?” (weight 5) 

6.       “It should be simple to link an open issue to an existing Knowledge-Base article” – IT staff. (weight 5) 

7.       “For a Knowledge-Base to work, we need to be able to capture the data relating to an incident in a more meaningful manner. Currently we capture this data in a free-form textbox (Appendix 6.1). The suggested text is related to the category of incident but can be cleared or ignored by users” – IT staff. (weight 20) 

8.       “The categories are very broad and could congest the Knowledge-Base. Can we have some subcategories as well (Appendix 6.2)” – IT staff. (weight 20) 

9.       “Sometimes our issues don’t fit into a single category. Can we tag them with keywords as well?” – User (weight 20) 

10.   “The above suggestion sounds like a good idea. However, sometimes users have typos or ambiguous keywords. I think we should be able to change these before the issue becomes a Knowledge-Base article” – IT staff. (weight 10) 

11.   “I would like to stay anonymous if the issue I have reported is included in the Knowledge-Base.” – User. (weight 5) 

12.   “We should be able to view Knowledge-Base articles sorted by their categories” – User. (weight 5) 

13.   “We should be able to filter the issues by the date that they were reported” – IT staff. (weight 5) 

14.   “It would be nice if we could have key-word search capabilities” – User. (weight 20) 

15.   “Not all incidents will make it to the Knowledge-Base right away. We need a useful way to search over the old incidents that aren’t in the Knowledge-Base” – IT staff. (weight 20) 

16.   “It would be nice if we could attach photos and files to our incidents and that they could be displayed in the Knowledge-Base” – User. (weight 20) 

17.   “The above suggestion is a good idea, but I think we should be able to remove unnecessary photos and files” – IT staff. (weight 10) 

18.   “I think we should be able to highlight the recommended solution, some of the proposed solutions from users might not be very appropriate” IT staff. (weight 10) 

19.   “Really, the system should just contain the “issue” and “solution(s)”, not a big fan of a messy discussion board” – User. (weight 10) 

20.   “It would be nice if I get notified if I am expected to provide more information” – User  (weight 10) 

3         Databases
You may use your MSSQL database that the university hosts for you or you can use a local instance. If you use the university hosted database, you must submit your username and password to access the assignment for marking. Please note the supplied password should be different from your standard university password and you may change your MSSQL password once marking is complete.

Regardless of which database you use you must submit the complete SQL required to build the database (and add any initial data that your application requires) along with the <Resource> description as described in the JDBC lecture.

4         Groups
This assignment is to be completed in groups of four students. Each team member will be given the opportunity to submit a peer review. Any claims of a team member not contributing will be treated seriously and require supporting evidence (emails, meeting minutes, etc.). If a clear case of a team member not contributing is discovered, marks will be scaled accordingly. If you encounter such a case, please let me know straight away.

5         Milestones
5.1       Groups Due – 28th April 2023 (0 marks)
You are expected to join a group by this date. Any student not in a group should email me by this date at the latest, you will be then allocated to a group. Note, I am not be able to add you into a group once they have started on the project, so meeting the above mentioned deadline is important.  

5.2       Documentation – 14th May 2023 (10/35 marks)
Of the features you plan on implementing, you are required to submit the following documents (using the UWE and UML standards where applicable http://uwe.pst.ifi.lmu.de/index.html):

1.       Use case descriptions

2.       Use case diagrams

3.       Navigation models

4.       Presentation models

5.       Content model

5.3       Final Submission – 4th June 2023 (25/35 marks)
For this submission you are required to submit:

1.       Your group’s entire project that can be easily deployed in a Tomcat instance in the same way it is done in the labs

a.       A webapps directory called “cXXXXXXX_cYYYYYYY_cZZZZZZZ_FinalProject” where XXXXXXX, YYYYYYY, ZZZZZZZ are the student numbers of the group members

b.       The main page should be shown when I enter the following URL in my browser (please don’t use absolute addresses): http://localhost:8080/cXXXXXXX_cYYYYYYY_cZZZZZZZ_FinalProject/

2.       Context.xml with your database connection details

3.       SQL to create and setup your database (including all initial data required by your application)

4.       Any other config/setup files and scripts necessary to run your application

5.       Readme.txt file describing the setup procedure

6.       Group Assignment Cover Sheet

6         Appendix
6.1       Current details capture
I wish to report a problem occurring whilst using the internet.  

My location (Building/Room): 

My internet browser is (eg Internet Explorer v9 / Mozilla Firefox v12):  

I am trying to connect to the following website:  

I am able to access internal websites (Y/N): 

I have tried using an alternate internet browser (Y/N): 

I have tried restarting my computer (Y/N): Problem description and error message: 

6.2       Sub Categories
•       Network o Can’t connect  o Speed o Constant dropouts

•       Software o Slow to load o Won’t load at all

•       Hardware o Computer won’t turn on o Computer “blue screens” o Disk drive o Peripherals  

•       Email o  Can’t send o Can’t receive o SPAM/Phishing

•       Account o Password reset

o Wrong details

More products