ICT284 – Systems Analysis and Design

ICT284 – Systems Analysis and Design

2018, Trimester 2 (TMA)

Assignment 2

 

 

Contents

Question 1. 3

Question 2. 4

Question 3. 7

Question 4. 11

Question 5. 12

Question 6. 13

Question 7. 15

Question 8. 17

Question 9. 18

Question 10. 1

List of Tables

Table 1: List of main stakeholders for the new Light-As-Air Ballooning System (LAABS)

Table 2: List of the main functional requirements for LAABS

Table 3: List of the main non-functional requirements for LAABS

Table 4: List of Use cases for the LAABS using User Goal technique

Table 5: List of Use cases for the LAABS using Event Decomposition technique

Table 6: CRUD matrix for Light-As-Air Ballooning System

Table 7: Fully-developed use case description for the use case Book a Flight

Table 8: User acceptance test plan for a customer of the LAAB system

 

List of Figures

Figure 1: Domain model class diagram for LAABS

Figure 2: activity diagram to represent the flow of activities for the use case Inspect Balloon

Figure 3: System sequence diagram for the use case Inspect Balloon

Figure 4: State machine diagram to show the possible states and transitions for a Balloon object

Question 1

List the main stakeholders for the new Light-As-Air Ballooning System (LAABS). For each stakeholder, write a brief description of their interest in the system and what aspects of it are of particular relevance to them.

Stakeholder Description of Interest in the system
Client Client is a stakeholder who use the system to request for flight services. They have interest in the system as this is a recreational business. Client is especially interested in the flight service, booking service, reminder and cancellation notification etc.
Pilot Pilot is a stakeholder of LAABS as they fly the balloon for LAA. They are especially interested in safety, certification and regulatory requirements as well as customer assignment and satisfaction. Pilot is also interested in the aspect of maintenance and service of the basket and the balloon. Reports on customer data such as weight and health status are also aspects that this stakeholder is interested in.
Staff Member Staff Member is also a stakeholder of LAABS as they will be assisting with flights and will be acting as co-pilot. Staff member is interested in the aspect of maintenance and service of the basket and the balloon as well as certification and safety data. Customer data such as weight and health status are also aspects that staff member is interested in.
Owner Owner is a stakeholder of the system as he will be using it to study the trends and success of the business. His interest in the system is mainly on the aspect of profitability, reporting and similar ad hoc services by the system.
Accounting and sales Staff Internal accounting staff will use the system to conduct regular accounting and handle financial matters for LAA and are hence stakeholder of the system.
Auditor Internal and external auditors are also stakeholders of the LAABS as they will be conducting regular reviews of the system including safety, data protection and operational effectiveness.

Assumption: There are regular internal and external audits for all systems including financial systems at LAA.

Table 1: List of main stakeholders for the new Light-As-Air Ballooning System (LAABS)

 

 

 

Question 2

(a) List and briefly describe the main functional requirements for the LAABS.

1 The system will automatically assign senior pilots and co-pilots to flight bookings.
1 The system will send out text messages to clients a week before the scheduled flight session, and another reminder message a day before the scheduled flight session.
3 The system will allow clients to choose the type of flight from options – (i)Flight or (ii)Deluxe Experience during booking. The system will allow the company to create, update and delete this experience list.
4 The system will automatically assign small/large balloons to bookings based on the lot size of the booking.
5 The system will assign resources such as warm jacket, transportation back to launch site etc. automatically to bookings based on the number of clients in the booking.
6 The LAABS system will have a central secure database and be accessible online by the management, pilots, staff members and the clients.
7 The system will read, write and update information about the clients, including whether they are individual, corporate or chartered.
8 The system will allow the company to create, update and delete staff and pilot accounts.

The system will also allow the company to maintain records on first aid certificates and pilot certificates, as well as regular medical check-ups against these accounts for the staff.

9 The system will notify relevant staff member when a first aid certificate, pilot certificate, or a regular medical check-up is due.
10 The system will update weather information the night before a scheduled flight session and notify LAA if the conditions are not suitable for flight.
11 The system will notify the client the night before a scheduled flight session if it is cancelled due to weather conditions not suitable for flight.
12 The system will allow staff to create, update and delete balloon portfolio with detailed information on usage, servicing and maintenance.
13 The system will notify the relevant staff and initiate an automatic refund if a booking is cancelled 4 weeks before the scheduled flight date.

 

Table 2: List of the main functional requirements for LAABS

 

 

(b) List and briefly describe the main nonfunctional requirements for the LAABS.

Several of non-functional requirements of the LAABS system can be addressed using FURPS+

Usability requirements
1 The system can be accesses by the user over the internet on various web browsers.
2 The system will have a simple, easy to access and user-friendly interface to book and manage flight sessions.
3 The system should have an online help section with LAA contacts for difficulties in booking and other system use.
4 The system needs to have documentation and help files on how to use the it.
Reliability requirements
1 The system should be online 24/7 99.5% of the time.
2 The system should be able to handle normal and peak traffic without crashes 99% of the time.
3 The system database will run a database configuration that offer full recovery in case of failure.
4 The system needs to have high mean time between failures and require low scheduled maintenance.
Performance requirements
1 The system will respond to each transaction with 1.6s latency 99% of the time.
2 The system will be able to function without huge requirements for resources (memory, power consumption, storage etc.).
3 The system should be able to have fast recovery in case of a failure.
4 The system should not have more than one critical failure in a year.
Security requirements
1 The system will prompt user for booking reference number and date before the flight booking details can be accessed.
2 The system will log the ip addresses for each retrieval of booking information against the booking reference number.
3 The system will block an ip address for 24 hours after 10 unsuccessful flight booking retrieval attempts and display a help page to contact support staff for assistance.
4 The system will prompt the staff for login credentials. The system should also logout the staff if it is idle for more than 45 minutes.

 

Table 3: List of the main non-functional requirements for LAABS

 

 

Question 3

(a) Use the User Goal technique to develop a list of use cases for the LAABS.

Actors Use case Name Description
·        Client

·        Staff

Book a Flight This use case is when the client wants to book a flight online or the staff want to book a flight for the client using the system at the city office.
·        Staff Inspect Balloon This use case describes the event when the staff want to initiate an inspect of the balloon.
·        Client

·        Staff

Check Availability This use case is when the client or staff want the availability of a balloon on a particular date.
·        Client

·        Staff

Select Lot Size This use case is when the user wants to select a lot size during the booking of a flight schedule.
·        Client

·        Staff

Cancel Booking This use case describes the event in which the user wants to cancel a flight booking.
·        Client

·        Staff

Check Booking This use case describes the event when the user wants to retrieve the booking information for a booking.
·        Client

·        Staff

Update Booking This use case describes the event when the user wants to modify the booking details (such as number of people etc.).
·        Client

·        Staff

Select Experience This use case is when the user wants to select a flight experience from a list of available experiences for a flight session booking.
·        Staff Add Balloon This use case describes the event when the user wants to a new balloon to the flight booking system.
·        Staff Delete Balloon This use case describes the event when the user wants to delete a retired balloon to the flight booking system.
·        Staff Update Balloon This use case describes the event when the user wants to update information on a balloon in the flight booking system.
·        Admin Edit Staff This use case describes an event where a new staff account is created, an existing one updated or deleted.
·        Admin Edit Certificate This use case describes an event where a new certificate type is created, an existing one updated or deleted.
·        Client

·        Staff

Get assistance This use case describes an event when the user request for assistance during a booking.
·        Client Send Enquiry This use case describes the event when the client request information on the flight using the online enquiry form.

Table 4: List of Use cases for the LAABS using User Goal technique

(b) Use the Event Decomposition technique to identify any additional use cases for the LAABS. These will probably be temporal and state event types. Present your list in a table that includes the event, type of event, trigger use case name, and brief use case description. You do not need to repeat the use cases you identified in (a) here.

Event Type of event Trigger Use case name Brief Description
Customer books a flight and enters info as required in the booking form. External New Booking is initiated Customer Criteria Check This use case is when the customer enters the info to the form and is checked against to allocate lots and resources.
Customer booking date is a week from current date. Temporal End of Week Send reminder text This event is when the customer flight is scheduled in one week. The use case is when a reminder text is sent to the customer.
Customer booking date is a day from current date. Temporal End of Day Send reminder text This event is when the customer flight is scheduled for the next day. The use case is when a reminder text is sent to the customer.
Daily weather forecast check. Temporal End of Day Update weather status This use case is when the system checks and sets the weather conditions for the next day to favorable/not favorable for flight. This event happens at the end of every day.
Weather forecast for next day is not favorable for flight. State Change Weather forecast state change Cancel booking This use case is when the system state for flight condition changes to not favorable. Al the bookings for the next day are cancelled by the system.
Flight for the next day is cancelled due to poor weather conditions. State Change Booking state changed Send notification text This use case is when the status of a booking is changed to cancelled from any other state. A notification is sent to the customer to inform about the cancellation.
3 months pass after staff medical. Temporal Medical checkup record not updated in last 3 months. Medical cert Expires 3 months have passed since the medical was done by the staff, this use case is when that is expired, and the user is prompted by the system to go for new medical checkup.
Staff first-aid certificate expires. State Change First-aid certificate validity status changes to expired. First-aid certificate expires This use case is in the event when the first-aid certificate expires. The staff is sent a remainder by the system to go for training and rectify.
Staff Commercial Balloon Pilots License expires. State Change Commercial Balloon Pilots License validity status changes to expired. Pilots License expires This use case is in the event when the Staff Commercial Balloon Pilots License expires. The staff is sent a remainder by the system to go for training and rectify.
Staff first-aid certificate expires in one month. Temporal First-aid certificate expiry date is in one month. First-aid certificate due This event is when the certificate of the staff will expire in one month. The use case is when the system notifies the staff to go for recertification.
Staff Commercial Balloon Pilots License expires in one month. Temporal Commercial Balloon Pilots License expiry date is in one month. Balloon Pilots License certificate due This use case is in the event when the Staff Commercial Balloon Pilots License expires in one month. The use case is when the system notifies the staff to go for recertification.
A flight session is due. State Change A flight session is due. Initiate basket and balloon inspection This use case is in the event when a flight session is due, and the basket and balloon is inspected for control system, cleanliness etc.
A flight session has ended. State Change A flight session has ended. Initiate basket and balloon inspection This use case is in the event when a flight session has ended, and the basket and balloon is inspected.
Start of working day Temporal Start of day Initiate full mechanical check This use case is when a full mechanical check of all the equipment is done by a service engineer at the beginning of work day.
End of working day Temporal End of Day Initiate full mechanical check This use case is when a full mechanical check of all the equipment is done by a service engineer at the end of work day.
Three months has reached since the last full service of inflating and control system. Temporal Full service record is not updated in the last three months. Initiate full service This use case is when a full service of inflating and control system by the manufacturer is initiated.
50 use hours has reached since the last full service of inflating and control system. State Change System usage reaches 50 hours. Initiate full service This use case is when a full service of inflating and control system by the manufacturer is initiated.
Three months /50 use hours has reached since the last full service of inflating and control system. State Change A full service of balloon is initiated. Set balloon to maintenance This use case is when a full service is due, and the balloon is flagged to ‘in maintenance’.
The balloon status changes to ‘in maintenance’. State Change The balloon status changes to ‘in maintenance’. Initiate ad hoc service This use case is when the balloon status changes to ‘in maintenance’. Basket and guy-ropes are refurbishment and jackets inspection for wear and cleaning is initiated.
A flight session has ended. State Change A flight session has ended. Log balloon usage This use case is in the event when a flight session ends, and the tunnel usage is logged into the system.
The balloon is reassembled after service. State Change The balloon is reassembled after service. Reset usage hours This use case is in the event when a system is fully serviced, and the usage hour is reset to zero.
The balloon is fully serviced. State Change The balloon is serviced. Record service info. This use case is in the event when a full service of the balloon is done and the information about the service is recorded in the system.

 

Table 5: List of Use cases for the LAABS using Event Decomposition technique

 

 

Question 4

Create a domain model class diagram for the LAABS, including all classes, attributes, associations, and multiplicity. Show association classes and generalisation hierarchies where appropriate.

 

 

 

PilotCert and FirstAidCert are subclasses of Certification.

Pilot and GeneralStaff are subclasses of Staff.

Booking is an association class due to n-n relationship between classes Balloon and Guest.

 

Figure 1: Domain model class diagram for LAABS

 

 

Question 5

Create a CRUD matrix to check the consistency between your domain model class diagram and your complete list of use cases. Set this out in the form of a table with classes as the columns and use cases as the rows.

                     

                                            

                                                Class

                 Use Case

Staff Certification Balloon BalloonStatus Booking Guest
Book a Flight R R C C
Inspect Balloon R R
Check Availability R R
Select Lot Size C
Cancel Booking D D
Check Booking R R
Update Booking U U
Select Experience C
Add Balloon C C
Delete Balloon D D
Update Balloon U U
Edit Staff CRUD
Edit Certificate CRUD
Get assistance R
Send Enquiry C
Customer Criteria Check R R
Send reminder text R R
Update weather status U U
Send notification text R R
Medical cert Expires U R
First-aid certificate expires U R
Pilots License expires U R
First-aid certificate due U R
Balloon Pilots License certificate due U R
Initiate basket and balloon inspection U
Initiate full mechanical check U
Initiate full service U
Set balloon to maintenance U
Initiate ad hoc service R
Log balloon usage U
Reset usage hours U
Record service info. U

 

Table 6: CRUD matrix for Light-As-Air Ballooning System

Question 6

Create a fully-developed use case description for the use case Book a Flight. Follow the template provided at the end of this handout.

Use Case Name: Book a Flight
Scenario: Create a new flight booking.
Triggering Event: A new booking is initiated in the system.
Brief Description: The staff or customer uses the LAABS and stars a new flight booking session with one or more participants for the flight.
Actors: Staff, Client
Stakeholders: Accounting and sales Staff, Client, Staff Member
Preconditions: The actor is logged-on and has access to the LAABS system website.
Postconditions: The session booking records has been updated to reflect the details of the new booking. The user is shown a confirmation of the booking with booking details.
Flow of Activities: Actor System
1. The actor indicates that they wish to book a flight session.

 

 

 

 

 

2. The actor provides the requested information: the date, number of guests and type of booking.

 

 

 

 

3. The actor selects a flight option from the list.

 

 

 

4. The actor selects a flight experience option from the two options.

 

5. The actor provides information on all guests attending the session.

 

 

 

 

 

 

 

6. The actor indicates they wish to continue the reservation request.

1.1 The system shows a welcome message.

1.2 The system displays the preconditions that guests need to meet to book the flight (e.g. critically ill personal are not allowed on board; every guest will need to sign declarations etc.)

1.3 The System requests the date, number of guests and type of booking.

 

2.1 The system searches for available balloons on dates specified by the actor and determines the best lot-flight combo.

2.2 The System provides the list of available balloons and price and requests the actor to select an available option.

 

3.1 The system temporarily blocks the session for actor to complete the booking process.

3.2 The system displays the two (2) available types of experiences, the experience details and price information for the session and asks the actor to choose one.

 

4.1 The System validates the choice and requests guest information for the all the guests.

 

5.1 The system checks the information of the guests against a set of conditions to check if all guests are fit for flight.

5.2 The system displays an error message if all guests do not pass the checks and ask actor to verify information entered.

5.3 If all guests pass the checks, the System provides the total price (including tax and other charges) and requests the actor to continue the reservation request.

 

6.1 The System redirects to external party for payment and redirect back to LAABS system website after successful payment.

6.2 The system stores the new flight booking.

6.3 The System sends an email confirmation to the guest.

6.4 The System displays the flight booking confirmation and a confirmation number to the Reservation Requester.

6.5 The System indicates an email message with the reservation information has been sent to the guest.

Exception Conditions: 2.1 If the system cannot find an available session to match information entered then an error is shown that no session available meeting criteria and system ask the actor to choose a different date.

6.1 The System redirects to external party for payment and redirect back to LAABS system website and ask user to try again if payment is unsuccessful.

Booking session is timed-out after 15 minutes and the system ask the use to start over the booking process.

 

Table 7: Fully-developed use case description for the use case Book a Flight

 

 

Question 7

Draw an activity diagram to represent the flow of activities for the use case Inspect Balloon shown at the end of this handout.

Legend:

 

 

Figure 2: activity diagram to represent the flow of activities for the use case Inspect Balloon

 

 

Question 8

Draw a system sequence diagram for the use case Inspect Balloon shown at the end of this handout that corresponds to your activity diagram in Q7.

Legend:

Figure 3: System sequence diagram for the use case Inspect Balloon

Question 9

Draw a state machine diagram to show the possible states and transitions for a Balloon object. Label each state with the state name.

Legend:

 

Figure 4: State machine diagram to show the possible states and transitions for a Balloon object

Question 10

Develop a user acceptance test plan for a customer of the LAAB system. Base it on the relevant use cases you have identified. Present your test plan in a table including the fields: use case name, test conditions, expected outcomes.

Use Case Name Test Conditions Expected Outcomes
Book a Flight Add flight booking, update and delete flight booking not allowed. New booking with all fields, balloon availability for the session is period changed to busy on system calendar.
Check Availability Read balloon availability, update and delete availability not allowed Display balloon availability data on calendar for selected period.
Select Lot Size System produce a list of lot sizes to choose from, read lot size, update booking with selection. A lot size is generated by the system and the user is allowed to make a selection. This selection is recorded in the database.
Cancel Booking Delete Flight booking, add and update flight booking not allowed. An existing flight booking is deleted. All the fields and data associated with the booking reference is deleted from the system. A system check is done if the cancellation meets the refund criteria. A refund is initiated if the cancellation is 4 weeks or more before the flight date.
Check Booking Read booking, update and delete not allowed. A summary of the booking associated with the booking number is displayed. This will include snapshot of information such as date and time reference number, passengers etc. and special instructions to be noted at the day of the flight
Update Booking Update booking, add and delete not allowed. This allows the use to modify a booking. All the changes made during the session are validated and stores in the system database.
Select Experience System produce a list of available experiences to choose from, read experiences list, update booking with selection. A list of available experiences is displayed and the user is allowed to make a selection. This selection is recorded in the database against the booking number
Get assistance Get assistance with booking. The system displays a list of available assistance options. This will include a number and email to contact the team and a live chat support for problems encountered during booking.
Send Enquiry Add enquiry record A new enquiry with all fields, the system records the information and send a copy to company marketing team email.

 

Table 8: User acceptance test plan for a customer of the LAAB system

assignment_sample