Matson 4/8/2013

CS 411W Lab II V2

Prototype Product Specification

For

ELDERS

Prepared by: Robert Matson, Purple Group

Date: 04/09/11

Table of Contents

1 Introduction……………………………………………………………………………...3

Purpose………………………………………………………………………………….4

Definitions, Abbreviations and Acronyms……………………………………………..5

References………………………………………………………………………………6

2 General Description……………………………………………………………………..7

Overview………………………………………………………………………………..7

Prototype Architecture Description…………………………………………………….8

Prototype Functional Description………………………………………………………8

External Interfaces……………………………………………………………………...9

3 Specific Requirements…………………………………………………………………12

Functional Requirements……………………………………………………………...12

User-Interface Requirements………………………………………………………….15

Assumptions and Constraints…………………………………………………………18

Non-Functional Requirements………………………………………………………...18

List of Figures

Figure 1. Prototype Architecture Diagram 3

Figure 2. Prototype Software Diagram. 10

List of Tables

Table 1. Effects of Assumptions on Requirements………………………………………18

22

LAB 2 – ELDERS PRODUCT SPECITICATION 22

Introduction

There will be a great loss around the world in the next century. More than half the languages around the world will go extinct. With people speaking commonly used languages, people do not understand much about endangered languages. The endangerment of a language is similar to the endangerment of plants and species, but will result in the loss of the unique cultural, historical, and spiritual knowledge. The Cheroenhaka (Nottoway) Indian language happens to be one of the hundreds of languages that are listed as extinct.

With the Endangered Languages Documentation Extension and Revival System project, known as ELDERS, there will be great hope in the revival of the Nottoway language. The Indian Tribe was known as Cheroenhaka, but upon contact with the English (Colonials), the English called them Nottoway. The Nottoway had made first contact with the English back in 1608. They lived and hunted by the Nottoway and Blackwater rivers in the southeastern part of Virginia which is now known as Sussex County and Capron. Even though the Nottoway language is not spoken today, the language is still an important part of their culture.

The revival system will not only teach the Nottoway language, but it will expand the dictionary on new words voted by the tribe. The only documentation on some of the words was documented by Thomas Jefferson. There is very little known information about the language and no alphabet has been documented. The ELDERS project will consist of a free web-based system for anyone to use.

Purpose

With the ELDERS (Endangered Language Documentation Extension and Revival System) project, there will be the revival of the Nottoway language. It will focus on storing and preserving the original language along with new words with an online database with a GUI frontend. With it being free and online, this will help expand the language. We want to keep a user’s attention, which is why the games (learning activities) will provide an effective fun learning capability. With the goal being able to create new words, this would be most effective when the user learns more about the language.

Our methods are to encourage the use and expansion on the Nottoway language. This could also lead to other endangered languages revival. Only one step at a time needs to be taken and this is with the ELDERS project. There will much involvement with the Nottoway Indian tribe as the ELDERS project brings back the language culture for them.

The voting committee will consist of the council members and the chief. They will be the ones to vote what words will be included into the Expanded Dictionary.

(This space intentially left blank)

Definitions, Acronyms, and Abbreviations

ELDERS: Endangered Languages Documentation Extension and Revival System

Old Dictionary: Dictionary only containing the original Nottoway words

New Dictionary: Dictionary containing all of the new words approved by the Nottoway

LAMP: Linux, Apache, MySQL, PHP

Registered User: A user that has registered with the ELDERS website and is either not a member of the community or a user whose Community Member status has not yet been approved.

Community Member: A member of the community that the language belongs to

Language Committee Member: Member of the community selected to be responsible for voting and suggesting new words

Graphical User Interface (GUI): How the end user will interact with the application

Linux: A free, widely-available open-source operating system

MySQL: the worlds most used RDBMS

Structured Query Language (SQL): Language used to make queries to a database server

Tables: Logical collections of data stored on a database server

RDBMS: Relational Database Management System

References

http://www.nsf.gov/news/special_reports/linguistics/endangered.jsp

"Research Areas." Language and Linguistics: Endangered Language. N.p., n.d. Web. 11 Mar. 2013.

http://www.cheroenhaka-nottoway.org/nottoway-history/snap-shot.htm

"Cheroenhaka Nottoway Indian Tribe History." Cheroenhaka Nottoway Indian Tribe History. N.p., n.d. Web. 11 Mar. 2013.

http://www.cheroenhaka-nottoway.org/

"Cheroenhaka Nottoway Indian Tribe Official Site." Cheroenhaka Nottoway Indian Tribe Official Site. N.p., n.d. Web. 11 Mar. 2013.

General Description

The ELDERS prototype is capable of expanding and teaching the Nottoway language. The prototype will display the language and its dictionaries, activities for learning the language, history of the tribe, and a forum. The forum is a way to keep in touch with the new word submissions and words that have been voted into the expanded dictionary by the voting committee.

Overview

The following section will describe the specific functional, hardware, software, and external interface architecture, assumption, constraints, and non-functional requirements of the ELDERS project. The key features of the prototype; the parameters that will be used to control, manage, or establish these features.

(this space intentially left blank)

Prototype Architecture Description

Figure 1. Prototype major functional component diagram.

The interface will contain the LAMP stack. The prototype will feature a virtual machine that will have MySQL database and Apache server. This can be accessed by a remote desktop client. Python will be the written coded algorithm for the ELDERS project. There will be two different algorithms based on the dictionaries and search engine. With the voting of new words, the database will see if the word is already contained in the dictionary. The community and the council members will vote on which words will be used in the expanded dictionary.

Prototype Functional Description

The database will have at least two tables that contain historic dictionary and expanded dictionary. With the historic dictionary, it will store the words that are currently known in the Nottoway language. No administrator will be able to change or mess with the words in the historic dictionary. This is to keep the original documented Nottoway words preserved. Inside the expanded dictionary it will contain the words from the historic dictionary along with new words that have been voted for by the voting committee. Users will be able to look how the old words are used and what they mean along with other Indian languages that are closely similar to the language. The council, a group from the Indian tribe, will vote on the new words that users will be creating. They have the final saying if the word should be added or not. If it is added, it goes within the expanded dictionary. The council will have administrator rights to be able to modify words from the list or if need be, remove words only in the expanded dictionary.

The ELDERS project is not just about creating lost words for the language. It is about reviving and expanding the culture of the language. That is why there is an educational part for the project that consists of the language and history lessons of the Nottoway tribe. The game section focuses on having the user enjoy learning the Nottoway language, with a choice of different games.

External Interfaces

External interfaces will be limited to standard PC hardware and software. The only custom interfaces will be the ELDERS website.

Hardware Interfaces

The hardware will consist of a client/server application. The client will be able to access anything on the server with a computer or mobile device that has access through the network. The server will have a minimal projected specifications 2-4 GB RAM and 20 GB of storage. Authentication will control accountability and limit roles and/or views of certain users. Users will be able to view the alphabet, old dictionary, new dictionary, historic background and communication methods.

Software Interfaces

This is a free access website with registered access. We want to use the LAMP (Linux, Apache HTTP server, MySQL, PHP) stack. Group members will interface with the MySQL databases using standard. PHP web pages will be developed using standard text editing tools.

Figure 2. Prototype to software diagram

User Interfaces

There will be a main interface accessed by any Internet-connected computer with a web browser. In the future, it will be accessed by a mobile device. The interface is the ELDERS website. This site will permit new users to register and allow existing users to maintain their ELDERS accounts.

Figure 2. Site map of the ELDERS website

These interfaces will provide a login screen as well as a user-specific home page which is presented after a successful authentication.

(this space intentially left blank)

Specific Requirements

The following section describes the specific functional, assumption, constraints, and non-functional requirements of the ELDERS project.

Functional requirements

The ELDERS prototype is capable of expanding and teaching the Nottoway language. The prototype will display the language and its dictionaries, activities for learning the language, history of the tribe, and a forum to keep in touch with the new word submissions and words that have been approved for the expanded dictionary.

User Account Requirements

The User Account Requirements are the functions, capabilities, and restrictions which must be included in the various user access levels.

The following functional requirements must be met:

1.  Must have a tiered user permission system

1.  Must have new accounts put into a default tier

2.  Must allow new users to request higher tier status

2.  Must provide user access levels

1.  Must allow for creation of access levels

2.  Must allow the changing of the new user default access level

3.  Must allow the changing of an account’s access level

4.  Must allow editing of access levels

5.  Must allow editing of require access level for:

a.  receiving notifications

b.  accessing the dictionary section

c.  adding words to the dictionary

d.  editing a word in the expanded dictionary

e.  viewing words that have been suggested

f.  voting on suggested words

g.  suggesting new words

h.  suggesting a new word

i.  editing suggested words

j.  accessing the games section

k.  adding a game to the game section

l.  accessing the grammar section

m.  accessing the forum

n.  changing forum permissions

o.  editing access level for accessing the history section

p.  editing access level for editing the history section

q.  editing access level for adding to the history section

r.  editing access level for accessing the website settings

s.  editing access level for changing an account's access level

t.  editing access level for setting the voting threshold

3.  Must allow users to register for an account

1.  Must allow user to choose username

2.  Must alert user of existing username conflict

3.  Must allow user to choose password

a.  Must be at least 8 characters long

b.  Must have a number

c.  Must have an uppercase character

d.  Must have a special character

4.  Must prompt user for an email address

4.  Must allow user to login

1.  Must allow user to type username

2.  Must allow user to type password

5.  Must notify the user if login is incorrect

1.  Must notify the user if the password is incorrect

2.  Must notify the user if the username is incorrect

6.  Must allow user to reset password

1.  Must provide user with a temporary password

2.  Must require user to change password

7.  Must allow user to customize account

8.  Must allow user to turn notifications on/off

User Interface Requirements

The User Interface Requirements detail everything the website is capable of doing.

The following functional requirements must be met:

1.  Must provide a means to vote on suggested Nottoway words

1.  Must restrict number of votes to one

2.  Must allow for user to change vote

a.  Must be capable of adding the suggested word to the expanded dictionary

3.  Must provide a threshold for votes on a word suggestion

a.  Suggested words that have reached the threshold must be marked as “approved”

4.  Council must have a similar voting system for “approved” words

2.  Must allow user to add words to the Expanded Dictionary

3.  Must provide means to view the syllabary chart

4.  Must be able to filter Nottoway words by letter

5.  Must provide means to view the basic grammar rules of the Nottoway language

6.  Must be able to search for Nottoway words in English

1. Must alert user if search fails

a.  Must suggest synonyms

b.  Must show suggested words

c.  Must prompt to vote on words

d.  Must prompt to suggest word

e.  Must allow for editing suggested words

f.  Must prompt to suggest word if no suggested words exist

2. Must alert user of successful search

a.  Must display whether word is historic or expanded

b.  Must display word in Nottoway

c.  Must display Nottoway pronunciation

d.  Must display word in English

e.  Must display word’s part of speech

f.  Must be capable of displaying a sample sentence of the word

g.  Must be capable of displaying common phrases that include the word

7.  Must be able to search for Nottoway words

1.  Must alert user if search fails

2.  Must alert user of successful search

a.  Must display whether word is historic or expanded

b.  Must display word in Nottoway

c.  Must display Nottoway pronunciation

d.  Must display word in English

e.  Must display word’s part of speech

f.  Must be capable of displaying a sample sentence of the word

g.  Must be capable of displaying common phrases that include the word

8.  Must provide a means to view the history of the Nottoway

9.  Must provide a means to access onsite games

10.  Must provide means to add a game

11.  Must provide a means to suggest a word

1.  Must require user input of a Nottoway word