ELDERS Prototype Specification Contents Purple Team Old Dominion University

advertisement
Lab 1 – ELDERS Product Description
ELDERS - 1
ELDERS Prototype Specification
Purple Team
Old Dominion University
CS 411 - Brunelle
Terry Stilwell
April 8, 2013
Version 1
Contents
Lab 1 – ELDERS Product Description
1
2
3
Introduction
1.1
Purpose
1.2
Scope
1.3
Definitions, Acronyms, and Abbreviations
1.4
References
1.5
Overview
General Description
2.1
Prototype Architecture Description
2.2
Prototype Functional Description
2.3
External Interfaces
Specific Requirements
3.1
Functional Requirements
3.1.1
User Account Requirements
3.1.2
User Interface Requirements
3.2
Assumptions and Constraints
3.3
Non-Functional Requirements
3.3.1 Database Requirements
3.3.2 Security
3.3.3 Maintainability
3.3.4 Reliability
ELDERS - 2
Lab 1 – ELDERS Product Description
ELDERS - 3
Appendix
List of Figures
Figure 1 - Sitemap……………………………………………………………………………...11
Figure 2 – MFCD Prototype………………………………………………………………………12
Figure 3 – MFCD
Product…………………………………………………………………………25
List of Tables
Table 1 - Prototype VS Product …………………………………………………………………..24
Lab 1 – ELDERS Product Description
1
ELDERS - 4
Introduction
Language is defined by words and their pronunciations, as well as the methods of combining
them used and understood by a community. Worldwide, there are currently 7,000 languages in
existence (Staff). This number means that billions of people are communicating in a number of
unique ways. It also reflects the establishment of various cultures associated with those
languages. However, by the next century, half of them will be extinct or even endangered (Staff).
This is the case for the Nottoway language, which is the focus area for the project.
The Nottoway language, although no longer spoken, is still part of the culture of the tribe.
Documentation shows that these people have been living in the Tidewater region from as early as
the 1650’s (Elliott). Around that time, however, only about 500 members spoke the language.
Due to the aggression of other tribes and social suppression in the 1800’s, the Nottoway started
to dissimilate. Currently, there are about 200 Nottoway people residing at Surry County who are
experiencing several issues with the language (Morris).
One of the major problems they face is that support for the language is scarce. This applies to
documentation and also professional assistance. Several documents, ordered by Thomas
Jefferson, were recorded that list pronunciations of about 250 Nottoway words (Elliott). This
makes communication difficult due to their ambiguity. Besides a few additions in the 1830’s,
there exist no other written resources for the language (Morris). To complicate things even
more, there is not an alphabet included with this documentation. Furthermore, there have been
multiple attempts of requesting linguistic and financial aid from organizations but each one has
been denied.
Lab 1 – ELDERS Product Description
ELDERS - 5
In order to mitigate these issues, several solution characteristics can be evaluated. Firstly,
there should a free system in place to give the Nottoway tribe assistance. This should come in
the form of an educational, easily accessible program that is well documented. Also, communal
involvement from the Nottoway members will be essential. With these factors in mind, a
product called ELDERS has been proposed.
Purpose
ELDERS stands for Endangered Languages Documentation Extension and Revival System.
It is the system responsible for aiding in the reconstruction of languages. It will focus on storing
the original language derived from the documentation that is present, expanding it by creating an
alphabet and new words, and providing the tools necessary for teaching the language to others.
This will be accomplished by storing the information on an online database accessible through a
GUI frontend and will stress the involvement from the Nottoway community.
The database will be the primary backbone for ELDERS. It will contain at least two tables.
One of those will store what is currently documented in the Nottoway language. This will be
known as the Classical Dictionary. After it has been populated, it will not be touched. The tribal
leaders made it very clear that they want to preserve the classical aspects of the language. Then,
a second table will be created called the Expanded Dictionary. This is where the changes to the
language will be stored. Any additions, modifications, or removal of words will take place in
this table.
Education is a major component of this project. Digitally documenting the language is
beneficial, but it would be ideal for people to be able to learn from it as well. Language lessons
Lab 1 – ELDERS Product Description
ELDERS - 6
will be offered in the forms of video lectures and interactive modules. It is essential to have
some historical information on the tribe too.
Effective communication is the key for documenting an endangered language. The same goes
for attempting to learn one. The Nottoway people still wanted to feel as if the language was their
own (Morris). One way to accomplish this is to get them involved with the restoration process.
This could be done through a message board, forum, or chat (Stilwell).
Scope
The main goal for the prototype is to create a digital source of documentation for the
Nottoway language. This documentation must be detailed and come in the form of the alphabet,
dictionaries, and history. It is important to note that there will be an initial archival process for
the language as it currently exists. Also, with all that information, the culture will be preserved
and, hopefully, the community will openly participate in these processes.
The tribe does not want their information to be publicly available. Therefore, user
restrictions will be in place to make sure that only the members of the Nottoway Tribe and those
they grant access to may view the language. The same reason applies to modifying the language
(Stilwell).
Definitions, Acronyms, and Abbreviations
ELDERS: Endangered Languages Documentation Extension and Revival System
LAMP: Linux, Apache, MySQL, PHP
Graphical User Interface (GUI): How the end user will interact with the application.
HTTP: Hyper Text Transfer Protocol
Lab 1 – ELDERS Product Description
ELDERS - 7
HTTPS: Hyper Text Transfer Protocol Secure
Linux: A free, widely-available open-source operating system.
MySQL: the world’s most used RDBMS.
Structured Query Language (SQL): standard for accessing and manipulating databases
Tables: Logical collections of data stored on a database server.
RDBMS: Relational Database Management System.
Historic Dictionary: information that currently exists in the Nottoway language.
Expanded Dictionary: any word changes, modifications, or removals in the Nottoway language.
Council: tribal members responsible for voting and managing word changes or additions.
References
Brophy, Natalia. "Why Is Language Important to Culture?" Bright Hub Education. N.p., 19 Dec.
2010. Web. 18 Feb. 2013. <http://www.brighthubeducation.com/language-learningtips/99894-why-language-is-important-to-culture/>.
Elliott, Archie. "Nottoway Indian Tribe of Virginia." Nottoway Indian Tribe of Virginia. N.p.,
n.d. Web. 18 Feb. 2013. <http://www.nottowayindians.org/aboutus/history.html>.
Morris, J.D. Personal Interview. 5 Dec. 2012.
Staff, The Week. "Save Dying Languages." The Week. N.p., 22 June 2012. Web. 18 Feb. 2013.
<http://theweek.com/article/index/229695/googles-next-mission-save-dying-languages>.
Stilwell, Terry. Lab I - ELDERS Product Description. Tech. N.p.: n.p., n.d. Print.
Overview
Lab 1 – ELDERS Product Description
ELDERS - 8
The rest of the Product Specification contains detailed information for ELDERS. This
includes the major components comprised from the hardware and software. Additionally, two
algorithms and multiple external interfaces will be in place.
(This space intentionally left blank)
2
General Description
ELDERS gives the Nottoway people a way to interact with their language. This is made
possible through the web interface. They are given several options at this level, such as
Lab 1 – ELDERS Product Description
ELDERS - 9
searching for a word or adding one. However, these processes are transparently connected to the
Nottoway database, which stores the syllabary and words of the language.
2
Prototype Architecture Description
The ELDERS project utilizes several open source out-of-the-box software components
collectively known as a LAMP stack. Specifically in the project’s domain, this stands for Linux,
Apache, MySQL, and PHP. The Ubuntu 12.04 distribution will be used since it is the latest
Long Term Support (LTS). Additionally, Apache will be used as the web server, MySQL as the
relational database management system (RDBMS), and PHP as the scripting language
responsible for dynamic web pages. Fortunately for the administrators, each of these is provided
as up-to-date packages in Ubuntu and offer user-friendly interfaces for configuration, such as
phpMyAdmin for example. ELDERS is made up of two major functional hardware components.
Simply put, our project will make use of a client and a server. For the product, the server will be
hosted through a third party company. Recommended specifications for the server are about two
to four GB of RAM and at least 30 GB of hard drive space. As for the client, the hardware
includes but is not limited to desktop computers, laptops, smart phones, and tablets. For the
mobile devices, an application will be developed. However, as long as a device has a web
browser, then the content will still be accessible.
Since an overview of the backend hardware and software has been established, it is important
to identify the components interfacing between them and the users. For the database, as
previously stated, there will be two separate tables created. There will be a tool on the website
which will allow for the users to view the Classical and Expanded Dictionaries. The database
will also store the alphabet.
Lab 1 – ELDERS Product Description
ELDERS - 10
Access control is essential for a number of reasons. For example, the Nottoway people do not
want ELDERS open to the public. Therefore, authentication must be used in order to give
registered users access to the information. LDAP is one implementation of this strategy. Not only
is this used for authentication, but it can also be setup for authorization and user provisioning.
For example, users can be split up into different groups, such as Administrators, Tribal Members,
and Council Members.
There are several parts of the website that compose other major aspects of the project too.
Some have already been mentioned, such as the education, history, and communication parts.
The first is a page that allows registered users to view the alphabet and the dictionary. Also, there
will be the ability to propose new words for the language. This will be done through an interface
which will lead to a Council vote. Afterward, members of the Council will have access to
managing the dictionary. If a change occurs, registered users will be notified (Stilwell). A
sitemap can be seen in Figure 1.
Lab 1 – ELDERS Product Description
ELDERS - 11
Figure 1 - Sitemap
Lab 1 – ELDERS Product Description
ELDERS - 12
Registration must be an option due to access control being in place. This will be very similar
to other registrations, prompting the user for a login name, password, and email. There will also
be a link on the site that will display the history of the Nottoway tribe. In addition, there will be
a very simple game to play that gets the user comfortable with the words. One example of this
would be Hangman. Besides this, there will also be an option for users to search the dictionaries
to see if a word already exists in either one. This implies that the Classical and Expanded
dictionaries will be present in the prototype as well. There will also be a forum provided for the
community. These features can be seen in Figure 2 - MFCD below.
Lab 1 – ELDERS Product Description
ELDERS - 13
Figure 2 – MFCD Prototype
Language expansion into the Expanded dictionary is a crucial part of the language
reconstruction. It will provide users a tool to suggest words to be added if it does not already
exists in either dictionary. The voting process will apply for the prototype too. This will be
followed by a Council word approval process.
2
Prototype Functional Description
There are two functions in ELDERS accessible through the front-end that interact with the
back-end of the project, as well as including involvement from the Nottoway. The first deals
with voting for a new word. The database is searched to see if a word in the language exists. If it
does not, then voting options are opened. This corresponds to another table in the database which
stores the words and the number of votes for each. The Council can then vote for a similar word
from a different language, vote for a suggested word, suggest their own word, or do nothing. If a
word is suggested, then it is added to the suggested word list. The next process involves the list
and having to approve the words.
The approval process is handled by the Council. If a word hits a certain number of votes, the
Council gets to decide if the word is acceptable. If it is, then the word is added to the expanded
dictionary. If it is not accepted, then it gets removed from the voting pool.
Lab 1 – ELDERS Product Description
3
ELDERS - 14
External Interfaces
There are a number of external interfaces involved with ELDERS. These include physical
and logical types, such as hardware, software, user and communication protocols. Additionally,
it is equally important to know the details for each interface.
2.3.1 Hardware Interfaces
Network Interface: This is the physical component that must present in order to have access to
the internet and to serve Hyper Text Transfer Protocol Secure (HTTPS) requests from the web
server to clients.
2.3.2 Software Interfaces
Joomla Interface: This content management system allows for quick and easy modifications to
the website design and information. Joomla will only be accessible by the Administrators.
2.3.3 User Interfaces
Data entry interface: This is standard for everyone is and simply a way for all users to interact
with ELDERS. Input is handled by the keyboard.
2.3.4 Communications Protocols and Interfaces
HTTPS Protocol: This is a web protocol that uses Secure Sockets Layer on top of HTTP over
TCP for securing a client’s web session.
Lab 1 – ELDERS Product Description
ELDERS - 15
(This space intentionally left blank)
3
Specific Requirements
The following section describes the specific functional, assumption, constraints, and nonfunctional requirements of the ELDERS project.
3
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 voted into the new
dictionary.
3.1.1 User Account Requirements
The User Account Requirements are the functions, capabilities, and restrictions which must be
included in the various user access levels.
Lab 1 – ELDERS Product Description
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
ELDERS - 16
Lab 1 – ELDERS Product Description
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
a Must notify the user if the username does not exist
2 Must allow user to type password
a Must notify the user if the password is incorrect
3 Must allow user to reset password
a Must provide user with a temporary password
b Must require user to change password
5 Must allow user to customize account
1 Must allow user to turn notifications on/off
3.1.2 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
ELDERS - 17
Lab 1 – ELDERS Product Description
ELDERS - 18
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 alphabet
4 Must be able to filter Nottoway words by letter
5 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
6 Must be able to search for Nottoway words using the Nottoway alphabet
Lab 1 – ELDERS Product Description
ELDERS - 19
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
7
Must provide a means to view the history of the Nottoway
1 Must provide a means to add to history
2 Must provide a means to edit history
8
Must provide a means to access onsite games
1 Must provide means to add a game
9
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
10 Must provide a means to edit website settings and permissions
11 Must provide a forum
1 The forum must 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
3
Assumptions and Constraints
This table displays two conditions that are assumed to be true.
Condition
Type
Effect on
Requirement
Lab 1 – ELDERS Product Description
ELDERS - 20
s
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
3
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.
3.3.1 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
Lab 1 – ELDERS Product Description
ELDERS - 21
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
a ENGLISH_WORD
i
data_type: varchar(25)
b NOTTOWAY_WORD
i
data_type: varchar(50)
c PRONUNCIATION
i
data_type: varchar(50)
d DEFINITIONS
i
data_type: varchar(100)
e PART OF SPEECH
i
data_type: varchar(25)
7 Must contain a table named EXPANDED_DICTIONARY that stores the following
information as fields
a ENGLISH_WORD
i
data_type: varchar(25)
b NOTTOWAY_WORD
i
data_type: varchar(50)
c PRONUNCIATION
i
data_type: varchar(50)
d DEFINITIONS
i
data_type: varchar(100)
e PART OF SPEECH
Lab 1 – ELDERS Product Description
i
ELDERS - 22
data_type: varchar(25)
8 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
a NOTTOWAY_WORD
i
data_type: varchar(50)
b VOTES
i
data_type: int(10)
3.3.2 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.
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
Lab 1 – ELDERS Product Description
ELDERS - 23
14 changing forum permissions
15 accessing the history section
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
3.3.3 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.
The following non-functional requirement 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
3.3.4 Reliability
ELDERS should be designed to provide a reliable service that will work through multiple
circumstances.
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.
Lab 1 – ELDERS Product Description
ELDERS - 24
(This space intentionally left blank)
Appendix
Prototype
Virtual Machine
Video Lectures
Product
X
X
Lab 1 – ELDERS Product Description
ELDERS - 25
Mobile Application
X
LAMP Stack
X
X
Voting and Searching
X
X
Algorithms
Table 1 - Prototype VS Product
Lab 1 – ELDERS Product Description
Figure 3 – MFCD Product
ELDERS - 26
Download