Srs
Srs
SPECIFICATION
FEBRUARY 2006
COVCELL Software Requirements Specification Version 1.0
SOFTWARE REQUIREMENTS
SPECIFICATION
Table of Contents
1 Introduction.....................................................................................................................3
1.1 Purpose.....................................................................................................................3
1.2 Scope........................................................................................................................3
1.3 Definitions, Acronyms and Abbreviations.............................................................3
1.4 References................................................................................................................4
1.5 Overview...................................................................................................................5
2 Overall Description.........................................................................................................5
2.1 Product Perspective................................................................................................5
2.2 Product Functions...................................................................................................6
2.3. User Characteristics...............................................................................................7
2.4 Constraints...............................................................................................................7
2.5 Assumptions and Dependencies............................................................................7
2.6 Apportioning of Requirements...............................................................................8
3 Specific Requirements....................................................................................................8
3.1 External Interface Requirements............................................................................8
3.1.1 User Interfaces..................................................................................................8
3.1.2 Hardware Interfaces.........................................................................................8
3.1.3 Software Interfaces...........................................................................................8
3.1.4 Communication Interfaces...............................................................................8
3.2 System Features......................................................................................................8
3.2.1 System Features of Phase I.............................................................................8
3.2.1.1 Dynamic Location-Specific Contact List and Chat.................................8
3.2.1.2 Whiteboard.................................................................................................9
3.2.1.3 One-on-One Audio and Video Chat........................................................10
3.2.1.4 “Goto-URL” Bar within Moodle Frame..................................................10
3.2.1.5 Activity View.............................................................................................11
3.2.2 System Features of Phase II..........................................................................11
3.2.2.1 Core Profile..............................................................................................11
3.2.2.2 Personal Glossary and Quizzer..............................................................11
3.2.2.3 Deadline Countdown...............................................................................11
3.2.2.4 Course Standing......................................................................................12
3.2.2.5 File Transfer.............................................................................................12
3.2.2.6 Upload of Corrected Documents............................................................12
3.2.3 System Features of Phase III.........................................................................13
3.2.3.1 Audio/Video Conferencing......................................................................13
3.2.3.2 One-on-One Video and Audio Chat........................................................13
3.2.3.3 Recording of Audio Feed for Evaluation...............................................13
4 Software Development Roadmap................................................................................13
2/14
COVCELL Software Requirements Specification Version 1.0
1 Introduction
1.1 Purpose
This document provides concrete details concerning the software goals as identified by
Work Packages 1, 2 and 3 of the COVCELL Project. For more information, see the
COVCELL Web site (http://covcell.org).
The intended audience of the SRS is primarily the partners of the COVCELL Project, but it
also addresses all other parties that might have an interest in the software under
development (e.g. the wider Moodle Open Source community).
1.2 Scope
The overall objective of the COVCELL Project is to address the need, established in
current work on online language learning, for a virtual environment in which language
learners can meet and interact in the process of language study – a 'virtual campus' for
language learning. This virtual campus will be achieved by developing software modules
for the Open Source CMS Moodle. These modules will focus on supporting the teaching
of languages, but will offer functionality that may be applicable to a broader group of
users, beyond the language teaching community.
For more details on the planned modules, see § 3.2.
3/14
COVCELL Software Requirements Specification Version 1.0
Term Definition
IEEE Institute of Electrical and Electronics Engineers
LMS Learning Management System
A synonym for CMS (as defined above).
Moodle Modular Object-Oriented Dynamic Learning Environment
open source A method and philosophy for software licensing and distribution
designed to encourage use and improvement of software written by
volunteers by ensuring that anyone can copy the source code and
modify it freely.
participant A neutral term that refers either to a teacher or student participating in
a Moodle course.
PHP PHP Hypertext Preprocessor
A scripting language for generating dynamic Web content.
server A server can either be a hardware device or a software application,
depending on the context. Confusion arises when one speaks of
several (software) servers running on a (hardware) server. The
distinction is in many cases irrelevant, however, as the term server
implies an entity that provides a service to a client. This client-server
relationship is of importance, not whether we are speaking of hardware
or software.
SMTP Simple Mail Transfer Protocol
Protocol used for the sending of electronic mail.
SRS Software Requirements Specification
This document.
student Member of a course
TBD To Be Determined
Refers to content that will be provided at a later date.
teacher Course administrator, executes the pedagogical rôle of instructor.
XML Extensible Markup Language
A general-purpose markup language for creating special-purpose
markup languages, capable of describing many different kinds of data.
1.4 References
These specifications are based on IEEE Std 830-1998: Recommended Practice for
4/14
COVCELL Software Requirements Specification Version 1.0
1.5 Overview
§ 2 summarises the software development planned under the auspices of COVCELL. § 3
treats the planned functionality in more detail, relating each step in the development
process to particular system features (i.e. Moodle modules). A roadmap for the software
development can be found in § 4.
The requirements are not ranked in terms of stability or necessity, as the software
modules cannot affect the stability of the overall system. All features included in this SRS
are deemed of importance to the stated goals of COVCELL.
The requirements specified in this document are subject to change, pending the ongoing
assessment of teachers' and students' feedback. The software development has been
divided into three phases to accommodate the required flexibility.
2 Overall Description
2.1 Product Perspective
The Moodle engine operates as the cornerstone of the CMS. Moodle is an acronym of
Modular Object-Oriented Dynamic Learning Environment1, and its modular nature is
expressed in the diagram below. Moodle acts as the conduit for the functionality
encapsulated in the various modules, maintaining data concerning teachers and students
(courses on offer, course enrolment, personal details, etc.) and structuring the interaction
with third party applications that allow participants to receive course-related emails and to
interact with Moodle by means of a Web browser.
The COVCELL Project will develop modules that support its goals as stated above, in
accordance with the guidelines as stated on the Moodle Web site (cf. § 2.4). At this stage
it is intended that Quality Assurance be provided by the maintainers of the Moodle Open
Source project.
1 See http://en.wikipedia.org/wiki/Moodle
5/14
COVCELL Software Requirements Specification Version 1.0
6/14
COVCELL Software Requirements Specification Version 1.0
2.4 Constraints
Due to its nature as a transnational EU project, the software developed by COVCELL has
to take differing national privacy legislation into account. The software will be designed
such that administrators of Moodle will be able to control the granularity or indeed the very
nature of the personal data logged by Moodle.
All software developed by COVCELL will conform to the Moodle Coding Guidelines (cf.
http://docs.moodle.org/en/Coding) and to the Moodle Interface Guidelines (cf.
http://docs.moodle.org/en/Interface_guidelines).
7/14
COVCELL Software Requirements Specification Version 1.0
3 Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
Moodle takes a modular approach to offering functionality within the platform. In other
words, it is a requirement for all modules developed by COVCELL that they conform to the
Moodle look-and-feel and integrate with the complete environment.
8/14
COVCELL Software Requirements Specification Version 1.0
who happen to be on the same page. This might allow them to leverage this chance
meeting and discuss the task as specified on that particular page.
Information gleaned from Moodle regarding participants and their location shall be passed
to the Open Source chat server jabberd which shall be used to generate the contact list
and enable conversation. The block with the list of location-specific contacts is thus a
Jabber client that shall use AJAX to update the contact list at regular intervals. The chat
window itself shall be a floating layer that the user can move around the page as
appropriate. The user shall also have the option to dock the chat window in a fixed
position in the frame.
Text communication between multiple participants at a particular location shall be
possible. In other words, on page X, participants A and B shall be able to text-chat with
each other, while participants L, M and N – also on page X – shall be able to have a
separate chat with each other.
Should a text message not be deliverable, because a participant who was in the chat has
gone offline or moved to another location, this message shall be stored and posted to this
particular participant the next time she is online and on the particular page which was the
catalyst for the original chat.
The participant shall have the option to be invisible, i.e. if desired their presence shall not
be displayed in the dynamic contact list.
3.2.1.2 Whiteboard
Actor: course participant.
A module shall be developed that integrates the whiteboard functionality provided by
Coccinella3 into a Moodle module. This will permit users to create and modify diagrams in
a collaborative environment.
3 See http://hem.fyristorg.com/matben/
9/14
COVCELL Software Requirements Specification Version 1.0
10/14
COVCELL Software Requirements Specification Version 1.0
frame.
11/14
COVCELL Software Requirements Specification Version 1.0
12/14
COVCELL Software Requirements Specification Version 1.0
able to upload the corrected assignment for the student's perusal. The corrected
assignment shall not overwrite the original submission.
5 See http://osflash.org/red5
13/14
COVCELL Software Requirements Specification Version 1.0
14/14