SOFTWARE DEVELOPMENT PLAN

advertisement
OUTLINE FOR DELIVERY 4
INF 3120 - PROJECT HOSPITAL 2006
BY GROUP 13
VERSION: FINAL DELIVERY # 4B
7 MARCH, 2016
AUTHORS:
MORTEN KARDOS – MORTKARD
YUAN SHU – YUANSH
TONJE E. KLYKKEN – TONJEEK
INF3120_prosjektplan_deliverance4b
INF 3120 – Project Hospital 2006 - Delivery 4
2
INDEX
INDEX ........................................................................................................................................................................... 2
1
SHORT INTRODUCTION ................................................................................................................................ 3
2
NEW FUNCTIONALITY ................................................................................................................................... 4
3
LAWS THE HOSPITAL HAS TO FOLLOW.................................................................................................. 5
4
DOMAIN MODEL .............................................................................................................................................. 6
5
USE CASE ........................................................................................................................................................... 7
5.1
DIAGRAM ...................................................................................................................................................... 7
5.2
DESCRIPTIONS – FULLY DRESSED................................................................................................................... 8
5.2.1 Modify work-plan (incl. assign/removeEmployee) .................................................................................. 8
5.2.2 View work plan ......................................................................................................................................... 9
5.2.3 View employee schedule ......................................................................................................................... 10
5.2.4 View on-call list...................................................................................................................................... 11
6
CLASS DIAGRAM ........................................................................................................................................... 12
7
SHORT DESCRIPTION OF PROCESSES USED TO EXPAND THE CLASS DIAGRAM .................... 13
8
SEQUENCE DIAGRAM W/SHORT DESCRIPTION .................................................................................. 14
8.1
8.2
8.3
8.4
9
ADD SHIFT PLAN ......................................................................................................................................... 14
VIEW SHIFT PLAN ........................................................................................................................................ 15
ASSIGN EMPLOYEE TO SHIFT PLAN ............................................................................................................. 16
REMOVE EMPLOYEE FROM SHIFT PLAN ...................................................................................................... 17
A SHORT DESCRIPTION OF THE GENERATION OF CODE AND DIALOGS ................................... 18
10
LINK TO SYSTEM ...................................................................................................................................... 19
11
DESCRIPTION OF TEST IF SYSTEM IS EXECUTABLE .................................................................... 20
INF3120_projectplan_deliverance4b.doc (21.11.2006)
3
INF 3120 – Project Hospital 2006 - Delivery 4
1 SHORT INTRODUCTION
The starting point for delivery 4 is a basis solution, consisting of a class diagram, and code. We are to
expand this design by implementing new functionality which will consist of a work plan for Project
Hospital 2006.
One of the most important tasks the new functionality should fulfill is to make the scheduling process
easier for the leader group and by this making the business value as large as possible for the hospital. By
using the new functionality, the leader group (this meaning the administration, chief doctors and chief
nurses) can plan for the various shifts for up to one month ahead.
Suggestions as to how the leader group may use the new functionality:
When planning one month ahead, the leader group will be able to add shifts and specify the number of
nurses and doctors needed and add employees to the work plan.
At week-level they can fill up the missing shifts and assign employees to operations and other specified
tasks.
At day-level they can assign or reassign employees to the tasks that are to be done within the ward.
The functionality should also control how much employees work, hereby to follow the law.
By using the new functionality, the making of, viewing of or modifying of the work plan will be simple
and orderly.
INF3120_projectplan_deliverance4b.doc (21.11.2006)
INF 3120 – Project Hospital 2006 - Delivery 4
4
2 NEW FUNCTIONALITY
Based in the issues stated above, we have decided to develop a work plan that will take care of the
scheduling functionality needed.
To develop a work plan, we will use some of the functions from the existing requirements list that have
not yet been realized in the basis solution. This involves the view schedule functions for both doctors and
nurses. In addition we will need some new functionality to be able to modify the work plan.
The functions needed are:
 Modify work plan (Includes add/remove employees from the work list and add shift plan)
 View work plan (Will show the work plan for a given day/period)
 View employee schedules (including both nurse/doctor schedules and daily/weekly and monthly
schedules to fulfill the different needs planning ahead)
 View nurse on-call list (in case of sickness, the leader group has to be able to get hold of a nurse
quickly. The on-call list will give them the information needed to get hold of them)
This list is written in a prioritized order. The reason for prioritizing this way is that to be able to view the
work plan or the schedule, we need to have a work plan to view.
To be implemented at a later time:
Because of lack of time, we have had to postpone some of the functionality that we would have liked to
implement to give the hospital full benefit of the system.
But we still wish to describe the functionality here.
To make the process of finding employees easier at any given time, we would have liked to implement a
function that finds all employees that are able to work at one given shift, based on their existing work
schedule. This means to calculate how many hours they have worked the last day/week/year, to make sure
we are following the law and the rules of the hospital (still with an option to override it if this should be
necessary in a crisis (which is within the law)).
INF3120_projectplan_deliverance4b.doc (21.11.2006)
5
INF 3120 – Project Hospital 2006 - Delivery 4
3 LAWS THE HOSPITAL HAS TO FOLLOW
According to Arbeidstilsynet (http://www.arbeidstilsynet.no/c26976/faktaside/vis.html?tid=28151#3) the
law states that employees that are working especially demanding shifts, have special rules.
Hospital employees may make special deals as it is crucial for the hospital to always have enough
employees at work.
Work at night or on Sundays is not allowed unless the nature of work demands this. Hospitals fulfill the
need for personnel at the ward at every hour of the day. There are however strict rules about this.
However, the hospital rules override the laws, when necessary.
REGULAR WORK HOURS FOR THOSE WHO WORK STRAINING SHIFTS:
For a one week period, no more than 36 hours work time is allowed.
One shall have 11 hours in between shifts.
OVERTIME:
For a one week period, no more than 10 hours over time is allowed.
For a monthly period, no more than 25 hours over time is allowed.
For an annual period, no more than 200 hours over time is allowed.
Planned over time is not allowed.
HSS:
Day Shift – 8 hours
Evening shift – 8.5 hours
Night shift – 10 hours
INF3120_projectplan_deliverance4b.doc (21.11.2006)
INF 3120 – Project Hospital 2006 - Delivery 4
6
4 DOMAIN MODEL
Each ward controls their work plan. The work plan consists of several shiftPlans which in turn consists of a set of Employees that are to
work on that shift.
Hospital
Ward
Employee
Nurse
Waiting List
WorkPlan
Room
Operation Room
Bed
ShiftPlan
Recovery Bed
INF3120_projectplan_deliverance4b.doc (21.11.2006)
Waiting Beds
Doctor
Hospital Administrator
Patient
Operation
Receptionist
INF 3120 – Project Hospital 2006 - Delivery 4
7
5 USE CASE
5.1 Diagram
The most important difference between this diagram and the ones in delivery 2 is that the persons actually using the system to work on the
schedule have been identified. The leader group consists of the chief nurse and doctor and the administrator. This has been specified in
the diagram to show the different uses of the system according to roles.
View emloyee daily schedule
<<include>>
<<include>>
View employee schedule
Staff
View monthly schedule
<<include>>
View on-Call list
LeaderGroup
View weekly schedule
View work plan
remove employee from shift plan
<<include>>
<<include>>
Modify workplan
Chief Nurse
Chief Doctor
<<include>>
View shift plan
<<include>>
add employee to shift plan
Administrator
INF3120_projectplan_deliverance4b.doc (21.11.2006)
List available employees
INF 3120 – Project Hospital 2006 - Delivery 4
8
5.2 Descriptions – fully dressed
5.2.1 Modify work-plan (incl. assign/removeEmployee)
Scope:
Healthcare Hospital Schedule System
Level:
User goal
Primary Actor:
Stakeholder and Interests
Pre conditions:
Post conditions:
Main success scenario:
Leader group
User needs to modify the work plan
Work plan has been registered in the system
New work plan information has been saved in the system.
1. User requests this function.
2. System validates the selection and requests the ward ID and
date.
3. User gives required information to the system.
4. System checks if ward ID is valid and if date is within expected
bounds.
5. System outputs the work plan
6. User adds, changes or removes the work plan information
7. System outputs positive message, and saves the data.
Extensions/ Alternative flow:
1a The system has no answer.
1. The system gives an appropriate error message.
1b The system has not connected with the database
1. System gives an appropriate error message
4a Data does not exist
1. System prompts user for re-entry
4b Date is out of expected bounds
1. System prompts user for re-entry
INF3120_projectplan_deliverance4b.doc (21.11.2006)
INF 3120 – Project Hospital 2006 - Delivery 4
9
5.2.2 View work plan
Scope:
Healthcare Hospital Schedule System
Level:
User goal
Primary Actor:
Stakeholder and Interests
Pre conditions:
Post conditions:
Main success scenario:
Leader group
User needs to see the ward’s work plan
Work plan is registered in the system
The system is left unchanged
1. User requests this function.
2. System validates the selection and requests the ward ID,
“work plan begin” date/time, “work plan” end date/time.
3. User gives required information to the system.
4. System checks if ward ID is valid and if dates are within
expected bounds
5. System outputs the work plan
Extensions/ Alternative
flow:
1a The system has no answer.
1. The system gives an appropriate error message.
1b The system has not connected with the database
1. System gives an appropriate error message
4a. Data does not exist.
1. System prompts user for re-entry
4b Date is out of expected bounds
1. System prompts user for re-entry
INF3120_projectplan_deliverance4b.doc (21.11.2006)
INF 3120 – Project Hospital 2006 - Delivery 4
10
5.2.3 View employee schedule
Scope:
Healthcare Hospital Schedule System
Level:
User goal
Primary Actor:
Stakeholder and Interests
Pre conditions:
Post conditions:
Main success scenario:
Staff
User needs to see the daily, weekly or monthly work schedule
of employee.
Employee has been registered in the system.
The system is left unchanged
1. User requests this function.
2. System validates the selection and requests the employee
ID, “schedule begin” date/time, “schedule end” date/time.
3. User gives the required information to the system.
4. System checks if employee ID is valid and if dates are
within expected bounds
5. System outputs the employee schedule.
Extensions/ Alternative
flow:
1a The system has no answer.
1. The system gives an appropriate error message.
1b The system has not connected with the database
1. System gives an appropriate error message
4a Data does not exist.
1. System prompts user for re-entry
4b Date is out of expected bounds
1. System prompts user for re-entry
INF3120_projectplan_deliverance4b.doc (21.11.2006)
INF 3120 – Project Hospital 2006 - Delivery 4
11
5.2.4 View on-call list
Scope:
Healthcare Hospital Schedule System
Level:
User goal
Primary Actor:
Stakeholder and Interests
Pre conditions:
Post conditions:
Main success scenario:
Leader group
User needs to know who is on-call.
None
System outputs a list of all employees that are currently oncall.
1. User requests this function.
2. System validates the selection.
3. System outputs the list of all employees that are currently
on-call.
Extensions/ Alternative
flow:
1a The system has no answer.
1. The system gives an appropriate error message.
1b The system is not connected with the database
1. System gives an appropriate error message
INF3120_projectplan_deliverance4b.doc (21.11.2006)
12
6 CLASS DIAGRAM
INF3120_projectplan_deliverance4b.doc (21.11.2006)
INF 3120 – Project Hospital 2006 - Delivery 4
INF 3120 – Project Hospital 2006 - Delivery 4
13
7 SHORT DESCRIPTION OF PROCESSES USED TO EXPAND THE CLASS
DIAGRAM
When expanding the class diagram we had the patterns low coupling and high cohesion in mind. We did
not follow the controller pattern like we did in our last system design (delivery2) as the basis solution’s
class diagram didn’t use controller classes (as mentioned in delivery 3).
We added the classes we saw necessary from the new requirements. In addition, we added some attributes
to the already existing classes from the basis solution, so that they could match the new ones.
INF3120_projectplan_deliverance4b.doc (21.11.2006)
INF 3120 – Project Hospital 2006 - Delivery 4
14
8 SEQUENCE DIAGRAM W/SHORT DESCRIPTION
In this section we have concentrated on the use case we find of most importance for the system, ‘modify work plan’. As that sequence
diagram would be very complicated, we have chosen to split it up into smaller use cases.
8.1 Add Shift Plan
: Ward
: Hospital
: HealthCareSystem
: WorkPlan
: LeaderGroup
manageWorkplan()
findWard(wardID)
findWorkPlan()
findAllShiftPlans()
return(Shiftplans)
addShiftPlan(date, shift, nrDoc, nrNurses)
shiftPlanExists := checkShiftPlanExists(date, shift):boolean
Because of lack of
space, the types are
declared here:
wardID (int)
date (Date)
shift (shiftEnum)
nrDoc (int)
nrNurses (int)
INF3120_projectplan_deliverance4b.doc (21.11.2006)
[shiftPlanExists == false] create(date, shift, nrDocs, nrNurses)
: ShiftPlan
INF 3120 – Project Hospital 2006 - Delivery 4
15
8.2 View Shift Plan
: HealthCareSystem
: Ward
: Hospital
: WorkPlan
: LeaderGroup
manageWorkplan()
findWard(wardID)
Because of lack of
space, the types are
declared here:
wardID (int)
date (Date)
shift (shiftEnum)
nrDoc (int)
nrNurses (int)
INF3120_projectplan_deliverance4b.doc (21.11.2006)
findWorkPlan()
findAllShiftPlans()
return(Shiftplans)
INF 3120 – Project Hospital 2006 - Delivery 4
16
8.3 Assign Employee To Shift Plan
: Ward
: Hospital
: HealthCareSystem
: WorkPlan
: ShiftPlan
: Employee
: LeaderGroup
manageWorkplan()
findWard(wardID)
findWorkPlan()
findAllShiftPlans()
return(Shiftplans)
assignEmployeeToShift(shift, date)
findAvailableEmployees(shift,date)
return(availableEmployees)
foundEmployee := findEmployee(employeeID):boolean
foundShift : = findShiftPlan(shift, date):boolean
Because of lack of space, the
types are declared here:
shiftAssignmentExists := checkShiftAssignment(date, shift, employeeID)
wardID (int)
date (Date)
shift (shiftEnum)
nrDoc (...
INF3120_projectplan_deliverance4b.doc (21.11.2006)
[shiftAssignmentExists == false && foundShift == true && foundEmployee == true ] create(employeeID, shift, date)
: ShiftAssignment
INF 3120 – Project Hospital 2006 - Delivery 4
17
8.4 Remove Employee From Shift Plan
: Ward
: Hospital
: HealthCareSystem
: WorkPlan
: LeaderGroup
manageWorkplan()
findWard(wardID)
findWorkPlan()
findAllShiftPlans()
return(Shiftplans)
removeEmployeeFromShiftPlan()
found_sp := findShiftPlan(date, shift):boolean
Because of lack of
space, the types are
declared here:
found_employee := findEmployee(employeeID):boolean
wardID (int)
[found_employee == true] found_sa := findShiftAssignment(employeeID, date, shift):boolean
date (Date)
shift (shiftEnum)
nrDoc (int)
nrNurses (int)
INF3120_projectplan_deliverance4b.doc (21.11.2006)
[found_sa == true] deleteShiftAssignment (shift, date, employeeID)
: Employee
INF 3120 – Project Hospital 2006 - Delivery 4
18
9 A SHORT DESCRIPTION OF THE GENERATION OF CODE AND
DIALOGS
In the code generation process we first tried to run the basis solution. This worked very well.
Then we added classes to the class diagram and some attributes to the classes from the basis solution.
Here we started to get problems because there were some methods missing. We solved this after a while,
but when we then tried to run the program, new errors appeared to the old code. These we did not manage
to solve.
In the process of creating dialogs in Genova, we created a dialog ‘Manage Work Plan’. We only managed
to create a shell, so this dialog is non-functional.
The idea was by inputting the wardID, the work plan, including all the present and future shifts for the
ward, would show. By choosing a shift and requesting to add an employee, the employees available for
that particular shift would pop up. Here one could add the necessary employees for a shift.
In addition one could, by choosing a shift, also see which employees were assigned, and remove or
reassign employees for that shift.
One should also have the possibility to add a new shift.
We did not manage to implement any code of our own as we run out of time.
HealthCareSy stem
ManageWorkplan
<<Contains>>
FindBed
HealthCareApp
<<Contains>>
<<Contains>>
ViewEmploy eeSchedule
<<Activ ates>>
<<Contains>>
<<Contains>>
<<Contains>>
ManageEmploy ee
<<Contains>>
<<Contains>>
AboutHealthCareSy stem
ManageBed
CheckOutPatient
ManagePatient
Figure 1 - the dialog model
INF3120_projectplan_deliverance4b.doc (21.11.2006)
19
10 LINK TO SYSTEM
We do not have a running system as of now.
INF3120_projectplan_deliverance4b.doc (21.11.2006)
INF 3120 – Project Hospital 2006 - Delivery 4
20
INF 3120 – Project Hospital 2006 - Delivery 4
11 DESCRIPTION OF TEST IF SYSTEM IS EXECUTABLE
Because the lack of time and all the problems with generation and implementation of code we did not
manage to test the system at all. If we would manage to test the system we would have tried using unit
testing, which tests all the methods thoroughly before implementing the actual classes.
INF3120_projectplan_deliverance4b.doc (21.11.2006)
Download