Tilde’s Multi-Language Chat System
Requirements Document
Group Members:
Dan Chidester
Cheikh Diop
Victor Germanis
Edem Kossi
Tamara La Rocque
Raquel Mangual
March 14, 2005
Table of Contents
1. Preface
2. Version History
3. Abstract
4. Introduction
4.1. Purpose of this document
4.2. Objectives
4.3. Deliverables
4.3.1. Translation Database
4.3.2. MLCS Client
4.3.3. MLCS Server
5. Scope
5.1. Overview of the remainder of this document
6. General Description
6.1. Product Perspective
6.2. Product Functions
6.3. User Characteristics
6.3.1. General Constraints
6.3.2. Assumptions and Dependencies
7. System Requirements Specification
7.1. Non-Functional Requirements
7.1.1. Security
7.1.2. Operating Systems
7.1.3. Product Usability
7.1.4. Reliability
7.1.5. Portability
7.1.6. Performance
7.1.7. Constraints
7.2. Functional Requirements
7.2.1. System Features
7.2.2. Server Side Requirements
7.2.3. Message Format
7.2.4. Input Validation
7.2.5. Message Flow
7.2.6. Chat Room Creation and Selection Flow
7.2.7. Language Requirements
8. System Models
8.1. Context Model
8.2. Process Model
9. System Evolution
9.1. Features Evolution
9.2. Language Evolution
9.3. Platform Evolution
10. Glossary
11. Index
Title: Tilde’s Multi-Language Chat SystemDate: October 15, 2018
Type: Requirements Document
Table of Figures
Figure 71: Login Window
Figure 72: Welcome Window
Figure 73: Chat Window
Figure 74: Chat Room Creation Window
Figure 75: Join an Existing Chat Room Window
Figure 81: Context Model
Figure 82: Process Model
1.Preface
This document is designed for use by Software Managers, System Engineers, and Software Customer Clients. The document is a reference for understanding the System’s capabilities.
2.Version History
Date / Author / Version / CommentsJan 28th, 2005 / Tilde Group / 1 / First version
Feb 2nd, 2005 / Tilde Group / 2 / Grammatical Changes,
System Models redesign
Updated UI supplements
3.Abstract
Chat systems are commonly used as a medium for business communication between local and international parties. However, the potential language differences between individuals can adversely affect business communications and increase business expenses. The need for travel with the accompaniment of a translator for every international business meeting is inconvenient and becomes costly for any business entity.
Tilde’s Multi-Language Chat System (MLCS) enhances business communications by including a built-in language translator that automatically translates messages between two or more parties who speak English, Spanish or French. MLCS also provides a professional look and feel, suitable for business environments.
4.Introduction
4.1.Purpose of this document
This document specifies the complete functional and non-functional requirements for Tilde’s Multi-Language Chat System. It describes the system specifications that are pertinent to the System as well as the end-users of this product.
4.2.Objectives
The goal of MLCSis to provide a chat system with built-in language translations that allows users to transmit and receive messages in their selected language despite the language preference of the other user.
4.3.Deliverables
4.3.1.Translation Database
Stores dictionaries of words and translations collected from outside source dictionary libraries.
4.3.2.MLCS Client
Application that transmits messages from user to user.
4.3.3.MLCS Server
Application that translates all text for the clients.
5.Scope
Although a few multi-lingual chat systems exist, none are specific to business environments. MLCSis targeted specifically as a business communication tool for effective automated translations between users of the system. MLCS includes a stand-alone server application that allows administrative control over chat sessions. In addition, MLCS is capable of replacing a professional translator or interpreter. This distinguishes MLCS from currently existing multi-lingual chat systems.
English, Spanish and French are the available languages for the initial version of MLCS. This version only performs translations between these three languages, using dictionaries with a maximum capacity of 5000 words.
5.1.Overview of the remainder of this document
The remainder of this document provides detailed information for the user and system requirements, system models and system evolution of Tilde’s Multi-Language Chat System.
6.General Description
6.1.Product Perspective
MLCS has three components: MLCS client, MLCS server and a Translation Database. The three components operate together to form MLCS. The system receives a text message from a user in one of the supported languages. The system then translates the incoming message to one of the supported languages, depending on the selected language of the users receiving the message. The system then sends the message to the users as follows:
-The users who have a selected language of French receive the message in French
-The users who have a selected language of English receive the message in English
-The users who have a selected language of Spanish receive the message in Spanish
-The users read the message on their output consoles in their selected language.
6.2.Product Functions
The MLCS client runs on the user’s computer, and acts as the interface between the user and the MLCS server. Through the MLCS client, the user authenticates to the MLCS server using a username and password combination. Once the user is logged on, the user has the option of creating or joining a chat room. A chat room can be public or private. The creator of a private chat room must apply a password upon creation of that chat room. A user that wants to join a private chat room must know the password in order to enter. Once inside the chat room, the user starts communicating with other users by sending and receiving text messages.
The MLCS server monitors all active chat rooms and the list of all the users in those chat rooms. The translation of text messages sent by users is done by the server. The server receives a message from a user and identifies the selected language of that user. The server then translates the message. A copy of the translated message is then sent to each user in that chat room according to their selected language.
The Translation Database is used by the MLCS server to look up words or group of words to translate the incoming text messages.
6.3.User Characteristics
The users of MLCS are expected to be able to communicate in one of the three languages integrated as part of the system. The use of grammatically correct sentences as input messages allows the system to produce the expected output of correctly translated sentences 95% of the time.
6.3.1.General Constraints
MLCS is expected to be run on a Microsoft Windows XP (Home or Professional Edition) based environment. The functioning of the system on any other system is not guaranteed.
6.3.2.Assumptions and Dependencies
The system is expected to be 95% accurate in translating sentences from one language to the other. The system does not guarantee accurate translation of sentences that are not grammatically correct. Users of the system should expect to receive messages (translated) in their selected languages of the same quality that the original message was written.
7.System Requirements Specification
7.1.Non-Functional Requirements
7.1.1.Security
The user who created a room sets a password to protect the room.
7.1.2.Operating Systems
MLCS is run only on Windows XP Home and Professional Operating Systems.
7.1.3.Product Usability
7.1.3.1.Familiarity
The system’s interface is similar to the most popular chat applications, including AOL Instant Messenger and MSN Messenger.
7.1.3.2.Help Screen
The help screen is a separate popup screen that includes the following:
7.1.3.2.1.Tutorial
A step by step tutorial for new users on how to use the system.
7.1.3.2.2.FAQ
Answers to Frequently Asked Questions to help the user to solve basic problems.
7.1.3.2.3.Notation
A key of the notation and color meanings of message formats.
7.1.3.2.4.Suggestions
Suggestions on how to make the system work better, such as “Use short sentences”, and “Do not abbreviate.”
7.1.3.3.About Screen
The about screen is a separate popup screen that displays the version number, the name of the program, the group members names, the group website, and the group contact information.
7.1.4.Reliability
The server applies all translation algorithms as well as establishing connections, which means that as long as that system is running on the server the entire system works. The server can run the system for at least 10 consecutive days as long as the server remains connected.
7.1.5.Portability
The MLCS is run and tested on the Windows XP Home and Windows XP Professional Operating Systems.
7.1.6.Performance
7.1.6.1.Authentication
Connections to the server by the client involving initial authentication takes no longer than 2 seconds to complete.
7.1.6.2.Translation Time
Messages sent to the server from a user are translated and sent to the other users in the chat room in at most 5 seconds.
7.1.7.Constraints
7.1.7.1.Message Flow
A maximum of 3 messages may be sent every 5 seconds to keep the flow of conversation legible.
7.1.7.2.Message Length
Messages may be a maximum length of 500 characters.
7.1.7.3.Credentials
User names and passwords must be a maximum length of 25 characters. Usernames must be a minimum of five characters, and must not be duplicated in the login database. Passwords must be a length of at least four characters, and may be duplicated in the Login database. All passwords must be hidden fields.
7.1.7.4.Chat Room Limits
The Server can support a maximum of 10 users per chat room and a maximum of 10 simultaneous chat rooms.
7.2.Functional Requirements
7.2.1.System Features
7.2.1.1.Features Available to Users
7.2.1.1.1.Change login password
7.2.1.1.2.Join a chat room
7.2.1.1.3. Look at a list of available chat rooms
7.2.1.1.4.Create a new chat room
7.2.1.1.5.Give a name and password to a chat room
7.2.1.1.6.Save the text of the conversation to a file in the user’s file system
7.2.1.1.7.View the other users who are also in the chat room
7.2.1.1.8.Exit the system
7.2.1.2.Features Available to Administrators
7.2.1.2.1.Create New Users
7.2.2.Server Side Requirements
The server should be able to accomplish the following:
7.2.2.1. Authenticate users by looking up entries for a username and password in a database.
7.2.2.2.Connect a user to a chat room based on what chat room was selected.
7.2.2.3.Keep track of all the chat rooms that are public and the chat rooms that are private (password protected).
7.2.2.4. Associate a password to a private chat room.
7.2.2.5. Translate messages properly
7.2.2.6. Send the translated message to the clients in the chat room
7.2.3.Message Format
7.2.3.1.Output
The following table describes the color codes and symbols that MLCS uses to indicate any discrepancies in the translation to the user:
Key / DescriptionBlack font / This is the default font color for all the successful translations.
Word in Red font / Cannot find the word in the database of words, so it was not translated.
Word in Green font / Translated to a word that is similar to the typed word (for typos/misspellings).
Parenthesis / List of the similar translations of a word. (Example: que can mean “that”, “which”, or “whom” in French.)
7.2.3.2.Input
The Spanish and French languages have different character sets than the English language. The user may select any special characters needed from a list, or type them from the keyboard (if possible). Words or phrases that the user does not want to translate are to be surrounded by < and >. (Example: “I am using this program called <MLCS>.”)
The user is allowed to use line breaks in messages. Pressing the shift key and the enter button at the same time shall produce a line break in the message.
7.2.4.Input Validation
7.2.4.1.Login Window
The Login Window is the first window with which the user is presented. The window allows the user to log into MLCS and start a chat session.
7.2.4.1.1.Username Text Box
The username text box is validated when the user clicks the “Login” button, or presses the “Enter” key on the keyboard. It accepts a maximum of 25 characters consisting explicitly of letters and numbers. No other characters are accepted.
7.2.4.1.2.Password Text Box
The password text box is validated when the user clicks the “Login” button, or presses the “Enter” key on the keyboard. It accepts a maximum of 25 characters consisting explicitly of letters and numbers. No other characters are accepted.
7.2.4.1.3.Language Selection Drop-down Menu
The language selection drop-down menu does not require validation, as the user is only capable of selecting languages that are valid for use with MLCS.
Figure 71: Login Window
Figure 72: Welcome Window
7.2.4.2.Chat Window
The Chat window is the window with which the user is presented either after they create the room or once they join a chat room. The user also receives this window when they select a contact from the Contacts Window and click “Chat”.
Figure 73: Chat Window
7.2.4.2.1.Message Text Box
The Message Text box is the box into which the user types the message they want to send. Validation of this Text Box occurs when the user clicks the “Send” button, or presses the “Enter” key on their keyboard. This Text Box allows a maximum of 500 characters per message. The text box allows any character that exists in the English, French, or Spanish alphabet, as well as the following symbols: ~`!@#$%^&*()-_+={[}]|\”’:;<,>.?/. HTML tags are not supported. It also ensures that the user does not send more than three messages within 5 seconds.
7.2.5.Message Flow
(1)The user types input into the input window.
(2)The user sends the text by pressing the ENTER button on the keyboard or clicking the SEND button with the mouse.
(3)The message is sent.
(4)Users connected to the chat room receive the message in an output window translated to their selected language.
7.2.6.Chat Room Creation and Selection Flow
(1)Users log in to MLCS by entering their username, password, and selected language on the Login Window.
(2)The users are presented with a Welcome Window. To create a chat room, the user clicks the “Create Chat Room” button. To join a chat room, the user clicks the “Join an Existing Chat Room” button.
(3)Once inside the “Create Chat Room” Window, the user enters in the necessary information for the chat session and clicks the “Create” button. Once inside the “Chat Room Selection” Window, the user selects the desired chat room and clicks the “Join” button.
Figure 74: Chat Room Creation Window
Figure 75: Join an Existing Chat Room Window
7.2.7.Language Requirements
The program must properly translate:
7.2.7.1.English to Spanish
7.2.7.2.English to French
7.2.7.3.Spanish to French
7.2.7.4.Spanish to English
7.2.7.5.French to English
7.2.7.6.French to Spanish
8.System Models
8.1.Context Model
Figure 81: Context Model
8.2.Process Model
Figure 82: Process Model
9.System Evolution
9.1.Features Evolution
To make communication more efficient, we plan to add new features such as voice communication, webcam viewing, and file sharing.
9.2.Language Evolution
Initially, the system would be used to converse through simple and grammatically correct sentences. However, MLCS would be extended in the future to handle more complex sentences. In addition, words would be added to the dictionary to allow custom translations.
In the future, the system is not limited to the three starting languages (French, Spanish, and English). New versions of Tilde MLCS may include German, Italian, and many other languages.
9.3.Platform Evolution
The Tilde MLCS system would also evolve to run on other operating systems such as Mac, and Linux.
10.Glossary
administrator – a person who creates and maintains user accounts for MLCS
chat - the exchanging of text messages in a chat room
chat room – a virtual meeting place to communicate with multiple parties
end-user – anyone using MLCS for chat purposes
file system – set of hierarchal folders located on the user’s hard drive
MLCS – Multi Language Chat System
MLCS Client – the actual application used to transmit messages between users
MLCS Server– a type of computer used to store information and perform translation functions
MySQL– brand of database used to store information
private chat room – a chat room with password protection
public chat room – a chat room without password protection
stand alone server – a computer used to store information that is located onsite
system administrator – person with computer expertise responsible for the installation and maintenance of MLCS on their company’s computers
Translation Database– a data structure used to hold dictionaries of works and translations
user– a person who uses the chat features of MLCS
webcam– a video camera that allows users of MLCS to see each other during the chat session
11.Index
About Screen
Abstract
Add Contact Dialog Box
Assumptions and Dependencies
Chat Window
Constraints
Contacts Window
Context Model
Familiarity
Features Evolution
Functional Requirements
General Constraints
General Description
Glossary
Help Screen
Implementation
Input
Input Validation
Introduction
Language Evolution
Language Requirements
Language Selection Drop-down Menu
Login Window
Message Flow
Message Format
Message Text Box
Non-Functional Requirements
Objectives
Output
Password Text Box
Performance
Platform Evolution
Portability
Preface
Process Model
Product Functions
Product Perspective
Product Usability
Purpose of this document
Reliability
Scope
Security
Server Side Requirements
System Evolution
System Features
System Models
System Requirements Specification
Translation Database
User Characteristics
Username Text Box
Page 1 of 21