Robert Matson Lab 2 ()

advertisement
CS 411W Lab II V2
Prototype Product Specification
For
ELDERS
Prepared by: Robert Matson, Purple Group
Date: 04/09/11
Matson 4/8/2013
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 .......................Error! Bookmark not defined.
Figure 2. Prototype Software Diagram. ............................................................................. 8
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
All new words follow the old
Type
Effect on Requirements
Assumption Capability of defining custom grammar rules
grammar rules.
Example sentences for new
for new words is not included
Assumption There will be no check on new entries to
words are entered accurately
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.
18
LAB 2 – ELDERS PRODUCT SPECITICATION 19
Database Requirements
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)
19
LAB 2 – ELDERS PRODUCT SPECITICATION 20
4. DEFINITIONS
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
20
LAB 2 – ELDERS PRODUCT SPECITICATION 21
Security
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
21
LAB 2 – ELDERS PRODUCT SPECITICATION 22
16. editing the history section
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
Download