EECS – 571 SOFTWARE ENGINEERING
PRODUCT REQUIREMENTS SPECIFICATION
DISTANCE LEARNING NET (DL-NET 1.0)
PROF. CARL CHANG
NEELIMA L. PENMESTA
LAKSHMI NITISHA BAALAY
184.108.40.206a CREATE A COURSE
220.127.116.11b UPDATE A COURSE
18.104.22.168c START A CLASS
22.214.171.124a REGISTER FOR COURSE
126.96.36.199b JOIN A CLASS
5.0 REQUIREMENT SPECIFICATION FOR CLIENT
6.0 STRUCTURED ANALYSIS AND DESIGN TECHNIQUE (SADT)
7.0 RULES OF ORDER
8.0 HARDWARE AND SOFTWARE REQUIREMENTS
9.0 OPEN ISSUES
Acronyms and Glossary
DL-Net is an education platform that delivers educational content on the web. DL-Net is an Internet based application that delivers content in different times (asynchronously), or in real time (synchronously). The major goals of DL-Net 1.0 are:
This paper describes the delivery platform of DL-Net server which includes the system’s architecture, requirements specification, and a high-level design of the system.
Over the past few years, a major explosion in the growth of the Internet has taken place. It is becoming increasingly the place where people go to find information, share information, do their commerce and learn new things. The future of software development is taken to new heights with the development of new Intranet/Internet applications on the World Wide Web.
2.1 Distance Education
Distance Education is term that refers to instructional delivery that does not constrain the student to be physically at the same location as the instructor. The term Distance Learning is used interchangeably with Distance Education, but the main difference between the two is that the student is responsible for learning, while the instructors/teachers are responsible to provide the content. Thus, Distance Learning can be seen as the result of Distance Education. Historically, Distance Education referred to correspondence study between the student and an institution (most of the time an educational institution), and the medium of the exchange of content was via mail and books. Today, audio, video and computer technologies are more common delivery modes. The new technologies allow for two types of communication to deliver the content of distance education. They are:
Examples of distance education delivery systems in the synchronous mode include:
Examples of distance education delivery systems in the asynchronous mode include:
2.2 Distance Education and the Internet
As technological advances in the computer hardware and software industries continued to grow over the years, a new form of communication emerged, Computer Communication. Computer Communication is the exchange of information between persons by the way of computer networks. The information exchanged can be text, images, audio, and video. The information exchanged can be done in real time (synchronously), or the exchange of information can be done in different times (asynchronously). Examples of using a computer network include: 1) modem with an analog or digital telephone line, 2) Local Area Network (LAN), 3) Wide Area Network (WAN), or 4) T1/T3 transmission network. One of the applications that benefited from technological enhancements to computer networks is the Internet.
The Internet’s original mission, before the recent explosion of commerce on the Internet, was a medium "in support of research and education". As the telecommunications and computer industries continued to grow and expand to change the all of our lives, educators and information providers struggled to find a useful use for this new medium. Initially, the Internet was being used by university professors and researchers around the world to share information and communicate with each other. Over time educators recognized that the Internet can be useful as a medium to educate and teach people about all sorts of subjects from young children in lower grades to college students to any person that is interested in learning and education. They also realized that the Internet crosses the boundaries of time and space. People can access the Internet anytime they choose to and from any place in the world. Over time thousands and thousands on-line resources were added to the Internet, and new applications emerged to allow foe people to communicate and share information over the computer network and the Internet.
Examples of systems that deliver computer communication include:
All the tools mentioned above focus on overcoming: 1)distance issues between users in different places, and 2)resource sharing (i.e., enough bandwidth to support multiple users). But, it was not until recently that people started thinking about issues related to teaching and learning methodologies, and also thinking about how to use these new tools and technologies to transform the traditional class room experience into the world of distance learning. Distance learning is also a necessary tool for many industries and companies to offer training and education on demand, thereby allowing their employees and workforce to be up to date on the latest technology in the information age.
Recent research has shown that younger generations, due to the exposure to PC, Internet, and video games, think and learn differently than earlier generations. They acquire information in a non-linear, non-sequential style. Also, significant difference in effectiveness between distance learning and traditional instruction methods and student attitudes are generally positive about the experience. The issue is to develop new, highly interactive, tools and applications that allow teachers and students to communicate and interact just like they do in the real class room.
2.3 Distance Learning tools
The first step that our team took is to survey the Internet to see what other tools and distance education delivery systems that are available for educators and authors to publish their content on the Internet. Some of the main conclusions are:
3.0 Distance Learning Server 1.0
The project Distance Learning Server (DL-Net) 1.0 considers all the advantages that the Internet provides for teachers and educators to provide online courses for people. This is an implementation of an online education delivery system. This system enables educators and information providers to author and publish courses online. This system enables teachers and students to communicate with each other in real-time to simulate the class room experience online. DL-Net 1.0 is a Java based application, which allows us to talk advantage of all the benefits that the language provides to create dynamic web based applications.
The general features include FTP, E-mail, Public/Private chat, Audio Channel, Video Channel, an Authoring environment to create course content synchronously or asynchronously. Other features include enforcing of security, providing student registration, creating and editing of class sessions.
3.0 DESCRIPTION OF THER DL-NET SERVER
3.1Concept of the DL Server
The idea of Distance Learning Server comes up from the notion of a Real Class Environment, where the teachers and the students interact together in real time. This concept is brought over to the Internet, when students and teachers can be remotely located, and still interact very much like being in a real class. The students and the teachers do need to assemble together at a common place, but use the DL Net System from wherever they are
To imitate a class environment, the DL Server provides means of communicating through text, audio and video, so that teachers and students can see and hear each other, and also pass textual contents. Besides this synchronous mode of Distance Learning, the students and the teachers have the option of interacting asynchronously. The teacher can provide the course on the web and the students can view the material at their own pace and at any time they choose to.
The diagram in the next page shows a high-level model of the DL-Net system:
Each client (student/teacher) will use the Internet as the medium to access the DL-Net system. The teacher can access the system asynchronously to create the course to be taught to students or to add course material. The student can access the system asynchronously to study the course at his/her own pace, or to learn anytime that fits their schedule. Teachers and students can also interact in real-time. They can speak as well as listen and see all the other people hooked on to the particular session. The DL Server shall provide the means to integrate all the necessary tools to make that happen under one application. Hence the emphasis is not to focus on the tools or software available, but enable the instructors to guide the students through a topic, emphasize the learning experience, and help students feel like they are in a real class room.
3.2 Server/Client vs. Master/Slave relationship
The kind of Student/Teacher relationship in a real class room is hard to simulate in the current Server/Client architecture that is supported in the current WWW System. The current transfer protocol, the HTTP just provides us with a pair of Client and Server which are suitable for only basic data search and retrieval, but not for our needs. Some of the basic problems in this Client/Server model as pointed out by Ping-Jer Yeh et al.  are:
Thus to enable the system to provide for a State to the Clients and control in the navigation and activity an additional Master/Slave model is incorporated into this Server model.
This Master/Slave model gives a Role to all the clients in a group, and specifies the privileges and control for each of them. The Master is the teacher in the real classroom world, while the Slaves are all the students in the real classroom model. It is important to emphasize that this distinction is a logical distinction that allows us to enhance the Server/Client model.
The basic Client/Server model also remains in that the server is still a repository of all the information and clients are the one’s accessing it, but now one of the clients logs in as a Master, who has special privileges and forms a group of Slaves for a particular group. So after taking permission from the group Master, the slaves log into a session which connects themselves to the same synchronous activities going on in the session. The master (teacher) has the navigational controls and the floor, which he can pass down to the slaves (students), and then take it back from them.
Through the Internet, the Server not only fulfils the need of the people accessing the information and the information providers, but also incorporates the relationship between these two on Real Time. Hence to deal with the Information providers, Information accessing people and the Real Time relationship between these two, the DL-Server should provide both the Asynchronous and the Synchronous mode of learning over the Internet.
As shown in the figure of the model, the features providing the Asynchronous methods of Distance Education are the Bulletin Board systems, Newsgroups, Emails, and an Authoring Environment. The first three features exist independently, and need to be integrated into one interface. The kind of an authoring environment, which is required, is not available as a tool though. It should allow the user to prepare the course content, and be put up on the Internet database, to be used asynchronously, or given to the students at the beginning of a session. The authoring tool also provides a unified interface for all the other authoring needs, such as putting up class schedules, requirements of the class, syllabus, announcements, etc. It also incorporates certain links to other tools such as audio, video recording, and editing tools.
The real emphasis of the DL-Net System is though on the Synchronous methods, wherein the Real Time Student/Teacher Relationship picture actually comes in. The Students and Teachers are sharing the same session in real time, and for that the DL Server provides them the tools for holding textual, audio, and video conferencing.
3.3 High Level Architecture
A high level architecture of the DL server is shown in the next page:
As was mentioned earlier, the DL Server is built over the HTTP Server. The end users, the teachers and the students interact with the Server directly.
The DL Server consists of basically 3 layers. The first provides an API between the HTTP Server and the Server functionality. The second layer consists of the various functional components of the Server. The Session Manager provides the Session controls in terms of authenticating the clients when they log in , assigning them the privileges and resources each one has, and taking them back etc. In general it controls the session, keeping the records of the current sessions being held, who are using them, who is the master, and who are the slaves.
The authoring environment allows the teachers to create the course contents, support materials, editing tools, and other functions as would be mentioned in detail in a later section.
The meeting controller provides special controls and privileges to the Master in a Synchronous Session and the right to pass down the controls to the Slaves in the course of a session. The Teacher/Student centers provide them with certain special functions such as scheduling real time events, like distribution of course materials, quizzes and their submissions, taking notes, making bookmarks etc.
Certain other components such as Emails and Bulletin Boards, are provided at this layer also, though they do not need an API Interface to talk to the HTTP Server, and can directly interact with it.
Over this layer is the third layer and uppermost layer of the Server, which provides the clients an Application interface to the Server’s functionality’s, and thus the details of the inner architecture of the Server are hidden from them. The API maps each of the clients’ requirements to a set of Server components, and thus the clients are not bothered about how the Server does them.
4.0 SYSTEM REQUIREMENTS FOR DL-Net 1.0
4.1 Requirements Analysis
The purpose of assessing requirements for a project is called as Requirements Analysis. This is the initial phase of the life cycle of the software development process.
The requirements would be developed initially from the list of items to be included in the product. They need to be refined after several discussions and each item in the list would be discussed and documented. This gives a requirements specification document.
4.2 Requirement Specification for DL-Net 1.0 Server
The main features of the DL-Net 1.0 server provide the following:
DLNet1-PRS-4.2.1 The DL-Net server must have clear interface for the client. Open API will be defined in the later part of this section.
DLNet1-PRS-4.2.2 The DL-Net server must have clear interface for the HTTP server. Open API between the DL-Net 1.0 server and the HTTP server will be defined.
DLNet1-PRS-4.2.3 The DL-Net server must be extendible and open. In order to add any extra functionality or new tools to the system in future, it should be made extendible.
DLNet1-PRS-4.2.4 The server must support and accept multiple client connections also support multiple asynchronous or synchronous sessions.
DLNet1-PRS-4.2.5 Proper security must be ensured on the server allowing only the registered clients to get connected to the server. Clients can be teachers/authors or students also proper security must be insured wither the client wants to connect in asynchronous or synchronous mode.
DLNet1-PRS-4.2.6 All the clients communicate with the server and hence there must be multiple communication channels between the server and clients (in the form of sockets). During a class session, the server should have a broadcast service for the student clients (slaves) to reflect the action of the teacher client (master) to all other student clients.
DLNet1-PRS-4.2.7 The server must distinguish between clients that want to have asynchronous sessions or synchronous sessions.
DLNet1-PRS-4.2.8 During a class session (synchronous real-time communication), the server must distinguish between the teacher (master) and the students for the course (slaves).
DLNet1-PRS-4.2.9 During a class session (synchronous real-time communication), the server must maintain a list of all clients in the system according to each individual session. When an authorized client enters the system, the server should maintain the client’s profile and when exited, the server should release all system resources.
DLNet1-PRS-4.2.10 The server should maintain the general information on all sessions such as creator (teacher/master), name, start and end times, list of members of the session in a session database.
DLNet1-PRS-4.2.11 The server should maintain the general information of all clients (student/slave) in client’s database. This information includes the client’s name, user id, password, e-mail, address, etc. During a class session, the server needs to keep track of all student actions in the meeting, thereby allowing that information to be reflected on different other parts of the system such as virtual table, Robert’s Rule of Order, etc.
DLNet1-PRS-4.2.12 For a teacher using the server for an asynchronous session, the server must provide the client access to any web tools (e.g., text, audio, video) that the teacher will need to create, update, delete course content or course material.
DLNet1-PRS-4.2.13 For a student using the server for an asynchronous session, the server must provide the client access to any web tools (e.g., text, audio, video) that the student will need to view course content or course material.
Finally, the server can be viewed as an integration of the following components:
4.2.1 COURSE MANAGER:
The Course Manager basically deals with the clients. Even though we assume a Master and Slave model for the teacher-student relationship, we consider both students and teacher to be clients in this design. It is responsible to store the information about students and teachers. It provides synchronous and asynchronous access to the clients depending on what they request for. Authentication of a teacher has to be done by the course manager by verifying the data in the teacher database.
A web page containing a list of courses is maintained. Each course on the page is hyperlink that allows the system to distinguish between teachers and students. For each course, the client will be prompted for a login and password. The teachers that own the courses will be known by the DL-Net Server before they login for the first time. It is assumed that if the login, and password do not match in the teacher database, then the client is a student/guest that is trying to find out more about the system.
188.8.131.52 CLIENT AS A TEACHER:
When a client requests to log in as a teacher he has to type in his login and password, which is authenticated by the course manager. After successfully logged in the teacher is required to select one of the three options he has on the window that appears. The three options are
184.108.40.206 CREATE A NEW COURSE:
When the teacher requests the creation of a new course, a window which prompts for the course name, requirements for registration into the course and the maximum number of students who could be allowed and the details about the course appears. The window contains buttons for submit, Go to authoring environment and clear.
Once the submit button is clicked the course is created the input data is stored in the Course database. The course web page is created and all the details of the course and the are posted. Clicking the clear button clears all the fields. If the teacher wants to create the course content asynchronously the second button has to be clicked. The authoring environment is invoked to all the teacher or author to create the course content, syllabus, course material and class schedule. Refer to the Authoring Environment section for a list of the requirements.
220.127.116.11b UPDATE A COURSE:
When this is selected the teacher will be allowed to make changes for any of the details that have been given by him during the creation of the course. He is provided with the same window where he could edit the existing data and can also make changes to the data in asynchronous mode by selecting the update or the authoring tools options respectively. There is a cancel option, which could be selected if the teacher does not want to make any changes. All the students who have registered for the course, which is updated, will be sent an e-mail about the changes made in the course.
18.104.22.168c STARTING A CLASS:
"Start the Class" option can be selected by a teacher only at a particular time for a particular class and in real-time synchronous mode. Teacher cannot start two classes at the same time. The teacher will be having an option of starting the class in either the text or the audio or the video modes. As soon as the class is started the course manager sends e-mail the students about the start of the class.
Then, the teacher center is called by the server, which allows the teacher to present the lecture material to the students in real-time. Also, it allows gives the teacher the ability to ask questions to students, receive questions from students, and interact with his students in real-time. The Course Manager performs these tasks with help of the Teacher Center. Refer to the Teacher Center section for further details.
22.214.171.124 CLIENT AS A STUDENT:
The next option the client has is to request logging in as a student. In this phase the client has two options which he could select as a student/guest. The options are
126.96.36.199a REGISTER FOR CLASS:
This option has to be selected by the student when he wants to register for the course, which is already created by a teacher. The student is prompted to enter the login and password along with other details like the first name, last name, address, etc. The login and password for each student should be unique.
The course manager has to check weather the course, that the student is requesting to register for, has seats available in the class. A guest will not have permission to view the course content asynchronously or join a real-time course session, but he/she is allowed to view the course information and the course description that is posted in the web. The student is then registered for the class and added to the student database.
188.8.131.52b JOIN A CLASS:
The student can take a class in two modes: asynchronous and synchronous. In the Synchronous or Real time mode, all registered students for a particular course can join the class after they receive the e-mail from the Course Manager stating that the class has begun. The user interface for "Join the class" option contains the login id and password of the student. The Course Manager has to check the authenticity of the student from the student database. After this the student is referred to the "Student Center" and given the student privileges. The student is considered to be a slave in the Master/Slave model. The student is allowed to participate in the real-time class session, and is given all the privileges that the student has. These are accomplished with help of the Student Center. Refer to the Student Center section for further details.
In the asynchronous mode, the registered student has access to all the course material. The student can take the course on-line, and study the material at his/her leisure. The student will interface with course material via a web browser and any plug-in tools that are needed for him to view the course material.
4.2.2 AUTHORING ENVIRONMENT
On-line courses today have limitations. First, the material is a text-based only material. The user interacts with a collection of web pages written in HTML or text-based files that are displayed on the Internet. Thus, most on-line courses do not take advantage of other media types like audio and video. Second, authors and writers of courses on the Internet must have some knowledge about HTML, the World Wide Web, and other Internet tools, thereby it is not easy for teachers and authors to write on-line courses. Finally, today’s courses make it difficult for students and users to personalize the learning experience. The purpose of this project is to provide is to allow teachers and educators to create on-line courses that are similar to the courses that they teach in colleges, universities, and education centers. The main goals of the authoring environment are:
The authoring environment in the asynchronous mode of the DL-server is not a real-time application. It will have two distinct flavors: an authoring environment for the teachers or authors and a user environment for students. The remainder of this section can be divided into three sections. Section 2.1 will describe the terminology and the concepts that will be used throughout the remainder of this document. Section 2.2 will describe the requirements of the authoring environment, while section 2.3 will describe the requirements of the user environment.
184.108.40.206 Terminology and Concepts
Teachers and students are familiar with the terms like course, unit, and lesson. These are abstract representations for a collection of contents. Today, the content of courses is mainly text, regardless if it is on-line or not, but the authoring environment attempts to expand the content to include other types of content. First, let us define the following terms as they apply to this project:
Typically teachers organize the course to follow the text book that is assigned for the course, and they use that to develop the out-line of the course to follow the out-line of the text book. This project does not assume that there is a text book for the course being published on-line, thereby the out-line and organization of the course is left completely to the discretion of the teacher/author.
220.127.116.11 Authoring Environment Requirements
This section describes the requirements for the authoring environment that the user needs to follow. Requirements are divided to requirements that are related to a course, requirements that are related to a unit, requirements that are related to a lesson, and requirements that are related to a page. Please, note that the number next to each line represents the requirement number.
18.104.22.168.1 Course Requirements
DLNet1-22.214.171.124.1.1 The teacher shall be able to create a new course that does not exist.
DLNet1-126.96.36.199.1.2 The teacher shall be able to delete an existing course. This means that the authoring environment will have to remove all the units, lessons, and pages that are associated with a particular course with out the user having to delete each unit by itself.
DLNet1-188.8.131.52.1.3 The teacher shall be able to view the course before he/she publishes it. This means that the user will be able to view the layout or contents of the course before he/she decides to publish the course.
DLNet1-184.108.40.206.1.4 The teacher shall be able to schedule the publication of all or part of the course.
DLNet1-220.127.116.11.1.5 The teacher shall be able to publish the course schedule to the students.
DLNet1-18.104.22.168.1.6 The teacher shall be able to publish any course announcements as part of the course. For example, the teacher can announce a particular article that students should read, or a particular seminar that students might consider attending.
22.214.171.124.2 Unit Requirements
DLNet1-126.96.36.199.2.1 The user shall be able to create a new unit to a course.
DLNet1-188.8.131.52.2.2 The user shall be able to delete a new unit from a course. This means that the authoring environment will have to remove all the lessons, and the pages that are associated with a lesson without the user having to delete each lesson by itself.
DLNet1-184.108.40.206.2.3 The user shall be able to update an existing unit. This means the authoring environment will allow the user to update lessons by updating the pages associated with a lesson.
DLNet1-220.127.116.11.2.4 The user shall be able to view the course before he/she publishes it. This means that the user will be able to view the layout or contents of the course before he/she decides to publish the course.
18.104.22.168.3 Lesson Requirements
DLNet1-22.214.171.124.3.1 The user shall be able to add a new lesson to a unit. This includes creating and writing the pages for the lesson.
DLNet1-126.96.36.199.3.2 The user shall be able to delete a lesson from a course. This means that the authoring environment will have to remove all the pages that are associated with a lesson without the user having to delete each page by itself.
DLNet1-188.8.131.52.3.3 The user shall be able to update an existing lesson. This means the authoring environment will allow the user to update any pages in a lesson.
DLNet1-184.108.40.206.3.4 The user shall be able to view a lesson before it is published. This means that the user will see the collection of pages that form the lesson in HTML format, thereby the user can see what the pages will look like before they are published on the Internet.
220.127.116.11.4 Page Requirements
DLNet1-18.104.22.168.4.1 The user shall be able to add/write a new page to a lesson. This means that the user will use the authoring web page to edit and create the contents of the page.
DLNet1-22.214.171.124.4.2 The user shall be able to delete a page from a course. This means that the authoring environment will have to remove the page and its content.
DLNet1-126.96.36.199.4.3 The user shall be able to update an existing unit. This means the authoring environment will allow the user to update lessons by updating the pages associated with a lesson.
DLNet1-188.8.131.52.4.4 The user shall be able to view the course before he/she publishes it. This means that the user will be able to view the layout or contents of the course before he/she decides to publish the course.
DLNet1-184.108.40.206.4.5 The page content can be one of the following types: text, audio, images, video.
220.127.116.11.5 User Requirements
The user in this case is the student that wants to view the content of the course asynchronously.
DLNet1-18.104.22.168.5.1 The student must be able to view the content of the course via a web browser.
DLNet1-22.214.171.124.5.2 If some of the course material require that the student wants to view require Internet plug-in tools (e.g., real-audio), then the server must be able to allow the student to download the particular tool or application that he/she needs. This feature will allow the student to view the material immediately rather than trying to guess what tools he/she might need and where to get them from.
DLNet1-126.96.36.199.5.3 The student should be able to copy or bookmark some of the course content for his/her personal learning. This feature will allow the student to copy/download the course material to the client terminal for personal use. This feature will allow students to read and understand the course material at their own pace, and will allow them to create personal notes for themselves.
4.2.3 MEETING BOARD:
In the Synchronous mode , the Meeting Board should allow multiple tools. The Meeting Board now is an integration of existing tools such as the White Board used for drawing , Text Editors like the MUD,MOO and Audio and Video Conferencing tools like CUSee-Me etc. In future Java based applications should replace the tools which are being integrated for now. Whenever the teacher makes any changes on the White Board or any other tool all this information is immediately sent to the server and the server has to broadcast the whole state on to the student’s window. The same is acceptable to the student who is currently holding the floor.. A student or teacher is allowed to use these tools only when he or she gets the floor which is decided by the Meeting Controller.
4.2.4 MEETING CONTROLLER:
In the Synchronous mode or in Real time, the teacher has complete control of the floor. If the teacher wants he need not grant the floor to any student. In a Question/Answer session he can grant the floor to student whom he wants to answer the question. But during a discussion or a Chat Session, Meeting Controller is an implementation of the Robert’s Rules of Order. During a discussion, initially the floor is assigned to the teacher. Whenever more than one student requests the floor, depending on the RRO a decision would be made on who should be given the control of the floor.
4.2.5 TEACHER CENTER:
Purpose of the Teacher Center is to help teacher clients with common set of activities, regardless of the course. The teacher can use the center in both the two modes, the synchronous and the asynchronous mode. In the Asynchronous mode, the Server should provide for the following requirements:
DLNet1-PRS-188.8.131.52: The teacher should be able to refer to the authoring environment to create the course contents and other things as putting down the schedules, announcements, requirements and other details of the course
DLNet1-PRS-184.108.40.206: The teacher should be allowed to set up newsgroups for the courses.
DLNet1-PRS-220.127.116.11: The teacher can reply to queries through emails or put up replies at the Bulletin Boards.
For the Synchronous learning sessions:
DLNet1-PRS-18.104.22.168: The teacher starts up a session. The Teacher Center, coordinates with the Course Manager to authenticate the Teacher for that course and then give him all the privileges of the Master or the teacher of the course.
DLNet1-PRS-22.214.171.124: The teacher has a Newsgroup, or a list of the emails of all the students registered in the course, to which the teacher sends a common invitation to attend the session.
DLNet1-PRS-126.96.36.199: The teacher has the right to allow students to join the session, who are late in joining the session.
DLNet1-PRS-188.8.131.52: The teacher should also have the capability of distributing material at the start of the class, additional notes, tests or quizzes etc. and/or receiving them back.
DLNet1-PRS-184.108.40.206: By default it is the teacher who has the floor all the time, but he has the capability to pass down the floor to a particular student, or give the floor to Students in general, when different students get floor on the basis of Robert Rules of Order.
DLNet1-PRS-220.127.116.11: Teachers can ask public questions from the whole class or private questions from a particular student.
4.2.6 STUDENT CENTER:
The Student Center will allow all student clients common activities for all courses in both synchronous and asynchronous mode. One of the basic requirement of the Center is:
DLNet1-PRS-18.104.22.168: The Student should have the option to choose to enter a course either asynchronously or synchronously.
Some of the requirements for an Asynchronous learning are :
DLNet1-PRS-22.214.171.124 The students should be given access to view the material put up in the Databases at their own pace. The material would include the course material, the announcements, schedules, syllabi, etc. Though different sort of users will have different levels of access rights. A student who is just auditing a course, might not be allowed access to all the materials. This access rights are decided by the teacher of a course.
DLNet1-PRS-126.96.36.199 The students should be allowed to save some parts of the material. The Server should allow the students to bookmark pages and take notes.
DLNet1-PRS-188.8.131.52 The student should also be allowed to request additional materials through emails. So what the student does is, write emails to teachers, requesting for the additional materials.
DLNet1-PRS-184.108.40.206 Emails can also be used by the students to ask problems or doubts.
For Synchronous learning the Server should allow the students with the following
facilities, once the student enters a session after the authentication done by the Course Manager :
DLNet1-PRS-220.127.116.11: If the student is late, all the emails and materials sent as part of the session before the student entered it, is automatically sent to him.
DLNet1-PRS-18.104.22.168: Student Center will provide activity in Real time. It will allow the students to ask questions, answer, submit quizzes/exams. These events could be personalized or done in public.
DLNet1-PRS-22.214.171.124: The students get the floor controls, to use the whiteboard, or for other activities, when he asks for it, and awarded by the teacher.
Email software and the Bulletin Board Systems are directly used as they are, as plug-ins to the DL Server. The kind of requirements, Email systems may have are:
DLNet1.0-PRS-126.96.36.199 It should allow the Teachers the ability to send emails either to single students or all the students of the session, asynchronously or synchronously. In asynchronous mode it can be used to answer doubts, personal or public, and in synchronous mode it can be used to send additional materials requested by Students.
DLNet1.0-PRS-188.8.131.52 The student should also be able use the utility for asking doubts in asynchronous mode, or receive additional material from the teachers during a synchronous sessions.
The Bulletin Board System would be used to post messages, links , images, and provides a common ground for everyone to view things put up on them. The kind of requirements a BBS should have are:
DLNet1.0-PRS-184.108.40.206 It should allow the Students and Teachers to put up text messages, images, links to URLs, the senders email address etc on the board.
DLNet1.0-PRS-220.127.116.11 Once a message is posted the System should automatically arrange the message in a particular order, either chronologically, or a threading in terms of putting replies under the messages etc.
DLNet1.0-PRS-18.104.22.168 The System should also put up the time when the message was posted, with the message automatically, without prompting the sender.
DLNet1.0-PRS-22.214.171.124 The teacher of a course should get the administrative capabilities, to be able to prune or clean up messages.
DLNet1.0-PRS-126.96.36.199 The BBS should also set up a list of emails of Students and Teachers, and should provide each one the option of receiving automatic emails whenever a message is posted.
DLNet1.0-PRS-188.8.131.52 An option to preview messages before posting them should also be provided.
5.0 REQUIREMENT SPECIFICATION FOR DL-Net 1.0 CLIENT
The main feature of DL-Net 1.0 client is to provide a set of tools for participants of the meeting through a Graphical User Interface (GUI). Please note that these requirements represent the Server-Client API interface.
DLNet1-PRS-4.3.1 The client must display a session controller interface to enable users to use the DL-Net 1.0 system. The system will be configured to have a list of all the teachers that want to use the system. If the client is a teacher, then he/she will be send to the teacher functions. Otherwise, it is assumed that the user is a student. If the student is registered for the course, then he/she is authenticated, and then send to the student functions.
DLNet1-PRS-4.3.2 The client must display a teacher controller interface to enable teachers or course authors to use the system. The teacher will be able to create a new course, update an existing course, or start a class session (in real-time).
DLNet1-PRS-4.3.3 The client must display a student controller interface to enable students to use the system. The student will be able to register for a course, view the course content asynchronously, or join a class session in real-time.
DLNet1-PRS-4.3.4 When the teacher needs to create/write the content and material for a course, or update the existing content and material for a course, then the client must display the authoring tool for the teacher to create and update the course material.
DLNet1-PRS-4.3.5 When the student needs to view the course material asynchronously, then the client must display the course content to the student via the web browser.
DLNet1-PRS-4.3.6 When the teacher wants to start a real-time (synchronous) class session, there will be a button, which on clicking opens a small new window showing the options that the teacher has to start a session. The teacher can choose to start a real-time text session, real-time audio session, or real-time video session. If the teacher does not want to have control, then he/she can tell the server to default to the Robert Rule’s of Order for that particular session.
Note: Upon completion of these specifications, the server will mark the session as active. Also, the teacher client will be marked as the Master of the session.
DLNet1-PRS-4.3.7 When a student wants to join a session to which he is invited using his user name and password, the information must be verified by the system before any action (verify that the student is registered for the course). Upon successful verification, the student would be marked as a slave, and will be allowed to enter the class session.
DLNet1-PRS-4.3.8 A student must get a window that contains a Meeting board. The type of meeting board that the user gets, is decided upon by the teacher.
For example, if the teacher wants a text-session only then a text-tool is invoked. If the teacher wants a video/audio session, then the appropriate tool is invoked (e.g., CU-SeeMe)
DLNet1-PRS-4.3.9 When a class session is currently going on, all clients must be shown a summary of the activities of the session and the commands that they can do during a session. For a teacher client, there will be a small text area that will show the current number of students in the class session. Also, few commands that the teacher needs to execute during a session. The commands will allow the teacher to indicate whether the floor (meeting board) is busy or vacant, ask question to all the students, ask question to a particular student, send course material or information (e.g., homework assignments, quizzes, or exams) to all students. For a student client, there will be a small box area, which will show the current number of students in the class session. Also, few commands that the student needs to execute during a session. The commands will allow the student to know if the floor is vacant or busy, ask a question to the teacher, send a respond to a question that the teacher asked, or participate in the discussion with other students in the course.
DLNet1-PRS-4.3.10 There must be a button, which on clicking opens a small new window to the teacher showing the request of a student to have control of the meeting board. The request could be: a) request to join a class session that is currently in progress, b) request to ask a question to the teacher, c) request to answer a question that the user asked. The teacher can then decide whither or not to grant the student (slave client) his/her request.
DLNet1-PRS-4.3.11 There must be a button, which on clicking opens a small new window showing the history of the current session. This feature comes into handy to those members, who join the session a bit later than the start time of the session and would like to know what has happened till that time.
DLNet1-PRS-4.3.12 Whenever the floor is granted to a student by a teacher (or if the teacher decides to default to using the Robert’s Rules of Order), there must be a timer that shall be started in the background which is set for a particular amount of time. When the time expires, the student who has the floor must be forced to renounce the floor. This feature is essential to eliminate the possibility of a monopoly in running a session.
6.0 STRUCTURED ANALYSIS AND DESIGN TECHNIQUE (SADT):
FIG. 1: LEVEL 0 CONTEXT DIAGRAM:
7.0 RULES OF ORDER:
Whenever more than one student requests a floor the teacher has complete powers to grant the floor at his will or he can opt for the Robert’s Rules of Order to select the student to whom the floor should be given. Robert’s Rules of Order has four types of motion depending upon which a decision is made on the allocation of the floor. The four types of motion are:
Depending on the situation in the class, if the floor is requested by the student who wants to answer the question by another student or the teacher and if the teacher wants the floor then the floor is automatically granted to the teacher.
In this section, we discuss the hardware and software requirements that the server must have to support all the clients that will connect to it. We also discuss the hardware and software requirements that the clients, wither they are teacher or students, must have to be able to take advantage of the DL-Net system.
8.1 Server Hardware and Software requirements
The DL-Net Server will be a Sun based server (e.g., an Ultra server). It must have enough socket resources to support up to 100 clients connected to it at the same time. Also, the server must be able to support TCP/IP protocol which allows clients to connect to it. Also, the server must have NFS access to the file server where all the log files will be stored. Also, a connection to the DBMS system that contains all the client’s information is needed.
In terms of Software requirements, the server must have the following:
8.2 Client Hardware and Software Requirements
The client will be accessing the system from anywhere in the world and anytime he/she chooses to. Thus, the client terminal must have the following hardware requirements:
The client terminal will also need to have the following software:
9.0 OPEN ISSUES
This document describes the overall architecture and the requirements of the DL-Net Server. The team has worked on doing a prototype of DL-Net server based on the M-Net 2.0 project, but no concrete results can be presented at this time. The team also worked on doing an implementation of some of the tools needed in the system. For example, we have two web based applications that implement newsgroups and BBS systems. Also, early prototype of the authoring environment is also available. But, we still have the following open issues to deal with:
Glossary and Acronyms
 "Product Requirement Specification of Meeting Net 2.0" , Ratnakar Kota , Nov.1997
 " Synchronous Navigational Control for Distance Learning on the Web" , Ping-Jer Yeh, Bih_horng Chen et. al. at the Fifth International World Wide Web Conference May 1996 France.
 " What is Distance Education ?" at
 " Teleconferencing" at
 "Internet Conferencing"
 " Cyberspace Assisted Responsive Education implemented on the Internet ( I-CARE )" at
 "Instructional Design and Development for Distance Learning"
 "DL-Net1.0" Project web-page at
API – Application Programming Interface.
BBS – Bulletin Board Systems.
DL-Net – Distance Learning Net.
HTTP – Hyper Text Transfer Protocol.
I-Net – Internet.
IRC – Interactive Relay Chat
ISDN – Integrated Services Digital Network.
Mbone – Multicasting Backbone.
M-Net – Meeting Net.
MOO – Multi User Object Oriented.
MUD – Multi User Dungeons.
NFS – Network File System.
RRO - Robert Rules of Order.
SADT – Structured Analysis and Design Technique.
URL – Uniform resource Locator.
WWW – World Wide Web