Team eNotebook
Collaborative eNotebook Research Testbed
Software Requirements Specification
Version 1.1
Team eNotebook / Version: <1.1>Software Requirements Specification / Date: <11/08/2005
Revision History
Date / Version / Description / Author10/08/2005 / <1.0> / Document Setup – initial revision / Kevin Visalli
11/08/05 / <1.1> / Final Draft of SRS main / Kevin Visalli
Table of Contents
Team eNotebook / Version: <1.1>
Software Requirements Specification / Date: <11/08/2005
1. Introduction 5
Purpose 5
Scope 5
Definitions, Acronyms, and Abbreviations 5
References 5
Overview 5
2. Overall Description 6
Product Perspective 6
User Classes and Characteristics 6
Constraints 7
Design Constraints 7
External Constraints 7
Assumptions and Dependencies 7
System Features 8
Knowledge, Presentation, Creation, Organization Feature 8
Description and Priority 8
Stimulus/Response Sequences 8
Functional Requirements 8
Knowledge Search and Subscribe Features 9
Description and Priority: 9
Stimulus/Response Sequences 9
Functional Requirements 9
Knowledge Sharing, Collaboration and Access Control Features 10
Description and Priority: 10
Stimulus/Response Sequences 10
Functional Requirements 10
Knowledge Modeling and Storage Features 11
Description and Priority 11
Stimulus/Response Sequences 11
Functional Requirements 11
Other Product Requirements 12
Documentation Requirements 12
Safety Requirements 12
Software Quality Attribute Requirements 12
Availability 12
Reliability 12
Performance 12
Security 13
Interoperability 13
Maintainability 13
Usability 13
Interface Requirements 14
User Interfaces 14
Hardware Interfaces 14
Software Interfaces 14
Communications Interfaces 15
Supporting Information 15
Sub Feature Specifications 15
Knowledge Presentation, Creation, and Organization Features Specifications 15
Knowledge Search and Subscribe Features Specifications 15
Knowledge Sharing, Collaboration and Access Control Features Specifications 15
Knowledge Modeling and Storage Features Specifications 15
System Usability Testbed Features Specifications 15
Analysis Models 15
Knowledge Presentation, Creation, and Organization Features Analysis Models 15
Knowledge Search and Subscribe Features Analysis Models 16
Knowledge Sharing, Collaboration and Access Control Features Analysis Models 16
Knowledge Modeling and Storage Features Analysis Models 16
System Usability Testbed Features Analysis Models 16
Glossary of Terms 16
Confidential / ÓTeam eNotebook, / Page 12Team eNotebook / Version: <1.1>
Software Requirements Specification / Date: <11/08/2005
Software Requirements Specification
1. Introduction
Purpose
This SRS describes the software functional and nonfunctional requirements for release 1.0 of the Collaborative eNotebook System. This document is intended to be used by the members of the project team that will implement and verify the correct functioning of the system. Unless otherwise noted, all requirements specified here are of high priority and committed for release 1.0.
Scope
The Collaborative eNotebook Testbed allows for the collaboration, sharing, and locating of multiple types of information in order to improve the efficiency in which students learn. A detailed project description is available in the eNotebook Vision and Scope Document [2]. The section in that document titled “Product Features” lists the features that are scheduled for full or partial implementation in this release.
Definitions, Acronyms, and Abbreviations
Please refer to the eNotebook SRS (glossary) for all terms, acronyms, and abbreviations relating to this software requirements specification
References
- DublinCore.org
- eNotebook, Team. eNotebook Vision and Scope Document
- eNotebook, Team. eNotebook SRS (sub-KMSF) Specification
- eNotebook, Team. eNotebook SRS (sub-KSCAF) Specification
- eNotebook, Team. eNotebook SRS (sub-KPCOF) Specification
- eNotebook, Team. eNotebook SRS (sub-KSSF) Specification
- eNotebook, Team. eNotebook SRS (sub-TB) Specification
- Hawker, Dr. J. Scott. A Vision of Collaboration and Cooperative Learning using Virtual eNotebooks. http://mycourses.rit.edu.
- Hawker, Dr. J. Scott. The Collaborative eNotebook: a Collaborative Learning and Knowledge Management Testbed. http://mycourses.rit.edu.
- www.OpenArchives.com
- www.section508.gov
- www.w3.org/RFD/
Overview
This SRS document describes the software’s functional and nonfunctional requirements for release 1.0 of the Collaborative eNotebook Testbed. An overall description of the system is provided, including a product perspective, user classes and characteristics, constraints, and assumptions and dependencies. In addition, this document describes external interface requirements and provides support information for the entire system, including a general class diagram, overview of use-cases present in the system, and glossary of terms.
In conjunction with this SRS document, 5 sub feature SRS documents are used to further describe the features of the system with the utilization of use-cases. These sub feature specifications are split up by the five major features of the eNotebook project.
- Knowledge Presentation, Creation, Organization Features
- Knowledge Search and Subscribe Features
- Knowledge Sharing, Collaboration and Access Control Features
- Knowledge Modeling and Storage Features
- System Usability Testbed Features
In addition to these sub feature specifications, various use-case realizations (analysis models) have been provided to further explain features and interactions between components of the system.
2. Overall Description
Product Perspective
RIT’s Collaborative eNotebook project is designed to provide a collaborative learning tool that integrates existing technologies for personal and shared digital libraries, advanced metadata-driven search, and peer-to-peer file sharing. Although some systems, such as myCourses, have been developed in order to help facilitate learning and sharing of information, they do not come close to grasping the concept of a complete collaborative learning tool that holds personal and shared artifacts.
The eNotebook system will initially be developed for students enrolled in the Software Engineering undergraduate program at RIT. This application will focus on providing an experimental test-bed and proof-of-concept, rather than a deployed product. Based on a year or two of experience with the test-bed and incremental improvement, full-scale development of a production-worthy product may proceed, followed by the deployment and commercialization of an eNotebook application which could be used by colleges and universities around the world.
The eNotebook project is an independent project that incorporates a wide range of already existing powerful components. A detailed description of the technologies being integrated into the project are contained within the eNotebook Vision and Scope Document [2] under the “Product Perspective” section.
User Classes and Characteristics
User Class / DescriptionStudent / Students comprise the largest proportion of users of the system. Their primary goal is to view resources shared by others. They are also expected to create artifacts and to use eNotebook to organize course material both current and old. Students collaborate with faculty and other students..
Faculty / Faculty comprise of the second largest proportion of users of the system. Their primary goal is to create new artifacts and to share the resources with students. Faculty are expected to also view artifacts published by students, other faculty, and users outside of the school. .
Admin / Administrators of the system are expected to primarily log and possibly mitigate complications found in the eNotebook system.
Researcher / Researchers of the system are expected to gather and record usage data of the system for the purpose of aiding eNotebook collaboration research.
Constraints
Design Constraints
DC-1. The client component of the system needs to be accessible on multiple platforms and from remote locations.
DC-2. The set of iterations of eNotebook are intended to be research based. Therefore design shall be influenced by research needs and obtaining usage statistics.
DC-3. The design should not assume a single repository for storage, but use peer to peer and distributed computing as necessary.
External Constraints
EC-1. The system and its performance is currently limited by available prototype server hardware specifications.
EC-2. NSF requires that the system is abstract enough to be easily molded into different academic and professional environments.
EC-3. Standards such as Dublin Core Metadata shall constrain and guide eNotebook data.
Assumptions and Dependencies
AS-1. Users
AS.1.a. Content is available and provided by other users.
AS.1.b. Users submit metadata with artifacts
AS.1.c. Users feel comfortable posting and annotating documents
AS.1.d. Users want to share their information and collaborate
AS.1.e. Users will be vigilant in monitoring their documents and others that they are contributing to, in order to make sure they remain well-founded.
AS-2. Professors
AS.2.a. Professors will migrate class artifacts to the system
AS.2.b. Professors will actively promote and use the system for all classes.
AS-3. Developers
AS.3.a. The requirements are met, and clearly defined.
AS.3.b. The stakeholders are available for clarification and questions.
AS.3.c. Technology standards for the system do not drastically change.
AS-4. SE Department
AS.4.a. Students make effective use of the system.
AS.4.b. Teachers make effective use of the system.
AS.4.c. The system enhances the learning experience.
DE-1. Software development based on open source technology that is readily available
DE-2. Institution's Systems
DE.2.a. Student Information System
DE.2.b. RIT Directory
DE-3. Current standards
DE.3.a. XML
DE.3.b. Dublin Core
DE.3.c. OAI-PMH
DE.3.d. RDF
System Features
Knowledge, Presentation, Creation, Organization Feature
Description and Priority
The requirements for this feature set describe how the system provides and controls presentation, creation, and organization throughout the eNotebook Testbed Application. The system’s users are given a workspace from which all of their communication with the system will take place. This workspace acts in many ways as a ‘virtual desk’, allowing for the organization of artifacts as well as a personal glossary in which users can add, delete and modify valuable terms. The workspace will also users the ability to publish artifacts to the system, at which time the documents are marked with metadata to allow for later searching and sorting.
Stimulus/Response Sequences
Stimulus: A user wants to publish (upload) a document to the system
Response: The system creates an artifact with specified metadata and adds it to the system.
Stimulus: A user defines a new term in their personal glossary
Response: The user’s personal glossary is updated, and places links to other people’s definition of the term
Stimulus: A user wants to organize the various artifacts they are currently looking at
Response: The user’s workspace allows the user to organize the information he/she is currently looking at.
Functional Requirements
Artifact.Publish / The system shall allow users to publish artifactsArtifact.Publish.AssociatedTerms / The system shall allow artifacts to be associated with one or more sets of taxonomic terms.
Artifact.Publish.GenerateTaxonomies / The system shall generate suggested taxonomies based on artifact analysis.
Artifact.Publish.Index / The system shall allow artifact content to be automatically indexed using contextual terms.
Artifact.Publish.Metadata / The system shall have standard metadata fields that will be associated with artifacts when artifacts are published.
Artifact.Publish.Metadata.Autofill / The system will attempt to fill in all unspecified metadata fields from an analysis of artifact content.
Artifact.Publish.Metadata.TaggingStandards / The system shall adhere to universal tagging standards for metadata.
Artifact.Publish.Security / The system shall publish artifacts by uploading files through a secure file system.
Artifact.Publish.Storage / The system shall have persisted artifact storage.
Artifact.Publish.WordBasedIndex / The system shall perform a word-base indexing of all artifact content.
WorkSpace / The system’s users shall be provided a work space for maintaining desired artifacts.
Workspace.ExportArtifact / The user’s workspace shall allow users to select multiple artifacts to be retrieved to a local file system.
Workspace.Glossary / The user’s workspace shall provide a glossary which associates word meanings.
Workspace.Glossary.Community / The system shall allow for community standard glossaries to be created for relatable terms.
Workspace.Glossary.Community.View / The system shall allow all users to view community glossaries.
Workspace.Glossary.Personal / The user’s workspace shall provide a personal glossary which will automatically link to alternative meanings.
Workspace.Glossary.Personal.Add / The user’s workspace shall allow the user to add terms to his/her personal glossary.
Workspace.Glossary.Personal.Edit / The user’s workspace shall allow the user to edit terms to his/her personal glossary.
Workspace.Glossary.Personal.Remove / The user’s workspace shall allow the user to remove terms to his/her personal glossary.
Workspace.Glossary.SearchAndSort / The user’s workspace shall allow glossary terms to be searched for and sorted by application domains.
Workspace.MaintainCurrent / The user’s workspace shall maintain personal artifacts currently being developed.
Workspace.Organization / The user’s workspace shall allow for multi-modal organization of information.
WorkSpace.TrackArtifact / The user’s workspace shall track desired document annotations.
Workspace.ViewHistory / The user’s workspace shall allow for viewing past history of artifacts searches and publications.
Workspace.ViewRequests / The user’s workspace shall allow for viewing requests for artifact annotations and collaborations.
Knowledge Search and Subscribe Features
Description and Priority:
The eNotebook system will provide ways for its users to search artifact repositories based on varying criteria. Searches remain active even after the user has dismissed the results. Users can also subscribe to searches or individual artifacts allowing them to receive updates and notifications. Priority = High.
Stimulus/Response Sequences
Stimulus: A user searches for an artifact based on some criteria.
Response: The system presents the user with matching artifacts.
Stimulus: A user chooses to receive new results matching their search in the future.
Response: The system uses a search agent to notify the user of future matches.
Stimulus: A user subscribes to receive notifications of updates to an artifact artifact or context of artifacts
Response: The system notifies the user of annotations and additions.
Stimulus: A user subscribes to retrieve updates to an artifact or context of artifacts
Response: The system automatically retrieves updates within the subscription.
Functional Requirements
Artifact.Search / The System shall allow users to search for artifactsArtifact.Search.Agents / The system shall provide search agents for retroactive searching
Artifact.Search.Agents.Notification / The system shall provide notifications to users upon artifact publication and artifact modification when matched to user search agents
Artifact.Search.Content / The system shall provide artifact searching based on artifact content
Artifact.Search.Metadata / The system shall provide artifact searching based on metadata
Artifact.Search.Keyword / The system shall provide artifact searching based on keyword
Artifact.Subscribe / The system shall provide subscription services
Artifact.Subscribe.Content / The system shall provide subscriptions based on artifact content
Artifact.Subscribe.Metadata / The system shall provide subscriptions based on artifact metadata
Artifact Subscribe.Keyword / The system shall provide subscriptions based on keyword
Artifact.Subscribe.Notification / The system shall notify subscribing users of artifact additions and/or annotations
Artifact.Subscribe.Retrieval / The system shall automatically update subscription based artifact additions and/or annotations within a user's workspace
Artifact.Subscribe.Semantc / The system shall provide subscriptions based on keyword matching
Knowledge Sharing, Collaboration and Access Control Features