Question Preview:
Software Engineering Methodologies
Assignment 1
Due Date: Thu, Dec 19, 2017 - 16:00
Weighting: 20%
Introduction:
Consider that you have been appointed as a software engineer at a new company
called “Holiday Homes”. The company maintains an online rental platform to enable
customers to rent and lease short-term holiday houses, just like Airbnb. Each customer can
be a guest (i.e., tenant) and/or a host (i.e., owner). To become a host, a customer needs to
register with the system with authentication details (e.g., government document, phone
number and e-mail) and upload the ...
View Complete Question >>
Question Preview:
Software Engineering Methodologies
Assignment 1
Due Date: Thu, Dec 19, 2017 - 16:00
Weighting: 20%
Introduction:
Consider that you have been appointed as a software engineer at a new company
called “Holiday Homes”. The company maintains an online rental platform to enable
customers to rent and lease short-term holiday houses, just like Airbnb. Each customer can
be a guest (i.e., tenant) and/or a host (i.e., owner). To become a host, a customer needs to
register with the system with authentication details (e.g., government document, phone
number and e-mail) and upload the details of the property, including number of guests
allowed, available facilities and the amount of daily rent. A customer can also register as a
guest with authentication details. While renting a holiday home, guests are required to login
with authentication details, mention the length of their stay including the number of
accompanying guests, authorize a payment through credit card and send a request for
booking. At this point, the rental platform verifies credit card information, charges the credit
card and sends a confirmation to both host and guest. However, the rental platform
continues to hold the money until the guest arrives and then leaves the property. After the
departure of the guest, the rental platform deducts their service fees from the rent and
forwards the rest to the host. As a software engineer in “Holiday Homes”, your job is to
oversee the development of a real-time software required for this rental platform.
Description:
The Rental platform should work according to the following rules:
Step-1: Both Hosts and Guests can register with authentication details
Step-2: Hosts can upload property details (e.g., daily rent, available facilities and number
of guests allowed)
Step-3: Guests can enter the system after successful authentication
Step-4: Guests can make booking request by indicating length of stay, number of
accompanying guests and credit card information
Step-5: Rental platform verifies and charges the credit card, and sends confirmation to
both the host and the guest.
Step-6: The rental platform holds the money until the guest arrives and later leaves the
property.
Step-7: The rental platform deducts the service fees and forwards the rest to the host after
the guest departs.
Your task is to do a Real-Time Structured Analysis for the Rental platform considering the
aforementioned steps. You are to present your analysis including the following information:
(Either at the end or beginning of every diagram 2 to 3 lines
description is required)
1. An External Entity-Relationship Diagram (ERD) indicating relationships of the Rental
platform and the other external entities in the system. (Note: only entities are required
not attributes of an entities. For example, customer, property, document,
database, bank etc might be entities. )
2. Data and Control Flow Diagrams (DFD/CFDs) - to sufficient detail that only a single
task is carried out by each process at the lowest level. You should show the control events
that occur on the same diagrams. Use the real-time extensions for control flows etc. shown
in the lecture notes. You need to determine when and where events will occur. For example,
whenever a piece of data becomes available it may need a control event to let the system
know that it is available. These events must be clearly shown in these DFD/CFD diagrams
and then handled in the Control Specification (CSPEC). (Note: Level 0 or Context
diagram, level 1 and 2 DFD with control flow is required.)
Only draw ERD, context diagram and all level 1 diagram separately.
3. Process Specifications (Pspecs) - a psuedo-code or similar design language
specification is required for each process at the lowest level.
4. Control Specifications (Cspec) - use combinational or sequential FSMs as required,
presented in an appropriate format. The idea is that the Cspec will completely describe how
each and every event or control flow is handled in the system. You need to provide both
"Process Activation Table" and "State Machine Diagram".
(Note: Require in a table format like shown below that merge steps half step2,
step 3 and half step 4)
All Level 2 Diagrams
(Please follow three columns for every
level 2 diagrams i.e. for every diagram
please write pseudocode and PAT)
Process activation table
(PAT)
Pseudocode for it
Draw state machine diagram separately from table.
5. A Data Dictionary is required to adequately describe each name or special term used
in the analysis, which includes process names, data flow names, control flow names etc. If
you think further information is required make reasonable assumptions and clearly state
these in the submission. (Note: add explanation of every words use in diagram
explain by at least 10 words that can be easily understood by everyone. For
example, what is mean by registration, authentication in given context?)
6. Conclusion
Submission Criteria:
The assignment must be submitted electronically through Moodle in pdf format. Draw the
diagram using any suitable graphic software, no handwritten diagrams will be accepted.
Write a conclusion of the analysis in your own words.
Marking Guide:
Item Marks
An External Entity-Relationship Diagram 4
Data and Control Flow Diagrams (DFD/CFDs) 4
Process specifications (Pspecs) 4
Control Specifications (Cspec) 4
Data Dictionary 3
Conclusion 1
Total 20
View Less >>