Skip to content
CourseMates edited this page Apr 10, 2013 · 123 revisions

Content

  1. General Information
  2. History
  3. Introduction
    3.1. Goal
    3.2. Scope
    3.3. Dictionary
    3.4. Review
  4. Use Cases
  5. User Stories
  6. Requirement
    6.1. Hardare
    6.2. Software
    6.3. Additional Requirement
    6.4. Prototype

General Information

Project Name                 "CourseMates"
Project Team Ofir Zhitomirsky, Eliran Yehezkel, Hadar Pikali, Ben Ohana                                                                                     
Project Files Presentation , SOW
Relevant Links Home , WiKi , Inception

History

Version                                    Date                                    Description                                    Changed By                                   
1.0 4/4/2013 First Version "CourseMates"
1.1 10/4/2013 After Review Corrections "CourseMates"
       
       

Introduction

Goal

Our goal is to improve studying experience by providing comfortable and efficient tools and an environment for real time sharing and collaboration.
We would like to see thousands of students stop wasting their time on searching, evaluating, receiving and forwarding relevant documents as happens today.
So what is CourseMates? CourseMates is:

  • A place where the documents have comments, rating and updates.
  • A place that lets you know if a document is irrelevant or modified, or even if the latest class have been canceled.
  • A place that give you the ability to manage discussions.
  • A place that gives you real time notifications about new course events.

Scope

  • For PC-Usage :
    CourseMates application will only operate with an Internet browser. Local software installation is not needed. Browser support for ASP.NET 4 is necessary .
  • For Android Devices:
    CourseMates application will operate as a local application app (Internet Connection Requaired), and will use the Android System methods only for Notifications. All other services and memory management will not be affected. Android API 4 version and above is necessary.
  • Server:
    An IIS +SQL server which will handle all the users Database, Files location, reviews, Notification User requests and Etc. Every User can create and join an unlimited number of courses, files, and reviews. An uploaded file will not exceed 10Mb.

Dictionary

  • Server - will use to storage file, RESTFUL web service, web site and SQL server.
  • Android - a smartphone linux base Os.
  • IIS - Internet Information Services.
  • Eclipse - IDE (Integrated Development Environment) for Java development.
  • RESTFUL Service - (Representational State Transfer) is a style of software architecture for distributed systems such as the World Wide Web. REST has emerged as a predominant web API design model.
  • Ext.net - a .NET plugin for eazy visual web design.
  • JSON - (JavaScript Object Notation) is a text-based open standard designed for human-readable data interchange.
  • GCM - (Google Cloud Messaging) A service that allows you to send data from our server to users' with Android smartphone.
  • Course Admin - A user with higher permissions to a course.

Use Cases

  • Actors & Interest
Actor / Shareholder         Goal                                                                                                                                                                  
Students / Teachers
  • Create and manage courses.
  • Add, replace, and rate files of given course.
  • Invite users to your course or join others courses.
  • Get email and/or Android notifications.
    Web Storage (Like DropBox) Our main competitors.
    Educational Institutions Optional future customers.
    • UML Schema schema

    • User Stories

    # Story Description
    US0 Add a new Course As a student I want to add a new course in order to share and manage information and files with my classmates.
    US1 Join a new course As a student I want to join a new course in order to get information and files about the course with my classmates.
    US2 Invite other user to a course As a student I want to invite other user to a course in order to share information only with the correct classmates.
    US3 Delete Course As a student I want delete course in order to manage my courses and delete the course files.
    US4 Edit course As a student I want edit course in order to manage the course as the way I want to.
    US5 Respond to a Request As a student I want to respond to a request in order to register only to the courses I'm interested in.
    US6 Ask a question As a student I want to ask a question in order to get information about the course or anything else by my classmates.
    US7 Replace a file As a student I want to replace a file in order to correct myself if I've uploaded the wrong file, or I have an updated \ better file.
    US8 Delete a file As a student I want to delete a file in order to correct myself if I've uploaded the wrong file, or uploaded it before.
    US9 Rate a file As a student I want to rate a file in order to give my classmates a point of view about a certain file.
    US10 Edit a file As a student I want to edit a file in order to or remove something from a file I uploaded.
    US11 Add a new file As a student I want to add a new file in order to share it with my classmates and get reviews.
    US12 Login As a student I want to login in order to protect my username with a password and to get identified by "CourseMates" , and to see only the courses I'm registered to.
    US13 Register to the site As a student I want to register to the site in order to choose a username and have it protected with a password. Register my email for "CourseMates" notifications.
    US14 Get notifications As a student I want to get notifications in order to get the most updated files and reviews. Get any relevant course information soon as possible.

    Use Cases

    1. Case Name Get email notifications
    Actor Students / Teachers
    Goal Getting notifications on changes that was made in a course that i participate.
    Level & Scope Web or Android application, users.
    Shareholder & Interest The course student would like to stay updated, in order to succeed their studies.
    Description When a student makes any changes in the course site (update or upload a file or ask / answer a question), all      
    other student in the course will get email notifications.
    Trigger A change in the course site.
    Postcondition A user must be a student in the course.
    Success The student get email notification.
    Failure The student didn't get the notification.
    Main Success Scenario 1. A student ask or answer question or update or upload a file.
    2. The system will send a notification to all the student in the course.
    3. All student can stay update and succeed their studies.
    Extensions (Errors) Need to verify students email on registration.
    Alternative Scenarios Student can get notification through Android push notification (GCM).

    2. Case Name Add new file
    Actor Students / Teachers
    Goal Add new file to the course site.
    Level & Scope Web or Android application, users.
    Shareholder & Interest The course student would like to upload and share files.
    Description When a user want to upload new file he will press an upload file button to upload a file,than the user will
    choose the file from his computer, enter the display name and click ok, the system will save the file on the server   
    and prompt the user with the appropriate message (failure or success).
    Trigger A mouse click on a the upload file button.
    Postcondition The student must be logged in.
    Success The file uploaded to the server, the user prompt with success message, and the file appear in the
    course files page.
    Failure The file didn't uploaded to the server, the user prompt with failure message, and the file didn't appear in
    the course files page.
    Main Success Scenario 1. The student logged in.
    2. The student click the upload file button.
    3. The student choose a file from his computer.
    4. A success message prompt the student.
    5. The student will see his new file in the course file page.
    Extensions (Errors) Network connection Error
    Alternative Scenarios Send the file to the course admin to upload the file.

    3. Case Name Invite students to my course.
    Actor Course Admin
    Goal To send invitation to registered users in order to add them to my course.
    Level & Scope Web or Android application, users.
    Shareholder & Interest Student would like to add registered student to my course, shared and collaborate information.
    Description Course admin will press the Invite student button, then he can search for registered student, select them and send
    invitation to the course.
    Trigger Search registered users and send invitations.
    Postcondition 1. The student is logged in.
    2. The student is a course admin.
    3. The searched student are registered.
    Success The invitation sent to the selected student.
    Failure The invitation didn't sended to the selected student.
    Main Success Scenario 1. The course admin logged in to the system.
    2. The course admin searched for register student.
    3. The course admin select students and send invitations.
    4. All selected students will get the invitation.
    Extensions (Errors) User can't be found or invitation didn't send.
    Alternative Scenarios Request and approval mechanism.

    Requirement

    Hardware

    • User Requirement
    • Computer with internet connection.
    • Smartphone with Android OS.
    • Development Requirement
    • Server - SQL and File hosting.
    • Smartphone with Android OS for testing

    Software

    • User Requirement
    • Web browser.
    • CourseMates Client for Android
    • Development Requirement
    • SQL server management
    • Visual Studio for web development.
    • Eclipse for the Android application.
    • IIS.
    • Ext.net - a .NET plugin for eazy visual web design.

    Additional Requirement

    No additional requirement.

    Prototype

    Web Mockup

    Android Mockup (if we have time)

    Android

    Database Schema

    BDSchema