System and Software Requirements Definition

Team 16
December 8, 1997
CS577A


Table of Contents

1. System Overview
2. List of Documents
3. Required States and Modes
4. Capability Requirements
5. Interface Requirements
6. Quality Attribute Requirements
7. Environment and Data Requirements
8. Evolution Requirements
9. Notes
10. Glossary


1. System Overview

The purpose of our International Cross-Cultural teaching model is to allow instructors the ability to easily manage course material, create and modify web pages, and to provide a forum where students and professors can discuss issues relating to French culture. Since many professors are reluctant to learn about the technicalities involved with HTML and file management, the aim of our system is to provide instructors with a simple and easy way to maintain and update a course web site.

Please refer to Section 1 of the Operational Concept Definition.

2. List of Documents

3. Required States and Modes

Figure 3.1 State Transition Diagram



4. Capability Requirements























5. Interface Requirements

5.1 General Interface Requirements

The International Cross-Cultural Teaching model is designed to be a semi-autonomous system that interfaces with a web server. Moreover, the ICTM interfaces with its users through web browsers. The user interfaces must be user-friendly. The system's translation module interfaces with a translator, which must be on-line in order to guarantee accessibility to all users. If the translator is not provided on-line, each user will have to install translators on their own computers, which would seriously impair the availability and usability of the system.

A student or instructor can access the system through the Web. A user first must log into the system by entering their user name and password. Following a successful login, the student user page is displayed, where links to documents and other French web sites are shown. Furthermore, there is a link to the search page where the user can enter a query in either French or English, and receive a list of documents and web pages on the site that match on the specified keywords. Located at the top of each page is a time stamp which indicates the date and time that the page was last modified. The time stamp is also a link to a modification log which lists exactly what changes were made to the page and when. In the communications window (used for the bulletin board and email), there's a message area where the student can type a message, and post it to the student bulletin board. When someone submits a message, it appears on the bulletin board along with the user's login name, the date, and the time that it was posted. This is done to hold students accountable for the messages that they write. In addition, the messages can be sorted by date. Both students and instructors can post to the bulletin board on the student page. By clicking on the "email" link, an email form appears in the communications window. Here the user can type in a subject and a message, and send it to the professor. The person who sends the message also receives a copy of it.

From the student page, there is a link to the professor page. If the user is registered as an instructor, clicking on the link will allow the professor to go to the instructor page. On the instructor page, there is a bulletin board which is identical to the student bulletin board, except that it is for instructor use only. On the left side of the instructor page is a series of buttons that perform the operations of acquiring the lock to edit the page, link/image addition and deletion, new web page creation, fetching, and saving (updating the student site). There are also buttons that allow the user to cycle through all the web pages created on the site, and to go to a web page directly. Also on the instructor user page is a text editor/"dummy page" where instructors can edit their web page, and see how the changes will look before updating the student site with the modified page.

5.2 Data items

6. Quality Attribute Requirements

7. Environment and Data Requirements

1. The system is being designed so that it is platform independent. Thus, any type of computer can be used (Mac, PC, Sun) as long as it has a web browser. The server and memory space will be provided by USC.

2. The developer should be very familiar with HTML. It might also be helpful if the developers understand French.

3. The customer will be provided training on how to use the software. If the users have trouble using the system, the customer will be responsible for helping them.

4. The system should be capable of handling up to 100 users at any given time in order to ensure easy accessibility of the system. If the server is constantly overloaded, usage of the system may decline.

5. To use the system, it is recommended that a computer with at least 16 Megabytes of RAM and 8 Megabytes of free hard disk space is used to facilitate good performance from the web brower which runs during interaction with the ICTM.

8. Evolution Requirements

The product has been designed to account for the following issues:

Scalability:
We want the system to be able to handle up to 100 users at a time. Later, we might also want to add mirror sites.

Modification:
If more functions are added, we want to do it as early in the developmental process as possible. Also, any extra functions added should not require modification of the operation concept definition.

Modifying the system to do translations in other languages such as Italian, German, and Spanish is possible, although it would be difficult to adjust the ICTM to work with languages that use different character sets such as Japanese, Chinese, and Korean. These types of modifications will be dealt with if and when the user requests them.

Link updating-the process by which obsolete or outdated links were automatically updated by the system - was originally considered as an optional feature of the ICTM; however, it was found infeasible to actually implement such a function due to time constraints. Instead, it was agreed that the system administrator could update links on a periodic basis. Incorporating an automatic link updating feature into the system is a possible idea for future evolution of the system.

Performance:
To reduce the overhead of translation time, documents and web pages will be translated and saved in the server as they are updated or added to the system. Since searches are restricted to pages and files located on the server, query processing should require no longer than ten seconds. Better hardware and fast network conditions would also improve execution time.

Authentication:
We will require all users of the system to have an accountbwith UCS. To enter the system, a user will enter their login name and password. If the login name and password are legal, and the login name belongs to someone who is enrolled in the class, then the user will be allowed to access the student site.

9. Notes

1. The system is being designed for use by students and professors who have very little technical knowledge. Hence, it is crucial that the system is easy to use.

2. This system is being designed specifically for use by French classes.

3. The cost of the translator should be as low as possible, preferrably a free one available on the web.

10. Glossary

Authentication: The verification of the identity of a person or process. In our proposed system, authentication verifies that a user is a registered instructor and/or student.

Authoring web pages: The modification of a web page. In our ICTM system, the editing operations that an instructor can choose from are adding and deleting links and images. The authoring of a web page typically consists of creating an HTML file and editing it directly by hand. Our system will shield the instructor user from having to know HTML, will create HTML files, and allow the addition/deletion of links and images by merely clicking on a few buttons and entering some simple commands.

Bulletin Board: In reference to a physical piece of board on which people can pin messages written on paper for general consumption - a "physical bboard"), a bulletin board is a computer and associated software which typically provides an electronic message database where people can log in and leave messages. Any registered user may submit or read any message in these public areas.

FAQ: A guide containing answers to Frequently Asked Questions.

FTP: Stands for file transfer protocol. This command is used to retrieve files from remote sites.

GIF: Graphics Interchange Format: A standard for compressed digitized images.

GUI: Graphical User Interface: The use of pictures rather than just words to represent the input and output of a program. A program with a GUI runs under some windowing system (e.g. The X Window System, Microsoft Windows, Acorn RISC OS, NEXTSTEP). The program displays certain icons, buttons, dialogue boxes etc. in its windows on the screen and the user controls it mainly by moving a pointer on the screen (typically controlled by a mouse) and selecting certain objects by pressing buttons on the mouse while the pointer is pointing at them.

HTML: Stands for Hypertext Markup Language. A Hypertext document format used on the World-Wide Web. Built on top of SGML. "Tags" are embedded in the text. A tag consists of a "<", a "directive" (case insensitive), zero or more parameters and a ">". Matched pairs of directives, like "" are used to delimit text which is to appear in a special place or style.

Java: A simple, object-oriented, robust, secure, portable, architecture-neutral, general-purpose programming language developed by Sun Microsystems. Java supports programming for the internet in the form of platform-independent Java "applets"

JPEG: Joint Photographic Experts Group: Standard image compression algorithm that is designed for compressing either full-color or grey-scale digital images of "natural", real-world scenes.

Perl: Practical Extraction and Report Language General purpose language, often used for scanning text and printing formatted reports. It provides extensive support for regular expression matching, dynamically scoped variables and functions, extensible run-time libraries, exception handling and packages, provide/require.

Translator: In the context of our project, a translator is a computerized software module that translates words or phrases from one linguistic language (English/French) to another.