SDS - oronsa/shoulder2shoulder GitHub Wiki

SDS - Software Design Specification

Table of Contents

  • [Introduction Document Goals] (#introduction-document-goals)
  • [Main Product Features and Capabilities] (#main-product-features-and-capabilities)
  • [Related Documentation] (#related-documentation)
  • [UML Modeling] (#uml-modeling)
  • [Class Diagram] (#class-diagram)
  • [CRC Diagram] (#crc-diagram)
  • [Deployment Diagram] (#deployment-diagram)
  • [Sequence and State Diagrams] (#sequence-and-state-diagrams)
  • [State Diagram] (#state-diagram)
  • [Sequence Diagram] (#sequence-diagram)
  • [Persistence] (#persistence)
  • [Non-functional Requirements] (#non-functional-requirements)

Introduction Document Goals

This document will describe the software architecture and behavior of the product, from the programming point of view
It will introduce the over views of the system, over the communication between the application and the clients.

Main Product Features and Capabilities

  • Data Transportation - Adding, editing, removing data from the server records received from the clients
  • Access control - Managing accounts, providing restricted access depending on the users types
  • Messaging - allowing internal messaging between users, as well as sending push notification via e-mails
  • Data processing - extracting different views as reports by demand
  • User GUI - Representing the database information in a convenient view, to allow add/edit/remove records by the users efficiently.

Related Documentation

UML Modeling

Class Diagram

https://github.com/oronsa/shoulder2shoulder/blob/master/Doc/Images/Diagram%20photos/class-diagram-SDS.jpg

###CRC Diagram https://github.com/oronsa/shoulder2shoulder/blob/master/Doc/Images/Diagram%20photos/crc.png

Deployment Diagram

https://github.com/oronsa/shoulder2shoulder/blob/master/Doc/Images/Diagram%20photos/DeploymentDiagram_SDS.jpg

  • User GUI - Allowing the user to interact with the app. The HTML code which will represent the data received from the Web application.
  • Web Application - Where the Client input will be sent to the server.
  • Server - The Database server from an external site (on Microsoft Azure). the inner records will be stored in MongoDB.

##Sequence and State Diagrams

###State Diagram https://github.com/oronsa/shoulder2shoulder/blob/master/Doc/Images/Diagram%20photos/state%20diagram.png

###Sequence Diagram https://github.com/oronsa/shoulder2shoulder/blob/master/Doc/Images/Diagram%20photos/SequenceDiagram1.jpg

Persistence

In the long run, the data will be stored in records. Custom objects will be created by the methodology designed in the Class Diagram guidelines mentioned above.

Non-Functional Requirements

  • Cloud developing - The data will be sent between the entities using the application over known infrastructures (AJAX, JASON, TCP CONNECTIONS, etc.)
  • Mail - The ability to send e-mail will be provided my Google's servers.