Moodle Customization Software Requirements Specification Ver. 1.2

advertisement
Software Requirements Specification
ICT Dep.
Moodle Customization
Software Requirements Specification
Ver. 1.2
June 28, 2013
Prepared for
Ayb High School
Spring 2013
Moodle Customization
Page left blank intentionally
Software Requirements Specification
Page ii
Moodle Customization
Table of Contents
REVISION HISTORY ............................................................................... ERROR! BOOKMARK NOT DEFINED.
DOCUMENT APPROVAL ....................................................................... ERROR! BOOKMARK NOT DEFINED.
1. INTRODUCTION ................................................................................................................................................... 1
1.1 PURPOSE .............................................................................................................................................................. 1
1.2 SCOPE .................................................................................................................................................................. 1
1.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS ................................................................................................ 1
1.4 REFERENCES ........................................................................................................................................................ 1
2. GENERAL DESCRIPTION ................................................................................................................................... 1
2.1 PRODUCT PERSPECTIVE ....................................................................................................................................... 1
2.3 USER CHARACTERISTICS ..................................................................................................................................... 3
2.4 GENERAL CONSTRAINTS ...................................................................................................................................... 3
3. SPECIFIC REQUIREMENTS ............................................................................................................................... 3
3.1 EXTERNAL INTERFACE REQUIREMENTS ............................................................................................................... 3
3.1.1 User Interfaces ............................................................................................................................................ 3
3.1.2 Hardware Interfaces ................................................................................................................................... 3
3.1.3 Software Interfaces...................................................................................................................................... 3
3.1.4 Communications Interfaces ......................................................................................................................... 3
3.2 FUNCTIONAL REQUIREMENTS .............................................................................................................................. 3
3.2.1 GPA Calculator........................................................................................................................................... 3
3.2.2 Course Selection.......................................................................................................................................... 4
3.2.3 Attendance ................................................................................................................................................... 5
3.2.4 Grade Report Dashboard ............................................................................................................................ 5
3.2.5 Timetable Overview .................................................................................................................................... 6
3.2.6 Log Keeping ................................................................................................................................................ 6
3.2.7 Automated Notifications .............................................................................................................................. 6
3.2.8 Parents Dashboard ..................................................................................................................................... 7
Software Requirements Specification
Page iii
Moodle Customization
1. Introduction
For meeting high school administrative requirements and automating the day to day operations
Ayb high school needs to add various functionalities to its Moodle LMS.
1.1 Purpose
This document is intended to describe the details of required functionalities and providing a high
level view. The main audiences of this document are developers who are going to work on this
project.
1.2 Scope
Software product(s) to be produced by name:
a. Automated GPA calculator
b. Course selection process automation
c. Centralized attendance dashboard
d. Grade report dashboard
e. Time table overview
f. Keeping the log of changes made
g. Automated notification
h. Parents dashboard
(Priority: Medium)
(Priority: Low)
(Priority: High)
(Priority: Medium)
(Priority: High)
(Priority: High – mainly for with c)
(Priority: Medium to high)
(Priority: High)
1.3 Definitions, Acronyms, and Abbreviations
LMS: Learning Management System
GPA: Grade Point Average
Attendance: The fact that the student was absent or present in the class. It has four overall
values – present, absent, excused, late
1.4 References
(1) http://docs.moodle.org/24/en/Attendance_module.
(2) http://docs.moodle.org/dev/Community_hub_-_technical_specification
2. General Description
a. Automated GPA calculator:
- Grades for all the courses that the students is participating should be
gathered and the GPA should be calculated according to the provided
formula:
b. Course selection process automation
- From a dashboard the administrator should be able to define the days and
number of hours each course is offered throughout a predefined time period
(let’s say a semester) per each academic year. The administrator should
also be able to define which courses are “core” (meaning that the course is
mandatory for every students in that grade) and which elective courses are.
Software Requirements Specification
Page 1
Moodle Customization
Administrator should also be able to choose the occurrence frequency of
each course.
- There also should be a dashboard available for students from which they
will be able to see the core courses and will be able to choose the elective
courses in which they would like to participate. The dashboard should be
able to verify the selection and highlight the conflicts in the schedule of the
students so that the student won’t be able to choose two separate courses for
the same time (let’s say 12-1). After finishing the course selction process the
plugin should be able to generate a schedule for that specific student as
his/her individual schedule. (should be exportable to pdf, and Excel)
c. Centralized attendance dashboard:
- Attendance for each student for all courses should be visible from where the
administrator will be able to change the values that he/she would like to
(changing an absent to present or excused for the specific day, for all
courses of that day or just for a single specific course), after which the
changed value(s) should be updated in the Moodle’s database.
This dashboard should also have formulas that will warn the user, whenever
the student goes beyond the absence limits allowed by the school.
- There is grade overview report available for students; we need also similar
“one click” report for parents, so that overseeing the student’s grades
becomes quite easy. (Details in screen shot).
d. Grade report dashboard
- Administrative user should be able to see the number of grades per subject
per student or group of students in a time period. The representation can be
as shown below:
Student Name
Name
Subject 1
# of grades
submitted
Subject 2
# of grades
submitted
Subject 3
# of grades
submitted
…
…
-
e.
f.
g.
h.
It should have the possibility to filter by date, student(s), and number of
grades
- Also should be possible to sort by each category
Time table overview
- Administrative user or teacher should be able to see individual schedules of
students and easily verify their free times, so that it will be easy to schedule
meetings, workshops, etc.
Keeping the log of changes made
- All the actions and changes made on any module (specially the attendance
module) should be documented and kept for future reference
Automated notification
- Automated notifications should be sent by the systems if various events
occurs
- Events include exceeding absence limit (late, etc.),comments, homework
uploads.
Parents dashboard
Software Requirements Specification
Page 2
Moodle Customization
-
Parents should be able to see a complete report of the student’s grades
(including GPA of each quarter and ongoing GPA).
Parents should receive reports on a weekly basis
2.1 User Characteristics
- Users Base:
a. VP of Academic program development
b. Administrative staff
c. School management
d. “Dasghek”
e. Teacher
2.2 General Constraints
The system should be fully integrated with moodle LMS which is using various technologies
described in the technical specifications of the system which is accessible via the following link:
http://docs.moodle.org/dev/Community_hub_-_technical_specification
3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
Overall the system should have two interfaces:
a. Administrators interface (the administrative interface can also have some tools
for general statistics )
b. Student interface
c. Teacher interface
3.1.2 Hardware Interfaces
System should completely operate on a web based environment on single web server.
3.1.3 Software Interfaces
The system should be integrated with Moodle LSE.
The database in use is MySQL.
No local plugins should be required to install.
3.1.4 Communications Interfaces
This should be a web based system, communicating mainly on the http standard port.
3.2 Functional Requirements
3.2.1 GPA Calculator
3.2.1.1 Introduction
Software Requirements Specification
Page 3
Moodle Customization
System should be able to calculate the GPA according to the inserted formula by the
administrator.
3.2.1.2 Inputs
- Calculation formula
- Variables read from Moodle DB regarding to grades of the student
3.2.1.3 Outputs
- Calculated GPA of the selected students.
3.2.1.4 Error Handling
- System should inform the user about the reason of the error and should terminate the
processing.
3.2.2 Course Selection
3.2.2.1 Introduction
System should assist the student in selecting the elective courses in the meanwhile showing
him/her the core courses which the student should take for the semester.
System should also enable administrator to fill in the schedule for each semester with
indication that whether the course is core or elective. (the administrator and/or teacher fill
the attendance sessions, indicating when the specific classes take place. So this information
is already filled in. The problem is when the administrator allows a student to take or drop
one subject; it takes quite long to see if there is conflict. Another issue is when
administrator decides to create a new group of elective students and put their classes on the
general schedule, it also requires a lot of effort to find a period that will be free for that
specific group of students. So we also need an interface, where we can mark certain
students and see their combined schedule, just as I do on my excel, which I can share with
the developers)
3.2.2.2 Inputs
- Available courses in semester, with corresponding session dates and times.
- Whether the course is core or elective
- Elective course priority - There are also rules related to military training, physical training
and swimming classes. So we need some 5 levels of priority.
• 1st priority - Core classes
• 2nd priority – electives and higher level classes
• 3rd priority – military training classes
• 4th priority – swimming classes
• 5th priority – physical education classes
If some class or a short term activity is scheduled, then the administrator should clearly see its
priority in different colors or numbers and also should see that with which previously scheduled
activities the current activity is conflicting with.
3.2.2.3 Outputs
- Generated schedule for the specific student, a group of students, or all the students having the
same schedule
- All the courses that the student has fulfilled till now
3.2.2.4 Error Handling
Software Requirements Specification
Page 4
Moodle Customization
- System should inform the user about the reason of the error and should terminate the
processing.
3.2.3 Attendance
3.2.3.1 Introduction
System should provide the administrative user with the complete list of attendance records for a
single day, or a period. Where the administrative user will be able to search for a specific student
or multiple students and review their records. In the meanwhile the administrative user should be
able to edit the records and change the value from absent to excused from a centrally
administered panel. The excused absences put by the administrative users should not be editable
by teachers or managers.
3.2.3.2 Inputs
- Centrally inputted decision on whether the absence is excused for particular student for
particular period of time
3.2.3.3 Outputs
- Students absences in respectful periods are turned into excused absences
3.2.3.4 Error Handling
- The change should be buffered and the user should be notified about it. In case of connection
loss and should be retried each 5 minutes for 5 times maximum.
3.2.4 Grade report dashboard
3.2.4.1 Introduction
System should provide the administrative user with the complete list students with corresponding
number of grades per subject. User should be able to sort the results, select a time period, single
student or a group of students.
Also the administrative user should be able to view the complete grade report (including quarter
GPA and ongoing GPAs) of each student or a group of students, and the performance of the
student should be compared to the last quarter’s performance. The calculation of GPA is done
based on “Participation”, “Exams”, and “Attendance” of each subject which is finalized on a
quarter basis.
3.2.4.2 Inputs
- No input from user is required at this point
3.2.4.3 Outputs
- The required data should be displayed and accessible without any editing options.
3.2.4.4 Error Handling
- The system will show unable to view the results at this time, but should also view the reason,
whether it is the connection loss or it’s a DB issue, etc.
Software Requirements Specification
Page 5
Moodle Customization
3.2.5 Timetable overview
3.2.5.1 Introduction
- System should enable the user to see the free hours of a student or a group of students so to
allow scheduling meetings (or any other extracurricular activities) so to prevent overlapping
with other subjects or programs.
3.2.5.2 Inputs
- Name of the student(s), and/or student ID, class
3.2.5.3 Outputs
- System will output the schedule for those students and will highlight the free time periods
which will be in common for majority of selected students.
3.2.5.4 Error Handling
- If there is no way to identify the majority of free periods then just show the schedules with a
message saying that it is impossible to verify the best possible time period
- If there is major error (including DB connection errors, internet connection, etc.) inform the
user about the error and ask to try again later.
3.2.6 Log keeping
3.2.6.1 Introduction
- Every change in the system (specially the changes in attendance module) should be recorded
for further reference. The log should contain the information including username, name and
last name, IP address, accessed module, and changes done in the module.
3.2.6.2 Inputs
- System should be seamless and the user should not even notice that the actions are being
logged.
3.2.6.3 Outputs
- Outputs should be visible only when the “show logs” page is viewed.
3.2.6.4 Error Handling
- N/A
3.2.7 Automated notifications
3.2.7.1 Introduction
- In case of various events system should send notifications to selected group of users, the events
are as following:
 Attendance module – If the student has 2 or more than 2 “Late” records, administration,
and “Dasghek” should be informed.
 Attendance module – If the number of overall absents of a student is close to the
maximum defined by the administration then a warning message should be sent to
student, “Dasghek” and parent.
Software Requirements Specification
Page 6
Moodle Customization


Students should be notified about each assignment that is posted in the subject that s/he is
enrolled. Including the deadline defined for that specific assignment.
Teachers comments for any assignment should be sent to “Dasghek”, and parent of the
specified student
3.2.7.2 Inputs
- N/A
3.2.7.3 Outputs
- Automatically generated notifications sent to emails.
3.2.7.4 Error Handling
- System should retry sending notifications after 10 minutes for 5 times, and if all the atemps was
unsuccessful, administrator should be notified.
3.2.8 Parents dashboard
3.2.8.1 Introduction
- System should provide parents with dashboard which will enable us to clearly and easily see
the status of their child at the school. Parent should be able to view the complete list of subjects
in which their child is enrolled with corresponding grades for all the assignments, quarter GPA
and ongoing GPA, and all the warnings that the student received, including warning about the
limit of “Late” attendance, or close to the maximum time for allowed absences, weak
performance, etc.
3.2.8.2 Inputs
- N/A
3.2.8.3 Outputs
- This is only a view for parents so the output is not going to be used in any other module
3.2.8.4 Error Handling
- System should inform the user about the reason of the error and should terminate the
processing.
Software Requirements Specification
Page 7
Download