Difference between revisions of "BBB Seneca Integration Use Cases"

From CDOT Wiki
Jump to: navigation, search
(Edit Subject)
 
(57 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
=Authentication=
 
=Authentication=
 +
=General User Page=
 +
=Student Page=
 +
Student logs in to this page having the following available
 +
* [[#Calendar | Calendar]]
 +
* [[#User Settings| User Settings]]
 +
* Log out
  
==Login==
+
=Professor Page=
* User can login to the system through a login page as follows
+
* [[#Calendar | Calendar]]
*:# Ldap Authentication
+
* [[#User Settings| User Settings]]
*:#: If user is an LDAP user after authentication, the department of the user is inserted into the department table, if it is not already entered.
+
* [[#Class Settings| Class Settings]]
*:# Local Authentication
+
* [[#Manage Department| Manage Department]]
 +
* Log out
  
=Super Admin=
+
=Admin Page=
==Covers Administrator rights==
+
=Super Admin Page=
==Add Administrator==
+
* [[#Calendar | Calendar]]
 +
* [[#User Settings| User Settings]]
 +
* [[#Manage Professors| Manage Professors]]
  
=Administrator=
+
* [[#Manage Subjects| Manage Subjects]]
  
==User Management==
+
* [[#Manage Users| Manage Users]]
* Add user
 
*: add usecase
 
* Ban User
 
*: add usecase
 
* User Activation
 
*: add usecase
 
  
==Professor Management==
+
* [[#System Settings| System Settings]]
  
==Subject Management==
+
* [[#Manage Departments| Manage Departments]]
 +
* Log out
  
==Department Management==
+
=User Settings=
* Admin can manually add/remove a user to/from her department.
+
'''Actor:''' Modifies personal user and meeting settings.
*: add usecase
 
  
=Professor=
+
'''System:''' Persists changes to database.
==Section Management==
 
* Add students to section
 
* Create Lecture Schedule
 
* Edit Lecture
 
*: Including check to propagate changes to whole schedule
 
  
==Calendar Management==
+
=Manage Professors=
* Display Calendar
+
* 1) Search for professor
* Filter Calendar
+
:* a) Add Section
 +
:* b) Add Subject
 +
:* c) Edit Subject
 +
:* d) Delete Subject
  
==Meeting Management==
+
=Manage System Subjects=
* See General User Meeting Use Cases
+
* Upload subject list
 +
* Add Sections
 +
* Add professors
 +
* Edit subject
  
=Student=
+
=Manage Users=
==Calendar Management==
+
* Search for users
* Display Calendar
+
* Filters
* Filter Calendar
+
* Ban user
 +
* View user's schedule
 +
* Edit user
  
==Meeting Management==
+
=System Settings=
* See General User Meeting Use Cases
+
* Change global system settings
  
=General User=
+
=Manage Departments=
==Meeting Management==
+
* Add Department
* Create Meeting
+
* Edit Department
* Edit Meeting
+
* Delete Department
* Start Meeting/Lecture
 
  
==Calendar Management==
+
=Manage Department=
* Display Calendar
+
* View users in your department
* Filter Calendar
+
* Ban users
 +
* Edit users
 +
* View users' schedule
  
=Non-LDAP User=
+
=Class Settings=
* Change Password
+
 
* Reset Password
+
 
* Change Email
+
'''Actor:''' Chooses a class.
 +
 
 +
'''System:''' Filters classes showing a list of sections for the specified class.
 +
 
 +
'''Actor:''' Chooses a section.
 +
 
 +
'''System:''' Returns a list of settings for the respective section.
 +
 
 +
: Allow private chat
 +
: Allow multiple user whiteboard
 +
: Allow recording
 +
: Allow to share camera
 +
 
 +
'''Actor:''' Changes settings and chooses to save.
 +
 
 +
'''System:''' Persists changes to database.
 +
 
 +
=== Manage student===
 +
 
 +
'''Actor:''' Chooses a class.
 +
 
 +
'''System:''' Filters classes showing a list of sections for the specified class.
 +
 
 +
'''Actor:''' Chooses a section.
 +
 
 +
'''System:''' Returns a list of students that are in the respective section.
 +
 
 +
 
 +
====Add Student====
 +
 
 +
'''Actor:''' Clicks "Add Student".
 +
 
 +
'''System:''' Shows a screen with available fields for adding a new student.
 +
 
 +
'''Actor:''' Insert student info and chooses to save or cancel the process.
 +
 
 +
'''System:''' Persists changes to database.
 +
 
 +
 
 +
====Edit Student====
 +
 
 +
'''Actor:''' Clicks "Edit" in the "Modify" table considering the intended student to be edited.
 +
 
 +
'''System:''' Shows a screen with available fields for editing.
 +
 
 +
'''Actor:''' Changes student info and chooses to save or cancel modifications.
 +
 
 +
'''System:''' Persists changes to database.
 +
 
 +
 
 +
====Delete Student====
 +
 
 +
'''Actor:''' Clicks "Delete" in the "Modify" table considering the intended student to be edited.
 +
 
 +
'''System:''' Shows a prompt asking confirmation to delete student.
 +
 
 +
'''Actor:''' Confirms delete request.
 +
 
 +
'''System:''' Removes student from database.
 +
 
 +
=Calendar=
 +
==Student==
 +
 
 +
===Create Meeting===
 +
'''Actor:''' Clicks on the empty section of a calendar date or clicks the "Create Event" button.
 +
 
 +
'''System:''' Returns empty page with editable fields/drop-downs regarding meeting details.
 +
 
 +
'''Actor:''' Fills in editable fields and optionally chooses to create a schedule.
 +
 
 +
====Create Schedule====
 +
 
 +
: '''System:''' Returns a page with editable fields/drop-downs regarding schedule details.
 +
 
 +
: '''Actor:'''  Fills in editable fields and chooses to save schedule.
 +
 
 +
: '''System:''' Asks actor if they are sure they wish to create the schedule.
 +
 
 +
: '''Actor:''' Accepts.
 +
 
 +
: '''System:''' Returns page with previously filled in meeting details.
 +
 
 +
 
 +
'''Actor:''' Chooses to save meeting.
 +
 
 +
'''System:''' Persists meeting and schedule details.
 +
 
 +
==Professor==
 +
 
 +
===Create Meeting===
 +
 
 +
'''Actor:''' Clicks on the empty section of a calendar date or clicks the "Create Event" button.
 +
 
 +
'''System:''' Returns empty page with editable fields/drop-downs regarding meeting details.
 +
 
 +
'''Actor:''' Chooses "Meeting" as type of event from the drop-down list, and then Fills in editable fields and optionally chooses to create a schedule.
 +
 
 +
====Create Schedule====
 +
 
 +
: '''System:''' Returns a screen with editable fields/drop-downs regarding schedule details.
 +
 
 +
: '''Actor:'''  Fills in editable fields and chooses to save schedule.
 +
 
 +
: '''System:''' Asks actor if they are sure they wish to create the schedule.
 +
 
 +
: '''Actor:''' Accepts.
 +
 
 +
: '''System:''' Returns page with previously filled in meeting details.
 +
 
 +
'''Actor:''' Chooses to save meeting.
 +
 
 +
'''System:''' Persists meeting and schedule details.
 +
 
 +
 
 +
 
 +
===Create Lecture===
 +
 
 +
'''Actor:''' Clicks on the empty section of a calendar date or clicks the "Create Event" button.
 +
 
 +
'''System:''' Returns empty page with editable fields/drop-downs regarding lecture details.
 +
 
 +
'''Actor:''' Chooses "Lecture" as type of event from the drop-down list, and then fills in editable fields and optionally chooses to create a schedule.
 +
 
 +
====Create Schedule====
 +
 
 +
: '''System:''' Returns a screen with editable fields/drop-downs regarding schedule details.
 +
 
 +
: '''Actor:'''  Fills in editable fields and chooses to save schedule.
 +
 
 +
: '''System:''' Asks actor if they are sure they wish to create the schedule.
 +
 
 +
: '''Actor:''' Accepts.
 +
 
 +
: '''System:''' Returns page with previously filled in lecture details.
 +
 
 +
'''Actor:''' Chooses to save lecture.
 +
 
 +
'''System:''' Persists meeting and schedule details.
 +
 
 +
==Admin==
 +
Same as [[#Professor|professor]].
 +
 
 +
=Create Conference=
 +
 
 +
=Create Meeting=
 +
* Edit meeting details
 +
* Create schedule
 +
* Manage [[#Manage Whitelist| whitelist]]
 +
 
 +
=Create Lecture=
 +
* Edit lecture details
 +
* Create schedule
 +
* Manage [[#Manage Whitelist| whitelist]]
 +
* Add guest lecturer
 +
 
 +
=Manage Whitelist=
 +
* Search for user (LDAP and local)
 +
* Add user to list
 +
* View list of atendees
 +
 
 +
=Edit User=
 +
==Admin==
 +
* Change user details
 +
* Modify permissions
 +
* Assign department admin
 +
* Ban
 +
 
 +
==Department Admin==
 +
* Change user details
 +
* Modify permissions
 +
* Ban
 +
 
 +
=Edit Subject=
 +
* Edit course details
 +
 
 +
 
 +
'''Brief Description:''' This Use Case enables the actor to filter the meeting and lecture appointments to be displayed on calendar.
 +
 
 +
 
 +
=='''Scenario 1:''' Change filter type to "Show all"==
 +
 
 +
 
 +
'''Preconditions:'''
 +
* The actor is logged into the system
 +
* The actor is currently viewing the main page (calender.jsp) with a "Filter by" drop-down list
 +
* The current filter type is not "Show all"
 +
 
 +
{| class="wikitable" border="1" cellpadding="5"
 +
|-
 +
! Step# !! Actor !! System !! Data Used
 +
|-
 +
| 1 || Chooses the "Show all" filter type from the drop-down list || Retrieve relevant data from database<br />Displays all lectures and meetings related to current actor on Calendar/Grid view ||
 +
bu_id<br />(meeting_schedule)<br />(meeting)<br />(meeting_attendance)<br />(meeting_guest)<br />(lecture_attendance)<br />(lecture)<br />(guest_lecturer)
 +
|}
 +
 
 +
'''Successful Post Conditions:'''
 +
 
 +
* All meeting and lecture appointments related to the current actor are displayed
 +
* The system now displays the main site page (calender.jsp)
 +
 
 +
 
 +
=='''Scenario 2:''' Change filter type to "Meetings I've created"==
 +
 
 +
 
 +
'''Preconditions:'''
 +
* The actor is logged into the system
 +
* The actor is currently viewing the main page (calender.jsp) with a "Filter by" drop-down list
 +
* The current filter type is not "Meetings I've created"
 +
 
 +
{| class="wikitable" border="1" cellpadding="5"
 +
|-
 +
! Step# !! Actor !! System !! Data Used
 +
|-
 +
| 1 || Chooses the "Meetings I've created" filter type from the drop-down list || Retrieve relevant data from database<br />Displays only the meetings created by the current actor on Calendar/Grid view ||
 +
bu_id<br />(meeting_schedule)<br />(meeting)
 +
|}
 +
 
 +
'''Successful Post Conditions:'''
 +
 
 +
* Only meeting appointments created by the current actor are displayed
 +
* The system now displays the main site page (calender.jsp)
 +
 
 +
 
 +
=='''Scenario 3:''' Change filter type to "Meetings/Lectures I'm invited to"==
 +
 
 +
 
 +
'''Preconditions:'''
 +
* The actor is logged into the system
 +
* The actor is currently viewing the main page (calender.jsp) with a "Filter by" drop-down list
 +
* The current filter type is not "Meetings/Lectures I'm invited to"
 +
 
 +
{| class="wikitable" border="1" cellpadding="5"
 +
|-
 +
! Step# !! Actor !! System !! Data Used
 +
|-
 +
| 1 || Chooses the "Meetings/Lectures I'm invited to" filter type from the drop-down list || Displays only the lectures and meetings the current actor are invited to on Calendar/Grid view ||
 +
bu_id<br />(meeting)<br />(meeting_attendance)<br />(meeting_guest)<br />(lecture_attendance)<br />(lecture)<br />(guest_lecturer)
 +
|}
 +
 
 +
'''Successful Post Conditions:'''
 +
 
 +
* Only the lectures and meetings the current actor are invited to are displayed
 +
* The system now displays the main site page (calender.jsp)
 +
 
 +
 
 +
[http://zenit.senecac.on.ca/wiki/index.php/BBB_Seneca_Integration_Use_Cases_Site_Map Use Case Site Map]

Latest revision as of 10:23, 17 June 2013

Authentication

General User Page

Student Page

Student logs in to this page having the following available

Professor Page

Admin Page

Super Admin Page

User Settings

Actor: Modifies personal user and meeting settings.

System: Persists changes to database.

Manage Professors

  • 1) Search for professor
  • a) Add Section
  • b) Add Subject
  • c) Edit Subject
  • d) Delete Subject

Manage System Subjects

  • Upload subject list
  • Add Sections
  • Add professors
  • Edit subject

Manage Users

  • Search for users
  • Filters
  • Ban user
  • View user's schedule
  • Edit user

System Settings

  • Change global system settings

Manage Departments

  • Add Department
  • Edit Department
  • Delete Department

Manage Department

  • View users in your department
  • Ban users
  • Edit users
  • View users' schedule

Class Settings

Actor: Chooses a class.

System: Filters classes showing a list of sections for the specified class.

Actor: Chooses a section.

System: Returns a list of settings for the respective section.

Allow private chat
Allow multiple user whiteboard
Allow recording
Allow to share camera

Actor: Changes settings and chooses to save.

System: Persists changes to database.

Manage student

Actor: Chooses a class.

System: Filters classes showing a list of sections for the specified class.

Actor: Chooses a section.

System: Returns a list of students that are in the respective section.


Add Student

Actor: Clicks "Add Student".

System: Shows a screen with available fields for adding a new student.

Actor: Insert student info and chooses to save or cancel the process.

System: Persists changes to database.


Edit Student

Actor: Clicks "Edit" in the "Modify" table considering the intended student to be edited.

System: Shows a screen with available fields for editing.

Actor: Changes student info and chooses to save or cancel modifications.

System: Persists changes to database.


Delete Student

Actor: Clicks "Delete" in the "Modify" table considering the intended student to be edited.

System: Shows a prompt asking confirmation to delete student.

Actor: Confirms delete request.

System: Removes student from database.

Calendar

Student

Create Meeting

Actor: Clicks on the empty section of a calendar date or clicks the "Create Event" button.

System: Returns empty page with editable fields/drop-downs regarding meeting details.

Actor: Fills in editable fields and optionally chooses to create a schedule.

Create Schedule

System: Returns a page with editable fields/drop-downs regarding schedule details.
Actor: Fills in editable fields and chooses to save schedule.
System: Asks actor if they are sure they wish to create the schedule.
Actor: Accepts.
System: Returns page with previously filled in meeting details.


Actor: Chooses to save meeting.

System: Persists meeting and schedule details.

Professor

Create Meeting

Actor: Clicks on the empty section of a calendar date or clicks the "Create Event" button.

System: Returns empty page with editable fields/drop-downs regarding meeting details.

Actor: Chooses "Meeting" as type of event from the drop-down list, and then Fills in editable fields and optionally chooses to create a schedule.

Create Schedule

System: Returns a screen with editable fields/drop-downs regarding schedule details.
Actor: Fills in editable fields and chooses to save schedule.
System: Asks actor if they are sure they wish to create the schedule.
Actor: Accepts.
System: Returns page with previously filled in meeting details.

Actor: Chooses to save meeting.

System: Persists meeting and schedule details.


Create Lecture

Actor: Clicks on the empty section of a calendar date or clicks the "Create Event" button.

System: Returns empty page with editable fields/drop-downs regarding lecture details.

Actor: Chooses "Lecture" as type of event from the drop-down list, and then fills in editable fields and optionally chooses to create a schedule.

Create Schedule

System: Returns a screen with editable fields/drop-downs regarding schedule details.
Actor: Fills in editable fields and chooses to save schedule.
System: Asks actor if they are sure they wish to create the schedule.
Actor: Accepts.
System: Returns page with previously filled in lecture details.

Actor: Chooses to save lecture.

System: Persists meeting and schedule details.

Admin

Same as professor.

Create Conference

Create Meeting

  • Edit meeting details
  • Create schedule
  • Manage whitelist

Create Lecture

  • Edit lecture details
  • Create schedule
  • Manage whitelist
  • Add guest lecturer

Manage Whitelist

  • Search for user (LDAP and local)
  • Add user to list
  • View list of atendees

Edit User

Admin

  • Change user details
  • Modify permissions
  • Assign department admin
  • Ban

Department Admin

  • Change user details
  • Modify permissions
  • Ban

Edit Subject

  • Edit course details


Brief Description: This Use Case enables the actor to filter the meeting and lecture appointments to be displayed on calendar.


Scenario 1: Change filter type to "Show all"

Preconditions:

  • The actor is logged into the system
  • The actor is currently viewing the main page (calender.jsp) with a "Filter by" drop-down list
  • The current filter type is not "Show all"
Step# Actor System Data Used
1 Chooses the "Show all" filter type from the drop-down list Retrieve relevant data from database
Displays all lectures and meetings related to current actor on Calendar/Grid view

bu_id
(meeting_schedule)
(meeting)
(meeting_attendance)
(meeting_guest)
(lecture_attendance)
(lecture)
(guest_lecturer)

Successful Post Conditions:

  • All meeting and lecture appointments related to the current actor are displayed
  • The system now displays the main site page (calender.jsp)


Scenario 2: Change filter type to "Meetings I've created"

Preconditions:

  • The actor is logged into the system
  • The actor is currently viewing the main page (calender.jsp) with a "Filter by" drop-down list
  • The current filter type is not "Meetings I've created"
Step# Actor System Data Used
1 Chooses the "Meetings I've created" filter type from the drop-down list Retrieve relevant data from database
Displays only the meetings created by the current actor on Calendar/Grid view

bu_id
(meeting_schedule)
(meeting)

Successful Post Conditions:

  • Only meeting appointments created by the current actor are displayed
  • The system now displays the main site page (calender.jsp)


Scenario 3: Change filter type to "Meetings/Lectures I'm invited to"

Preconditions:

  • The actor is logged into the system
  • The actor is currently viewing the main page (calender.jsp) with a "Filter by" drop-down list
  • The current filter type is not "Meetings/Lectures I'm invited to"
Step# Actor System Data Used
1 Chooses the "Meetings/Lectures I'm invited to" filter type from the drop-down list Displays only the lectures and meetings the current actor are invited to on Calendar/Grid view

bu_id
(meeting)
(meeting_attendance)
(meeting_guest)
(lecture_attendance)
(lecture)
(guest_lecturer)

Successful Post Conditions:

  • Only the lectures and meetings the current actor are invited to are displayed
  • The system now displays the main site page (calender.jsp)


Use Case Site Map