Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
ASSUMPTION UNIVERSITY
Vincent Mary School of Science and Technology
CS3414 / IT4314
SOFTWARE ENGINEERING / SOFTWARE ENGINEERING CONCEPTS
FINAL REPORT
Habitat: A Dormitory Management System
Submitted To: Asst. Prof. Dr. Darun Kesrarat
Submitted By: Mr. Natchanon Kaewkerd 581-1526
Mr. Poom Penghiran 591-3873
Mr. Chawalit Khotwong 601-4085
Mr. Sokvathara Lin 601-8002
Semester 1/2019
CS3414/IT4314 Software Engineering Final Report
Page 1 of 23
Table of Contents
Project overview ........................................................................................................................ 2
Objectives ........................................................................................................................................... 2
Scope ................................................................................................................................................... 2
Flow Diagram ........................................................................................................................... 5
Database design......................................................................................................................... 6
Relational Schema ............................................................................................................................. 6
Database Design ................................................................................................................................ 7
Application Overview ..................................................................................................................... 13 Dorm Renter Mobile Application ................................................................................................................. 13 Dorm Owner’s Web-Application Portal ....................................................................................................... 15
Cost Estimation ....................................................................................................................... 21
Person-Month Calculation ............................................................................................................. 21
Time of Development Calculation ................................................................................................. 21
Cost for Development ..................................................................................................................... 21
Project Schedule ...................................................................................................................... 22
CS3414/IT4314 Software Engineering Final Report
Page 2 of 23
Project overview
Objectives In every dormitory business the problem is they still used paper-based technology. Or if they have
management software, it still not centralized. Dorm owner needs to send bills and receive money
manually. As today, almost everyone owns a smart phone which is connected to the internet.
To take the advantage of that, we came up with a solution for that. An application that can centralize
the dormitory workflow. The application ‘Habitat’ is a service which aims to help dormitory owners
and renter. For dorm owner, they can manage their dormitory in every aspect by using our web
application. For the renter side, we implemented the application on iOS devices. Letting the user sees
their bills, record issues, see their analytics, and pay for the bills.
Scope STAKEHOLDERS
In this application, we have divided into two stakeholders. Dorm owner and room renter.
1. Dorm owner – the vital role in this solution. They can see the status of the dormitory. Together
with each renters’ profile and amount due. They task is to manage and provide a service
between the renter and third-party services such as repair shop, or even Metropolitan Electricity
or Waterworks Authority.
2. Room renter – a person who rents the room in the dormitory. The main goal for them is to see
the bills each month, pays for it, or report issues. They can do it with their smartphones without
the need for them to go to the juristic office.
FUNCTIONALITIES
Registration
- For room renters, they will need to fill in the code or QR code given by the dorm owner in order
to use the application
- The username of the dorm owner and room renter will be assigned from their registered email.
They will be able to set up their own password.
Reporting Issues
- Room renter can create an issue which will notify the dorm owner immediately.
- Dorm owner will be notified with each new issue. They will be able to read and set status to
each issue, the example of status is pending, fixing, on-progress, solved, etc.
CS3414/IT4314 Software Engineering Final Report
Page 3 of 23
Invoice
- Dorm owner can create custom bills to each room. For instance, internet connection, cable TV,
or parking lot.
- The rental fees will be added automatically each month.
- It will show the total amount due and detail of each bill item for the room renter.
Payment
- Room renter will be able to pay their rent through the payment gateway. In which the payment
status will be updated after payment completed.
- Room renter will have a chance to pay via bank transfers. They can send the evidence of transfer
in the form of image. The payment status will be confirmed only when the dorm owner says
so.
- Dorm owner will have a chance to see the evidence for each transfer that is submitted by the
room renter. They will cross-check with their bank statements and will set the payment status
for each room manually after this process.
Water & Electricity Recording
- Dorm owner can record the usage unit for each room via the web-application. Then it will
calculate the price automatically and include the bill item in each rooms’ invoice.
- According to the new Royal Thai Government Gazette1, the dorm owner will not be able to
customize the price for meter units.
- Dorm owner and room renter will see the unit used for water and electricity. The data will be
visualized as a graph to see their usage trends.
- Dorm owner will be able to connect with IoT water meter or and electricity meter. For the
information about the utility’s unit used will be available immediately each month without
manually enter it into the application.
Announcements
- Dorm owner can create, edit, and delete the announcement the whole dormitory.
- Dorm owner can mark the post to make the announcement stays on top of the user application.
- Room renter will see the announcements in their application periodically, but the pinned
announcement will be shown on top.
Renter Details
1 (Royal Thai Government, 2018)
CS3414/IT4314 Software Engineering Final Report
Page 4 of 23
- The dorm owner will create or update each room owner’s personal profile via the web-
application.
- The dorm owner can see the renter’s profile from each room’s detail page.
- They can also search for previous renters’ profile.
- The room renter can also see their personal profile via the mobile application.
Analytics
- Both dorm owner and room renter will be able to see the analytics for the expenses such as
electricity or water that they created. Represented by graphs.
- For dorm owner, they will be able to see the total revenue for each month.
CS3414/IT4314 Software Engineering Final Report
Page 5 of 23
Flow Diagram
The sequence diagram above show the 4 main elements that involve in the interaction, which are
residents, dorm's receptionist, dorm’s system blackened and database. The element with longest lifeline
is dorm’s system backend, followed by dorm's receptionist, which mean our system is mainly design
for the dorm's keeper, and facilitate the resident for some time. All the main activity is done manually
by the keeper, such as creating the resident profile, to reduce complexity and too much access of control
on system database. By these designs, only few user (dorm admin) are able to make any change on the
database.
CS3414/IT4314 Software Engineering Final Report
Page 7 of 23
Database Design
Address
No. Name Type Allow Null Key Validate Description
1 AddressID int No PK - The unique ID for each address
2 AddressNo nvarchar(20) No - Address number of user’s
resident
3 Street nvarchar(50) No - Streent of user’s resident
4 Province nvarchar(50) No - Province of user’s resident
5 City nvarchar(50) No - City of user’s resident
6 Postal Code nvarchar(50) No - Postal Code of user’s resident
Announcement
No. Name Type Allow
Null
Key Validate Description
1 AnnoucementID int No PK - The unique ID for each
Announcement
2 DateAnnouced date No - Date that announce an
announcement
3 IsImportant bit No - Use to marked important
Announcement
4 Message nvarchar(1000) No - Announcement message
5 DormID nvarchar(50) No FK - Dorm - Use to specify which
dormitory to announce
message
6 Buildng ID nvarchar(50) No FK –
Building
- Use to specify building of the
dorm
CS3414/IT4314 Software Engineering Final Report
Page 8 of 23
BillItem
No. Name Type Allow Null Key Validate Description
1 BillID int No PK - The unique ID for each bill item
2 Description nvarchar(200) No - Description of bill item
3 BillType nvarchar(50) No - The room number that is shown
to renter
4 BillDate date No - The unique ID of the building
5 Amount money No - Price of an item
6 InvoiceID int No FK-Invoice - Refer which invoice that item
belongs to
Building
No. Name Type Allow
Null
Key Validate Description
1 BuildingID int No PK - The unique ID for each building
2 BuildingName nvarchar(50) No - Name of building
3 NoOfFloor int No - Numbers of floor in the building
4 NoOfRoom int No - Numbers of room in the
building
5 DormID int No FK-Dorm - Refer which dorm that building
belong to
CS3414/IT4314 Software Engineering Final Report
Page 9 of 23
Contract
No. Name Type Allow
Null
Key Validate Description
1 ContractID int No PK - The unique ID for each
contract
2 DepositAmount money No - Amount of deposit money
3 Duration nvarchar(50) No - Duration of contract
4 DateMovedIn date No - Date that contract start
5 RenterID int No FK-Renter - Refer renter that own this
contract
6 RoomID int No FK-Room - Refer room that belong to this
contract
Dorm
No. Name Type Allow Null Key Validate Description
1 DormID int No PK - The unique ID for each dorm
2 DormName nvarchar(100) No - Name of dorm
3 OwnerID int No FK-Owner - Refer owner of form
Invoice
No. Name Type Allow Null Key Validate Description
1 InvoiceID int No PK - The unique ID for each room
2 Year nvarchar(10) No - Year of issue invoice
3 Month nvarchar(10) No - Month of issue invoice
4 TotalAmount money No - Total amount of invoice
5 RoomID int No FK-Room - Refer room that invoice
belong to
6 PaidFlag bit No - Status whether this is invoice
is paid or not
7 RenterID int No FK-Renter - Refer user that own invoice
CS3414/IT4314 Software Engineering Final Report
Page 10 of 23
Issue
No. Name Type Allow
Null
Key Validate Description
1 IssueID int No PK - The unique ID for each
issue
2 Status nvarchar(50) No - Status of an issue (ex.
Pending, Fixed)
3 RenterMessage nvarchar(1000) No - A message form renter to
owner
4 DormMessage nvarchar(1000) No - A message from owner to
renter
5 RoomID int No FK-Room - Refer room that have an
issue
6 DateCreated date No - Specify when issue created
Owner
No. Name Type Allow Null Key Validate Description
1 OwnerID int No PK - The unique ID for each owner
2 Fullname nvarchar(50) No - Fullname of owner
3 Email nvarchar(50) No - Email of owner and username
4 Password nvarchar(50) No - Password of owner
5 HomePhone nvarchar(20) No FK - Home phone of owner
6 MobilePhone nvarchar(20) No - Mobile phone of owner
7 AddressID int No FK-Address Refer address of owner
CS3414/IT4314 Software Engineering Final Report
Page 11 of 23
Payment
No. Name Type Allow
Null
Key Validate Description
1 PaymentID int No PK - The unique ID for each
payment
2 Image nvarchar(300) No - Proof of payment
3 PaymentChannel nvarchar(20) No - Payment channel (ex.
Transfer, Credit card)
4 Date datetime No - When payment is paid
5 InvoiceID int No FK-Invoice Invoice that payment has
been made for
Renter
No. Name Type Allow
Null
Key Validate Description
1 RenterID int No PK - The unique ID for
each renter
2 CitizenID nvarchar(20) No - CitizenID of renter
3 Fullname nvarchar(200) No - Fullname/Username
of Renter
4 ReneterPassword nvarchar(50) No - Password of Renter
5 Email nvarchar(100) No - Email of Renter
6 DateOfBirth date No - Renter’s date of
birth
7 EmergencyContactRelationship nvarchar(50) No - Renter’s emergency
contact relationship
8 EmergencyContactFullName nvarchar(200) No - Renter’s emergency
contact fullname
9 EmergencyCintactPhone nvarchar(20) No - Renter’s emergency
contact phone
10 MobilePhone nvarchar(20) No - Renter’s mobile
phone
11 HomePhone nvarchar(20) No - Renter’s home
phone
CS3414/IT4314 Software Engineering Final Report
Page 12 of 23
12 DateMovedOut date No - When renter moved
out
13 Remark nvarchar(1000) Yes - More information
about renter
14 RoomID int No PK-
Room
- Room that renter
rent
15 DeviceID nvarchar(100) No - Notification key of
user
16 AddressID int No PK-
Address
- Refer renter’s
resident
Room
No. Name Type Allow Null Key Validate Description
1 RoomID Big Int No PK - The unique ID for each room
2 FloorNo Integer No - Floor number where room is
located
3 RoomNo Integer No - The room number that is shown
to renter
4 BuildingID Big Int No FK - Building - The unique ID of the building
UtilityUnit
No. Name Type Allow Null Key Validate Description
1 UtilityID int No PK - The unique ID for each utility
unit
2 RoomID int No FK-Room - Room that using utility
3 Type nvarchar(50) No - Type of utility
4 Date date No - Date that record unit
5 Unit decimal(18,2) No - Amount of unit
6 RenterID int No - Refer renter’s room
CS3414/IT4314 Software Engineering Final Report
Page 13 of 23
Application Overview As motioned earlier, the application will be on mobile platform for the renters. And for the dorm
manager will be web-application based. Below, will be the mockup design for the application and its
explanations.
Dorm Renter Mobile Application
FIGURE 1: REGISTRATION
FIGURE 2: HOME SCREEN
FIGURE 3: BILL INFORMATION
Registration For first time user, the application will be prompted to scan QR code like from Figure 2, which is
generated by the dorm owner. Where the user must scan it to verify the validity and continue the setup.
For those who already have registered, the application will be redirected to the Home Screen on Figure
3.
Home Screen This screen is including overview of dormitory information, current bill (unpaid only), and recent
activities that is related to the room renter, and issues that renter sent to the owner.
Bill Payment Bill Payment Screen (Figure 4) is the screen that allow user to check and pay their bills moths by moths.
User can access this screen by clicking the bills rectangle button on Home Screen.
CS3414/IT4314 Software Engineering Final Report
Page 14 of 23
FIGURE 4: ANNOUNCEMENTS
LIST
FIGURE 5: NOTIFICATIONS
LIST
FIGURE 6: STATISTICS
News Feed (Figure 5)
A place where user can see an announcement form dormitory owner. An important message will be
marked by “!” symbol.
Notifications (Figure 6)
A place where user can see notifications. For example, an acknowledgement about received payment
from dormitory owner.
Statistics (Figure 6) In this screen, user can see a summary of their expense. For example, water/electricity usage and total
expenses per months
CS3414/IT4314 Software Engineering Final Report
Page 15 of 23
Dorm Owner’s Web-Application Portal
FIGURE 7: AUTHENTICATION SCREEN
FIGURE 8: DORM OVERVIEW
CS3414/IT4314 Software Engineering Final Report
Page 16 of 23
FIGURE 9: ROOM BILLS INFORMATION
FIGURE 10: ROOM RENTER INFORMATION
CS3414/IT4314 Software Engineering Final Report
Page 17 of 23
FIGURE 11: ROOM ISSUES INFORMATION
Authentication Screen (Figure 8) After the owner register the dorm with our system manually. It will generate credentials for the owner
to access. Owner will need to login into the portal every time using these credentials in order to continue.
Dorm Overview Screen (Figure 9) This is the dashboard for the owner to see the dormitory information at a glance. So, the owner will
know which room hasn’t paid for the bills or even see the issues that each room has created.
Room Bills Information (Figure 10)
After clicking each room, it will navigate to the room bill information where the owner can see the
historical view for that particular room. The owner will be able to see whether the bills have already
paid or not.
Room Renter Information (Figure 11) This tab will allow the owner to see and edit the renter’s personal information. For one room, there can
be more than one renter.
Room Issue Information (Figure 12) This will show the issues that the renter has filed. The owner will be able to set status for each user.
And the user will be notified once the status has been updated.
CS3414/IT4314 Software Engineering Final Report
Page 18 of 23
FIGURE 12: ROOM MOVEOUT PROCEDURE
Room Moveout Procedure (Figure 13) This tab is when the renter wants to move out. This screen will summaries all the unpaid bills and return
the deposit (if any) then the renter will be removed from the system.
Announcements (Figure 14) This is for the owner to create, edit, or delete each announcement. The owner will see all of the
announcements as a list.
CS3414/IT4314 Software Engineering Final Report
Page 19 of 23
FIGURE 13: ANNOUNCEMENT SCREEN
FIGURE 14: RECORDING UTILITIES
CS3414/IT4314 Software Engineering Final Report
Page 20 of 23
Recording water/ electricity usage (Figure 15) This screen will let the owner record the water or electricity bills for each room. This can be done
automatically in batch by using IoT meters. However, recording manually for each record is possible.
CS3414/IT4314 Software Engineering Final Report
Page 21 of 23
Cost Estimation The project belongs to “Semi-detached Mode Projects”, Semi-detached Mode Projects are those
projects made up of experienced and inexperienced staff. We have around 5 main function in the system,
and average code of line per function is 1,000, so total line of code of the system is 5,000 line of code
or 5 KDSI (thousands of delivered source instructions).
Person-Month Calculation - Effort=A(KDSI)b
o Where KDSI = thousands of delivered source instructions
- Semi-Detached Mode: PM=3(KDSI)1.12
o Where PM = person months
- Dorm management system =3(5)1.12
o =18.2 or 18 person-month
Time of Development Calculation - Semi-Detached Mode: TDEV=2.5(PM)0.35
o TDEV=2.5(PM)0.35
o = 6.87 or around 7 months
The number of people required for the project is given as:
N = E/D
= 18/7 = 2.6
= 3 persons
Cost for Development - Programmer salary = 40,000
- 3 persons = 120,000 per month
- 7 months = 840,000