Background
COMP2120/COMP6120 SOFTWARE ENGINEERING Semester 2, 2020
Group Assignment: “CleanIT”
Due 17:00 on Tuesday, 13/October/2020 FINAL DRAFT v.4.2, 04/09/2020
“AR-Craft” is a company that guarantees a highly-skilled deep clean of the passenger compartments of aircraft. AR-Craft cleaning staff wear augmented reality (AR) headsets that enable them to use both hands for cleaning while wearing and interacting with the headsets. This enables the following sorts of functionality:
• The movements of cleaning staff can be tracked through an aircraft to enable detailed monitoring of cleaning.
• Voice communication can take place between members of the cleaning team, and between a team member and a central service desk.
• Images of cleaning tasks can be uploaded.
• Voice logging of comments can be kept for archive and analysis.
• Holographic overlays can be shown onto the real-world view of the aircraft interior through
the AR Headset. This can be useful to, for example, direct cleaning staff to a particular location or to warn them to stay away from a particular area.
AR technology of the sort described here is available in headsets such as the Microsoft Hololens.1 2
AR-Craft promotes itself as being a sophisticated deep cleaning service in times of pandemics. Its processes will be enabled using an information system known as “CleanIT”.
Vision Statement
“The CleanIT System will organise teams of aircraft cleaners and will track teams as they progress through their cleaning activities while cleaning aircraft passenger compartments Because of the risk of infection in times of the covid19 pandemic, the cleaning process will have rigid protocols that must be followed and monitored. Logs of cleaning events will be stored for verification that cleaning has been achieved to a high standard and in a timely manner. If a passenger on an aircraft is reported to have contracted covid19 then these logs will be accessed to verify that the area surrounding that passenger has been cleaned properly and to contact impacted cleaning staff.
CleanIT will enable AR-Craft to win cleaning contracts at every major airport in Australia because it will offer an unrivalled level of accountability and professionalism in its cleaning services during the covid19 pandemic. CleanIT will help AR-Craft cleaning staff to have the highest reputations for their skills, efficiency and teamwork in the industry.”
1 https://www.microsoft.com/en-us/hololens
2 Note that this technology is an area of active research in the Research School of Computer Science, ANU, in partnership with Data61/CSIRO. For example: Wennan He, Ben Swift, Henry Gardner, Mingze Xi and Matt Adcock, Reducing latency in a collaborative augmented reality service, in Proceedings – VRCAI 2019: 17th ACM SIGGRAPH International Conference on Virtual-Reality Continuum and its Applications in Industry (2019)
1
Other systems
The following are other AR-Craft systems that CleanIT will interface with:
• HR system including training qualifications
• Personal Protective Equipment (PPE) warehouse
• AR Equipment warehouse
• Accounts system
The following are non AR-Craft systems that CleanIT will interface with:
• Aircraft timetables
• Airport cleaning accounts
• Airline customer satisfaction data
• The Australian Government CovidSafe App
Business rules
The following are some of the business rules for CleanIT.
Teams are formed at the beginning of each two-week cleaning cycle.
BR 1. Cleaning crews are contracted to the airport and the airport then bills the airlines for each deep clean.
BR 2. Billing is usually at a flat rate per aircraft type. In situations where an aircraft is only half full or less, then a discount will apply unless that aircraft was extremely messy (as substantiated with evidence).
BR 3. The billing cycle to the airlines is for one day of airport operation.
BR 4. Teams are formed at the beginning of each, fortnightly cleaning cycle and are
confirmed at the beginning of each cleaning day.
BR 5. Cleaners are reminded of their next aircraft by text message.
BR 6. Team sizes depend on the type of aircraft being cleaned. For example, a 9-person
team usually cleans a single aisle aircraft such as a Boeing 737-800. A 12 -person team will
clean a double-aisle, single-level aircraft such as an Airbus A 330-200.
BR 7. A central cleaning office (CCO) monitors all cleaning crews and all equipment stores
in the airport.
BR 8. Senior team members are “foggers”. Foggers have a high level of training
accreditation. Foggers are first onto an aircraft and are fully covered in PPE protective gowns
and face shields.
BR 9. Foggers make one pass through the aircraft to ensure that all luggage bins are open,
all bathroom doors are open, and all window shades are closed half-way.
BR 10. Foggers then walk backwards from the rear of the aircraft while spraying
disinfectant in very fine mist. They ensure that the mist covers all surfaces.
BR 11. Teams for two-aisled aircraft have two foggers who walk backwards while spraying
in coordination with each other.
BR 12. Foggers note any special requirements for cleaning while they are spraying and
communicate these requirements to the team coordinator.
BR 13. Cleaning teams must wait for 2 minutes before boarding an aircraft after fogging. BR 14. Foggers dispose of their gowns and attend to their personal cleanliness after
fogging. After resting, foggers can join other cleaning crews as foggers. They can also back up an existing crew as an ordinary cleaner.
2
BR 15. All team members receive PPE, disinfected cleaning equipment and disinfected AR headsets before boarding an aircraft.
BR 16. BR 17.
BR 19. Cleaning logs are archived for each cleaner for each aircraft.
BR 20. All cleaners must wear protective clothing including face masks. This is monitored
using body-facing cameras on the head-sets.
BR 21. All cleaners must be socially distanced from other cleaners to the requisite 1.5 m
distance (with exceptions only allowed for short periods of time). Cleaning tasks are planned to allocate different cleaners to different parts of the aircraft. The way that cleaners enter and leave the aircraft is in a coordinated and socially-distanced manner.
BR 22. One specialist crew member will clean the economy bathrooms (two for double- aisled aircraft).
BR 23. One specialist crew member will clean the food-preparation areas.
BR 24. Carpets are not usually shampoo-cleaned every turn but are cleaned at the end of a
shift. In the case of a serious spillage in part of the aircraft, carpets will be locally cleaned
about that spillage.
BR 25. All team members must have the CovidSafe app running when they are active at
work. The functioning of this app is monitored by the AR headsets.
BR 26. If a passenger on an aircraft is reported to have contracted covid19 then logs will be
accessed to verify that the area surrounding that passenger has been cleaned properly and
to contact impacted cleaning staff
BR 27. Impacted cleaning staff will be required to be tested for covid19 and to self-isolate
for 14 days if testing positive.
BR 28. If impacted cleaning staff test positive, the sections of other aircraft that have been
cleaned subsequently by that cleaner will also be determined, with passengers being notified and other cleaners of those other aircraft also being notified and appropriate action taken.
Some Triggers and Use Cases.
Face masks and disposable gloves are replaced after each deep clean.
AR Headsets are handed back to the equipment store for cleaning after each deep
AR headsets are activated by voice commands and are able to recognise the voices of all cleaning staff members. The initial activation of an AR headset will download the cleaning plan for that cleaner for the next aircraft.
clean. BR 18.
Trigger 1. i.
The system starts up at the beginning of a cleaning day.
Teams are “confirmed” by contacting cleaning-crew team members by text message and letting them know what time they need to report in order to carry out the scheduled cleaning tasks for that team. Team members must respond to acknowledge that they have received and agree with their allocation for the day. All team members must certify that they are well and available for work and that they have not be asked to self-isolate by any authority. (UC1)
Error scenario: One team member does not reply to their text. This error scenario only needs to be carried out by certain Assignment Groups who have more than 5 members; we will be in touch with you to let you know.
3
Trigger 2. i.
Trigger 3. i.
i. The Central Cleaning Office (CCO) is notified and action taken. (UC4)
Trigger 5. A cleaner discovers a very messy part of the aircraft and urgently requests carpet shampooing.
i. They send through a photograph of this mess to the CCO (using the camera on the AR headset) and another member of the crew comes to help clean this mess for a strictly limited time to minimise the potential violation of social distancing between cleaners. (UC5)
Trigger 6. The system detects that a cleaner is not following their prescribed route for cleaning an aircraft.
i. System notifies that cleaner and all other crew members. CCO gets in touch with crew member and suggests actions they should take. Those actions are subsequently monitored. (UC6)
Trigger 7. A passenger on one of the flights cleaned during the previous day’s cleaning shift is reported to the system as having contracted covid19.
An aircraft, a Boeing 737-800, arrives and is ready to be cleaned.
The system checks that the team and their equipment are ready and in the right location. (UC2)
Error scenario: One team is missing one of their members. This error scenario only needs to be carried out by certain Assignment Groups who have more than 5 members; we will be in touch with you to let you know.
The fogger enters an aircraft and the deep clean commences. The system monitors the routine cleaning of an aircraft. (UC3)
(Note that this is the main success use case of the assignment.)
During routine monitoring of aircraft cleaning, the system notices that one cleaner’s mask has slipped.
Trigger 4.
i.
Trigger 8.
flight.
i. Tasks (and marks)
Task 1. Draw a Feature Tree for the envisioned system that shows the main subsystems. Locate the use cases on this tree. (Note that your feature tree needs to demonstrate the evolution of your thoughts about the system as your design has progressed. See the marking rubric. You are welcome to have up to three versions of this Feature Tree if you want to.) (2 marks)
Logs are checked to ensure that that area of the aircraft has been properly cleaned. Cleaners who have cleaned near that passenger are notified and asked to get checked for covid19 and self-isolate if necessary. Teams are reformed if necessary (UC7)
An airline sends through customer satisfaction survey results for a particular Survey results are added to the audit statistics for the relevant cleaning crew
(UC8)
4
Task 2. Draw a context diagram for the system. Include any relevant considerations that you feel you need to make in your answer. (1 mark)
Task 3. Construct ONE high-level Business Process Flow Diagram without swim lanes (an “activity diagram for the business”) for one billing cycle at the level of business processes. This BPFM needs to be from the central perspective of AR-Craft. (Note that this BPFM will be high-level but that you may need to include a loop and/or decision; perhaps it would be at Level 2.) (1 mark)
Task 4. Write out the use cases UC1 – UC8 as fully-dressed use case tables. You are welcome to split up these use cases, and/or introduce additional use cases, if you find that this makes them clearer. (4 marks)
Task 5. Assuming a four-level layered architecture for your system (UI, Application, Domain, DataBase), draw and explain a Domain Model for your system. (4 marks)
7a. This model must be only for the Domain Layer. Do not mention any UI concepts and do not mention the Use Cases by name.
7b. Note that you only need to include the attributes and methods in your diagram that are critical for support of the use cases.
Task 6. Draw and justify representative sequence diagrams for all of the main flows of all of the Use Cases in your system – think of having one of these sequence diagrams per use case. (4 marks)
Task 7. Creative Extension (4 marks): The previous marks add up to 16/20 which is the borderline mark for a High Distinction assignment. In order to be in the running for a High Distinction mark, your team must choose to address one of the two following tasks. Note that these are creative tasks and your group will not receive very much guidance on them.
7a. Error handling: AR headsets are new technology and special error handling procedures are often needed to compensate for them. In your analysis of the use cases above, you will have identified several places where issues with the AR headsets (for example, inaccuracies in position tracking, inaccuracies in hologram positioning or lack of connectivity) may have affected the satisfactory execution of those use cases. Describe some of the error handling that might be needed with two concrete examples that you consider to be most important where alternative modes of modality, such as the use of audio, might be able to be used. Describe how the error handling that you envision might impact on the use cases of this assignment and explain, with diagrams where necessary, how your CleanIT Domain Model, and sequence diagrams, might be extended/adapted to account for this error handling. In your discussion, justify your ideas with reference to the way that AR technology is being used (or will be used in the near future) for similar applications.
5
7b. Intelligence: With repeated use, it is expected that the operation of CleanIT will be able to learn from its operation using some artificial intelligence. Describe some of the intelligence interventions that might be most useful together with two concrete examples related to your use cases. For each of these two examples, describe how the use of intelligence might contribute to the overall vision of the software project and explain, with diagrams where necessary, how your CleanIT Domain Model, and sequence diagrams, might be extended/adapted to account for this. In your discussion, justify your ideas with reference to the way that AI is being used (or will be used in the near future) for similar applications.
Marking guide
Task 1. Feature tree (Up to 2 marks)
a. 2.0 marks for an almost fully detailed feature tree diagram (at Level 3) together with a
reflective description of how your feature tree evolved during the course of your group working on this project (you can show up to three example FTs to illustrate its evolution).
Remember that feature trees are useful diagrams for requirements engineering even before you have decided what the major features in your software will be; as you proceed with analysis and design you are able to identify features more readily. Note that it is considered that your feature tree will be up to three levels of detail and that it will be possible to identify the use cases easily on your feature tree (some use cases may be split across different branches of your feature tree).
Note that a full 2.0 marks will not be possible for this task unless your feature tree is of professional-level quality. The way that it is drafted needs to be consistent and well- integrated with the rest of your report.
b. 1.0 marks for a partially-correct feature tree but which falls short in one of the following ways
i. Your FT does address the full scope of use cases but it misses out on a small number of features that should be there due to the complexities of the problem and not fully embrace the complexities of the problem.
ii. Your reflective description of the way that your FT evolved is not convincing (perhaps it feels like it has been quickly made up at the end of the project).
iii. Your FT is quite detailed and reasonable but that you miss out on a small number of key use cases or key features needed by your use cases (and vision statement)
iv. Your FT is actually quite good but its visual presentation is scrappy.
c. 0.0 marks if you forgot to draw a feature tree.
d. Half marks will be awarded between the above categories, but it is not envisioned to award 0.25 marks for this task.
6
Task 2. Context Diagram (Up to 1 marks)
a. 1.0 mark for an almost-fully-correct and professionally-presented context diagram
Task 3.
together with some written considerations that demonstrate that the group has thought seriously about this diagram and the data requirements of data that will be passed between the various systems that your system will interact with.
b. 0.5 marks for a Context Diagram that goes some way there but misses some key features or that is not presented in a professional manner or that misses out on having written explanations that make it convincing to the reader that the group has thought seriously about this Context Diagram.
c. 0.0 marks for an absent or an extremely rushed Context Diagram.
d. 0.25 marks will be awarded between the above categories.
Business Process Flow Model (Up to 1.0 marks)
a. 1.0 marks for an almost-fully-correct and professionally-presented BPFM diagram
together with a small set of reasonable “considerations” that justify any assumptions you have made. Your diagram must be from the business perspective and it must show that “business value” has resulted from the successful completion of the process shown in that diagram.
b. 0.5 marks for a submission with minor omissions (perhaps no considerations; perhaps with minor errors in logic).
c. 0.0 for an absent or extremely rushed BPFM diagram.
d. 0.25 marks will be awarded between the above categories.
Task 4. Use Cases (Up to 4.0 marks)
a. 4.0 marks for almost-complete, consistently-written and professionally-presented use
cases. Your use cases will be examined on how well they articulate steps that result business value at an appropriate level of detail. Their levels of description need to be consistent and realistic and they must speak to the functionality and overall vision of the system. (Note that you are welcome to provide a short explanation about the assumptions that you made in deriving your use cases if you think this would be useful.)
b. 3.0 marks for a well-presented submission apart from a small collection of serious issues (perhaps two or three serious issues). Perhaps these serious issues might be to do with level descriptions or they could be major gaps with level descriptions or with use-case completeness.
c. 2.0 marks for a submission that is only about 60% complete, either in the number of use cases presented or in the amount of consistent detail presented for each use case. Note that even if your presentation is incomplete to this level, the material you present must be consistently written and professionally presented to get half marks. A very poorly presented, but, nevertheless, complete submission will also only get half marks.
7
d. 1.0 marks for a quite superficial submission but with some obvious thought involved.
e. 0.0 marks for an absent submission.
f. Half marks will be used where it is not clear which category is appropriate for the submission.
Task 5 (Domain Model) – up to 4.0 marks
a. 4.0 marks for excellent work, professionally- presented, apart from one or two very minor issues. Your domain model will be clearly labelled. Linkages will be reasonable and be as few as necessary to achieve the use cases. Multiplicities will be correct. You will have also submitted a short (half page) statement justifying any considerations you needed to make in drawing your diagram.
b. 3.0 marks for very good work apart from a small collection of serious issues (perhaps two or three serious issues). Your domain model diagram is still very well drawn and very well explained.
c. 2.0 marks for a domain model that is substantially incomplete or that is rather sloppy in the way that it has been presented.
d. 1.0 marks for a quite superficial submission but with some obvious thought involved.
e. 0.0 marks for an absent submission.
f. Half marks will be used where it is not clear which category is appropriate for the submission.
Task 6: Sequence Diagrams (up to 4.0 marks)
a. 4.0 marks for excellent work, professionally- presented, apart from one or two very minor issues. You will have at least one representative sequence diagram for each use case and each sequence diagram will clearly speak to your domain model. Your sequence diagrams will articulate how information (from objects) is gathered and acted upon. You will have also submitted a short (half page) statement justifying any considerations you needed to make in drawing your sequence diagrams (in particular you might need to justify why you drew the particular sequence diagram you did draw for your use case if there was a decision to be made there). Note that you are able to split your sequence diagram up into smaller diagrams if you need to.
b. 3.0 marks for very good work apart from a small collection of serious issues (perhaps two or three serious issues). Your sequence diagrams will still be very well drawn and very well explained.
c. 2.0 marks for sequence diagrams that are substantially incomplete or that is rather sloppy in the way that they have been presented.
8
d. 1.0 marks for a quite superficial submission but with some obvious thought involved.
e. 0.0 marks for an absent submission.
f. Half marks will be used where it is not clear which category is appropriate for the submission.
Task 7: Creative Extension (up to 4.0 marks)
a. 4.0 marks for excellent work, professionally- presented, and with real creative insight into the specified task. You will have justified the designs that you have presented in terms of your creative vision and you will have cited relevant literature to convince the reader that you are not making too much stuff up.
b. 3.0 marks for very good work apart from a small collection of serious issues. Perhaps some aspects of your creative vision seem rather fanciful. Perhaps you have not presented them convincingly in your use cases or domain model extension.
c. 2.0 marks for a somewhat incomplete submission of this part. Perhaps you had some good initial ideas but that they did not go very far or perhaps the way that you have presented your ideas has some major internal inconsistencies.
d. 1.0 marks for a quite superficial submission but with some obvious thought involved.
e. 0.0 marks for an absent submission.
f. Half marks will be used where it is not clear which category is appropriate for the submission.
Note on “professional presentation quality”.
To be professional, your report will be neatly typed and that all diagrams will be drawn consistently using graphics programs (such as Visio, draw.io, Powerpoint or others). Your diagrams will have a similar look and feel (graphics appearance and use of labels) so that it appears that the document has been written by the entire group rather than by individuals working on separate parts.
Differential assessment for relative efforts and contributions by group members.
A feedback tool will be provided so that each group member can rate themselves and other members of the group if they feel that a differential assessment should apply across group members. This feedback tool will offer three options for every group member
a) Keep their mark unchanged at the group mark.
b) Add 10% of the group mark to that group member.
9
c) Subtract 10% of the group mark from that group member.
Such a differential assessment can result in a differential increase or reduction in the marks of one or more group members up to a maximum of 10% of the group mark on the basis of a majority vote of all group members. The sum total of such variations across the entire group must be equal to zero. –
For example,
• If a majority of members of the group say that Person A, and only Person A, deserves a 10% reward, then Person A will have +10% added to their group mark and all of Persons B, C, D, E will have their mark decreased by 2.5%.). If the group mark were 13/20, then A would receive 14.3/20 and the others would receive 12.675.
• If Person A is voted up 10% and Person B is voted down 10% by majority vote, then Persons C, D, and E will have their scores unchanged at the group mark. If the group mark were 13/20 then Person A would receive 14.3, Person B would receive 11.7 and others would receive the group mark.
Note that no person can be voted up to have a mark greater than 20 and no person can be voted down to have a mark in the irredeemable fail grade for the assignment (less than 8/20).
In the event that there is no variation in the marks of individual students for the group mark, their marks could still be varied by their variation in the individual assignment, but only if this variation is greater than or equal to 20% (plus and minus 10% about the mean marks of all students in the individual assignment). See the individual assignment specifications for more details.
10