65
SDS
devMatan edited this page 2015-05-09 11:15:31 +03:00
- Introduction
1.1 Document Goals
- a. Understanding features that needs to be implemented and the risk level involved.
- b. Specifying Classes/Objects/Database structure and information.
- c. Describing relations between different Objects.
- d. Splitting assignments between team members according to knowledge, abilities and will.
1.2 Capabilities
Capability | Risk Level if not implemented | Capability description |
---|---|---|
Login via Github | Critical | All of the information is pulled from the user's Github Account. The user has to log in with proper credentials. |
Lecturer Progress View | Critical | Lecturer Dashboard contains information about all students projects. The info will be pulled from students projects (unlike student Dashboard which contains private info). |
Task Submmision | Critical | Students must have the ability to submit Tasks from our Dashboard in a simple way, that will also inform Lecturer when a Task has been submited |
Communication | Critical | Both student and lecturer need a system in which they can send private or group messages. |
Information Parsing | High | Information pulled from Github should be parsed correctly and presented in a simple way. |
Notifications/Alerts | Medium | We wish to have an option to notify the students about upcoming submition dates and/or messages from student/lecturer. |
Simple UI | Medium-Low | The UI should be as simple as can be, yet contain all features. It's very important to make the Dashboard a "clean" working enviorment with no distractions |
- Deployment Diagram
- Class diagram & CRC cards
Class diagram & CRC cards - Wiki Page
- Sequence Diagram
-
The lecturer must login with valid account.
-
Once in lecturer dashboard, press messaging system button.
-
Choose message type - private/group/class. (in this case Class)
-
Input message.
-
Check optional fields (Notify all/on-response).
-
Send or cancel message.
-
Returns to messaging system window.
-
Persistence
- Non-Functional Demands
- a. Simple to use- UI would be simple and "clean" so that usage will be as easy as possible.
- b. Secure- Login via Github will suffice a secure connection to an already existing profile.
- c. Generic Structure- Dashboard is designed in a way that it can be used for different Courses/Colleges
- d. Compatibility- Works on any web browser from every computer.
- e. light- The Dashboard is just a "Tunnel" from Github, thus not holding alot of Data itself.
7.Risk Management
Risk | Level of effect | Probability | Avoidance | |
---|---|---|---|---|
Unstable web service | Low risk | Possible | Testing all possible edge cases | |
Miss-information for handling the web app | High risk | Low | A friendly and simple interface | |
Site crush | Medium-Low risk | Possible | Check if Git-Hub is down for maintenance or any other activity | |
Lack of cooperation from the users | High risk | Medium | It is a new application thus it is necessary making the dashboard alluring and welcoming | |
Complicated database design | High risk | Medium - Low | Discussing about the database design in order to make it departmentalized and efficient |