Professional Documents
Culture Documents
Report3 Software Requirement Specification FamilyOKR
Report3 Software Requirement Specification FamilyOKR
3.1 Purpose
This chapter outlines functional and non-functional requirements of our system. It also
provides some format constraints in common requirements and project success criteria. The
content of this chapter is used as the basis for the work in the subsequent chapters.
B04 Parents can change objective finish time when time is over.
B07 Objective start date and end date must not be empty.
B10 The reward can only be redeemed when the number of stars is greater than or equal to the
UC-1 Parent/Children Login Login to the FamilyOKR app with your google
account.
UC-16 Parent View Group View list groups, view name, image, list
objective of a group.
UC-25 Parent Edit Objectives Edit reviews when they are the reviewers for
Evaluating that objective.
UC-26 Parent/Children View Align Objective View align objective in group and personal
objective.
UC-28 Parent/Children Delete Align Delete align objective in group and personal
Objective objective.
UC-29 Parent/Children View Mark Align View marks align objectives in group and
personal objectives.
UC-31 Parent/Children Edit Mark Align Edit mark align objective in group and
personal objective.
UC-35 Parent/Children Add Note Objective Add note objective in group and personal
objective.
UC-36 Parent/Children Edit Note Objective Edit note objective in group and personal
objective.
UC-37 Parent/Children Delete Note Delete note objective in group and personal
Objective objective.
UC-38 Parent/Children Add Note Key Result Add note key result of objective.
UC-39 Parent/Children Edit Note Key Result Edit note key result of objective.
UC-40 Parent/Children Delete Note Key Delete note key result of objective.
Result
UC-42 Parent/Children View Group Activity View all activity of members in a group.
History
UC-43 Parent/Children Create category Create new categories in group and personal.
UC-56 Admin View List Users List users in the FamilyOKR system.
UC-57 Admin View Detail User View detail a user in the FamilyOKR system.
UC-61 Admin View List Categories List Categories in the FamilyOKR system.
UC-62 Admin View Detail Category View detail a category in the FamilyOKR
system.
FamilyOKR system
account account
Priority: High
Frequency of High
Use:
Other N/A.
Information:
Assumptions: N/A.
3.2.3.1.2 LogOut
Use case specification
Exceptions: N/A.
Priority: High
Frequency of Use: High
Other N/A.
Information:
Assumptions: N/A.
Priority: High
Postconditions: N/A.
Normal Flow: 1. Parents/Children click the profile icon from bottom navigation
on the screen.
2. System displays the account’s profile including email and the list
of personal information.
Exceptions: N/A
Priority: High
Frequency of High
Use:
Assumptions: N/A.
3.2.3.1.6 Edit objective
Priority: High
Assumptions: N/A
3.2.3.1.7 Delete objective
Assumptions: N/A.
3.2.3.1.8 View objective
Assumptions: N/A.
Priority: High
Assumptions: N/A.
3.2.3.1.10 Edit key result
Assumptions: N/A.
Assumptions: N/A.
3.2.3.1.12 View key result
13 Create group
1. Users click the button Group in bottom menu navigation on
the screen.
Normal Flow: 2. Users click button “New Group” on top bar on the screen
3. Users enter name of the group
4. Users click button “Save”
5. System stored data to the database.
Assumptions: N/A
14 Delete a group
1. Users click the button Group in bottom menu navigation on
the screen.
Normal Flow: 2. Uses click on a group on the screen
3. Users button “Options”
4. Users click button “Delete Group”
5. Users click button “Delete” on the confirm dialog
6. System stored data to the database.
Alternative Flows: N/A
Priority: Normal
Assumptions: N/A
Normal Flow:
Priority: Normal
Assumptions: N/A
16 View a group
Normal Flow: 1. Users login to FamilyOKR
2. Users click the button Group in bottom menu navigation on
the screen
3. Users click in an group
Alternative Flows: N/A
Priority: Normal
Assumptions: N/A
Postconditions: N/A
Assumptions: N/A
Postconditions: N/A
Assumptions: N/A
3.2.3.1.19 View personal objective statistical
Postconditions: N/A
the screen.
2. Parents/Children are moved to statisticals personer screens.
3. System displays statistics of objectives in a personer by the
Normal Flow: current week.
4. Parents/Children click the week, month or year from the
statistical personer screen.
5. System displays choose date dialog.
6. Parents/Children choose dates to show statistics.
7. Parents/Children click OK or Save button from dialog.
8. System displays statistics of objectives in a personer on
screen.
Alternative Flows: N/A
Priority: High
Assumptions: N/A
Assumptions: N/A
24 OKR evaluating
1. Parents/children logged in to FamilyOKR
Normal Flow:
2. Parents/children click an objective in objective screen
3. Parents/children click “Mark success” or “Mark fail” in dialog
4. System show objective screen
Alternative Flows: N/A
Assumptions: N/A
3.2.3.1.22 Edit Objectives evaluating
Assumptions: N/A
3.2.3.1.23 View align objective
Postconditions: N/A
Assumptions: N/A
Postconditions: N/A
Postconditions: N/A
Assumptions: N/A
Postconditions: N/A
Assumptions: N/A
Assumptions: N/A
Priority: Normal
Assumptions: N/A
Priority: Normal
Assumptions: N/A
Assumptions: N/A
3.2.3.1.31 Edit note key result
Priority: Normal
Frequency of Use: Normal
Assumptions: N/A
3.2.3.1.32 Delete note key result
Priority: Normal
Assumptions: N/A
3.2.3.1.33 View personal activity history
Postconditions: N/A
Priority: Medium
Assumptions: N/A
3.2.3.1.34 View group activity history
Use case specification
Postconditions: N/A
Assumptions: N/A
43 Create category
1. Parents/Children click the button Group in bottom menu
Assumptions: N/A
3.2.3.1.36 Delete category
44 Delete category
1. Parents/children click “New objective” in top bar navigation
Normal Flow: 2. Parents/children long click to a category in the list
3. Parents/children click button “Delete”
4. Parents/children click button “Delete” in confirm dialog
5. System show list category screen.
Alternative Flows: N/A
Assumptions: N/A
3.2.3.1.37 View category
45 View category
Normal Flow: 1. Parents/Children click the button Group in bottom menu
Assumptions: N/A
46 Edit category
1. Parents/children click “New objective” in top bar navigation
Assumptions: N/A
Postconditions: N/A
Assumptions: N/A
3.2.3.1.40 Add align objective
Use case specification
Assumptions: N/A
2.
System show dialog open objective.
Normal Flow: 3.
Parents click the open objective from dialog.
4.
System show alignment screen.
5.
Parent click delete button of objective in listview on
alignment screen.
6. System show confirm delete align dialog.
7. Parent click save button on dialog.
Alternative Flows: N/A
Priority: High
Assumptions: N/A
3.2.3.1.42 Mark align
Assumptions: N/A
Assumptions: N/A
3.2.3.1.44 Change Category
Use case specification
52 Change category
1. Parents/children logged in FamilyOKR
2. Parents/children click an objective name
Normal Flow: 3. Parents/children click option
4. Parents/children click “Edit objective”
5. Parents/children click on category name
6. Parents/children click a category
7. System show edit objective dialog
Alternative Flows: N/A
Assumptions: N/A
3.2.3.2 Parent
3.2.3.2.1 Add member
Use case specification
Assumptions: N/A
3.2.3.2.2 Delete member
Assumptions: N/A
3.2.3.2.3 Search member
Use case specification
Postconditions: N/A
Assumptions: N/A
Assumptions: N/A
3.2.3.2.5 Create reward
Use case specification
Assumptions: N/A
Assumptions: N/A
Assumptions: N/A
3.2.3.3 Children
3.2.3.3.1. Exchange reward
Use case specification
Assumptions: N/A
3.2.3.4 Admin
3.2.3.4.1 Login Admin
Use case specification
Preconditions: PRE-53.1. Admin account has been set up and username password
has been create
Assumptions: N/A
Assumptions: N/A
3.2.3.4.4 View list users
Use case specification
Assumptions: N/A
Postconditions: N/A
Assumptions: N/A
3.2.3.4.6 Edit user
Assumptions: N/A
3.2.3.4.7 Delete user
Assumptions: N/A
Postconditions: N/A
Assumptions: N/A
3.2.3.4.9 View list Categories
Use case specification
Postconditions: N/A
Assumptions: N/A
Postconditions: N/A
Assumptions: N/A
Assumptions: N/A
3.2.3.4.12 Delete category
Assumptions: N/A
3.2.3.4.13 Search categories
Use case specification
Postconditions: N/A
Assumptions: N/A
3.2.3.4.14 Create Category
Use case specification
Assumptions: N/A
Postconditions: N/A
Assumptions: N/A
3.3.3 Usability
● User interface should be clear and easy to use
● Main functions are organized into tabs for easier access.
● Links, buttons, and checkboxes are easily clickable.
● Important commands are displayed as buttons with distinct background colors.
3.3.4 Performance
● Using HTTP/2 for API, which uses a single, multiplexed connection to allow multiple requests to
be sent on the same connection instead of establishing a new connection for each request,
increases speed of request-response.
● Application font-end with the goal of providing a more fluid user experience.
● Using Microsoft Azure, Linux Virtual Machine for storage, hosting and deployment.
3.3.5 Maintainability & Extensibility
● Apply microservices architecture for Web Service.