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 / Comments
Jan 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 / Description
Black 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