introduction - cs.odu.edu€¦ · web viewcs 411w lab ii v2. prototype product specification. for....

31
CS 411W Lab II V2 Prototype Product Specification For ELDERS Prepared by: Robert Matson, Purple Group Date: 04/09/11

Upload: others

Post on 03-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

CS 411W Lab II V2

Prototype Product SpecificationFor

ELDERS

Prepared by: Robert Matson, Purple Group

Date: 04/09/11

Matson 4/8/2013

Table of Contents1 Introduction……………………………………………………………………………...3 Purpose………………………………………………………………………………….4 Definitions, Abbreviations and Acronyms……………………………………………..5

References………………………………………………………………………………62 General Description……………………………………………………………………..7 Overview………………………………………………………………………………..7

Prototype Architecture Description…………………………………………………….8Prototype Functional Description………………………………………………………8External Interfaces……………………………………………………………………...9

3 Specific Requirements…………………………………………………………………12Functional Requirements……………………………………………………………...12User-Interface Requirements………………………………………………………….15Assumptions and Constraints…………………………………………………………18Non-Functional Requirements………………………………………………………...18

List of FiguresFigure 1. Prototype Architecture Diagram.........................................................................3Figure 2. Prototype Software Diagram............................................................................10

List of Tables

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

ii

LAB 2 – ELDERS PRODUCT SPECITICATION 3

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.

3

LAB 2 – ELDERS PRODUCT SPECITICATION 4

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)

4

LAB 2 – ELDERS PRODUCT SPECITICATION 5

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

5

LAB 2 – ELDERS PRODUCT SPECITICATION 6

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.

6

LAB 2 – ELDERS PRODUCT SPECITICATION 7

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

7

LAB 2 – ELDERS PRODUCT SPECITICATION 8

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

8

LAB 2 – ELDERS PRODUCT SPECITICATION 9

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

9

LAB 2 – ELDERS PRODUCT SPECITICATION 10

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.

10

LAB 2 – ELDERS PRODUCT SPECITICATION 11

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)

11

LAB 2 – ELDERS PRODUCT SPECITICATION 12

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

12

LAB 2 – ELDERS PRODUCT SPECITICATION 13

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

13

LAB 2 – ELDERS PRODUCT SPECITICATION 14

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

14

LAB 2 – ELDERS PRODUCT SPECITICATION 15

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

15

LAB 2 – ELDERS PRODUCT SPECITICATION 16

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

16

LAB 2 – ELDERS PRODUCT SPECITICATION 17

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

2. Must allow user to submit new Nottoway word

12. Must provide a means to edit website settings and permissions

13. Must provide a forum

1. The forum must have the ability to create access controlled sub forums

2. The forum must be able to use the same accounts as the rest of the website

(this space intentially left blank)

17

LAB 2 – ELDERS PRODUCT SPECITICATION 18

Assumptions and Constraints

    Table 1.Contains a complete list of assumptions on requirements.

Condition Type Effect on Requirements

All new words follow the old

grammar rules.

Assumption Capability of defining custom grammar rules

for new words is not included

Example sentences for new

words are entered accurately

Assumption There will be no check on new entries to

ensure they are correct

Table 1 Effects of Assumptions on Requirements.

Non-Functional Requirements

ELDERS must satisfy requirements not immediately known to the user. These will be

responsible for covering the background or back-end processes of the project. The topics in this

area include the database as well as security, maintainability, and reliability.

Database Requirements

18

LAB 2 – ELDERS PRODUCT SPECITICATION 19

The database is a major component of the ELDERS project. It is responsible for storing

the components of the Nottoway language. Also, it interacts with the front-end events, such as

the GUI, and the associated algorithms.

The following non-functional requirements must be met:

1. Must create a database called Nottoway

2. Must backup the database every day at midnight by running a cron job

3. Must have user accounts created to access the database

4. Must have database privileges limited depending on the user

5. Must contain a table named ALPHABET that stores the following information as fields

a. LETTERS

i.data_type: varchar(15)

b. PRONUNCIATION

i.data_type: varchar(50)

6. Must contain a table named HISTORICAL_DICTIONARY that stores the following

information as fields

1. ENGLISH_WORD

i.data_type: varchar(25)

2. NOTTOWAY_WORD

i.data_type: varchar(50)

3. PRONUNCIATION

i.data_type: varchar(50)

4. DEFINITIONS

19

LAB 2 – ELDERS PRODUCT SPECITICATION 20

i.data_type: varchar(100)

5. PART OF SPEECH

i.data_type: varchar(25)

7. Must contain a table named EXPANDED_DICTIONARY that stores the following

information as fields

1. ENGLISH_WORD

i. data_type: varchar(25)

2. NOTTOWAY_WORD

i. data_type: varchar(50)

3. PRONUNCIATION

i. data_type: varchar(50)

4. DEFINITIONS

i. data_type: varchar(100)

5. PART OF SPEECH

i. data_type: varchar(25)

8. TO DO: Must contain a table named NUM_VOTES which has a foreign key pointing to

NOTTOWAY_WORD in the NEW_DICTIONARY table which stores the following

information as fields

1. NOTTOWAY_WORD

i. data_type: varchar(50)

2. VOTES

i. int

Security

20

LAB 2 – ELDERS PRODUCT SPECITICATION 21

ELDERS must provide adequate security for its consumers. This includes securely storing user

data and providing permission checks to various features of the product. Therefore, the following

non-functional requirements must be met:

1. Must store user passwords in database with encryption

2. Must have authorization checks on the following actions:

1. receiving notifications

2. accessing the dictionary section

3. adding words to the dictionary

4. editing a word in the expanded dictionary

5. viewing words that have been suggested

6. voting on suggested words

7. suggesting new words

8. suggesting a new word

9. editing suggested words

10. accessing the games section

11. adding a game to the game section

12. accessing the grammar section

13. accessing the forum

14. changing forum permissions

15. accessing the history section

16. editing the history section

21

LAB 2 – ELDERS PRODUCT SPECITICATION 22

17. adding to the history section

18. accessing the website settings

19. changing an account's access level

20. setting the voting threshold

Maintainability

The product should provide features that allow it to be fixed or changed at any time. These

features will ensure the product can support continued development after being released. To

ensure maintainability, the following non-functional requirements must be met:

1. Must check for software/package updates

a. Must check compatibility of current code with new software versions in

test environment before updating server

Reliability

ELDERS should be designed to provide a reliable service that will work through multiple

circumstances. Therefore, the following non-functional requirements must be met:

1. Must be able to make backups regularly on hosting servers

2. Website must be viewable from mobile devices

3. Website must be functional for all major web browsers.

22