Ekraj Dhamala Assignment1report
Ekraj Dhamala Assignment1report
Page 1 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
Page 2 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
Table of Contents
o Database Design
o Entity Relationship Model
o ERM Diagram
o List of Entities
Implementation
Testing
List of Group Members – Roles and Responsibilities (if Group Work)
Discussion / Reflection / Critical Analysis
Conclusion
References
Appendix
o Complete code with comments and class / filenames.
You will need to complete the Table of Contents and Page Nos manually
Page 3 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
Page 4 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
Introduction/Overview
Why are you doing this work? What you were asked to do? What you did? Were you
successful? This should be an overview of the problem for which a solution is required,
and an overview of your proposed solution.
Task Description
This is basically a description of the task as on the Assignment brief. You can
paraphrase what is written in the Assignment 2 brief. LOOK AT THE ASSIGNMENT
BRIEF AND SEE WHAT YOU CAN INCLUDE.
Project Plan/Schedule
Week No. Tasks Priority
Page 6 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
Non-functional Requirements
Usability Requirements
*MOSCOW Notation:
M = MUST
S = SHOULD
C = COULD
W = WON’T
Design
o Uses Case Diagrams(s)
Fig 1: Hotel Online Customer Booking and Management System - Use Case
Diagram (Sea Level)
Allocate Accommodation
A specific room is allocated to each guest.
Change Booking
An unguaranteed booking may become guaranteed on provision of credit card
details. Other changes (for example to the composition of the party or to the
dates booked) may be made on the customer’s request.
Page 8 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
The total bill for a room comprises the cost of the room plus any items charged to
it (for example, from the minibar, hotel bar or restaurant and any additional
services provided) plus the appropriate rate of VAT.
Cancel Booking
A customer may cancel a booking any time before checking in. The booked
accommodation is de-allocated.
Check In Guest
When a party (one or more guests) arrives at the hotel each guest is checked in
and the booking becomes registered. Details of all the guests are confirmed, or if
they have not been given at the time of booking they are recorded. The method
of payment (by which guest(s) or whether to be charged to a corporate account)
is confirmed. Accommodation is allocated if not already done at the time of
booking and special requests are recorded.
Make a Booking
When a customer contacts the receptionist with a booking request the
receptionist checks the room occupancy for the required period and if the
customer's needs can be met, makes a booking.
A guaranteed booking is only made for corporate customers or for individual
customers who supply credit card details.
Accommodation may be allocated at this stage; alternatively where it is a group
booking (for example, for 6 twin-bedded rooms) the allocation of each guest in
the party to a specific room may be done on checking in. Either way, occupancy
records are updated to avoid double booking.
Page 9 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
o Activity Diagram(s)
o Class Diagram(s)
This COULD be a screen shot from BlueJ. This is not ideal but a compromise.
o Database Design
o Entity Relationship Model (ERM)
o ERM Diagram
o List of Entities
Example:
Booking (BookingID, CustomerID*, RoomiD*, ManagerID*, DateBooked,
ArrivalDate, DepartureDate, BookingStatus, Paid)
Primary and Foreign Keys and other attributes for each entity should be included
in this list.
Your ER Diagram should include all identified entities and the relationships
between them. Relationship should include consideration of both cardinality and
optionality, and a textual description of each relationship should be included.
Page 10 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
This includes:
o Skeleton Tables
List of tables with their attributes, Primary Key and Foreign Keys.
Example:
Booking (BookingID, CustomerID*, RoomiD*, ManagerID*, DateBooked,
ArrivalDate, DepartureDate, BookingStatus, Paid)
Customer
Description: Customer details
Field Datatype Length Index Null Default Validation rule Description
Name
custid int (11) 11 PK No Autoincremented
(Primary) unsigned Uniquely identifies
every customer
firstname varchar 30 No First name of cus-
(30) tomer
lastname varchar 30 No Last name of cus-
(30) tomer
email varchar 100 No Must be email Email of customer
(100) format contain-
ing an @ and a
‘.’
Regex expres-
sion used
password varchar 30 No Customer password
(30)
Indexes
Keyname Type Unique Column Null
PRIMARY BTREE Yes custid No
For each table, for each attribute show the datatype, length, and other properties. You
may want to include any other information such as data entry constraints.
Take care with the datatypes as these vary from database system to database system.
Read the assignment brief for more details.
Implementation
You should discuss YOUR application. How was the program created?
You should describe the development stages.
Explain how you manged the implementation. How did you ensure all group members
actively contributed to writing code? How did you distribute the workload? Was it
successful?
What Integrated Development Environment (IDE) did you use? Justify your choice of
IDE, Java Framework (if used), packages / libraries.
Did you embed SQL in your client application or did you implement a Client-Server
(Sockets Programming architecture). Justify you chosen method, and discuss the
advantages and disadvantages of both.
What problems did you encounter during the coding, and explain how you overcame
these?
Include snippets of code here – that either caused problems or show original, novel
approaches.
What rDBMS did you use? Justify your choice of database system. Did you use the
University’s MySQL database? How did you overcome problems associated with not
being able to access this from outside University?
Did you use WAMP / XAMPP / MAMP or an equivalents stack on your own PC?
Detailed discussion of your experience coding is required here.
Did you incorporate any novel approaches to coding and meeting the Assignment
requirements?
Testing
Include evidence of detailed and robust testing.
There are various ways to document this…
Page 12 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
Test Plan / Test Log (tabular format) with test number, date, input, expected
output/actual output and screen shot of result.
OR
Basically, you are evaluating what you have done. Did you achieve all the required
specification of the Assignment brief? If not, why not? Discuss the problems you
encountered and how you overcame them.
Page 13 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
What stopped you achieving what you had hoped to achieve and to the standard you
know you are capable of achieving? Remote learning, lack of access to BREO, COVID,
lack of suitable devices remotely, Internet connection issues etc.
Did you give yourselves enough time to accomplish this work? Was it harder than you
expected? What have you learned from tackling this Assignment?
If working as a group, did your group work well together? What did you learn about the
dynamics of group work?
Did this work enhance your understanding of the Java programming language? Did it
motivate you to learn more Java, and other programming languages?
If you had to undertake this or something similar again would you tackle it differently?
What improvements or enhancements would you recommend for a future iteration of this
project?
Conclusion
What were you asked to do? Did you achieve it?
References
Use the Harvard Referencing System. Any reference must be cited in text -otherwise it
should go in a Bibliography section.
Appendix
You MUST include:
Page 14 of 15
CIS016-2– OBJECT ORIENTED PROGRAMMING AND SOFTWARE ENGINEERING 2023-2024
CIS016-2 – Desktop Application Development and Software Engineering 2023-2024
Assignment 1 – Control an Elevator - A C# Project
University ID: 2212312 and Full Name: Ekraj Dhamala
Anything else that you might want to include that does not fit well into the main report
body.
Page 15 of 15