23
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

ASSUMPTION UNIVERSITY CS3414 / IT4314 SOFTWARE …

  • 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 6 of 23

Database design

Relational Schema

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

CS3414/IT4314 Software Engineering Final Report

Page 22 of 23

Project Schedule

The main activity of the overall project is representing as a form of Gantt Chart, which the shortest path

of this project is finish within 195 days, and maximum is 200 days.