Function: Creates new web pages.
Description: The instructor user clicks on the new page button which internally creates a new HTML file and assigns a new page number to the page. The previous page is moved off the screen and the blank page is displayed to the user along with its assigned page number.
Input: The "new page" button is pressed.
Source: The user who wants to create a new page.
Output: A new HTML file.
Destination: The student site where the new file is stored.
Requires: A user who wants to create a new page and disk space to store the web pages.
Pre-Condition: The user wants to create a new page on the student site.
Post-Condition: A new HTML file is created which is ready to be edited.
Side Effect: If too many web pages are created, or if the student site becomes too big, a large amount of disk space will be required.
Function: Modifies web pages.
Description: The instructor can edit pages on the site from the instructor user page. First, the instructor selects the web page he or she wants to edit by either clicking on forward/backward arrows, or by typing in the page number and pressing a select page button. The page selected will appear in a text editor on the instructor user page, which is implemented as a java applet. The text editor is also referred to as a "dummy page." The "dummy page" is actually a preview page which the instructor can edit that reflects how the modified page would look if it is saved to the student site. The instructor can edit the dummy page/text editor, and is allowed to add or delete links or images. To add a link, the user either highlights some text and clicks on the link button or just clicks on the link button which would require that the user enter the name of the link. The user then needs to specify where the link points to by entering either the URL of a remote site or the page number of a local web page. If the user wants to add an image, the user clicks on the image button which brings up a wizard/screen with a list of the available images on the server. When the user is satisfied with the way the "dummy page" looks, the instructor clicks on save, and the student site is updated with the contents of the "dummy page." Note that only one instructor can edit a web page at any given time. If a professor is editing a page, and a second instructor tries to modify the same page, an error message will be displayed to the second user saying that the page is currently being updated. The second instructor will not be allowed to edit the page until the first professor finishes making his changes.
Input: The text inside the editor, particularly what was highlighted, and which button was pressed.
Source: The contents from the text editor and the operation desired.
Output: An updated web page on the student site.
Destination: The student site.
Requires: Input from the user and a web authoring program.
Pre-Condition: The user wants to edit a web page on the site.
Post-Condition: Updated web page on the student site.
Side Effect: None.
Function: To select which web page the instructor wants to modify.
Description: When the instructor edits pages on the student site, he must first specify which page he wants to modify. The page number of the page currently being displayed in the text editor/"dummy page" is clearly indicated on the screen. The instructor can select a different page on the site by using left and right arrow buttons which cycle through the pages on the student site. There is also a small box where the instructor can type the page he wants to edit. Then, if the professor hits the "go to page" button, the desired page will be brought up in the "dummy page" where the instructor can edit it.
Input: The left and right arrow buttons, or the "go to page" button and the page number entered.
Source: The user who wants to select a different page.
Output: The desired page.
Destination: The text editor/"dummy page" on the instructor site.
Requires: Input from the instructor who wants to select a different page.
Pre-Condition: The instructor user wants to select a web page to edit on the student site.
Post-Condition: The selected web page is displayed in the text editor where it can be modified.
Side Effect: None.
Function: To translate a web page from French to English or English to French.
Description: We need to have the student site's web pages available in both English and French. When a web page is created or modified, it is sent to the translator site where a French and English version of the web page is created. Thus, each web page on the student site has three versions: an English version, a French version, and the Original version which could be composed of a mixture of French and English. At the top of every web page on the student site, there are links to the three versions: the English version, the French version, and the Original version. To see a certain version, the user simply selects the desired link and the appropriate version will be loaded.
Input: The web pages that compose the student site.
Source: The web pages of the student site and a French/English translator.
Output: Three different versions of the web page: an English version, French version, and the Original version.
Destination: The three versions are saved on the student site. The translation is displayed to the client screen upon request.
Requires: The web pages on the student site and a translator.
Pre-Condition: We have a newly created or modified web page.
Post-Condition: We have three versions of the created or modified web page.
Side Effect: Translation time and disk space at server to store translations.
Function: To prevent unauthorized users from accessing particular parts of the system.
Description: A user enters a login name and password. If the username and password are legal, then the user is allowed to access the student site. Another reason for having a login system is so that we know who uses the system and to have a way of identifying the people that post messages on the bulletin board. Authorized instructors can access the instructor site by selecting the correct link from the student site.
Input: A username and password.
Source: A username, password, and the authentication module.
Output: The student user site is loaded if the login is valid, otherwise an invalid login message is displayed.
Destination: The user's monitor.
Requires: The input parameters from the user.
Pre-Condition: The user needs to enter a login name and password.
Post-Condition: Either the user is presented with the home page for the site, or an invalid login page is displayed.
Side Effect: Disk space to store login names and passwords.
Function: To provide a form of communication between users of the site.
Description: A bulletin board will serve as a pseudo-live communications forum by which students and instructors can communicate with one another. It is important to note that the bulletin boards on each page are disjoint. Students will have the ability to read and post messages only on the student bulletin board and instructors will have the capacity to read and post on both bulletin boards. The username, the date, and the time will be posted along with each user's message to ensure integrity and proper identification. Furthermore, each bulletin board will possess a sorting mechanism based on date. In other words, a user should be able to click on a date and retrieve all the messages that were posted on that particular date. Optionally, both bulletin boards may possess a mechanism by which outdated messages will be automatically deleted after a period of two months.
Input: The user's message and the selection of the "post" button.
Source: The user.
Output: An updated bulletin board.
Destination: The message is saved in the server. The modified bulletin board appears on the web browser.
Requires: The user's message and disk space to store the messages.
Pre-Condition: The user needs to enter text into the designated message area on the student or professor user page and click the "post" button.
Post-Condition: The message is saved and the bulletin board is updated with the user's name and a time stamp appearing under the message.
Side Effect: Disk space to save the messages.
Function: To search for keywords.
Description: A student might want to perform a search on a particular keyword. The student user enters the keyword(s) into the search text field and clicks on the search button to process the query. A list of query results are then returned to the user.
Input: The French or English keywords the user wants to search for.
Source: The input of the user from the search form.
Output: A list of links to pages and documents on the site that contain words which match the user's query.
Destination: The user's screen.
Requires: The user's query, a search engine, and the course site web pages which the search is done on.
Pre-Condition: The query is submitted from the search form on the search page.
Post-Condition: All links, if any, that match the user's query are shown on the screen.
Side Effect: Cost of a good search engine.
Function: To fetch a file.
Description: This operation uses FTP to retrieve a file from a remote site. The instructor user then clicks on the fetch button which prompts the user to enter the name and the ftp address of the desired file. If the filename or address location are incorrect, then the system will inform the user appropriately; otherwise, the file is stored on the server for future insertion into a student web page.
Input: The ftp address of the file to be fetched.
Source: The user and the ftp address submitted.
Output: The retrieved file.
Destination: The file will be stored on the server.
Requires: The file's ftp address.
Pre-Condition: The ftp address provided exists.
Post-Condition: The document, if found, is saved on the server.
Side Effect: If a lot of files are retrieved, or if the retrieved files are large (i.e. a video or audio clip), they may require a large amount of disk space on the server.
Function: To time stamp web pages.
Description: At the top of each web page created on the site, there will be a date and time printed which states when the page was last modified. This time stamp should automatically be updated whenever a page is edited.
Input: An updated web page, the date, and the time.
Source: The updated web page and system clock.
Output: A web page with a time stamp at the top that relects the last time the page was changed.
Destination: The source file of the web page.
Requires: The date and time and a modified site web page.
Pre-Condition: A web page is updated.
Post-Condition: At the top of the modified page, there is a date and time printed which states when the page was most recently modified.
Side Effect: None.
Function: To allow users to send email to the professor.
Description: An email link to the instructor(s) will be provided to email questions or comments to the professor. Although this feature is intended primarily to be used as a means of communication between students and professors, instructors may also want to copy and paste text, such as bulletin board messages, into the email body and send the messages to themselves to either store or print them.
Input: An email address and message.
Source: The message from the user and the email address.
Output: A sent email message.
Destination: The mailbox of the instructor.
Requires: A user who wants to send a message to a professor.
Pre-Condition: The system is ready to send email messages.
Post-Condition: The email is sent to the professor.
Side Effect: None.
Function: To update outdated links.
Description: From time to time, the URL for a web site changes. This feature of our system will automatically detect obsolete links, find the new URLs for them, and update the links on the student site.
Input: An outdated link.
Source: The link which is no longer valid.
Output: An updated link.
Destination: The source file containing the obsolete link.
Requires: An outdated link and a search engine to find the new URL.
Pre-Condition: A link connects to a site which has moved or doesn't exist anymore.
Post-Condition: The link connects to the new location of the site.
Side Effect: Having to check for outdated links on a regular basis.
Function: To have a log that reflects the changes made to a web page on the course site.
Description: Whenever an instructor adds something to the site, it would be convenient for students to be able to look at a log listing all changes made to particular page so that they can find out what the most recent modifications were (i.e. what images and links have been added or deleted).
Input: An update made to a student site web page.
Source: A change made by the instructor user to a web page on the student site.
Output: An updated log showing all the changes made to that web page.
Destination: The log for the modified page.
Requires: A modification to a web page on the student site.
Pre-Condition: An instructor finishes editing a web page on the site.
Post-Condition: The modification log for the page is updated.
Side Effect: None.
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. Next to that is a link to a modification log which lists exactly what changes were made to the page and when. At the bottom of the student user page, there's a message area where the student can type a message, and post it to a bulletin board. When a 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, and any posts that are more than two months old will automatically be discarded. Both students and instructors can post to the bulletin board on the student page.
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 professor user page, there is a bulletin board which is identical to the student bulletin board, except that it is for instructor use only. On the right side is a series of buttons that perform the operations of link and image addition and deletion, new web page creation, and fetching. 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.
6. Quality Attribute 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 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 we add more functions, 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.
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.
New Functions:
Additional functions will be considered as the client asks for them.
Authentication:
Login names will be assigned based on student names and student ID numbers
will be used as passwords. This will be looked at in further detail
during the next phase.
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.
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.
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.