0% found this document useful (0 votes)
50 views15 pages

Ekraj Dhamala Assignment1report

This document contains an assignment for a software engineering course on controlling an elevator using C#. It provides details on the assignment such as the student's name and ID, and outlines the required sections for the project report such as introduction, task description, project plan, requirements, design diagrams, implementation, testing, and conclusion. It also provides guidance on formatting the report with page numbers, figures, and captions.

Uploaded by

cbasanta507
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views15 pages

Ekraj Dhamala Assignment1report

This document contains an assignment for a software engineering course on controlling an elevator using C#. It provides details on the assignment such as the student's name and ID, and outlines the required sections for the project report such as introduction, task description, project plan, requirements, design diagrams, implementation, testing, and conclusion. It also provides guidance on formatting the report with page numbers, figures, and captions.

Uploaded by

cbasanta507
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 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

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 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

List of Group Members (if Group Work)…………………………………………….………...3


Introduction / Overview…………………………………………………………………………3
Task Description………………………………………………………………………………...3
Project Plan / Schedule….
Tasks:
Requirements Analysis
Overview of Functional, Technical (Non-Functional) and Usability Requirements
Design:
o UML Diagrams
o Use Case Diagrams
o Use Case Specifications/Description
o Use Case Scenario
o Activity Diagrams
o Class Diagram

o Database Design
o Entity Relationship Model
o ERM Diagram
o List of Entities

o Physical Database Design (including Data Dictionary)


o Skeleton Tables
o Data Dictionary

o User Interface Design

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

PLEASE NOTE THAT THIS IS A PROFESSIONAL REPORT


ALL SCREENSHOTS, DIAGRAMS, etc SHOULD BE GIVEN A FIGURE NUMBER AND
A CAPTION

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

CIS016-1 – Principles of Programming 2021-2022


CIS096-1 – Principles of Programming and Data Structures 2021-2022
Assignment 2 – Hotel Online Customer Booking and Management System

List of Group Members


Include University IDs and Full Names

University ID XXXXX Fullname XXXX XXXXX


University ID XXXXX Fullname XXXX XXXXX
University ID XXXXX Fullname XXXX XXXXX

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

Submit Group Report, Project


Code, and Individual Reflective
Report, Video Recording
Project Presentation
Page 5 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

Overview of Functional, Technical (Non-Functional Requirements)


and Usability Requirements
[Example ONLY – Adjust as necessary]

Req. No Requirement Priority*


1 As student must be able to register on the HBS MUST
2 A student must be able to log in to the HBS MUST
3 A student must be able to log out of the HBS COULD
4 An administrator must be able log in to the HBS SHOULD
5 An administrator must be able to log out of the COULD
HBS
6 An administrator must be able to grant SHOULD
Organiser rights to a student
7 An administrator must be able to revoke SHOULD
Organiser rights from a student
8 A student must be able to search events SHOULD
9 A student must be able to view all events MUST
10 A student must be able to book an event MUST
11 A student must be able to view his/her bookings MUST
12 A student must be able to cancel a booking MUST
13 An organiser must be able to post an event MUST
14 An organiser must be able to view all his/her SHOULD
events
15 An organiser must be able to edit an event SHOULD
16 An organiser must be able to cancel an event SHOULD
17 An administrator must be able to view all events SHOULD
18 An administrator must be able to search all COULD
events
19 An administrator must be able to cancel an SHOULD
event
20 An administrator must be able to view all SHOULD
bookings
21 An administrator must be able to cancel a SHOULD
booking
22 An administrator must be able to confirm a SHOULD
booking

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

Req. No Requirement Priority*


1 The HBS should process input and return
results within 10 seconds
2 The HBS should run on a range of devices from
PCs to mobile phones
3 The HBS design should be sufficiently scalable
and flexible to allow for further future
enhancements
4 The HBS users should not experience critical
system failures. 99.99% ‘uptime’ should be
achieved.

Usability Requirements

Req. No Requirement Priority*


1 The HBS should incorporate a user-centric
design
2 The design should demonstrate evidence of a
good understanding of interface design issues –
for example, a consistent design for each form,
layout of content, use of colour schemes and
images, navigational methods, usability when
viewed at various screen resolutions and
various monitor dimensions.
3 All data entry forms should be short and easy to
complete and there should be entry validation.
4 The HBS short have clear and intuitive
navigation
5 The HBS should comply with WW3 Web
Accessibility Standards (WCAG)
Text easy to read and language and language
style should be appropriate with absence of
grammar / spelling errors
There should be a clear layout which remains
consistent throughout the application. Style,
layout and content should be appropriate for the
purpose of the application.
Page 7 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

*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)

Use Case Specifications/Description

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.

Calculate Bill Total

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.

Charge Item to Room


A guest may use items from the minibar in the room, make external telephone
calls, make purchases from the hotel bar or restaurant or order additional
services such as laundry. These items are charged to the guest’s room. An
external service ordered by the guest may also be charged to their room
(although some services, such as taxis, will be paid for directly by the guest).

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.

Check Out Guest


Before the guest leaves the hotel they need to check out and the booking
becomes completed. The receptionist provides them with the total room bill,
which an individual customer must pay. If the bill is to be charged to a corporate
customer the guest is asked to check and sign the bill, it is then added to the
appropriate corporate account.

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

Order External Service


Services not offered by the hotel itself can be ordered, once their availability has
been checked. The guest name, room number and details of the service required
are taken when the service is ordered.

Provide Guest with Current Bill


On request a guest may be provided with the current total of their bill.

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

An Entity Relationship Model consists of a Entity Relationship Diagram (ERD)


and a list of Entities with their attributes, Primary Key and Foreign Keys.

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.

You are STRONGLY ADVISED to use VISUAL PARADIGM CE to create your


ERM. Visual Paradigm Community Edition software is a free download. You
should not use Visio or equivalent software.

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.

o Physical Database Design (including Data Dictionary)


At this point you will have decided what database platform (RDMS) you will use – ie.
Oracle, MySQL, SQLite.

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)

o Data Dictionary (for each table)


Example:

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.

o User Interface Design


Page 11 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

Sketches of your GUI interfaces


You should use Balsamiq Wireframes (see under Announcements) or an online
prototyping tool (for example, https://marvelapp.com/)

Interactive prototypes could be created using the Balsimiq Mockups 3 / Wireframe


Prototyping tool (https://balsamiq.com/) or an suitable online prototyping tool

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

Documentation of each test – one after the other

You need to include:


o Test No
o Test Date
o Purpose of test
o Input data or action
o Expected result
o Actual result
o Action if the above are not the same
o Screenshot of output

Group Member Contribution List


Student ID Student Name Role / Contribution

Discussion / Refection / Critical Analysis

o What went well and what went wrong?


o What would you have done differently?
o How would you improve your web application in the future?
This part is very important. You must discuss the project, group work or individual work,
and time management skills.

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:

Complete project code


Include file/class names
Make sure you code is fully commented and well presented with correct indentation and
colour coding.

You could include:

Details of you database/table structure and content

Screen shots from PHPMyAdmin.

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

Screenshots of you database / table structure / table data (PHPMyAdmin).

Screen shots of your GUI interfaces.

Anything else that you might want to include that does not fit well into the main report
body.

Page 15 of 15

You might also like