Uploaded by Hoa Nguyen

ISYS2089 A2 Group3.docx

advertisement
ISYS2089 – Software Engineering Fundamentals
“Project 3 - Garbage Segregation”
Software Requirements Specification (SRS)
Group 3
Nguyen Anh Duy (s3878141)
Dao Kha Tuan (s3877347)
Nguyen Luu Quoc Bao (s3877698)
Nguyen Trong Minh Long (s3878694)
Date: 27/07/2021 – 22/08/2021
Group3
Page 1
Table of Contents
1.
2.
3.
Introduction
3
1.1.
Purpose
3
1.2.
Scope
3
Functional Requirements
6
2.1.
Use case diagrams
6
2.2.
Use cases (individual)
6
2.3.
Activity Diagrams
17
References
Group3
18
Page 2
1. Introduction
1.1. Purpose
The undesirable rise of littering has severely caused tremendous consequences to the
community, which seriously damage the ecosystem, harm the environment, and diminish human
life quality. These problems are always a critical topic of discussion, not only in Vietnam but also
around the globe. Since then, people have investigated various approaches to tackle the issue,
include garbage separation and recycling methods. Yet, people seem to struggle in following the
regulations and not strictly segregate the garbage. Regarding this issue, our team decided to
assist company 3M (Mobility, Multi-stakeholder, Money for all) with their initiatives in
constructing flexible and multi-functions mobile applications. The application targets three types
of users: household citizens, garbage collectors and business stakeholders. Through the
implementation of the application, we hope that the littering issue can be gradually resolved to
reduce pollution rates, efficiently enhance the garbage segregation process, and create
opportunities for businesses to deliver their goods in an environmental-friendly approach. This
SRS here is to summarize how the apps flow and show the connection between household users,
garbage collector and the stakeholder staff. Some of the features in the application are inspired
by an app called mGreen [1], which also help users segregating the garbage. Regarding to the
Software Requirement Specifications (SRS), this report will carefully address the details of this
system, an overview of the app mechanics that includes some particular use cases, and the
expected outcomes from a user perspective.
1.2. Scope
The application is named “Garbage Segregation App” which provides three different
interfaces for Household Users, Garbage Collectors, and Stakeholder Staff. Based on the type of
account, the application automatically changes the user interface and available features
(functions) for that type of user.
This application’s mechanism can be simply summarized as sorting the wastes, checking the
garbage segregation and delivers/ receive points, which can be used to exchange for goods / gifts
from other companies. In terms of household users' side, this application allows these users to
segregate garbage by scanning the trash to sort the waste in the appropriate bag (organic,
inorganic, recyclable). Moreover, household users can view information to keep track of their
account or the system such as their bonus point history, the conversion table and a list of
potential gifts distributed by the companies. Furthermore, the system implements the usability of
the QR code to help household users register information and inform the garbage collectors to
collect their waste bags without leaving their home through a feature called request garbage
collection. When household users have enough points, they can exchange gifts by choosing a
goods provided by a list of companies (stakeholders) that they want based on the relevant points
and send a request to receive that gift to the stakeholder staff. Besides, they can invite their
friends to use the app by giving invitation codes to other household users, which also helps them
earn more points. With regards to the garbage collectors, they can check garbage by examining it
to a set of rules and give household user points if the requirements are met. In addition, they can
response to the household users' request to track the location and confirm if they could come and
collect garbage. Lastly, for the stakeholder staff, there are two main functions which are approval
gifts when receiving an exchange request from household users and change information which
allows the staff to directly adjust and modify data such as the conversion table or the list of
Group3
Page 3
available gifts. One special circumstance for stakeholder staffs is that each company will have
their own staff to represent their company, and they will establish a committee that holds a
meeting monthly to ensure the integrity of the system by checking the conversion table, business
rules, and discuss about the gifts that they can offer with the suggested points. If all members of
the committee agree, then the stakeholder staff can append their gifts in the application.
Unfortunately, due to the restricted time and technical aspects, this application will not
cover the delivery system after the stakeholder staff approve the exchange request from
household users. Transferring gifts will be outsourced for delivery companies instead. Moreover,
for clarification, the system assists the garbage collector to check the segregated garbage by
providing a set of rules to check if household users have followed it, however, most of the
process are done manually by garbage collectors, so the system will not have any scanning
method for the collectors to check the sorted garbage.
By using this app, household users will know how to sort their garbage appropriately to
help them earn points, which can be used to exchange gifts such as coupons or items. In other
words, household users can get valuable items from segregating the wastes. In the long term,
they can save a great amount of money and make a paramount contribution to protect the
environment and cut down substantial amounts of garbage which are pernicious to the
environment. The primary goal of this application is to encourage household users to segregate
garbage so that they can protect the environment from pollution. In tandem with segregating
garbage, household users can earn points given by the collectors, which can be used to exchange
bargains. The objective of this application includes helping household user recognize the
importance of garbage segregation, prevent household users’ habit of littering, and giving
household users valuable gifts if they complete segregating in a long term. Our goals towards
building the system are to provide clear instructions and/or a feature to help users segregate the
waste appropriately, fasten the waste collecting processes and motivate users to protect the
environment. In terms of business goals, this application will also raise awareness of household
users about the companies, which helps stakeholders gain traction.
Side
Feature
Description
Segregate
In
scope
Household
users
garbage
Household users use a camera on the smart
device to scan the garbage and get the result of
which type those pieces of garbage in.
View
information
Household users can view the information
including view bonus point history, view list of
potential gifts, and view conversion table.
Exchange gifts
Household users can exchange gifts such as
vouchers using their accumulated points.
Request garbage
collection
Group3
Household users can request to get their
segregated garbage collected by scanning QR
code.
Page 4
Collectors
Stakeholder
Staff
Out scope
Invite friends
Household users invite their friends to
download the app.
Check garbage
Collectors will look at the list of processes and
regulations provided
Give points
Collectors give the points to household users
by scanning QR code if they segregated truly.
Response
collection
request
Collectors can accept, deny, or pend the
household users’ request
Approve gifts
Staff can accept the request of exchanging gifts
from household users.
Staff can change information regarding the list
of potential gifts and details of the conversion
table.
The collectors must check the garbage
segregation manually by observing the
Checking
segregation rules provided by the app. The
garbage (by
system cannot immediately check the
scanning)
segregation by any other approaches (scanning,
etc.)
The app will not connect with delivery
Delivery gifts
company to transfer gifts. This will be
processed in another process.
Table 1. A brief description of what the app does.
Change
information
1.3. Definition, Acronyms and Abbreviations
Garbage Collector: A staff member who collects the household’s garbage and has the authority
to give points to the households by checking their garbage segregations.
Stakeholder staff: A representative from the stakeholder company to manage the application
comprising term of use, potential gifts, and rules.
QR code: A QR code will be attached to the household user's garbage packs to uniquely identify
a household and it is also used to send the request for collecting garbage to the system. For
clarification, the QR code contains the location of the place that requested for collecting the
garbage.
Conversion table: This table records the regulations and set of rules when garbage collectors
deliver points to household users (for instance, each waste bag can convert to how many points,
each type of waste bag worth how many points – recyclable wastes might get more points than
organic and inorganic wastes)
Potential Gifts: These are the gifts & goods that are available for household users to exchange.
The list of gifts will be updated monthly by the stakeholder staff committee as mentioned above.
Group3
Page 5
Bonus point history: A table records the number of points that the household user receives after
each time their garbage has been examined and collected.
2. Functional Requirements
2.1. Use case diagrams
Figure 1: Use-case Diagram
<Adopted from: https://lucid.app/lucidchart/invitations/accept/inv_5c5d0e14-7f9a-4fa0-b7e6-baf2e5e51d1b [2]>
According to the use case diagram, there is one primary user who is household user. Household
users have a function to segregate garbage by scanning waste, which is to know which type the
scanned waste belongs to. This function solves the problem that household users do not know
what kind of garbage is. Household users can also view information including history,
conversion table, and view potential gifts. Household users may exchange gifts while viewing
potential gifts. The goal of those function is to provide information for household users as they
Group3
Page 6
must know what they will earn or have earned while doing segregation. Furthermore, household
users request collectors to collect their garbage without leaving home. This function will help
people who do not have much time to bring garbage to the required areas. They can also invite
friends to earn more points.
In terms of secondary household users, the stakeholder staff, who is a staff member of
stakeholders’ company must have right to approve gifts, which means accepting the gift for the
household users, change conversion table for adjusting the points received, and change the
potential gifts when the gifts are out of stock or when the stakeholders’ company change the
stock.
Another secondary household user is collectors, they can give points to household users if they
have segregated well by scanning QR code. This function is to give points to the household user
for their exchanging. Moreover, collectors can respond to household users, which is to create an
interaction between collectors and household users.
2.2. Use cases (individual)
A user can be both primary and secondary. For instance, when the garbage collector approves
request to collect garbage from user, they are secondary, however when checking garbage and
deliver points, the action represents that the collector is actually the primary role. Therefore, we
believe that we only describe users by their roles, not determine their primary or secondary user
a) Household users use-case:
Use Case Name
Exchange gift
Version
Goal
1.0
Get the gift using accumulated points
Actor
Household users
Description
When a household exchange gift, the system checks if they have
accumulated enough points and announces that they have successfully
exchanged when successful.
Pre-conditions
Household must accumulate enough points
Trigger
Households choose the exchange option
Basic course
events
Group3
of
1.
2.
3.
4.
Households click on the view potential gifts option
Households click on the expected gift
Households click on the exchange button
The system minus the accumulated points equal to the gift
points on household account
5. The system announces household the status of the exchanging
6. Repeat from step 2 – 6 for each gift
7. End of use case
Page 7
Alternative paths
1a. Return option
1. Household select return option
2. End of use case
3a. Unavailable gift
1. The system checks that the gift is out of stock.
2. System sends an error announcement to the household
3. Return to step 1
4a. Not enough points
1. System checks that the point is not enough.
2. System sends an error announcement to the household
3. Return to step 1
Post-conditions
Households can receive the gifts and their account’s points are
deducted an amount equals to the sum of gifts’ point values.
Business rules
The stakeholder staff must be able change the potential gifts in the app
Author and date
Nguyen Luu Quoc Bao
10th August 2021
Use case 1. Exchange gift
Use Case Name
Request garbage collection
Version
1.0
Goal
Request garbage collection.
Actor
Household users
When household request collection, the garbage collector will response
and come to the household’s house as an appointment to collect
garbage
Household users must have already attached the QR code to the waste
bags
Description
Pre-conditions
Trigger
Basic course
events
Group3
Household users scan the QR code to send the request
of
1.
2.
3.
4.
5.
6.
7.
8.
Households scan a QR code.
A request must be sent to a garbage collector
A random garbage collector will response to the request
The garbage collector came to the household user location
The collector checks if the garbage is sorted properly
The collector collects the garbage
The garbage collector brings garbage to the garbage factory
End of use case
Page 8
Alternative paths
3a. Garbage collector reject
1. Collectors deny the request
2. Send a request to another collector
3. Move to step 3
5a. No garbage found
1. The collector cannot see the garbage
2. The collector sends notification to the household to find the
garbage
3. Move to step 6
Post-conditions
Households can give garbage to the collection area with support of
garbage collectors.
Business rules
The garbage collector must commit to collect garbage as response.
Author and date
Nguyen Luu Quoc Bao
10th August 2021
Use case 2. Request garbage collection
Use Case Name
View information
Version
1.0
Goal
Users can view information regarding the system and their account
Actor
Household user
Description
Users can select up to 3 options: views bonus point history, conversion
table and list of potential gifts
Pre-conditions
None
Trigger
Users select to view information
Basic course of
events
Alternative paths
Post-conditions
Group3
1.
Users click on the view information
2.
System displays three options
3.
Users choose to view bonus point history, conversion table or
list of potential gifts.
4.
System displays information based on the option.
5.
End of use case
2a. Return option
1.
Users select return option
2.
End of use case
Users can choose the collection area where they want their trash to be
collected.
Page 9
Business rules
None
Nguyen Trong Minh Long
10th August 2021
Use case 3. View information
Author and Date
Use Case Name
Invite friends
Version
1.0
Goal
Invite other household users to use the app
Actor
Household users
Description
When the user feels like the app is good and wants to share with others,
the user can send invitations to others to use the app.
Pre-conditions
Only household users can use this function, not garbage collector
Trigger
Users choose the invite friend's option
Basic
events
course
of
1.
2.
3.
4.
User selects invite friend option
System receives request from household
Display code for friends to enter
End of use case
Alternative paths
3a. Return option
2.
Users select return option
3.
End of use case
Post-conditions
Users can invite others to download and register an account for this app.
Business rules
None
Author and Date
Nguyen Trong Minh Long
10th August 2021
Use case 4. Invite friends
b) Garbage Collector use-case:
Use Case Name
Version
Group3
Check garbage & give points
1.0
Page 10
Goal
Summary
Actor
Precondition
Triggers
Basic Course of Events
Alternative paths
Group3
To examine if the garbage has been
segregated appropriately and deliver the
points to which household user the garbage
belongs.
The garbage collector will manually check if
the garbage has been segmented into the
correct type of bins and if it is correct, the
collector will identify the household user of
that garbage and deliver bonus points to that
collector account.
Household user and garbage collector
There is at least one garbage in the factory for
the garbage collector to examine
The garbage collector wants to check if the
garbage is correctly segmented and deliver
bonus points for the household user of that
garbage.
1. The garbage collector checks if the waste
is correctly segmented (manually)
2. The application will scan the garbage to
check if it is placed in the suitable bin
3. The application will display a result to
check if the garbage is appropriately
segregated or not
4. If the garbage was completely segregated,
the collector will scan the QR code to
identify the household user
5. The admin will transfer the bonus points
to the user account based on the number of
garbage that the household user has.
6. After the account is updated, a message is
sent to the user application to inform
about their new bonus points balance.
7. End of use case
2.1 The user did not segregate the waste
appropriately:
1. Use case will continue from step 1 to
step 3 in normal flow.
2. After recognizing that the waste is not
segregated appropriately, the garbage
collector will carry out step 4 to find
the household user.
3. The collector will then send a
notification to inform a particular user
that they failed to segregate the
Page 11
Post – conditions
Business rules
Author and Date
Use Case Name
Version
Goal
Summary
Actor
Precondition
Triggers
Basic Course of Events
Alternative paths
Group3
garbage and there will not be any
bonus points.
4. Return to step 1
4.1 The garbage did not have the QR code:
1. The garbage collector will move to the
next garbage.
2. Return to step 1
The user will receive bonus points from the
garbage collector.
The bonus points for each garbage are
determined by garbage collector only, and
users can check their balance / history to view
their bonus points progress.
Nguyen Anh Duy
13th August 2021
Use case 5. Check garbage and give points
Response to collection request
1.0
To receive collection request from user and
collect the garbage at that location
The garbage collector will use the application
to find a place for collecting garbage.
Garbage collector and household user
There must be at least 1 request from the
application sent to the garbage collector
The system receives requests to collect
garbage from users.
1. The application sent a list of collection
requests to garbage collectors.
2. A garbage collector accepts a
collection request
3. If accepted, the garbage collector will
go to that location and collect garbage
4. The application will update the next
collection request.
5. Return to step 2.
6. End of use case.
1.1 User cancel the request:
1. User chooses the cancel option.
2. The system sends a notification to
collector to cancel the request.
3. The collector cancels the request and
return to step 2.
Page 12
Post – conditions
Business rules
Author and Date
3.1 The collector rejects the request:
1. Collector will select the option to
reject the collection request.
2. The collection request will be sent to
the other collector.
3. Return to step 1.
The garbage is collected and sent back to the
factory for later verification
The location for collecting garbage must be
clear for garbage collector
Nguyen Anh Duy
13th August 2021
Use case 6. Response to collection request
c) Stakeholder Staff Use-Case:
Use Case Name
Version
Goal
Summary
Actor
Precondition
Triggers
Basic Course of Events
Alternative paths
Group3
Approve gifts
1.0
To approve the user’s request to exchange
points for gifts.
The user will send a request to exchange
points for gifts through the application to the
stakeholder staff so the stakeholder staff can
approve the request and deliver the gifts.
Stakeholder staff and household users.
The user requests to exchange at least one gift
The system receives the request to exchange
points for gifts.
1. The application will display an
announcement of the request to
stakeholder staff.
2. The stakeholder staff will recognize
the request.
3. The stakeholder staff will fulfill the
request and send notification to users
that the gifts are being delivered.
4. Use case ends when the gifts are
delivered to users and the stakeholder
staff close the request.
5.1 The request cannot be fulfilled:
3. Use case will continue from step 1 to
step 4.
4. The stakeholder staff will send
notification to users to inform that the
Page 13
Post – conditions
Business rules
Author and Date
Use Case Name
Version
Goal
Summary
Actor
Precondition
Triggers
Basic Course of Events
Alternative paths
Group3
request cannot be fulfilled and cancel
the request.
5. The use case will return to step 1 and
continue.
The user will receive the gifts from the
stakeholder staff.
The gifts will be offered and changed by the
stakeholder staff. If the gift is out of stock or
the points are not enough to exchange the
gifts, the request cannot be fulfilled.
Dao Kha Tuan
9 August 2021
Use case 7. Approve gifts
Change information
1.0
To modify regulations relating to the
conversion of points to gifts such as
conversion table or potential gifts.
The stakeholder staff will use the application
to change the conversion table or potential
gifts and the user can view these changes.
Stakeholder staff and household users.
The stakeholder staff must have at least one
modification in the regulations relating to the
conversion of points to gifts.
The system receives a request to change
regulations relating to the conversion of
points to gifts.
1. The stakeholder staff opens the
application.
2. The application will offer modification
options for the stakeholder staff to
choose.
3. The stakeholder staff will choose to
modify whether the conversion table
or the potential gifts.
4. The stakeholder staff will confirm all
the changes to the application.
5. Use case will end when all the
changes are applied, and user can view
these changes.
4.1 Changes cannot be confirmed due to some
violations in business rules:
Page 14
Post – conditions
Business rules
Author and Date
Group3
1. The stakeholder staff will make other
modifications that follow the business
rules.
2. The use case will return to 2 and
continue.
All changes about the regulations relating to
the conversion of points to gifts will be
applied and every user can view these
changes on the application.
All the modifications must always follow the
business rules that are composed and
approved by the stakeholders.
Dao Kha Tuan
9 August 2021
Use case 8. Change information
Page 15
2.3. Activity Diagrams
Group3
Page 16
Figure 2: Activity Diagram
Adopted from <https://lucid.app/lucidchart/6a536fe7-4268-4e33-b417-4c135344e52d/view?page=0_0# [3]>
The activity diagram above illustrates the simplified action flow of the application. There is a
total of 4 swim lanes: household user, system, garbage collector, and stakeholder staff.
The main function from the household user side is segregate garbage, which will be divided into
three waste bags (organic, inorganic, recyclable). Firstly, if the user does not know how to
segment the garbage, the application provides a feature to help the user scan the waste, then the
system will display the type of waste that it belongs to, to help the user segregate into the
appropriate waste bag. Otherwise, they can segregate the garbage by themselves. After
segregation, the user can select the request collection option, which will send a message to
inform that the garbage is ready to be collected, by attaching the QR code to the waste bags and
scan it to send their location and contact information to the system. Apart from the main
functions, users can select to view account’s information, for instance, their bonus point history,
the conversion table, or the list of potential gifts from the companies/stakeholders. Especially,
when viewing the list of gifts, users can select to exchange specific gifts based on the points they
are currently having, by selecting the gifts they want and choosing the option to send the request
to the stakeholder staff. The last option that users can select is to get the invitation code for
friends to enter when they install the application on their mobile devices.
The garbage collector can be considered both primary and secondary user, with an only
exception that their activities are mostly depends on the household user side, which means that
the user must carried the previous actions first before coming to the garbage collector side. The
first function from the garbage collector application is to response to the collection request
from the user. When the system receives user request, it will transfer the information to the
garbage collector, they can decide to accept or deny the request. If the collector denies, the
request is sent to another collector, whereas accepting the request will let the collector come to
the location and do another action: checking garbage and distributing bonus points. If there is no
garbage found in that location, the collector can contact the user through the information
provided, or they can select to inform the system that there is missing garbage. If the
user manages to segregate the waste bags appropriately, the collector will scan the QR code to
get the user account, deliver bonus points as well as update the points history according to their
waste bag. Finally, they will collect the garbage and send a notification to inform the user.
The last primary user is the stakeholder staff, which can modify information and mostly acts as
an admin of the application. Firstly, the stakeholder staff can approve the request to exchange
gifts from the user. When the request is sent to the stakeholder staff, he/she will initially check if
the account has sufficient points, and the gift is not out of stock. If both conditions are satisfied,
the request will be approved by the stakeholder staff, then he/she will send a notification to
inform the user, update the account’s point and process the gifts so it can be delivered to the user.
For some unexpected situations, if the user has not received the gift yet after a long waiting
period, the user can immediately send the notification to inform stakeholder staff. Then, their
offer will be reviewed and get back to the processing step. Another action that stakeholder staff
can do is change information regarding the details about conversion table or the list of potential
gifts. The stakeholder staff will initially send the request to get access to the system, he/she then
adjust and modify their requested changes to the data, and the system will validate if it meets the
Group3
Page 17
business rules (product standards/integrity/standards…). If it satisfies the condition, the
changes will be implemented by the system and send a notification to inform stakeholder staff
that the information has successfully changed.
3. References
[1] mGreen, "Giới thiệu chung - Mgreen", Mgreen, 2021. [Online]. Available:
https://mgreen.vn/gioi-thieu-chung/. [Accessed: 30- Jul- 2021]
[2] Lucidchart. 2021. Use Case Diagram. [online] Available at:
<https://lucid.app/lucidchart/invitations/accept/inv_5c5d0e14-7f9a-4fa0-b7e6-baf2e5e51d1b>
[Accessed 12 August 2021].
[3] "Activity Diagram SEF Milestone 1: Lucidchart", Lucid.app, 2021. [Online]. Available:
https://lucid.app/lucidchart/6a536fe7-4268-4e33-b417-4c135344e52d/view?page=0_0#.
[Accessed: 22- Aug- 2021].
Link to Trello Platform:
https://trello.com/invite/b/i7wHzhE4/62abe2817048d1d9862995c7413b4304/milestone-1-softwa
re-requirement
Link to OneDrive repository:
https://rmiteduau-my.sharepoint.com/:f:/g/personal/s3878141_rmit_edu_vn/EndQyWiuc-lKuchgaSDV_EB6_HNbErPuVYYBj-eaibXNw?e=94q0t7
Group3
Page 18
Download