Skip to content
Netanel Draiman edited this page Mar 21, 2016 · 17 revisions

Software Requirements Specification

Project Information

  • Name: Project 'Hands'
  • Team
    • Netanel Draiman
    • Dan Draiman
    • Ihab Zhaika
    • Ruby Lichtenstein

Related Documents


Table of Contents

Introduction

Goal

The application will allow the organization to document and manage Renovation Projects in an easy, user-friendly and efficient way.

In addition, the application will have an option to export data into an external file.

Documentation Parameters

  • Amount of volunteers
  • Volunteers' details
  • Renovation project duration
  • Amount of money invested
  • What was renovated in the scope of the project
  • Renovation site address and details
  • Referrer to the renovation site

Renovation Team Management

  • Team chat room - per renovation team
    • Pin important information
    • Allow private messages ("Whisper")
  • Team members' RSVP status
  • Task list management and task assignment
  • Required tools list
  • Project schedule

Scope

The application will be designed in Server-Client model

Back-End

  • Data persistence using a Database
  • Chat system
  • User verification
  • User permissions (Admin, Team Manager, Volunteer, Guest)

Front-End

  • Calendar view showing all the scheduled projects
  • User Signup system
  • User Login system
  • User profile (private \ public)
  • View project information
  • Chat system
  • [Team Manager] Update project information

System Limitations

  • No money transfers (e.g. buying tools and construction materials)
  • No file transfers
  • System access requires devices capable of running web applications (e.g. smartphones, laptops etc)

Performance and Reliability

  • User information will be accessible either to all registered users or only to site admin (depends on user preferences)
  • The application will be optimized for mobile devices as well as desktop/laptop computers

Glossary

Term Description
1 Volunteer A user with permission to join projects
2 Team Manager A user with all of volunteer's permissions as well as permissions to assign volunteers to project and updated project info
3 Renovation Site Address and Info of the project site
4 Owner Owner of the apartment/building of the renovation site

Overview

The rest of the document contains:

  • Use-Case diagrams
  • User Stories
  • Other / Non-functioanl Requirements
  • User Interface Prototype
  • Requirements Table (optional)

Use Cases

Actor and Stakeholder Table

Actor Interests
1 Volunteer System signup, project signup
2 Team Manager Managing projects pool and assigning volunteers to projects
3 Owner Have his house/apartment renovated
4 Guest Can view homepage containing organization information and can send sign up form to become a volunteer

Main Use-case Diagrams

main-uc-diagram


Use-Case 1

| Subject | Description |
|-----------|----------------------|-------| | Scenario Name | Volunteer Sign-up | | Main Actor | Guest | | Goal | Request to join the organization as a volunteer | | Scope | Sign-up system | | Description | A Guest will be able to request to join the organization as a volunteer. To do so, he must fill out a sign-up form and wait for approval | | Trigger | Filling and Submitting a Sign-Up form | | Prerequisites | None | | Successful completion conditions | Form sent for review by Admin/Manager | | Failure end conditions | Missing required form parameters, Form failed to send | | Scenario major success |

  1. Guest presses "Sign-Up" button
  2. Fills form with all the required parameters
  3. Submits Form
  4. Form sent successfully
  5. Show explanation that sign-up requires approval and takes time
| | Extensions ( errors ) | Connection problem while submitting form |

Use-Case 2

| Subject | Description |
|-----------|----------------------|-------| | Scenario Name | Create Project | | Main Actor | Admin | | Goal | Create project page with the project information and the assigned Team Manager | | Scope | System, Admin User, Team Manager User | | Description | Admin will fill out a Project Creation Form and Sumbit it to create a new Project in the system | | Trigger | Filling and Submitting a Project Creation Form | | Prerequisites | Must be logged in as an Admin User | | Successful completion conditions | Project was created and added to System | | Failure end conditions | Missing required form parameters, Form failed to send | | Scenario major success |

  1. Admin presses "Create New Project" button
  2. Fills form with all the required parameters
    • Address
    • Referrer
    • Required tools
    • Project duration estimation
  3. Submits Form
  4. Form sent successfully
  5. Loads Project Info page for review
  6. | | Extensions ( errors ) | Connection problem while submitting form |

    User Stories

    User Story Short Description
    1 Volunteer Login As a Volunteer, i wish to log into the system and view the projects im assigned to.
    2 Create New Project As Admin, i would like to create a new project info page to represent a renovation project that was referred to me.
    3 Security All the personal information will be protected by a login system

    Other / Non-functioanl Requirements

    Hardware Requirements

    • Server
    • Device with Web Accessibility

    Software Requirements

    • MongoDB
    • ExpressJS
    • AngularJS
    • NodeJS
    • Twitter Bootstrap
    • Web Development IDE (e.g. Brackets, Atom, Webstorm)

    Additional Requirements

    • User friendly interface
    • Protect sensitive user information
    • Data export to external file

    User Interface Prototype


Clone this wiki locally