1.0 LOGICAL STRUCTURE OF THE DATAThe logical structure of the data to be stored in the internal ArticleManager database is given above.
2.0 STATEMENTS OFFUNCTIONAL REQUIREMENTSOF THE SYSTEM.
SEARCH ARTICLE If the search is by Author, the system creates and presentsan alphabetical list of all authors in the database If the Reader selects to search by category, the systemcreates and presents a list of all categories in the database. If the Reader selects to search by keyword, the systempresents a dialog box to enter the keyword or phrase.
COMMUNICATE If the user prefers to use his or her own emaildirectly, sufficient information will be contained onthe Web page to do so.
ADD AUTHOR Either field is blank, the Editor is instructed to addan entry. No validation for correctness is made.
ADD REVIEWER If there is no entry for the email address in the HSdatabase or on this grid, the Editor will bereprompted for an entry. No validation forcorrectness is made.
UPDATE PERSON If any required field is blank, the Editor is instructedto add an entry. No validation for correctness ismade.
The Online Journal will be on a server withhigh speed Internet capability. The physical machine to be used will bedetermined by the Historical Society. The software developed here assumes theuse of a tool such as Tomcat for connectionbetween the Web pages and the database.
The speed of the Reader’s connection willdepend on the hardware used rather thancharacteristics of this system. The Article Manager will run on the editor’sPC and will contain an Access database. Access is already installed on this computerand is a Windows operating system.
The Reader is expected to be Internet literate andbe able to use a search engine. The Author and Reviewer are expected to beInternet literate and to be able to use email withattachments. The Editor is expected to be Windows literate andto be able to use button, pull-down menus, andsimilar tools.
5.0 THE MATHEMATICAL STATEMENTSOF THE FUNCTIONAL REQUIREMENTS.(PROPOSITIONAL CALCULUS & PREDICATECALCULUS)
SEARCH ARTICLEPROPOSITIONAL CALCULUSSearch_by_author : the search is by Authorsystem_creates : the system createspresent_alphabetical : presents an alphabetical list of all authors in the database.Search_by_author => system_creates^present_alphabeticalReader_selects_by_category : the Reader selects to search by categorysystem_creates : the system createspresent_list_categories : presents a list of all categories in the databaseReader_selects_by_category=>system_creates^present_list_categories
Reader_search_keyword : the Reader selects to search by keywordsystem_presents_dialog_box_enter_keyword : the system presents a dialog box toenter the keywordphrase : phraseReader_search_keyword => system_presents_dialog_box_enter_keyword Vphrase
PREDICATE CALCULUSSearch(author) : the search is by Authorsystem(creates) : the system createsalphabetical(present,authors) :presents an alphabetical list of all authors in the databaseSearch(author) => system(creates)^ alphabetical(present,authors)Search(reader_selects,category): the Reader selects to search bycategorycreates(system): the system createscategories(present,database):presents a list of all categories in thedatabase.Search(reader_selects,category)=>creates(system)^categories(present,database)
COMMUNICATEPROPOSITIONAL CALCULUSUser_email_directly : the user prefers to use his or her own email directlysufficient_information : sufficient information will be contained on the Web page to do soUser_email_directly -> sufficient_informationPREDICATE CALCULUSUse(user_prefers,email_directly): the user prefers to use his or her own email directlycontained(sufficient_information,webpage): sufficient information will be contained on theWeb page to do soUse(user_prefers,email_directly)=>contained(sufficient_information,webpage)
ADD AUTHORPROPOSITIONAL CALCULUSField_blank : field is blankeditor_add_entry : the Editor is instructed to add anentryvalid_correctness : No validation for correctness ismade.Field_blank editor_add_entry.~valid_correctness
PREDICATE CALCULUSblank(field) : Either field is blankadd(editor_instructed) : the Editor is instructed to addan entrycorrectness(~valid) : No validation for correctness ismadeblank(field) add(editor_instructed).correctness(~valid)
ADD REVIEWERPROPOSITIONAL CALCULUSentry_email : there is no entry for the email address inthe HS database or on this gridEditor_reprompted : the Editor will be reprompted foran entryvalid_correctness : No validation for correctness ismade. ~entry_email -> Editor_reprompted. ~valid_correctness
PREDICATE CALCULUSemail_address(~entry,database)^grid : there is no entry for the email addressin the HS database or on this gridreprompted(entry) : there is no entry for the email address in the HS databaseor on this gridemail_address(~entry,database)^grid=>reprompted(entry)Correctness (~valid)
UPDATE PERSONPROPOSITIONAL CALCULUSField_blank : any required field is blankeditor_add_entry : the Editor is instructed to add anentry.valid_correctness : No validation for correctness ismade.Field_blank -> editor_add_entry.~valid_correctness
PREDICATE CALCULUSBlank(required_field): any required field is blank instructed(editor,add_entry): theEditor is instructed to add an entryCorrectness (~valid) : No validation for correctness is made.Blank(required_field)=> instructed(editor,add_entry)Correctness (~valid)
6.0 COMMENTS ABOUT THE TRANSLATION PROCESSFROM NATURAL LANGUAGES STATEMENTS TOMATHEMATICAL STATEMENTS.
ambiguity: Natural languages are full of ambiguity, whichpeople deal with by using contextual clues and otherinformation. Mathematical statements are designed to beunambiguous, which means that any statement hasexactly one meaning, regardless of context. redundancy:To make up for ambiguity and reducemisunderstandings, natural languages are oftenredundant. Mathematical statements are more concise.
Statement :The meaning of a Mathematicalstatements is unambiguous and literal, and can beunderstood entirely by analysis of the tokens andstructure. literalness:Natural languages are full of idiom andmetaphor. Formal languages mean exactly whatthey say.People who grow up speaking a naturallanguage (everyone) often have a hard timeadjusting to formal languages. In some ways thedifference between formal and natural language islike the difference between poetry and prose, butmore so .