Business Requirements
The following section describes the business requirements, what the system should able to do, of the Piper-kt project.
To capture these business requirements, we used use case diagrams and textual descriptions of them.
User Login/Signup
A user, who accesses to Piper-kt service, should be able to:
Register a new account (Signup)
- Actor: User
- Preconditions: The user is not registered in the system.
- Postconditions: The user is registered in the system.
- Main Success Scenario:
- The user accesses the registration page.
- The user fills in the registration form with the required information.
- The user submits the registration form.
- The system validates the registration information.
- The system creates a new account for the user.
- The system redirects the user to the login page.
- Extensions:
- A1: The user enters invalid information.
- The system displays an error message.
- The user returns to step 2 and corrects the information.
- A2: The user already has an account.
- The system displays an error message.
- The user returns to step 2 and enters different information.
- A1: The user enters invalid information.
Login
- Actor: User
- Preconditions: The user is registered in the system.
- Postconditions: The user is authenticated in the system.
- Main Success Scenario:
- The user accesses the login page.
- The user enters the username and password.
- The user submits the login form.
- The system validates the login information.
- The system authenticates the user.
- The system redirects the user to the home page.
- Extensions:
- A1: The user enters invalid information.
- The system displays an error message.
- The user returns to step 2 and corrects the information.
- A2: The user does not have an account.
- The system displays an error message.
- The user returns to step 2 and enters different information.
- A1: The user enters invalid information.
Authenticated User
After performing authentication, a user acquires the ability to perform numerous actions, which cover different areas. The following use cases are identified for an authenticated user:
Modify User Settings
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The user settings are updated.
- Main Success Scenario:
- The user accesses the settings page.
- The user modifies the settings.
- The user saves the changes.
- The system updates the user settings.
- The system displays a success message.
- Extensions:
- A1: The user enters invalid information.
- The system displays an error message.
- The user returns to step 2 and corrects the information.
- A1: The user enters invalid information.
Get Notifications
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The user receives notifications.
- Main Success Scenario:
- The system retrieves the user's notifications.
- The system displays the notifications to the user.
- Extensions:
- A1: The user has no notifications.
- The system does not display any notifications.
- A1: The user has no notifications.
Send Friend Request
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The friend request is sent.
- Main Success Scenario:
- The user enters the friendship request page.
- The user selects the user to send the request.
- The user sends the request.
- The system sends the request to the other user.
- The system displays a success message.
- Extensions:
- A1: The user selects an invalid user.
- The system does not send the request.
- A1: The user selects an invalid user.
Accept/Reject Friend Request
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The friend request is accepted or rejected.
- Main Success Scenario:
- The user accesses the friend requests page.
- The user selects a friend request.
- The user accepts or rejects the request.
- The system updates the request status.
- The system updates the user's friends list.
- The system displays a success message.
- Extensions:
- A1: The user does not have any friend requests.
- The system does not display any requests.
- A1: The user does not have any friend requests.
Create Server
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The server is created.
- Main Success Scenario:
- The user accesses the server creation page.
- The user fills in the server information.
- The user creates the server.
- The system creates the server.
- The system adds the user as the server administrator.
- The system displays a success message.
Join Server
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The user joins the server.
- Main Success Scenario:
- The user accesses the server list.
- The user enters the server id.
- The user joins the server.
- The system adds the user to the server.
- The system displays a success message.
- Extensions:
- A1: The user enters an invalid server id.
- The system displays an error message.
- The user returns to step 2 and enters a valid server id.
- A1: The user enters an invalid server id.
Server Admin
A user, after creating a server, becomes its administrator. This allows access to management features for it, among which the following can be highlighted:
Update Server Info
- Actor: Server Admin
- Preconditions: The user is the server administrator.
- Postconditions: The server information is updated.
- Main Success Scenario:
- The server admin accesses the server settings.
- The server admin modifies the server information.
- The server admin saves the changes.
- The system updates the server information.
- The system displays a success message.
- Extensions:
- A1: The server admin enters invalid information.
- The system displays an error message.
- The server admin returns to step 2 and corrects the information.
- A1: The server admin enters invalid information.
Delete Server
- Actor: Server Admin
- Preconditions: The user is the server administrator.
- Postconditions: The server is deleted.
- Main Success Scenario:
- The server admin accesses the server settings.
- The server admin deletes the server.
- The system removes the server.
- The system displays a success message.
Kick User from Server
- Actor: Server Admin
- Preconditions: The user is the server administrator.
- Postconditions: The user is removed from the server.
- Main Success Scenario:
- The server admin accesses the server settings.
- The server admin selects the user to remove.
- The server admin removes the user.
- The system removes the user from the server.
- The system displays a success message.
Create Channel (Text or Multimedia)
- Actor: Server Admin
- Preconditions: The user is the server administrator.
- Postconditions: The channel is created.
- Main Success Scenario:
- The server admin accesses the channel creation page.
- The server admin fills in the channel information.
- The server admin creates the channel.
- The system creates the channel.
- The system displays a success message.
Update Channel
- Actor: Server Admin
- Preconditions: The user is the server administrator.
- Postconditions: The channel is updated.
- Main Success Scenario:
- The server admin accesses the channel settings.
- The server admin modifies the channel information.
- The server admin saves the changes.
- The system updates the channel information.
- The system displays a success message.
Delete Channel
- Actor: Server Admin
- Preconditions: The user is the server administrator.
- Postconditions: The channel is deleted.
- Main Success Scenario:
- The server admin accesses the channel settings.
- The server admin deletes the channel.
- The system removes the channel.
- The system displays a success message.
Friends interaction
Two users, after befriending each other, have the ability to interact with each other in the following ways:
Join Session with friend
- Actor: User
- Preconditions: The two users are friends.
- Postconditions: The users are in a multimedia session.
- Main Success Scenario:
- The user accesses the friend's profile.
- The user selects the option to join a session.
- The system creates a multimedia session.
- The system adds the two users to the session.
- The system displays the multimedia session.
Send message to friend
- Actor: User
- Preconditions: The two users are friends.
- Postconditions: The message is sent.
- Main Success Scenario:
- The user accesses the chat with the friend.
- The user writes a message.
- The user sends the message.
- The system delivers the message to the friend.
- The system displays the message in the chat.
User in a Server
A user participating in a server has the following abilities:
Send message in text channel
- Actor: User
- Preconditions: The user is in a server.
- Postconditions: The message is sent.
- Main Success Scenario:
- The user accesses the text channel.
- The user writes a message.
- The user sends the message.
- The system delivers the message to the channel.
- The system displays the message in the channel chat.
Join a multimedia channel
- Actor: User
- Preconditions: The user is in a server.
- Postconditions: The user is in a multimedia session.
- Main Success Scenario:
- The user accesses the multimedia channel.
- The user joins the multimedia session.
- The system adds the user to the session.
- The system displays the multimedia session.
Leave the Server
- Actor: User
- Preconditions: The user is in a server.
- Postconditions: The user leaves the server.
- Main Success Scenario:
- The user accesses the server settings.
- The user selects the option to leave the server.
- The system removes the user from the server.
- The system displays a success message.
- Extensions:
- A1: The user is the server administrator.
- The system displays an error message.
- The user returns to step 2 and selects a different option.
- A1: The user is the server administrator.
Multimedia Session
A user in a multimedia session, either in a private one with a friend or in a channel, has the ability to:
Enable/Disable microphone
- Actor: User
- Preconditions: The user is in a multimedia session.
- Postconditions: The microphone is enabled or disabled.
- Main Success Scenario:
- The user accesses the multimedia session settings.
- The user enables or disables the microphone.
- The system updates the microphone status.
Enable/Disable webcam
- Actor: User
- Preconditions: The user is in a multimedia session.
- Postconditions: The webcam is enabled or disabled.
- Main Success Scenario:
- The user accesses the multimedia session settings.
- The user enables or disables the webcam.
- The system updates the webcam status.
Exit from Session
- Actor: User
- Preconditions: The user is in a multimedia session.
- Postconditions: The user exits the session.
- Main Success Scenario:
- The user selects the option to exit the session.
- The system removes the user from the session.
- The system displays a success message.