Sunteți pe pagina 1din 83

ILearnDiscussionBoardSDD

THISASSIGNMENTIS44%ofOURGRADE!WECANDOTHIS!

Section5ofthestandardincludedinthetextbookismandatory.Clearlyidentifyyourdesign
entitiesandprovidealltenattributedescriptionsforeachdesignentity.Providea
requirementstraceabilitymatrixforfunctionalrequirementsdonotduplicatethisinformation
elsewhereinthedocument.Besuretospecifyyourchoiceoflanguage(s)andoperating
system(s).
Providesufficientdetailsuchthatyoucouldtransmityourdesigntoaprogrammer(inIndiaor
China)andreceivetheproductyouintended.Whileyoushouldprovideadetailedstatementof
functionalityforeachmodule,youdonotneedtoprovidepseudocode

Note,toalign,number,andindentthetextinyoursection:
pressshift+enteraftertheheadingtoaddablankline
pressenteragainandtabtoindentitandapplythenumbering.
pressshift+enterafteryourparagraphtoaddanotherblankline
Toindentnumberingtotheleft,ortounindentthings
Moveyourcursertotheleftmostpartofthetext(butrightofthenumber)
pressshift+tab
Jonny

1.
Scope

ProjectManager
1.1.
2.
References
ALLaddREFERENCES(ifapplicable
2.1.
3.
Abbreviations
3.1.
4.
Definitions
4.1.
5.
ConsiderationsforproducingSDD
5.1. Softwarelifecycle
5.2. SDDwithinthelifecycle

5.3.

PurposeofSDD

6.

DesignDescriptionInformationContent
6.1. Introduction
6.1.1.
6.2. DesignEntities
6.2.1.
6.3. DesignEntitiesAttributes
Pleasereferencepages282284inthetextbookfordescriptions

6.3.1. CollapsableThreads(Group3AndrewMcMurry)

6.3.1.1. Identification:Collapsingandexpandingthreads
6.3.1.2. Type:Process
6.3.1.3. Purpose
6.3.1.3.1. Thepurposeofthisfeatureistoallowtheuserto
collapseorexpandvariousthreadsinadiscussion
board.
6.3.1.3.2. Thiswillallowuserstomoreeasilynavigate
discussionboardsandtoreducevisualclutter.

6.3.1.4. Function
6.3.1.4.1. Thisprocesswillprovideaninterfaceforallowing
userstoeithercollapseorexpandthreadsectionsor
topics.
6.3.1.4.2. Auserwillbecapableofexpandingathreadtosee
allsubsectionswithinthatthread.
6.3.1.4.3. Auserwillbeabletocollapseathreadtoreduce
visualclutterandhidecontentthattheyarenot
interestedin.

6.3.1.5. Subordinates
6.3.1.5.1. Theprocessofviewingthediscussionboards
function.
6.3.1.5.2. Theprocessofviewingthreads.

6.3.1.6. Dependencies
6.3.1.6.1. Thisprocessdependsonthediscussionboards
currentprocessofdisplayingposts.
6.3.1.6.2. Userinteractionwithcollapsingandexpanding
threadswilldependontheprocessesofreceiving
inputthroughthewebandoutputtinginformation
onthescreentotheuser.

6.3.1.7. Interface
6.3.1.7.1. Theuserinteractswiththisprocessbyclickingon
the+symbolassociatedwiththethread.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.3.1.7.2. Theprocesswillexpandallsubsectionsandmake
themeasilyvisibletotheuser.
6.3.1.7.3. Thesystemwillreplacethe+symbolwitha
symbolsignifyingtheabilitytonowcollapsethe
thread.
6.3.1.7.4. Theuserinteractswiththisprocessbyclickingon
thesymbolassociatedwiththethread.

6.3.1.7.5.

Theprocesswillcollapseallsubsectionsandmake
themhiddenfromtheuser.
6.3.1.7.6. Thesystemwillreplacethesymbolwitha+
symbolsignifyingtheabilitytonowexpandthe
thread.

6.3.1.8. Resources
6.3.1.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.1.9. Processing
6.3.1.9.1. Theuserwillhavetheabilitytoexpandand
collapsethreads.
6.3.1.9.2. Underthemaindiscussionboardprocess,theuser
hastheabilitytoviewalistofthreadseachwitha
+symbollocatedtotheright
6.3.1.9.3. Whentheuserclicksonthe+symbolitwill
expandallsubsectionsofthatthreadmakingthem
visibletotheuser.The+symbolwillturnintoa
symbolafterbeingclickedonce.
6.3.1.9.4. Whentheuserclicksonthesymbolitwill
collapseallsubsectionsofthatthreadmakingthem
hiddentotheuser.Thesymbolwillturnback
intoa+symbolafterbeingclickedonce.

6.3.1.10. Data
6.3.1.10.1. Nodatawillbestoredinthedatabasewithuseof
thecollapsiblethreads.Forusabilitypurposesall
discussionboardswillbecollapsedbydefaulteven
iftheuserexpandedtheminapriorsession.

6.3.2. DeletePosts(Group3AndrewMcMurry)

6.3.2.1. Identification:Deletingofunwantedorunintendedposts
6.3.2.2. Type:Process
6.3.2.3. Purpose

6.3.2.3.1.

Thepurposeofthisfeatureistoallowtheusermore
controlovertheircontributionstoadiscussion
board.
6.3.2.3.2. Thiswillallowausertodeletetheirownpoststhat
mayhavebeenunwantedorirrelevant.

6.3.2.4. Function
6.3.2.4.1. Thisprocesswillprovideaninterfaceforallowing
userstodeletepoststhattheyhavemade.

6.3.2.5. Subordinates
6.3.2.5.1. Theprocessofviewingthediscussionboards
function.
6.3.2.5.2. Theprocessofviewingthreads.

6.3.2.6. Dependencies
6.3.2.6.1. Thisprocessdependsonthediscussionboards
currentprocessofremovingapost.
6.3.2.6.2. Theusermustbeallowedtoreadfromandwriteto
thedatabase.
6.3.2.6.3. Userinteractionwithdeletingtheirownthreadswill
dependontheprocessesofreceivinginputthrough
thewebandoutputtinginformationonthescreento
theuser.

6.3.2.7. Interface
6.3.2.7.1. Theuserinteractswiththisprocessbyclickingon
theDeletebuttonlocatedontheirauthoredthread
bytheEditPostbutton.Thecommunication
betweentheuserandtheprogramhereismade
possiblethroughuseofcommonwebbrowser
interfacecomponents.
6.3.2.7.2. Theuserwillbeabletoconfirmtheirintentionto
deleteorcanceltheprocessinadeletion
confirmationdialogafterclickingtheDelete
button.
6.3.2.7.2.1. Optionallytheuserwillbeabletospecify
withinthedialogwhetherornottosimply
deletefuturepostswithoutthedialoginthe
futurewhentheDeletebuttonisclicked.
6.3.2.7.3. Theprocesswillaccessthedatabaseandremovethe
postifitcontainsnoreplies,orremovethethepost
authorandpostcontentiftherearereplies(thereby
keepingtherepliespresentinboththediscussion
boardandthedatabase.)

6.3.2.7.4.

Tocanceloutofthedeletionconfirmationdialog
theuserwillclickoutoftheboxorclickonthe
Cancelbutton.
6.3.2.8. Resources
6.3.2.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.3.2.9. Processing
6.3.2.9.1. Theuserwillhavetheabilitytodeleteanypostthat
theyaretheauthorof.
6.3.2.9.1.1. Underthemaindiscussionboardprocess,
theuserhastheabilitytodeleteanyoftheir
ownposts.
6.3.2.9.1.2. WhentheuserclicksontheDeletebutton
ontheirposttheywillbepresentedwitha
confirmationdialogtoeitherconfirmthe
deletionorcancelit.
6.3.2.10. Data
6.3.2.10.1. Thedatabasecanremovethepostdataintheposts
tableinthediscussionboarddatabase.
6.3.2.10.1.1. Whentheuserconfirmsthedeletionand
therearenorepliesattachedtothepost:The
row,basedonthepostid,willbedeleted.

6.3.2.10.1.2. Whentheuserconfirmsthedeletionand
therearerepliesattachedtothepost:The
row,basedonthepostid,willhaveits
authorcolumnchangedtoDeletedandits
contentcolumnchangedtoDeleted.
6.3.2.10.2. Anewcolumnwillbeaddedtotheusertableas
auto_post_delete

user

...

...

auto_post_delete

bool

ThischangeistoaddresstheoptionalDeleteall
futurepostswithoutconfirming.optionwithinthe
postdeletionconfirmationdialog.

6.3.3. ArrangeandOrganizeThreads(Group3MattLayton)

6.3.3.1. Identification:ArrangingandOrganizingThreadsUnder
SpecificCategories
6.3.3.2. Type:Process
6.3.3.3. Purpose
6.3.3.3.1. Thepurposeofthisfeatureistoallowtheuserto
organizethreads

contributedbytheuserintocustom
categoriessotheycanbesortedforeasierviewing
bythestudent.
6.3.3.3.2. Thiswillallowtheusertofilterthroughtheselected
threadsquicklyandfindthosecategorizedthreads
easily.

6.3.3.4. Function
6.3.3.4.1. Thisprocessprovidesaninterfacethatwillallow
theusertoviewandarrangethreadswithinthe
discussionboards.
6.3.3.4.2. Auserwillbecapableofcreatingacustomizable
categorywithinthefilterofarrangingand
organizingthethreads.
6.3.3.4.3. Theuserwillhavetheabilitytoorganizeathread
byassigningthegiventhreadtoacustomcategory.

6.3.3.5.

Subordinates

6.3.3.5.1.

Theprocessofviewingthediscussionboards
function.
6.3.3.5.2. Theprocessofviewingthreadsthatotherusershave
contributedto
(describedin5.3.4).
6.3.3.5.3. Theprocessofthankingpostsbetweenall
studentscontributingtoadiscussion(describedin
5.2.8).

6.3.3.6. Dependencies
6.3.3.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapost,along
withbeingabletoviewwhichthreadsthecurrent
userhascontributedto.
6.3.3.6.2. Theusermustbeallowedtoreadandwritefromthe
database.
6.3.3.6.3. Userinteractionwitharrangingandorganizing
threadswilldependontheprocessesofreceiving
inputthroughthewebandoutputtinginformation
onthescreentotheuser.

6.3.3.7. Interface
6.3.3.7.1. Theuserinteractswiththisprocessbyclickingon
theFilterBydropdownmenuandclickingona

6.3.3.7.2.

6.3.3.7.3.
6.3.3.7.4.

6.3.3.7.5.
6.3.3.7.6.

categoryprovidedbythediscussionboardorbya
customcategorymadebytheuser.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
Theusercanalsointeractwiththisprocessby
clickingtheStudentAccounttabandthen
clickingonCreateCustomCategory.Thisthen
allowstheusertoinputacustomcategory.When
submitted,thecustomcategoryisoutputtedtothe
userthroughtheFilterBydropdownmenu.
Theprocesswillaccessthedatabasebyaddinga
customcategoryviathedescriptionabove.
Theusercanassignathreadtoacustomcategory
byclickingontheSettingsiconandthe
Organizetaboutputtingbythediscussionboard
underthegiventhread.Thediscussionboardthen
outputsalistofcategories,withtheabilitytoassign
oneofthemtothegiventhread.
Theprocesswillaccessthedatabasebyaddinga
customcategorytoaspecificthread.
TocanceloutofSettings,OrganizeorCreate
CustomCategorytabs,clickoutoftheboxorclick
ontheCancelbutton.

6.3.3.8. Resources
6.3.3.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.3.9. Processing
6.3.3.9.1. Theuserwillhavetheabilitytoarrangeand
organizethreadsbasedoffofcategories.

6.3.3.9.1.1. Underthemaindiscussionboardprocess,
theuserhastheabilitytoviewalistof
threadsorganizedundercategoriesunderthe
FilterBydropdownmenu.

6.3.3.9.1.2.

Whentheuserclicksonacategory,itwill
gobacktothemaindiscussionboard
processbutinsteaddisplaysthreadsbased
onthecategoryselected.
Theuserwillhavetheabilitytoaddacustom

6.3.3.9.2.
category.
6.3.3.9.1.3.

Whenatthemaindiscussionboardprocess,
underStudentAccounttherewillbealink
toCreateCustomCategory.
6.3.3.9.1.4. UndertheCreateCustomCategorythe
userwillthenbeabletoinputtheirown
categoryandaddittothedatabase.
6.3.3.9.1.5. Thiswillthenallowtheusertoassigna
threadtothecustomcategorycreated.
6.3.3.9.3.
Theuserwillhavetheabilitytoassignathread
underacustomcategory.

6.3.3.9.1.6. Underagiventhread,theuserwillhavethe
abilitytoclickontheSettingsofthe
thread.
6.3.3.9.1.7. WhenunderSettingstheuserwillhave
theabilitytoclickonOrganize,which
willbethelocationwheretheusercan
assignthegiventhreadtoacategory.
6.3.3.9.1.8. TheOrganizelinkwillprovideapopup
thatwillhaveamenuofcategories.
6.3.3.9.1.9. WhentheuserclicksontheAssignbutton
nexttothecategory,thecategorywillthen
beassignedtothegiventhread.
6.3.3.9.1.10. Aftercategoryisassigned,theusermaynow
beabletoviewthegiventhreadunderthe
maindiscussionboardprocessunderthe
categoryselectedbytheFilterBydrop
downmenu.

6.3.3.10. Data
6.3.3.10.1.
Thedatabasecanstorethedatainthefollowing
tablesinthediscussionboarddatabase.

6.3.3.10.1.1.

Thecustom_categorytablestoresthe
categoriesavailabletoarrangethethreads
by.Eachcategoryshouldhaveauniqueid.
6.3.3.10.1.1.1. Theidshallbetheprimarykeyand
shallbeautomaticallyincremented.
6.3.3.10.1.1.2. Thecategory_nameshallnotaccept
anullvalue.

custom_category

id

int

category_name

varchar(60)

6.3.3.10.1.2. Thethreadtablestoresthethread_name,
thread,andtherelationshiptoacategory.
6.3.3.10.1.2.1. Theidshallbetheprimarykeyand
shallbeautomaticallyincremented.
6.3.3.10.1.2.2. Thecategory_idshallreferencethe
idfromthecategoriestable.
6.3.3.10.1.2.3. Thethread_nameshallnotaccepta
nullvalue.
6.3.3.10.1.2.4. Thethreadshallnotacceptanull
value.

thread

thread_id

int

category_id

int

Referencescustom_category(id)

thread_nam
e

varchar(60
)

thread

text

6.3.4.

ContributedThreads(Group3MattLayton)

6.3.4.1. Identification:Viewingcontributorstoposts
6.3.4.2. Type:Process
6.3.4.3. Purpose
6.3.4.3.1. Thepurposeofthisprocessistoshowthethreads
theuserhascontributedto.Thiswillallowtheuser
totracktheircontributionsmoreaccuratelyand
efficiently.
6.3.4.3.2. Theuserwillalsobeabletoviewothers
contributionstootherthreadsbasedoffoflatest
posttooldestsothattheusercantrackwhata
personhadmadecontributionsto.

6.3.4.4. Function
6.3.4.4.1. Theprocessshallprovideaninterfacethatwill
allowtheusertoviewcontributionsmadetoa
specificthreadunderthethreaditself.
6.3.4.4.2. Theinterfaceshallshowthecontributionsmadeby
auserbasedoffofhowrecentacontributionwas
made.
6.3.4.4.3. Theinterfaceshallalsoallowfortheusertoclick
onthecontributorsprofilepictureandviewother
contributionsthathavebeenmadebytheuserbased
offofmostrecentcontributiontoathread.

6.3.4.5.

Subordinates

6.3.4.5.1.

Theprocessofviewingathreadunderthemain
discussionboardprocess.

6.3.4.6. Dependencies
6.3.4.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapostwithin
athread.
6.3.4.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.3.4.6.3. Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.


6.3.4.7. Interface
6.3.4.7.1. Theuserfirstinteractswiththisprocessbyselecting
athreadandviewingcontributionsmadetothe
threadbasedoffoftheirprofilepicture.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.3.4.7.2. Theprocesswillaccessthedatabasebyretrieving
contributionresultsmadeonathread.
6.3.4.7.3. Theprocesswilladdtothedatabasenew
contributionsmadetoaspecificthread.
6.3.4.7.4. Theprocesswillalsoaccessthedatabaseby
retrievingcontributionresultsmadebyeachuser.

6.3.4.8. Resources
6.3.4.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.4.9. Processing
6.3.4.9.1.
Theuserwillhavetheabilitytoviewprofile
picturesofthosewhomadecontributionstoaspecificthread.
6.3.4.9.1.1. Fromthemaindiscussionboardprocess,the
userwillclickonalistofthreads.
6.3.4.9.1.2. Atthebottomofeachthreadwillbealistof
contributorsofthethreaditselfbasedoffof
theuser'sprofilepicture.

6.3.4.9.2.
Theuserwillhavetheabilitytoviewacontributor's
contributionstootherthreads.
6.3.4.9.1.3. Fromthegiventhread,theusershallhave
theabilitytoclickontheprofilepictureofa
contributor.
6.3.4.9.1.4. Oncetheprofilepictureisclicked,itshall
pullupapopuppage.
6.3.4.9.1.5. Theusershallthenbeabletoviewfromthe
popuppagethethreadcontributionsmade
bytheuser.

6.3.4.9.1.6.
6.3.4.9.1.7.

Thethreadsshallbeorganizedfromnewest
contributiontotheoldest.
Theusershallhavetheabilitytoclickthe
Cancelbuttontoreturntothethread.

6.3.4.10. Data
6.3.4.10.1.Thedatabasecanstorethedatainthefollowing
tablesinthediscussionboarddatabase.
6.3.4.10.1.1. Thecontributionstableshallbethelink
betweenamanytomanyrelationshipwith
theusertableandthethreadtable.
6.3.4.10.1.1.1. Theuser_idshallreferencetheid
fromtheusertable.
6.3.4.10.1.1.2. Thethread_idshallreferencetheid
fromthethreadtable.

contributions

user_id

int

Referencesuser(id)

thread_id

int

Referencesthread(id)

6.3.5. ReplyNotification
6.3.5.1. Identification:ReplyNotification
6.3.5.2. Type:Process
6.3.5.3. Purpose
6.3.5.3.1. Thisentityexistsbecauseitisessentialforauserto
bealertedwhensomeonehasrepliedtotheirpost.
Byreceivingareplynotificationauserwillbeable
toquicklyrespondtotheirresponses,creatinga
friendly,cooperativeenvironment.

6.3.5.4. Function
6.3.5.4.1. Whenauserreceivesaresponsetoaposttheywill
bealertedintwoways:iftheuserisloggedin,a
temporaryalertwillappearontheirscreenalerting

themofareply,theywillalsoreceiveanew
notificationinthenotificationareathatwhen
clickedwilltakethemtothespecificdiscussion
board.

6.3.5.5. Subordinates
6.3.5.5.1. Thisentitywillprovidetwointerfacemodulesfor
theusertointeractwith.Thefirstisapopup
notificationthatwillappearinthebottomright
corneroftheirwebbrowser,thisiscalledapopup
notificationandwillbeasmallrectanglewith
roundededgesthatstates,Notification:userxhas
repliedtoyourpostExamplePost.Thesecond
modulewillsimplybeanotificationthatappears
withtheglobalnotifications.

6.3.5.6. Dependencies
6.3.5.6.1. Thisentityisdependentonthepostentity.Whena
postissubmittedthereplynotificationentitywill
immediatelynotifythepostauthorthataresponse
hasbeenpostbymeansofthedesktopnotification
aswellasaglobalnotificationarea.
6.3.5.7. Interface
6.3.5.7.1. Theonlyentitythatinteractswiththisentityisthe
globalnotificationarea.Oncethereplynotification
isread,theglobalnotificationareawillreflectthis
changeandmarkthenotificationasread.

6.3.5.8. Resources
6.3.5.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.5.9. Processing
6.3.5.9.1. Thereplynotificationentitywillbeinvokedoncea
replyhasbeenmadetoanauthorspost.Atthis
pointintimeitwillsendtwonotificationstothe
author,onebrowserpopup(iftheuserislogged

in),andanotificationintheglobalnotificationarea.

6.3.5.10. Data
6.3.5.10.1. PostIdtheidofthepostinthedatabase
AuthorIdtheidofthepostauthorinthedatabase
PostTitlethetitleofthepostforthenotification

6.3.6. UpdatedConclusionNearOriginalPost(Group3PadenJones)
6.3.6.1. Identification:PrioritizedConclusion
6.3.6.2. Type:Process
6.3.6.3. Purpose
6.3.6.3.1. Thepurposeofthisentityistoprovideuserswith
aneasytofindconclusiontoapostthread.This
willreducetheamountoftimeusersspendsifting
throughpostresponseslookingfortheconclusion.

6.3.6.4. Function
6.3.6.4.1. Thisentitywillplacethebestconclusionreply
(votedonbyusers)directlyunderneaththeoriginal
post.Userswillvoteonresponsesandtheresponse
withthemostvoteswillbepostedthere.Userswill
havetheoptiontohidetheprioritizedconclusionat
will.

6.3.6.5. Subordinates
6.3.6.5.1. Thisentitywillusethestandardreplyentity.
Essentiallythebodyofthemostvotedpostwill
appearinanewreplyentitydirectlybeneaththe
post.

6.3.6.6. Dependencies
6.3.6.6.1. ThisentitywillbedependentontheVoting
Capabilityentityasitwillrequireuserstovoteon
thebestconclusion.Itwillalsobedependedonthe
replyentityasitwilluseitasawrapper.
6.3.6.7. Interface:
6.3.6.7.1. Theinterfacewillmimicthereplyentity.
6.3.6.8. Resources:

6.3.6.8.1.

Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.3.6.9. Processing:
6.3.6.9.1. Votesonthebestconclusionwillbetotalled,the
bodyofthereplythathasthemostvoteswillbe
copiedtothefirstreplyonthepost.Allsubsequent
replieswillbelistedbelow.
6.3.6.10. Data:
6.3.6.10.1. ReplyIdidofthepostinthedatabase
6.3.6.10.2. ReplyBodythetextualbodyofthereplyfromthe
database
6.3.6.10.3. VoteCountthenumberofvotesthereplyhas

6.3.7. Voting(Group3)

6.3.7.1. Identification:VotingCapability

6.3.7.2. Type:Process
6.3.7.3. Purpose
6.3.7.3.1. Thepurposeofthisprocessistofacilitatetheactof
voting,whichissometimesdoneforclass
groupassignments.
6.3.7.3.2. Thiswillfacilitatetheprocessofcountingthe
resultsastherewouldbenoneedtomanuallycount
thevotes.
6.3.7.3.3. Theprocesswillmakeitmoreconvenientforthe
usertotracktheprogressofthevoteastheresults
aredisplayedtotheparticipantsautomatically
duringthevotingperiodwithoutrequiringanyone
torepeatedlyupdatetheresultbyhand.

6.3.7.4. Function
6.3.7.4.1. Thisprocessprovidesaninterfacethatwillallow
theusertoselectoneofanumberofoptions
withouthavingtopostauniqueentryona
discussionthread.
6.3.7.4.2. Auserwillbecapableofdesignatingapostasa
votepost,aspecialtypeofpostthatallows

6.3.7.4.3.

membersoftheclasstoselectoneoftheprovided
options.
Thepostitselfdisplaysthesubjectofthevote,the
options,andtheresultsforeachoption(acountof
thosewhohavevotedforthatoption)

6.3.7.5. Subordinates
6.3.7.5.1. Theprocessofcreatingavotepost(aspecialtype
ofpostthatallowsmembersoftheclasstoselect
oneoftheprovidedoptions.)
6.3.7.5.2. Theprocessofplacingavotebyselectingoneof
theoptionsinthevotepostandthenclickingthe
votebutton.
6.3.7.5.3. Theprocessofreadingvotedata(fromthe
discussionboarddatabase)specifictoanyonevote
post.
6.3.7.5.4. Theprocessofdeterminingwhetherauserhas
alreadyplacedavoteinaspecificvotepost.
6.3.7.5.5. Theprocessofwritingvotedata(tothediscussion
boarddatabase)specifictoanyonepost.
6.3.7.5.6. Theprocessofoverwritingvotedata(tothe
discussionboarddatabase)iftheuserhasalready
hadapreviousvote.

6.3.7.6. Dependencies
6.3.7.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapost,asthe

6.3.7.6.2.
6.3.7.6.3.

votepostwillbeaslightmodificationofthe
existingprocess.
Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.

6.3.7.7. Interface
6.3.7.7.1. Theuserfirstinteractswiththisprocessbyselecting
thevotepostcheckbox(withinthenewpostinput
area)afterchoosingtocreateapost.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.3.7.7.2. Theuseragaincommunicateswiththeprogram
throughthebrowserinterfacebyinputtingthe
informationneededtocreateavotepost:namely
thesubjectofvotingandtheoptions.
6.3.7.7.3. Thecreationofthevotepostcanbeterminatedby
clickingtheCancelbutton,doingsowillcausethe
inputareatodisappear.

6.3.7.7.4.

Theprocesswillaccessthedatabasebyretrieving
voteresultsaswellasthevotesubjectandoptions
tobedisplayed.
6.3.7.7.5. Theprocesswilladdtothedatabasenewlycreated
votesubjectsandoptions,andusersfirstvote
(alongwiththeiruseridforuniqueidentification)
onanygivenvotepost.
6.3.7.7.6. Theprocesswillmodifythedatabasewhenauser
changeshisorhervoteafterhavingalreadyvoted.
Theprogramcanrecognizewhetherornottheuser
hasvotedinanygivenpostbysearchingforthe
usersidinthedatabase.

6.3.7.8. Resources
6.3.7.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.7.9. Processing
6.3.7.9.1. Theprocessshallbeinitiatedwhenauserchecksa
votepostcheckboxduringthecreationofapost.
6.3.7.9.1.1. Thecreationofapostreferstowhenthe
userclicksreplyonsomeonespost.
6.3.7.9.1.2. Theoriginalpostcreationboxshallbe
replacedwiththevotepostcreationbox.
6.3.7.9.1.3. Forthisboxthereshallbeareastoreceive
userdefinedoptions,ratherthanthepost
bodyinputareaseenintheoriginalpost
creationbox.
6.3.7.9.1.4. Bydefaultthereshallbetwoareasinwhich
theusercantypeanoption.
6.3.7.9.1.5. UponclickingtheAddOptionbutton,
anotherareaforinputtinganoptionshall
appearbelowtheothers.
6.3.7.9.1.6. UponclickingtheRemoveOptionbutton,
thesystemshallremovethelastoption.
6.3.7.9.1.6.1. Thisshallonlyworkifthereareat
leastthreeoptionsavailablebefore
thetransaction.

6.3.7.9.1.6.2.

Iftherearenotatleastthreeoptions
available,thesystemshalldisplaya
notificationtotheusersaying:
Theremustbeatleasttwooptions
6.3.7.9.1.7. Theusershallfillintheavailableareas.
6.3.7.9.1.8. UponclickingthePostbutton(atthe
bottomofthepostcreationbox)thesystem
shallverifytoseethatalloftheinputareas
havebeenfilled.
6.3.7.9.1.9. Ifanyoftheboxeshavenotbeenfilled,the
systemshalldisplayanotificationtothe
userasitdoesforthecurrentsystem.
Howeveraddedtothelistoferrorswillbe
Alloptionsmustbefilled.
6.3.7.9.1.10. Iftheinputshavebeenfilledcorrectly,the
systemshalladdanewvoteposttothe
database,includingthevotesubjectandthe
options.
6.3.7.9.1.11. Ifthereisanerroraddingtheoptionstothe
database,theusershallbenotifiedwiththe
followingmessageinthesameplacewhere
errormessagesaredisplayedintheexisting
discussionboardsystem:Therewasan
errorsavingthevotepost,pleasetryagain
later

6.3.7.9.1.12. Alsouponfailuretowritetothedatabase,
thesystemshallremainintheeditingstate
thatitwasinbeforeclickingthePost
button.
6.3.7.9.1.13. Thesystemshallremainintheeditingstate
untiloneofthefollowingoccurs:clicking
Postsuccessfullywritestothedatabase,
theuserclicksCancel,ortheuser
performssomeotheractionbythebrowser
thatwouldnavigateawayfromthe
discussionboard.
6.3.7.9.2. Uponsuccessfullywritingtothedatabase,the
systemshallreturntothemaindiscussionboard

process,thenewlycreatedpostshallbeshownjust
asitwouldbefortheexistingsystem.
6.3.7.9.2.1. Thevotepostshallbedistinguishedfroma
normalpostbydisplayingthewordVote
abovetheQuestion.
6.3.7.9.2.2. Thequestionshallappearasthetopicina
normalpost.
6.3.7.9.2.3. Everyoptionshallappearbelowthetopic,
oneoptionperline.
6.3.7.9.2.3.1. Everyoptionshallbeprecededby
thenumberofvotesthathavebeen
castforthatoption,aswellasa
buttonthatcanbeclickedtoselect
anoption.
6.3.7.9.2.3.1.1. Thebuttonshallhavea
uniqueletteridentifyingthe
option,startingwithaasthe
first.
6.3.7.9.2.3.1.2. Iftherearemorethan26
options,the27thoptionshall
beidentifiedwithaa,the
28thbyabandsoforth
continuingthepattern.
6.3.7.9.3. Oncethevoteposthasbeencreated,alluserswill
beabletoparticipateinthevotebyfirstclickingthe
buttonnexttoanoptionandthenclickingthe
Votebuttonatthebottomofthepost.
6.3.7.9.3.1. Clickingthebuttonnexttoanoptionshall
changetheimageofthebuttonsothatitis
distinguishablefromthosethathavenot
beenselected.
6.3.7.9.3.2. UponclickingtheVotebutton,thesystem
shallverifythatoneoftheoptionshasbeen
selected.
6.3.7.9.3.2.1. Iftheuserhasnotyetselectedan
option,anotificationshallappear,
saying:Pleasefirstselectanoption
byclickingthebuttonnexttoit.

6.3.7.9.3.3.

Iftheuserhadselectedoneoftheoptions
beforeclickingVotethesystemshall
proceedtoverifyiftheuserhadvoted
beforeinthisspecificvotepost.
6.3.7.9.3.3.1. Thesystemshallaccess(fromthe
database)alistofuserswhohave
participatedinthegivenvotepost.
6.3.7.9.3.3.2. Iftheusersuniqueidentifieris
foundinthatlist,thesystemshall
accessthepreviousvotestoredby
thatuserandshalltemporarilystore
thevalue.

6.3.7.9.3.4. Iftheuserhadnotplacedavote,thesystem
shalladdtheusersvoteaswellastheusers
uniqueidentifiertothedatabase.
6.3.7.9.3.5. Iftheuserhadalreadyplacedavote,the
systemshallmodifythevotecount,
removingtheusersoldvote(asstored
previously)andaddingthenewvote.
6.3.7.9.3.6. Ifthereisafailureaddingtheinformationto
thedatabase,thesystemshallnotifytheuser
withthefollowingmessage:Therewasan
errorreceivingyourvote,pleasetryagain
later.
6.3.7.9.3.7. Uponfailuretoaccessthedatabase,the
systemshallreturntothestatethatitwasin
immediatelyprevioustotheclickofthe
Votebutton.
6.3.7.9.4. Ifthevoteissuccessfullyplacedandstored,the
systemshallupdatetheviewtoshowthenewvote
countforeachoptioninthepost.
6.3.7.9.4.1. Theoptionwiththemostvotesshallbe
distinguishedbyagreensquarearoundthe
number.
6.3.7.9.4.1.1. Ifmultipleoptionshavethesame
count,tiedforthemostbutnot0,
eachofthoseoptionsshallhavea

yellowsquarearoundthecount.

6.3.7.10. Data
6.3.7.10.1. Thedatabasecanstorethedatainthefollowing
tablesinthediscussionboarddatabase.
6.3.7.10.1.1. Thevote_poststableistokeeptrackofeach
individualvotepost,storingthesubject
thatusersaretovotefor.Eachposthasa
uniqueid.
6.3.7.10.1.1.1. Theidshallbetheprimarykeyand
shallbeautomaticallyincremented.
6.3.7.10.1.1.2. Thesubjectshallnotacceptavalue
ofnull.

vote_posts

id

int

subject

text

6.3.7.10.1.2.

Thevote_optionstablestoresallofthe
optionsofallofthevotepostsinthe
system.Eachoptionhasthecontentofthe
option,auniqueid,aswellasanassociated
votepost.Therewillbemorethanone
optionassociatedwitheachvotepost.
6.3.7.10.1.2.1. Theidcolumnshallbeaprimary
key,automaticallyincrementedupon
creation.
6.3.7.10.1.2.2. Theoptioncolumnshallnotallow
avalueofnulltobestored.
6.3.7.10.1.2.3. Thevote_postcolumnshallnot
receiveanumberthatdoesnot
correspondtotheidvalueofanentry
inthevote_poststable.

vote_options

id

int

option

text

vote_post

int

Referencesvote_posts(id)

6.3.7.10.1.3.

Theuser_votestablekeepstrackofallofthe
votesmadeinalloftheposts.Eachvote
references(byforeignkey)anoptionfrom
theoptionstableaswellasthepostwith
whichitisassociated.Theuser_idisalso
storedsothatthesystemcankeeptrackof
whohasalreadyplacedvotesforagiven
post.
6.3.7.10.1.3.1. Thepost_idcolumnshallnotaccept
anumberthatdoesnotcorrespondto
theidvalueofanentryinthe
vote_poststable.
6.3.7.10.1.3.2. Theuser_idcolumnshallnotaccept
avalueofnull.
6.3.7.10.1.3.3. Theuser_votecolumnshallnot
receiveanumberthatdoesnot
correspondtotheidvalueofanentry
inthevote_optionstable.

user_votes

post_id

int

Referencesvote_posts(id)

user_id

text

user_vote

int

Referencesvote_options(id)

6.3.7.10.1.4.

Forsimplicity,thetablesareshownasifthis
wereastandaloneprocesshoweverthere
willlikelybeothercomponentstothetable
neededinorderforthediscussionboard
systemtoworkwiththenewpostsasit

6.3.7.10.1.5.

currentlydoeswiththetraditionalposts.
Therefore,theshowntablesmaybeseenas
includingrowsthatmaybeaddedtothe
system,whetherindependentlyoras
additionstoexistingtables.
Theforeignkeyrelationshipbetweenthe
tablesissummarizedwiththefollowing
image.

6.3.8.

ThankPosts(Group3)

6.3.8.1. Identification:Capabilitytothankposts
6.3.8.2. Type:Process
6.3.8.3. Purpose
6.3.8.3.1. Thepurposeofthisprocessistohelpthemost
usefulandrelevantpoststostandoutsothat
studentscanmoreeasilyfindtheinformationthat
theyarelookingfor.
6.3.8.3.2. Oftenquestionsarepostedonthediscussionboards,
someanswersmaybemoreusefulthanothers.
6.3.8.3.2.1. Somepostsmaynotevenhaveanswers,
suchasthosewithclarifyingquestions.
6.3.8.3.2.2. Someanswersmayhavebeencreatedby
studentswhomisunderstoodthequestion.
Someanswersmaybespeculations,whose
conclusionswereunclearwhenposted.
Whenothersareabletoputtheideainto

practice,theymayfindittobeavaluable
post.
6.3.8.3.2.3. Somepostssimplyoughttobemadeto
standoutbecauseoftheirqualitycontent.
6.3.8.3.3. Studentscanshowandreceiveappreciationfor
effortswithouthavingtocluttertheboardwith
moreposts.
6.3.8.3.3.1. Thispositivereinforcementmayencourage
studentstoparticipateinthediscussion
boards.
6.3.8.3.4. Professorsmayofferanextracreditincentiveto
thosewhocreatethemostusefulposts,encouraging
qualitycontributionstotheclass.

6.3.8.4. Function
6.3.8.4.1. Auserclicksthethankbuttonatthebottomofa
post.
6.3.8.4.2. Oneisaddedtothethankcount(anumbernextto
thethankbutton)aslongasthatpersonhasnot
alreadythankedthatpost.

6.3.8.5. Subordinates
6.3.8.5.1. Theprocessofaccessingthedatabasetodetermine
thenumberofthanksthathavebeenmadeforeach
post.
6.3.8.5.2. Theprocessofaccessingthedatabasetodetermine
whetherauserhasalreadythankedacertainpost.
6.3.8.5.3. Theprocessofmodifyingthedatabasetoupdatethe
numberofthanksforapost.
6.3.8.5.4. Theprocessofupdatingtheviewsothattheuser
canseethatthethankwascounted.

6.3.8.6. Dependencies
6.3.8.6.1. Thisprocessdependsonthediscussionboard
havingpostssothatthisfeaturecanbeaddedto
them.
6.3.8.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.

6.3.8.6.3.

Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.

6.3.8.7. Interface
6.3.8.7.1. Theusershallinteractwiththesystembyclicking
thethankbuttonthatappearsonapost.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.3.8.7.2. Theprocesswillaccessthedatabaseinorderto
determinewhetherornotauserhasalreadythanked
apost.
6.3.8.7.3. Theprocesswillmodifythedatabaseinorderto
updatethethankcountforagivenpost.
6.3.8.7.4. Theprocesswilladdtheusersuniqueidentifierto
thedatabasetoshowthatheorshehasthankedthat
post.

6.3.8.8. Resources
6.3.8.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.8.9. Processing
6.3.8.9.1. Theprocessshallbeinitiatedwhenauserclicksthe
thankbutton.
6.3.8.9.2. Thesystemshallsearchfortheuser_idinthepartof
thedatabaseassociateswiththegivenposttoseeif
thegivenuserhasalreadythankedthatpost.
6.3.8.9.3. Iftheuserhasalreadythankedthepost,theprocess
willendandthediscussionboardwillreturntoits
normalprocess.
6.3.8.9.4. Iftheuserhasnotthankedthepost,thesystemshall
accessthethankcountfromthedatabaseincrement
itbyone,andmodifythepreviousvalueby
replacingitwiththenewvalue.
6.3.8.9.5. Thediscussionboardwillthenreturntoitsnormal
process,displayingthepostwiththeupdatedthank
count.

6.3.8.10. Data

6.3.9. Hashtags(Group1)

6.3.9.1. Identification
6.3.9.1.1. Hashtaginclusion

6.3.9.2. Type:Process

6.3.9.3. Purpose
6.3.9.3.1. Thepurposeofthisfeatureistoallowuserstotag
postswithhashtags.
6.3.9.3.2. Thiswillallowrelevanttopicstobefilteredthrough
moreeasilywithclickablehashtags.

6.3.9.4. Function
6.3.9.4.1. Ausermayaddahashtagtoapostbyplacingthe
poundsign#infrontofawordorphrasewithout
spaces.
6.3.9.4.2. Thepostwillrecognizeitasahashtagandturnit
intoaclickablesearchlink.
6.3.9.4.3. Oncethepostissubmitted,usersmayclickonthe
hashtagtosearchthroughallpostsforthatsame
hashtag.
6.3.9.4.4. Thesystemwilldisplayalistofpostscontaining
thathashtagwiththemostrecentlistedatthetop.

6.3.9.5. Subordinates
6.3.9.5.1. Aprocesstowritepostsonthediscussionboard.
6.3.9.5.2. Aprocesstodisplaythepostswrittenonthe
discussionboard.
6.3.9.5.3. Aprocesstosearchpostswithinmultiplediscussion
boards.

6.3.9.6. Dependencies
6.3.9.6.1. Thisprocessdependsonthediscussionboard
havingthecapabilitytocreateanewpost.
6.3.9.6.2. Theremustbeaconnectionwiththedatabaseto
saveandretrievepoststothediscussionboard.
6.3.9.6.3. Thisprocessmustalsobeabletoaccessallofthe
postsonalloftheclassdiscussionboardstosearch
forpostswiththesamehashtag.

6.3.9.7. Interface
6.3.9.7.1. Auserfirstinteractswiththesystembyclickingthe
buttontocreateanewpost.
6.3.9.7.2. Thesystemthendisplaysapostboxfortheuser.

6.3.9.7.3.
6.3.9.7.4.
6.3.9.7.5.
6.3.9.7.6.

Theuserthentypestheirmessageinthepostbox,
includingapoundsigntocreatethehashtag.
Theuserthenhitsthepostbuttontosubmitthepost
tothedatabase.
Thesystemconvertsthehashtagintoaclickable,
searchablelink.
Thedatabasestoresthepostanddisplaysthepost
onthediscussionboard.

6.3.9.8. Resources
6.3.9.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.9.9. Processing
6.3.9.9.1. Theprocessbeginswhentheuserstartsanewpost
onthediscussionboard.
6.3.9.9.2. Thesystemshalldisplayablankpostboxforthe
usertoentertheirmessage.
6.3.9.9.3. Thesystemshallallowuserstoaddhashtagstothe
contentoftheirpostbyrecognizingwordswritten
directlyafterapoundsign#asahashtag.
6.3.9.9.4. Theusermustthensubmitthepostforprocessing.
6.3.9.9.5. Thesystemshallconvertthehashtagintoa
clickable,searchablelink.
6.3.9.9.6. Thesystemshallsavethepostinthedatabaseand
displaythemessageonthediscussionboard.

6.3.9.10. Data
6.3.9.10.1. Theuserspostshallbesavedinthedatabase.
6.3.9.10.2. Theusershashtagshallbesavedaspartofthe
message.
6.3.9.10.3. Theusershashtagshallalsobesavedinahashtag
databasewithalinktotheposttomakesearching
quicker.

6.3.10. SearchContent(Group1)

6.3.10.1. Identification:Searchpostcontentwithoutexpansion


6.3.10.2.

Type:Process

6.3.10.3. Purpose
6.3.10.3.1. Thisfeaturewillallowuserstosearchallofthe
contentsofathreadwithoutexpandingeach
individualpost.
6.3.10.3.2. Thiswillallowtheusertogetmoreaccuratesearch
resultsandtogetthemmoreeasily.

6.3.10.4. Function
6.3.10.4.1. Ausercantypeasearchtermintothesearchbox
providedatthetopofthediscussionpage.
6.3.10.4.2. Thesystemwillperformasearchthroughallofthe
postsinthediscussionboardincludingvisibleand
collapsedposts.
6.3.10.4.3. Thesystemwilldisplayalistofpostscontaining
thatsearchtermsortedbydatewiththemostrecent
postlistedatthetop.

6.3.10.5. Subordinates
6.3.10.5.1. Aprocesstodisplaypostswritteninthediscussion
board.
6.3.10.5.2. Aprocesstosearchpostswritteninthediscussion
board.

6.3.10.6. Dependencies
6.3.10.6.1. Thisprocessdependsonthesystemhaveaccessto
thedatabase.
6.3.10.6.2. Messagesmustbestoredinthedatabase.
6.3.10.6.3. Searchesmustbeperformedatthedatabaselevelin
ordertosearchthroughallvisibleandcollapsed
posts.

6.3.10.7. Interface
6.3.10.7.1. Theuserstartstheinteractionwiththesystemby
enteringasearchtermintotheprovidedsearchbox
andclickingthesearchbutton.
6.3.10.7.2. Thesystemreceivesthesearchtermandsorts
throughmessagesinthedatabasetofindposts
containingthatsearchterm.
6.3.10.7.3. Thesystemdisplaysthelistofsearchresultsonthe
discussionboardfortheuser.

6.3.10.8. Resources
6.3.10.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.10.9. Processing
6.3.10.9.1. Thesystemshalldisplayasearchboxatthetopof
thediscussionboardalongwithasearchbuttonnext
tothebox.
6.3.10.9.2. Theusermaytypeasearchtermintothesearchbox
andclickthesearchbuttontoperformthesearch.
6.3.10.9.3. Thesystemshallsearchthroughpostsinthe
databasetofindanypostthatcontainsthematching
phrase.

6.3.10.9.4.

Thesystemshalldisplayalistofpoststhatcontain
thesearchterm.

6.3.10.10. Data
6.3.10.10.1. Allpostsshallbesavedinthedatabaseforquick
searchingcapabilities.
6.3.10.10.2. Postsshallbedisplayedonthediscussionboard.
6.3.10.10.3. Searchtermswillbesavedasatemporaryvariable
thatwillbedeletedoncethesearchisfinished.

6.3.11. ReferencePersons(Group1)

6.3.11.1. Identification:Referenceanotheruser

6.3.11.2. Type:Process

6.3.11.3. Purpose
6.3.11.3.1. Thepurposeofthisfeatureistoallowtheuserto
directtheirposttoaspecificperson.
6.3.11.3.2. Thisfeaturewillallowforbettercommunicationas
thepersonbeingreferencedwillreceivea
notificationthatsomeonehasaddressedthemina
post.

6.3.11.4. Function
6.3.11.4.1. Ausercanaddareferencetoanotheruserbytyping
anatsymbolfollowedbyaleftparenthesis@(.
6.3.11.4.2. Theusercanthentypethenameoftheuserthey
wouldliketoreferenceinthepost.
6.3.11.4.3. Thesystemwillpopulatealistofsuggestedusers
thatmatchthetypednameastheuseristypingin
thename.
6.3.11.4.4. Theusercanthenselectthenamefromthe
populatedlistortypeoutthefullname.
6.3.11.4.5. Iftheuserwouldliketoreferenceanotheruser,they
canseparatethembytypingacommabeforetyping
thenextusersname.
6.3.11.4.6. Theusermustfinishthereferencebyclosingitwith
arightparenthesis).

6.3.11.4.7.

Oncetheposthasbeensubmitted,thesystemwill
sendanotificationtothetaggeduser(s)referencing
theposttheyhavebeenreferencedin.

6.3.11.5. Subordinates
6.3.11.5.1. Theprocesstowritepoststothediscussionboard.
6.3.11.5.2. Theprocesstodisplaypostswrittenonthe
discussionboard.
6.3.11.5.3. Theprocesstoaccessalluserswithaccesstothat
discussionboard.
6.3.11.5.4. Theprocesstodisplaytheuserswithaccesstothat
discussionboard.
6.3.11.5.5. Theprocesstosendnotificationstousers.

6.3.11.6. Dependencies
6.3.11.6.1. Thesystemmusthaveaccesstothedatabasetosave
anddisplayposts.
6.3.11.6.2. Thesystemmusthaveaccesstothedatabaseto
searchforusers.
6.3.11.6.3. Thesystemmustbeabletosendnotificationsto
users.

6.3.11.7. Interface
6.3.11.7.1. Theprocessbeginswhentheusercreatesanew
post.
6.3.11.7.2. Thesystemdisplaysanemptypostboxfortheuser
tocreatethepost.
6.3.11.7.3. Theuserstartsareferencetoanotheruserbytyping
@(followedbytheusersname.
6.3.11.7.4. Thesystemsearchesthedatabaseanddisplays
optionsofusersthatmatchtheenteredtext.
6.3.11.7.5. Theuserclicksontheusertheywishtoreference.
6.3.11.7.6. Theuserfinishesthereferencebytyping)and
clickingpost.
6.3.11.7.7. Thesystemsavestheposttothedatabase.

6.3.11.7.8.
6.3.11.7.9.

Thesystemnotifiestheuserthathasbeentaggedin
thepost.
Thesystemdisplaysallpostsonthediscussion
board.

6.3.11.8. Resources
6.3.11.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.11.9. Processing
6.3.11.9.1. Theusershallfirstclickthenewpostbuttonto
createanewpostinthediscussionboard.
6.3.11.9.2. Thesystemshalldisplayanemptypostboxforthe
usertotypetheirmessage.
6.3.11.9.3. Theusermayreferenceanotheruserinthepostby
typing@(followedbytheusersname.
6.3.11.9.4. Thesystemshallsearchthedatabaseforallusers
whohaveaccesstothatdiscussionboard.
6.3.11.9.5. Thesystemshallpopulatealistfortheuserthat
includesallnamesthatmatchthetypedname.
6.3.11.9.6. Theusermayclickonanamethatmatchestheuser
theywishtoreference.
6.3.11.9.7. Theusershallclickposttosubmittheirpostand
reference.
6.3.11.9.8. Thesystemshallsavetheposttothedatabase.
6.3.11.9.9. Thesystemshallnotifythereferenceduserthatthey
havebeenreferencedinadiscussionboardpost.
6.3.11.9.10. Thesystemshalldisplaythepostswrittenonthe
discussionboard.

6.3.11.10. Data
6.3.11.10.1. Thediscussionboardpostshallbesavedtothe
database.
6.3.11.10.2. Thedatabaseshalldisplaythepostsforthat
discussionboard.
6.3.11.10.3. Thereferencednameshallbesavedinthedatabase
andtiedtothemessageitwasreferencedin.

6.3.12.

EmailNotifications(Group1)

6.3.12.1. Identification:EmailNotifications
6.3.12.2. Type:Process
6.3.12.3. Purpose
6.3.12.3.1. Thepurposeofthisfeatureistoalertstudents
throughemailwhenanimportantposthasbeen
madesoastoensurethateveryoneseesit.

6.3.12.4. Function
6.3.12.4.1. Theuserwillbeabletomarkapostasimportant
whentheyaremakingthepost.Doingsowillsend
anemailnotificationtoallusersofthatdiscussion
board,indicatingthatanimportantposthasbeen
made.
6.3.12.4.2. Anypostshallhavetheabilitytobemarkedas
important.
6.3.12.4.3. Theareainwhichapostisinputshallcontaina
buttonallowingtheusertoindicatethatthepostis
important.
6.3.12.4.4. Ifthisbuttonisclickedasecondtime(afterhaving
clickeditasimportant),thesystemwillrestorethe
statusofthemessagetobenotimportant.
6.3.12.4.5. Anemailnotificationshallbesenttoallusersofthe
discussionboardeverytimeapostissubmittedafter
havingmarkedasimportant.
6.3.12.4.6. Theemailshallcontainthenameofthediscussion
topicandthreadaswellasalinktothepost.
6.3.12.4.7. Thesystemshallperformthesametaskswiththe
emailedlinkasitwouldwiththediscussionboard
pagelink.

6.3.12.5. Subordinates
6.3.12.5.1. Aprocessformarkingapostasimportant.
6.3.12.5.2. Aprocessforsendinganemailmessagetoallusers
ofadiscussionboardinwhichapostismarkedas
important.
6.3.12.5.3. Aprocessoflinkingtospecificdiscussionboard
posts


6.3.12.6. Dependencies
6.3.12.6.1. ThisprocessdependsontheILearnscurrentability
tosendemails
6.3.12.6.2. Thisprocessrequiresaccesstothedatabase,
allowingtheprocesstoreadfromandwritetoit.
6.3.12.6.3. Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.

6.3.12.7. Interface
6.3.12.7.1. Theuserinteractswiththisprocessbyclickinga
MarkasImportantbuttonwhilecreatingorediting
thepost.

6.3.12.7.2.
6.3.12.7.3.

6.3.12.7.4.

Theuserinteractswiththisprocesswhenclickinga
linkwithintheiremailthatdirectsthemtoposts
withinthethreadmarkedasimportant.
Theprocesswillaccessthedatabasetoretrieve
emailaddressesandusersassociatedwitha
discussionboard.

6.3.12.7.5.

Theprocesswillmodifythedatabasetomarkapost
asimportant.

6.3.12.8. Resources
6.3.12.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.12.9. Processing
6.3.12.9.1. Theprocesswillbeinitiatedwhenauserclicksthe
markpostasimportantbuttonduringthecreation
oreditofapost.

6.3.12.10. Data
6.3.12.10.1. Thedatabasewillstoreanimportantflagoneach
post.
6.3.12.10.2. Thedatabasewillstoreallusersassociatedwitha
discussionboard
6.3.12.10.3. Thedatabasewillstorealogofwhichstudentswere
emailedforapostandwhen.

6.3.13. SingleScreenAccess(Group1)

6.3.13.1. Identification:SingleScreenAccess
6.3.13.2. Type:Process
6.3.13.3. Purpose
6.3.13.3.1. Thepurposeofthisfeatureistoreducetheamount
oftimeittakestomakeorreplytopostson
discussionboards.
6.3.13.3.2. Timespentondiscussionboardswillbelessenedas
userswillnothavetoclickbackandforthbetween
multiplepagestoreadinitialpostsandresponse
posts.
6.3.13.3.3. Userswillbeabletomaketheirinitialpostand
replytootherclassmemberspostsfromthesame
page,makingtheprocessfasterandsimpler.

6.3.13.4. Function

6.3.13.4.1.

6.3.13.4.2.
6.3.13.4.3.

6.3.13.4.4.

6.3.13.4.5.
6.3.13.4.6.

6.3.13.4.7.
6.3.13.4.8.

6.3.13.4.9.

6.3.13.4.10.

6.3.13.4.11.

6.3.13.4.12.
6.3.13.4.13.

6.3.13.4.14.

Theuserwillbeabletoselectatopicfromthe
ILearndiscussionboardpageandtheywillhave
accesstoallposts(includinginitialpostsandany
replyposts)relatedtothetopic
Fromthesamepagetheywillalsobeabletomake
theirowninitialpost,orreplytoanexistingpost.
Thesystemshallallowtheusertoseeallexisting
posts(inallthreadsrelatedtoatopic)fromthetopic
page.
Thesystemshallallowtheusertoexpandany
numberofthreadsrelatedtoasingletopicfromthe
topicpage.
Allcommentswillbeinacollapsedstatebydefault.
Whenapostisexpandedanycommentsbelowthe
expandedpostwillbepushedfurtherdownthepage
tomakeroomfortheexpandedpost.
Onceexpandedapostwillremainexpandeduntil
theusercollapsesit.
Thesystemshallallowtheusertocollapseany
numberofthreadsrelatedtoasingletopicfromthe
topicpage.
Thesystemshallallowtheusertomakeanewpost
onthetopicpagewithouthavingtonavigatetoa
newpage.
Postsundereachtopicwillbeorganizedwiththe
mostrecentpostatthetopandolderpostsbeneath,
withonlytheexceptionofimportantorliked
postsabovethemostrecentpost.
Thesystemshallallowtheusertoreplytoan
existingpostfromthetopicpagewithouthavingto
navigatetoanewpage.
Theuserwillhavetheabilitytoreplytoapostonly
whentheposthasbeenexpanded.
Thesystemshallrememberthearrangementof
threads(whichoneswerecollapsedandwhichwere
expanded)whentheuniqueuserleavesthepage.
Thesystemshallrestorethearrangementofthreads
(whichoneswerecollapsedandwhichwere

expanded)whentheuniqueuserloadsthepageafter
havingpreviouslyarrangedit.

6.3.13.5. Subordinates
6.3.13.5.1. Theprocessofdisplayingallpostswithinathread
onasinglepage.
6.3.13.5.2. Theprocessofaddinganewpost.
6.3.13.5.3. Theprocessofrespondingtoapost.
6.3.13.5.4. Theprocessofexpandingandcollapsingathread.
6.3.13.5.5. Theprocessofsortingpostsbyimportant,liked,
andage.
6.3.13.5.6. Theprocessofstoringthecollapsedandexpanded
stateofdiscussionthreadsforeachuser.
6.3.13.5.7. Theprocessofrestoringthecollapsedandexpanded
stateofdiscussionthreadsforeachuser.

6.3.13.6. Dependencies
6.3.13.6.1. Thisprocessdependsontheabilitytoviewthreads
andposts
6.3.13.6.2. Thisprocessdependsontheabilitytocollapseand
expandadiscussionthread.
6.3.13.6.3. Thisprocessdependsontheabilitytoaddanew
post.
6.3.13.6.4. Thisprocessdependsontheabilitytostoreand
restorethecollapsedandexpandedstateof
discussionthreads.

6.3.13.7. Interface
6.3.13.7.1. Theuserwillbeabletoselectatopicfromthe
ILearndiscussionboardpageandtheywillhave
accesstoallposts(includinginitialpostsandany
replyposts)relatedtothetopic
6.3.13.7.2. Fromthesamepagetheywillalsobeabletomake
theirowninitialpost,orreplytoanexistingpost.
6.3.13.7.3. Theuserwillbeabletoexpandorcollapseaportion
ofathreadoranentirethread.Thecollapsedor
expandedthreadswillberememberedperuser.

6.3.13.8. Resources
6.3.13.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.13.9. Processing
6.3.13.9.1. Theprocesswillbeinitiatedwhenauserclicksa
linktoadiscussionboardtopic.

6.3.13.10. Data
6.3.13.10.1. Thedatabasewillstoreacollapsedorexpanded
stateforeachcommentthread.

6.3.13.10.2.

Thiscollapsedorexpandedstatewillbestored
uniquelyforeachuser.

6.3.14. Removeunreaddiscussionsbox(Group1)

6.3.14.1. Identification:Removeunreaddiscussionbox
6.3.14.2. Type:Process
6.3.14.3. Purpose
6.3.14.3.1. Thepurposeofthisfeatureistomakethehomepage
cleanerandmakeimportantinformationstandout.
6.3.14.3.2. Theunreaddiscussionsfeatureisarbitraryand
doesntaidintheuseofdiscussionboards.

6.3.14.4. Function
6.3.14.4.1. TheILearnhomepagewillnolongerdisplaythe
unreaddiscussionsboxassociatedwiththecurrent
discussionboardsystem.
6.3.14.4.2. TheILearnhomepageMyCoursessectionshall
havenomentionofunreaddiscussionposts.

6.3.14.5. Subordinates
6.3.14.5.1. Nosubordinates

6.3.14.6. Dependencies
6.3.14.6.1. Nodependencies

6.3.14.7. Interface
6.3.14.7.1. ThischangewillremovetheUnreadDiscussion
Postsnotificationshowninthefollowingimage:

Theupdatedhomepagewilllooklikethisimage:


6.3.14.8. Resources
6.3.14.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.14.9. Processing
6.3.14.9.1. Noprocessingrequiredforthisprocess.

6.3.14.10. Data
6.3.14.10.1. Thisprocesswillrequirenodatachangesasthe
readstateofapostwillstillberequired.

6.3.15. Listofwhocommentedonathread(Group1)

6.3.15.1. Identification:Listofwhocommentedonathread
6.3.15.2. Type:Process
6.3.15.3. Purpose
6.3.15.3.1. Theprocesswillprovidealistofcommenterstoa
discussionthreadforthepurposeofmakingitmore
convenientfortheusertoknowthecontributorstoa
particularthread.
6.3.15.3.2. Thiswillhelpinstructorsingradingwhenan
assignmentcallsforadiscussioncontribution.
6.3.15.3.3. Theprocesswillcreateconvenienceforuserswho
arelookingforacommentfromacertainuser,e.g.
agroupmember.Theuserwillbeabletoreference
thislistinsteadofopeningandscrollingthroughthe
thread.

6.3.15.4. Function
6.3.15.4.1. Thisprovidesalistofallthreadcontributorstobe
displayedonthethreadpost.Thelistwillbe

6.3.15.4.2.
6.3.15.4.3.

6.3.15.4.4.
6.3.15.4.5.

6.3.15.4.6.

providedintheclickablearea(toenterthethread)
ofthepost.
Thelistwillbedisplayedintheorderofthelast
contributor.
Nouserwillbedisplayedmoreonce.Twopostsby
thesameuserwillnotdisplaytheusertwiceonthis
list.
Theorderinthelistofauserwillbedeterminedby
theirlastpost.
Thelistwillbelimitedtoeightcontributorsorto
thelimitofallowablespaceinthedisplayedthread
post.
Contributorsoverthelimitwillbedisplayedasa
number.Example:11commentsgivenbydifferent
individualswouldyieldtodisplayingthelasteight
contributorswitha+3indicatingthecontributing
usersoverthedisplayablelimit.

6.3.15.5. Subordinates
6.3.15.5.1. Aprocessforextractingallcontributorstoacertain
thread
6.3.15.5.2. Aprocessfororderingthoseuserschronologically
(see5.3.15.4fordeterminingtheorderofthelist)
6.3.15.5.3. Theprocessofdisplayingthelinktoentera
discussionthread.

6.3.15.6. Dependencies
6.3.15.6.1. Theprocessmustbeabletoreadthedatabase.The
abilitytowritetooreditthedatabasewillnotbe
needed.
6.3.15.6.2. Theprocessdependsontheprocessofdisplaying
thelinktoenterathread

6.3.15.7. Interface
6.3.15.7.1. Thelistwillbedisplayedinasectionofthelinkto
enterthethread.
6.3.15.7.2. Thisprocessisadisplayonlyprocess.
6.3.15.7.3. Theuserinteractswiththisprocessbycontributing
acommenttoathread.Thiswilladdthemtolist

andarrangethemasthelastcontributororif
alreadyacontributor,willsimplyarrangethemas
thelastcontributor.

6.3.15.8. Resources
6.3.15.8.1. Noadditionalresourcesareneeded.

6.3.15.9. Processing
6.3.15.9.1. Theprocesswillbeginwhenthelinktoathreadis
tobedisplayed.
6.3.15.9.2. Theprocesswillaccessthedatabaseforthelistof
contributorstothethreadusingthepost_id.All
usersassociatedwiththepost_idwillbeaddedto
thethread_contributortable.
6.3.15.9.3. Onlythelasteightcontributorswillbedisplayed.
Theremainderwilldisplayedasanamountandnot
byusername.

6.3.15.10. Data
6.3.15.10.1. Theprocesswillusethefollowingdatathedatabase
willprovidetothethread_contributortable
6.3.15.10.2. user_ididentifiestheuserbyanintegerinorderto
differentiateusers,theremustbenouser_idthatare
thesamereferencesthestudenttable.
6.3.15.10.3. post_ididentifieseachthreadreferencesthepost
table
6.3.15.10.4. usernameidentifiestheuserbytheirusernameused
bytheschoolreferencesthestudenttable.
6.3.15.10.5. display_nameidentifiestheuserbythedisplay
namegivenbythestudentintheirprofile,two
identicaldisplaynamesareallowedintheeventtwo
studentshavethesamenamereferencesthestudent
table.

6.3.16. Listamountofresponses(Group1)

6.3.16.1. Identification:Listamountofresponses/posts
6.3.16.2. Type:Process
6.3.16.3. Purpose
6.3.16.3.1. Theprocesswillprovidetheamountof
contributionsauserhasmadetoadiscussion
thread.
6.3.16.3.2. Thiswillhelpinstructorsingradingwhenan
assignmentcallsforacertainnumberofdiscussion
contributions.
6.3.16.3.3. Theprocesswillcreateconvenienceforuserswho
arelookingfortheamountofcontributionsthey
havemadetoathreadforthepurposeofcompleting
anassignmentorotherwise.

6.3.16.4. Function
6.3.16.4.1. Thisprovidesadisplaytotheuseroftheamountof
contributionstoathreadtheuserhasmade.

6.3.16.4.2.

Theprocesswillalsoprovidethetotalamountof
postsfromauserfortheclass

6.3.16.5. Subordinates
6.3.16.5.1. Aprocessforextractingalltheuserspostsfromthe
database.
6.3.16.5.2. Theprocessofdisplayingadiscussionthread.

6.3.16.6. Dependencies
6.3.16.6.1. Theprocessmustbeabletoreadthedatabase.The
abilitytowritetooreditthedatabasewillnotbe
needed.
6.3.16.6.2. Theprocessdependsontheprocessofdisplayinga
thread.

6.3.16.7. Interface
6.3.16.7.1. Thelistwillbedisplayedatthetopofadiscussion
thread.
6.3.16.7.2. Thisprocessisadisplayonlyprocess.
6.3.16.7.3. Theuserinteractswiththisprocessbymakinga
post.Thiswilladdtothenumberofpoststheuser
hascontributed.

6.3.16.8. Resources
6.3.16.8.1. Noadditionalresourcesareneeded.

6.3.16.9. Processing
6.3.16.9.1. Theprocesswillbeginwhenadiscussionthreadis
tobedisplayed.
6.3.16.9.2. Theprocesswillaccessthedatabaseforallpost_id
andreply_post_idassociatedwiththeuser.

6.3.16.10. Data
6.3.16.10.1. Theprocesswillusethefollowingdatathedatabase
willprovidetothepost_amounttable.
6.3.16.10.2. user_ididentifiestheuserbyanintegerinorderto
differentiateusers,theremustbenouser_idthatare
thesamereferencesthestudenttable.

6.3.16.10.3.
6.3.16.10.4.
6.3.16.10.5.
6.3.16.10.6.

post_ididentifieseachthreadreferencesthepost
table.
reply_post_ididentifiesareplytopostreferences
thereply_posttable.
reply_amountisthecountofreplypostsassociated
toapost_id.
total_amountisthecountofallpostsassociatedto
theuserincludingallpost_idandreply_post_id.

6.3.17.

WordCount(Group4Lindsey)

6.3.17.1. Identification:WordCount

6.3.17.2.

Type:Process

6.3.17.3. Purpose
6.3.17.3.1. Thepurposeofthisentityistoallowthestudentto
easilyseehowmanywordstheyhavetypedintheir
discussionpost.
6.3.17.3.2. Additionally,instructorswhowillbegradingthe
discussionpostwillalsobeabletoseetheword
countforeachpost.

6.3.17.3.3.

Occasionally,instructorsrequireaminimumword
countondiscussionboardposts.Thisfeaturewould
allowbothstudentsandteacherstoeasilyknow
whetherornottherequirementhadbeenmet.

6.3.17.4. Function
6.3.17.4.1. Asauser(studentorinstructor)istypinganew
discussionpostthewordcountwillautomatically
appearintheeditoratthebottomofthetextbox.
6.3.17.4.2. Thewordcountforeachpostwillbevisibleatthe
bottomofeachpostaftertheuserhaspublishedthe
post.

6.3.17.5. Subordinates
6.3.17.5.1. Theprocessofwritingthedataforeachpost.
6.3.17.5.2. Theprocessofstoringthedataforeachindividual
post.
6.3.17.5.3. Theprocessofdisplayingthedatarelevanttoeach
post.

6.3.17.6. Dependencies
6.3.17.6.1. Dependsonthediscussionboardscurrentprocess
ofcreatingandstoringapost,asthewordcount
willbedisplayedwithitsassociatedpost.

6.3.17.7. Interface
6.3.17.7.1. Usersdonotinteractdirectlywiththisfeatureand
cannotalterormodifyit.Thewordcountisonly
modifiedorchangedwhenausertypes,thetotal
wordcountisoutputordisplayedtotheuser.
6.3.17.7.2. Whenauserpublishestheirpost,thewordcountis
alsovisibletoallviewersofthediscussionpost.

6.3.17.8. Resources
6.3.17.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.

6.3.17.9. Processing

6.3.17.9.1.

6.3.17.9.2.

6.3.17.9.3.
6.3.17.9.4.

6.3.17.9.5.

6.3.17.9.6.

Thewordcountprocessisinitiatedwhenauser
opensthediscussionboardeditortomakeanew
post.
Thedefaultvalueofthewordcountis0butwill
increaseasausertypes,consistentwiththenumber
ofwordstyped.
Ifauserdeleteswords,thenumberwilldecrement,
consistentwiththenumberofwordsdeleted.
Whentheuserpublishestheirpost,thefinalnumber
ofwordstheytypedwillbedisplayedatthebottom
oftheirpost.
Ifapostiseditedafterithasbeenpublished,the
wordcountwillagainincrementordecrementto
showtheactualwordcount.
Whenpublished,thenewwordcountwillbe
displayed.

6.3.17.10. Data
6.3.17.10.1. Wordcountwillbestoredinthedatabaseasarow
inthediscussion_boardtable.

6.3.18. Notifications(Group4Alex)

6.3.18.1. Identification:Notificationofaresponsetoindividual
comments

6.3.18.2. Type:Module

6.3.18.3. Purpose
6.3.18.3.1. Thepurposeofthisfeatureistoinformtheoriginal
postauthorthatanotheruserhasrespondedtotheir
post.
6.3.18.3.2. Whenaresponsehasbeenmadetoacomment,the
systemwillautomaticallysenda
notification
tothe
owneroftheoriginalpost,alertingthemtothenew
commentontheirpost.

6.3.18.4. Function

6.3.18.4.1.

6.3.18.4.2.

Oncetheuserpublishesanoriginalpost,subsequent
responsesfromotheruserswilltriggera
notification.
Thisnotificationwillbesenttotheusersregistered
emailaddressaswellasanotificationalertonthe
iLearn3.0Dashboard.

6.3.18.5. Subordinates
6.3.18.5.1. Theprocessofpublishingadiscussionboardpost
6.3.18.5.2. Theprocessofreplyingtoadiscussionboardpost
6.3.18.5.3. TheprocessofiLearn3.0dashboardalerts

6.3.18.6. Dependencies
6.3.18.6.1. Theconditionsforthisentityisdependentupona
publishedpostfromasingleuserandasecondpost
inresponsetotheoriginal.Onlythencana
notificationcanbesent.
6.3.18.6.2. UseCaseDiagram

6.3.18.7.

Interface

6.3.18.7.1.

6.3.18.7.2.

6.3.18.7.3.

6.3.18.7.4.

Theuserwillnotberequiredtointeractwiththis
designentity.Itisautomaticallygeneratedas
anotherusercreatesaresponsepost.
TheuserwillreceiveanotificationontheiriLearn
3.0dashboardindicatingthattherehasbeena
responsetotheirpost
Oncetheuserclicksonthenotificationbutton,the
responseindicatorwilldisappearuntilanother
responsehasbeenposted
Therearenoinputsoroutputerrorcodesnecessary

6.3.18.8. Resources
6.3.18.8.1. Theprocessdoesnotrequireanyadditional
resourcesotherthanthoseforthecurrentsystem
6.3.18.9. Processing
6.3.18.9.1. ActivityDiagram


6.3.18.9.2.

6.3.18.9.3.

Theaboveactivitydiagramexplainstheprocessof
creatinganewresponsepost.Uponthecompletion
ofthisactivity,anotificationwillbesenttothe
user.
Thenotificationalertiscontingentonanotheruser
mustrespondintheappropriatefashiontotheusers
originalpost

6.3.18.10. Data
6.3.18.10.1. Thenotificationdatawillbeadynamicvaluethat
willchangeaccordingtothenumberofresponse
postscreated.
6.3.18.10.2. Thevaluewillrefreshtozeroaftereachtimethe
usercheckstheirnotificationalerts.
6.3.18.10.3. Allpastnotificationswillbestoredinordertobe
referencedifneededbyuser.

6.3.19. Strongerdistinctionofreplies(Group4Jared)

6.3.19.1. Identification:Strongdistinctionbetweenpostandreply
6.3.19.2. Type:Process
6.3.19.3. Purpose
6.3.19.3.1. Thereasonbehindthisisthatitiseasytoget
confusedwithwhereeachreplygoes.Thiswill
minimizetheamountofconfusionbetweenareply
andanoriginal
post
.
6.3.19.3.2. Beabletorespondandfindspecificrepliesand
postsinagiventhread

6.3.19.4. Function
6.3.19.4.1. Whenclickingonthebuttontosubmitaresponseto
anotherresponse,thegeneratedresponsepostshall
indentaninch.
6.3.19.4.2. Theleftmostsideofeachreplypostinathreadshall
beindentedoneinchtotherightoftheleftmostside
ofthepost

towhichitisreplying.

6.3.19.4.3.

Ifathreadcontainsmorethanfivelevelsof
indentation,theindentationdistanceforallbutthe
lastindentationlevelwillbereducedtoahalfofan
inch.

6.3.19.5. Subordinates
6.3.19.5.1. Theprocessofcollapsiblethreads.
6.3.19.5.2. Theprocessofviewingathreadunderthemain
discussionboardprocess.
6.3.19.5.3. Theprocessofviewingareplytoaspecificpostor
comment
6.3.19.5.4. Theprocessofcreatingareplytoaspecificpostor
comment

6.3.19.6. Dependencies
6.3.19.6.1. Dependentonbeingabletoaccessadatabasewith
thenumberofrepliestoapostorcomment
6.3.19.6.2. Dependantonwebpagefunctionalitytobeableto
increasetheindentationofthereplytothepostor
comment
6.3.19.6.3. UseCaseDiagram

6.3.19.7. Interface
6.3.19.7.1. Theuserinteractswiththisentityanytimetheuser
createsandviewsareplytoapostorcomment.
6.3.19.7.2. Theuserinteractswiththisentityanytimetheuser
createswantstocollapseathread
6.3.19.7.3. Theuserinteractswiththisentityanytimetheuser
wantstowrite,edit,modify,like,hashtag,vote,
sort,seewordcount,andanyotherchangetoa
comment.

6.3.19.8. Resources
6.3.19.8.1. Theprocessdoesnotrequireanyadditional
resourcesotherthanthoseforthecurrentsystem

6.3.19.9. Processing

6.3.19.9.1.
6.3.19.9.2.

Theprocesscanbecompletedoncethecollapsible
threadentityiscompleted.
Oncecollapsiblethreadentityisimplementedthe
specificationscanbechangedtomakesureeach
replyisintendedoneinch.

6.3.19.10. Data
6.3.19.10.1. Theonlydataassociatedwiththisentityisthe
numberofrepliestoapostorcomment.Ifthe
numberisgreaterthan5thanthesizeofthe
indentationisreducedtoinchinsteadof1inch.

6.3.20.

MobileFriendly(Group4)

6.3.20.1. Identification
6.3.20.1.1. SEEAPPENDIX7.1.1

6.3.21. MarkdownSupport(Group2)

6.3.21.1. Identification:MarkdownSupport
6.3.21.2. Type:Process
6.3.21.3. Purpose
6.3.21.3.1. Allowsforbothstudentsandteacherstomore
effectivelystylethebodycontentof
discussion
boards,posts,commentsandresponses.

6.3.21.4. Function
6.3.21.4.1. Asausertypesmarkuptheyseeapreviewofitin
anassociatedpreviewpane.Iftheusertriestoexit
whiletypingthenorwhileitisopenthentheyare
promptedtosaveorleavethechangestheyhave
madeunsaved
6.3.21.4.2. Theinputareasfordiscussionboardpostsshall
recognizemarkdownsyntaxandstylethetext
accordingly.
6.3.21.4.3. Theusershallbecapableofusingheaders,rules,
bodycopy,emphasis,blockquotes,lists,code,
tables,linksandimagesthroughmarkdownsyntax.


6.3.21.5. Subordinates
6.3.21.5.1. Theprocessofpreviewingthemarkdown
6.3.21.5.2. Theprocessofpostingmarkdownchangestoposts

6.3.21.6. Dependencies
6.3.21.6.1. Theconditionsforthisprocessarethatsaidpost,
commentorresponsemuststillexistandnotbeen
deletedbythecreatorormoderator

6.3.21.7. Interface
6.3.21.7.1. Asausertypesmarkuptheyseeapreviewofitin
anassociatedpreviewpane.Iftheusertriestoexit
whiletypingthenorwhileitisopenthentheyare
promptedtosaveorleavethechangestheyhave
madeunsaved

6.3.21.8. Resources
6.3.21.8.1. Theprocessdoesnotrequireanyadditional
resourcesotherthanthoseforthecurrentsystem

6.3.21.9. Processing
6.3.21.9.1. Theprocesswillbecompleteoncethemarkdown
hasbeensuccessfullysavedinthepreviewpane

6.3.21.10. Data
6.3.21.10.1. Themarkdownwillbestoredinuser_discussion
database

6.3.22. StudentModerator(Group2)

6.3.22.1. Identification:StudentModerator
6.3.22.2. Type:Process
6.3.22.3. Purpose
6.3.22.3.1. Studentmoderationshallallowforteachersto
assignstudentsasmoderatorsovercoursespecific
discussions.

6.3.22.4. Function
6.3.22.4.1. Thisfeaturewillenablestudentstohavemore
controloverthediscussionboardsysteminILearn
allowingforthecreation,modificationand
archivingofbothdiscussionboardsanddiscussion
boardcomments.
6.3.22.4.2. WhenateacherclickstheAssignbuttonfoundin
adiscussionboardtheywillbeabletoassign1or
morestudentsasmoderators.Studentswillbe
notifiedandhavetheiruserprivilegeschangedto
allowthemtocreate,editandarchivediscussion
boards,discussionboardcontentanddiscussion
boardcomments.
6.3.22.4.3. Thesystemshallnotifytheteacher/courseowner
whenastudentmoderatorhasperformedany
moderatingfunctiononacourseowneddiscussion.
6.3.22.4.4. Thesystemshallnotifyastudentwhentheyhave
beengivenmoderationpermissionsoveracourse
owneddiscussionboard.
6.3.22.4.5. Thesystemshallnotifyastudentmoderatorwhen
theyhavehadtheirmoderatingprivilegesremoved
onacourseowneddiscussionboard.
6.3.22.4.6. Thesystemshallallowthemoderatingstudentsto
beabletocontinuetoseeandalteranyhidden,
lockedorarchiveddiscussionboardsand
comments.


6.3.22.5. Subordinates
6.3.22.5.1. Whenastudentbecomesamoderatorinacourse
theywillhavenewuserpermissionsthatallowthem
createnew/additionaldiscussionboards
6.3.22.5.2. Moderatorswillbepermittedtoeditcontentwithin
thediscussionboardaswellasthecomments.This
includesthearchivingofdiscussionboardsand
comments.
6.3.22.5.3. Whenamoderatorarchivesadiscussionboardor
commenttheywillbepresentedwithaconfirmation
dialogthatallowsthemtocancelorconfirmthe
archival.Additionaloptionswillbepresentinthe
confirmationdialogallowingthearchivaltoeither
hidethediscussionboardorcommentfromallor
specifiedusers,or,lockthediscussionboardor
commentfromallorspecifiedusers.

6.3.22.6. Dependencies
6.3.22.6.1. Requirestheteachertograntmoderatorstatus

6.3.22.7. Interface
6.3.22.7.1. Thiswillbedoneviaabuttonabovethecourse
discussionsectiononlyavailableforteacheruse.

6.3.22.8. Resources
6.3.22.8.1. Thisprocesswillrequirenomoreresourcesthanthe
currentsystemrequires.

6.3.22.9. Processing

6.3.22.9.1.

Theprocesswillbeginwhentheteacherassigns
moderatorstatustoastudent.

6.3.22.10. Data
6.3.22.10.1. Thisinformationwillbestoredintheuserdatabase

6.3.23. AdditionalDiscussionBoards(Group2)

6.3.23.1. Identification
6.3.23.2. Type
6.3.23.3. Purpose
6.3.23.4. Function
6.3.23.5. Subordinates
6.3.23.6. Dependencies
6.3.23.7. Interface
6.3.23.8. Resources
6.3.23.9. Processing
6.3.23.10. Data

6.3.24. NotificationResponseLink(Group2)

6.3.24.1. Identification:NotificationResponseLink
6.3.24.2. Type:Process
6.3.24.3. Purpose
6.3.24.3.1. Thepurposeofthisprocessistoallowauserto
haveadirectlinktothecontentofthenotification.
6.3.24.3.2. Whenausermakesaresponsetoyourpost,the
systemwillsendyouanotification.Theusercan
thenopenthenotificationandclickonalinkwhich
willsendtheusertotheresponse.

6.3.24.4. Function
6.3.24.4.1. Whenanotherusermakesaresponsetoastudents
post,itwillsendanotificationtotheiriLearn3.0
accountaswellastheirassociatedemail.Each
notificationwillcontainalinktotheassociated
post.
6.3.24.4.2. Whentheuserclicksonthelink,itwillredirect
themtotheassociatedpost.Thesamefunctionality

willoccurwhetherthelinkisaccessedfrominside
theusersemail,orifthelinkisaccessedfrom
insideofiLearn3.0.

6.3.24.5. Subordinates
6.3.24.5.1. Theprocessofpublishingadiscussionboardpost.
6.3.24.5.2. Theprocessofreplyingtoadiscussionboardpost.
6.3.24.5.3. TheprocessofiLearn3.0dashboardalerts.
6.3.24.5.4. TheprocessofNotifications.

6.3.24.6. Dependencies
6.3.24.6.1. Theconditionsforthisentityisdependentupona
publishedpostfromasingleuserandasecondpost
inresponsetotheoriginal.Onlythencana
notificationcanbesent.
6.3.24.6.2. Theconditionsforthisentityarealsocompletely
dependentontheNotificationprocess.

6.3.24.7. Interface
6.3.24.7.1. Thenotificationresponselinkinterfacewillbevery
similartoiLearn3.0.Itwillhavetheclassthatthe
notificationrelatestoatthetopofthedropdown.It
willthenhavethetitleoftheassignment.Finally,it
willhavethelinktothespecificpostwithinthe
assignment.

6.3.24.8. Resources
6.3.24.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.

6.3.24.9. Processing
6.3.24.9.1. Theprocesswillbeinitiatedwhenanotheruser
respondstoauserspostonadiscussionboard.
6.3.24.9.2. Thenotificationwillberesolvediftheuserhas
alreadyviewedtheresponsebeforeviewingthe
notification.
6.3.24.9.3. Thenotificationwillberesolvedwhenthe
notificationiconispressedandthenotifications
havebeenlisted.

6.3.24.10. Data
Thenotificationresponselinkwillbestoredasacolumninthe
user_notificationdatabasetable.

6.3.25. AssignmentInstructionLocation(Group2)

6.3.25.1. Identification:AssignmentInstruction
6.3.25.2. Type:Datastore
6.3.25.3. Purpose
6.3.25.3.1. Thepurposeofthisistomaketheassignmentclear,
andeasytoaccessatthetopofthediscussion
board.
6.3.25.3.2. Thiswillfacilitatetheprocessofshiftingbackand
forthbetweentheassignmentdiscussionboardand
theinstructions,astheywillbegroupedtogether.
6.3.25.3.3. Thiswillmakeiteasierfortheusertohave
everythingtheyneedfortheassignmentonthe
samewebpage.

6.3.25.4. Function
6.3.25.4.1. Thisdataentitywillstoreinstructionaldetailsfor
usersonthesamepageasthediscussionboards.
6.3.25.4.2. Userswillbeabletoeasilyidentifyassignment
instructionsandproceedaccordingly.

6.3.25.5. Subordinates
6.3.25.5.1. Theprocessofwritingdataspecifictoindividual
assignmentsanddiscussionboards.
6.3.25.5.2. Theprocessofstoringdata.

6.3.25.5.3.

Theprocessofdisplayingthedataatthetopofeach
discussionboard.

6.3.25.6. Dependencies
6.3.25.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapost.
6.3.25.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.3.25.6.3. Thisprocessisforstoringanddisplayingdataonly.

6.3.25.7. Interface
6.3.25.7.1. Theuserfirstinteractswiththisprocessbyseeing
theinstructionslistedintheinstructionboxatthe
topofthepage.Thecommunicationbetweenthe
userandtheprogramhereismadepossiblethrough
useofthedatabase.
6.3.25.7.2. Thedatawillaccessthedatabasebyretrieving
instructionresultstobedisplayed.
6.3.25.7.3. Thedatawillmodifythedatabasewhenaprofessor
addsto,changes,and/ordeleteshisorher
instructionsfortheassignment.

6.3.25.8. Resources
6.3.25.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.25.9. Processing
6.3.25.9.1. Theprocessshallbeinitiatedwhenauseropensthe
discussionboard.
6.3.25.9.2. Ifthereisanerroropeningtheinstructions,orthe
assignmenthasnotyetbeenreleased,theusershall
benotifiedwiththefollowingmessageinthesame
placewhereerrormessagesaredisplayedinthe
existingdiscussionboardsystem:Therewasan
erroropeningtheinstructions,youcanaccessthis
assignmenton7/12(forexample),pleasetryagain
later

6.3.25.10. Data
6.3.25.10.1. Thedatabasecanstoretheinstructionaldatainthe
followingtablesinthediscussionboarddatabase.
6.3.25.10.2. Thesubjectshallnotacceptavalueofnull.

6.3.26. HighTrafficPost(Group2)

6.3.26.1. Identification:HighTrafficPost
6.3.26.2. Type:Process
6.3.26.2.1. HighTrafficPostsforeachclassareaccessible
underthestudenticon.Thisallowsforfrequently
accessedandusedthreadstobeeasiertoaccess.
6.3.26.3. Purpose
6.3.26.3.1. Ittakesmultiplestepstoaccessmostthreadsin
iLearn3.0.Thiswillallowoftenusedthreadstobe
easilyaccessibletoagivenuser.
6.3.26.3.2. Oneexampleisathreadforgroupcoordination.
Thismaybeusedoftenandfrequentlybyanentire
class.HighTrafficPostsareidentifiedbytheir
frequencyofuseandtheoverallnumberofpostson
agiventhread.

6.3.26.4. Function
6.3.26.4.1. Anypostthatisaccessedmorethanthe
HIGH_TRAFFIClimit,willbeclassifiedasaHigh
TrafficPost.HIGH_TRAFFICisaglobalvariable
thatcanbechangedlater.
6.3.26.4.2. ThegivenHighTrafficPostwillthenbelisted
underagivenstudentprofileunderaspecificclass.
Uponclickingonthetitleofthepost,theuserwill
beredirectedtothepost.

6.3.26.5. Subordinates
6.3.26.5.1. Theprocessofcollapsiblethreads.
6.3.26.5.2. Theprocessofpublishingadiscussionboardpost.
6.3.26.5.3. Theprocessofreplyingtoadiscussionboardpost.
6.3.26.5.4. TheprocessofiLearn3.0dashboardalerts.
6.3.26.5.5. TheprocessofNotifications.

6.3.26.6. Dependencies
6.3.26.6.1. Thisprocessisdependentuponuserspostingand
replyingonadiscussionboard.
6.3.26.6.2. Theprocessisdependentuponthenumberof
repliestoagivenpostbecominggreaterthanan
establishedlimitwithinthesystem.

6.3.26.7. Interface
6.3.26.7.1. TheinterfacefortheHighTrafficPostwillbethe
sameastheinterfaceforanyotherpost.Theonly
differencewillbethelargenumberofposts.
6.3.26.7.2. Theinterfacewillalsoimplementcollapsible
threadstoallowforeasierscanningofthetoplevel
postsandreplies

6.3.26.8. Resources
6.3.26.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.

6.3.26.9. Processing
6.3.26.9.1. Thisprocesswillbeginwhenenoughusershave
respondedtoagivenpost.Thiswillflagthepostas
ahightrafficpost.
6.3.26.9.2. Anupdatewilloccuronthestudentsaccount.The
studentisthenabletoviewagivenhightrafficpost
foraclass.Thesehightrafficpostswillchange

dependingonupdatestothesystemastheclass
goeson.

6.3.26.10. Data
6.3.26.10.1. Ahightrafficpostwillbedeterminedbysumming
thenumberofrepliesonagivenpost.This
informationcanbefoundbycomparingthetotal
numberofrepliesoneachpostforagivenclass.

6.3.27. NotificationResponseInclusionofOriginalPost(Group2)

6.3.27.1. Identification:NotificationResponseInclusionof
OriginalPost
6.3.27.2. Type:Process
6.3.27.3. Purpose
6.3.27.3.1. Thisistoallowastudenttoviewtheoriginalpost
thatanotheruserisrespondingtoaspartofa
Notification.
6.3.27.4. Function
6.3.27.4.1. Wheneverastudentreceivesanotification,itwill
informthemoftheclass,assignment,andoriginal
post.Thenotificationdropdownwillthenincludea
linktothepostthathasbeenrespondedto.

6.3.27.5. Subordinates
6.3.27.5.1. Theprocessofcollapsiblethreads.
6.3.27.5.2. Theprocessofpublishingadiscussionboardpost.
6.3.27.5.3. Theprocessofreplyingtoadiscussionboardpost.
6.3.27.5.4. TheprocessofiLearn3.0dashboardalerts.
6.3.27.5.5. TheprocessofNotifications.

6.3.27.6. Dependencies
6.3.27.6.1. Theconditionsforthisentityisdependentupona
publishedpostfromasingleuserandasecondpost
inresponsetotheoriginal.Onlythencana
notificationcanbesent.
6.3.27.6.2. Theconditionsforthisentityarealsocompletely
dependentontheNotificationprocess.

6.3.27.7. Interface
6.3.27.7.1. Thisinterfaceisthesameastheonementionedin
thenotificationresponselinkprocess.Thisprocess
hastodospecificallywiththethreadnameonthe
originalpost.Thisallowsausertoquicklyidentify
whichpostauserrespondedto.
6.3.27.7.2.

6.3.27.8. Resources
6.3.27.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.

6.3.27.9. Processing
6.3.27.9.1. Theprocesswillbeinitiatedwhenanotheruser
respondstoauserspostonadiscussionboard.
6.3.27.9.1.1. Thenotificationwillberesolvediftheuser
hasalreadyviewedtheresponsebefore
viewingthenotification.
6.3.27.9.2. Thenotificationwillberesolvedwhenthe
notificationiconispressedandthenotifications
havebeenlisted.

6.3.27.10. Data
6.3.27.10.1. Thenotificationresponselinkandtheoriginal
threadnamewillbestoredasacolumninthe
user_notificationdatabasetable.

6.3.28. Shortcuttoprofessors'posts(Group2)

6.3.28.1. Identification:ProfessorsPosts

6.3.28.2. Type:Datastore
6.3.28.3. Purpose
6.3.28.3.1. Thepurposeofthisistoprovideashortcutforusers
toquicklyseethepoststheprofessorhasmadeon
thediscussionboard.
6.3.28.3.2. Thiswillmakeiteasyforuserstoseeany
additionalfeedback,comments,updatespostedby
theprofessor.

6.3.28.4. Function
6.3.28.4.1. Thisdataentityshallstorepostsmadeby
professors.
6.3.28.4.2. Thiswillallowuserstoeasilyaccessprofessors
postsandseeanyupdates,comments,andfeedback
givenbyspecificinstructors.

6.3.28.5. Subordinates
6.3.28.5.1. Theprocessofwritingdatainputfromthe
professor.
6.3.28.5.2. Theprocessofstoringdata.
6.3.28.5.3. Theprocessofretrievingdatawhenuserclickson
appropriatelink.

6.3.28.6. Dependencies
6.3.28.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapost.
6.3.28.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.3.28.6.3. Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.

6.3.28.7. Interface
6.3.28.7.1. Theuserfirstinteractswiththisprocessbyselecting
theprofessorsposticon(alongthetopmenubar).
Thecommunicationbetweentheuserandthe
programhereismadepossiblethroughuseof

commonwebbrowserinterfacecomponentsandthe
database.
6.3.28.7.2. Theprocesswillaccessthedatabasebyretrieving
professorspostresultstobedisplayed.
6.3.28.7.3. Thedatawillmodifythedatabasewhenaprofessor
addsto,changes,and/ordeleteshisorherpost.

6.3.28.8. Resources
6.3.28.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.

6.3.28.9. Processing
6.3.28.9.1. Theprocessshallbeinitiatedwhenauserclickson
theprofessorsposticon.
6.3.28.9.2. Ifthereisanerroropeningthepostsfromthe
database,theusershallbenotifiedwiththe
followingmessageinthesameplacewhereerror
messagesaredisplayedintheexistingdiscussion
boardsystem:Therewasanerroropeningthe
professorspost,pleasetryagainlater.

6.3.28.9.3. Theprofessorspostshallbedistinguishedfroma
normalpostbydisplayingthewordProfessor
abovetheeachprofessorspost.
6.3.28.9.4. Thesystemshallremaininreviewingstateuntilthe
followingoccurs:theuserclicksCancel,orthe
userperformssomeotheractionbythebrowserthat
wouldnavigateawayfromthediscussionboard.

6.3.28.10. Data
6.3.28.10.1. Thedatabasecanstorethedatainthefollowing
tablesinthediscussionboarddatabase.
6.3.28.10.2. Theprofessors_poststableistokeeptrackofeach
postmadebytheprofessor.Eachposthasaunique
id.
6.3.28.10.3. Thesubjectshallnotacceptavalueofnull.

7.
RequirementsTraceabilityMatrix
(ProjectManagers)
Requirementtype,andprioritytoaddtoit.

ID

RequirementsDescription

Org/
Requestor Dep

BusinessNeed

Must/
Want

Active/
Inactive Status

Thepurposeofthisfeatureistoallowthe
usertoreducevisualclutteronthescreen.It
willalsoallowtheusertomoreeasily
navigatethroughhigherlevelsofthread
BYUI sectionsortopics.
Must

Active

Done

DeletePostsTheusershall
beabletodeleteagiven
postwithouthavingtoreload
2 thepage.
Students

Thepurposeofthisfeatureistoallowthe
usertodeleteanunwantedpostthatthey
havemadetothediscussionboard.This
featurewillallowformoreusercontrolby
allowingirrelevantorunwantedpoststobe
BYUI removedbytheauthor.

Active

InProgress

Arrangeandorganize
threadsTheusermay
organizeathreadintoa
customcategorybyclicking
onasettingslinkonagiven
3 thread.
Students

Thepurposeofthisfeatureistoallowthe
usertoorganizethreadscontributedbythe
userintocustomcategoriessotheycanbe
sortedforeasierviewingbythestudent.
Thiswillallowtheusertofilterthroughthe
selectedthreadsquickerandfindthose
BYUI categorizedthreadsmoreeasily.
Want

Inactive Hold

Showwhichthreadsyou
4 havecontributedto

Students

Thepurposeofthisfeatureistoshowthe
userwhichthreadstheuserhascontributed
to.Thiswillallowtheusertotracktheir
contributionsmoreaccuratelyand
BYUI efficiently.
Must

Active

Done

Notifywhensomeonereplies
5 toyourpostwithinathread Students

Thepurposeofthisfeatureistoallowthe
usertobenotifiedwhensomeoneresponds
BYUI toaposttheusersubmitted.
Must

Active

InProgress

Showthemostupdated
conclusionneartheoriginal
6 post

Students

Thepurposeofthisfeatureistoshowthe
mostupdatedconclusionneartheoriginal
post.Thisfeaturewillhelpdiscussionboard
usersseethemostupdatedandrelevant
answertoaquestion(asprovidedbya
moderatororselectedbyanotheruser)
withoutscrollingthroughpagesof
BYUI comments.
Must

Inactive Hold

Voteonpostswithouthaving
7 toaddawholecomment
Students

Thepurposeofthisfeatureistoallowusers
tovoteonapostwithouthavingtoadda
commenttothethread.Thisshallallowall
userstoparticipateinthevoteandreceive
BYUI moreinteraction.
Must

Active

CollapsibleThreadsThe
systemshallallowtheuser
tohidesubsectionsofa
1 thread.

Students

Must

Done

Theusermayclickonthe
thankbuttonofaposttogive
thankstothatusers
8 contribution.
Students

Thepurposeofthisfeatureistoallowusers
tolikepostssothatotherstudentscansee
whichpostsaremostrelevantoruseful
dependingonwhichwerethankedmost.
Thisshallalsoallowtheusertothank
anotheruserfortheircontributionwithout
havingtocreateanewpost.Teachersmay
usethisasanopportunitytoofferextra
BYUI creditforthankingposts.
Must

Active

Addhashtagstopostsso
thatrelevanttopicscanbe
9 filteredthrough

Students

Thepurposeofthisfeatureistoallowusers
totagpostswithhashtags.Thiswillallow
relevanttopicstobefilteredthroughmore
BYUI easily.
want

Inactive Hold

Searchallofthecontentsof
10 athreadwithoutexpandingit Students

Thiswillallowtheusertogetmoreaccurate
searchresultsandalsotogettheresults
BYUI moreeasily.
Must

Active

Done

Referenceaspecificperson
11 inapost
Students

Thepurposeofthisfeatureistoallowthe
usertodirecttheirposttoaspecificperson.
Thisfeaturewillallowforbetter
communicationasthepersonbeing
referencedwillreceiveanotificationthat
BYUI someonehasaddressedtheminapost.
Must

Active

InProgress

Emailnotificationsfor
12 importantposts

Students

Thepurposeofthisfeatureistoalert
studentsthroughemailwhenanimportant
posthasbeenmadesoastoensurethat
BYUI everyoneseesit.

Inactive Hold

Students

Thepurposeofthisfeatureistoreducethe
amountoftimeittakestomakeorreplyto
postsondiscussionboards.Timespenton
discussionboardswillbelessenedasusers
willnothavetoclickbackandforthbetween
multiplepagestoreadinitialpostsand
responseposts.Userswillbeabletomake
theirinitialpostandreplytoother
classmemberspostsfromthesamepage,
BYUI makingtheprocessfasterandsimpler.
Must

Active

Done

Students

Thepurposeofthisfeatureistomakethe
homepagecleanerandmakeimportant
informationstandout.Thisfeatureis
arbitraryanddoesntaidintheuseof
BYUI discussionboards.

Active

InProgress

Haveaccesstoallposts
13 fromonescreen

Removeunread
discussionsboxfromthe
14 currentversionofILearn

Listofwhocommentedona
15 thread
Students

Must

Must

Thereasonbehindthisiswhensomeone
wantstoviewwhohasparticipatedina
BYUI thread,thediscussionboardwillshowalist Want

InProgress

Inactive Hold

ofthosewhoareparticipatinginthethread
sothattheuserwillbeawareofwho
participatesinthediscussion.Thiswillget
ridofonlyallowingtheuserviewingthe
discussionboardtoviewwhocommented
onthethreadlast.

Listamountofresponseson
16 apost
Students

Thepurposeofthisfeatureiswhenauser
isgivenaspecificamountofpostsheorshe
needstorespondto,itshallgiveanumber
verifyinghowmanyheorshehas
contributedto.Thiswillmakeiteasieron
theuser,sotheywonthavetofindthe
responsesandcountthemindividually.
Whenauseriscuriousastohowinvolved
heorsheisondiscussionboards,theywill
easilyseehowmanythreadstheyhave
BYUI repliedto.
Must

Active

Done

WordCountonthecomment
17 orpost
Students

Thereasonbehindthisfeatureisbecause
manyteachersspecifytheminimumnumber
ofwordsapostand/orreplyneedstobe,
butthediscussionboardhasnowayto
checkthatwithouthavingtomanuallycount
eachword.Thisfeaturewillmakeiteasyto
seethewordcountonapostasitsbeing
BYUI writtenandafteritsposted.
Must

Active

InProgress

Notificationofaresponseto
18 individualcomments
Students

Thepurposeofthisfeatureistoinformthe
originalpostauthorthatanotheruserhas
BYUI respondedtotheirpost.

Must

Inactive Hold

Strongerdistinctionofreplies
19 frompostsandthreads
Students

Thereasonbehindthisisthatitiseasyto
getconfusedwithwhereeachreplygoes.
Thiswillminimizetheamountofconfusion
BYUI betweenareplyandanoriginalpost.

Must

Active

Done

Moremobilefriendly(bigger
20 buttons)
Students

Thepurposeofthisfeatureistoprovidethe
userwithgreateraccessibilitytoILearn
discussionboardsthroughamore
meaningfulmobileinterface.Thisinterface
willbeusedforbothsmartphoneandtablet
devices.Asausernavigatesadiscussion
boardusingthemobileinterface,allbuttons
willappearasfunctionalbuttonsandnotas
standardhyperlinkswhichareoftensmall
BYUI anddifficulttoworkwith.
Want

Active

InProgress

Markdownsupportforbetter
21 customizationofthetext
Students

Markdownsupportwillallowforboth
BYUI studentsandteacherstomoreeffectively

Inactive Hold

Must

stylethebodycontentofdiscussionboards,
posts,commentsandresponses.

22 Studentmoderatorcapability Students

Studentmoderationshallallowforteachers
toassignstudentsasmoderatorsover
coursespecificdiscussions.Thisfeaturewill
enablestudentstohavemorecontrolover
thediscussionboardsysteminILearn
allowingforthecreation,modificationand
archivingofbothdiscussionboardsand
BYUI discussionboardcomments.
Must

Active

Done

Allowstudentstoadd
23 discussionboards

Students

thisfeaturewillallowanystudenttheability
tocreateadditionaldiscussionboardsafter
beingmadeamoderatorwithinacourse.
Thepurposeofthisfeatureistoallow
studentstocreatetheirowngroup
discussionboardsforteamcommunication
BYUI andcollaboration.
Must

Active

InProgress

Students

Thisfeaturewillnotifyusersofdirect
responsestotheirdiscussionboardposts,
commentsandrepliesandrespectively
BYUI provideadirectlinktotheresponse.

Must

Inactive Hold

Students

Thepurposeofthisfeatureistomakeit
easierforastudenttolookupindividual
assignmentinstructionswithouthavingto
leavethediscussionboard.Thiswillgive
thestudenttheabilitytoreferbacktothe
instructionswithouthavingtobreaktheir
concentration,resultinginmoreprecise
BYUI responsestothetopicinquestion.

Must

Active

Done

Hightrafficpostspotlight(i.e.
26 mostpopular)
Students

Thepurposeofthisfeatureistoenable
studentstoquicklyfindthemostrelevant
informationinregardstotheirassignment.
Oftentimesthemosttraffickedresponsehas
thehighestqualityinformationby
spotlightingthisthreadtheclasswillunite
BYUI andwhichwillfosterdeeperdiscussion.
Want

Active

InProgress

Notificationofresponsewill
showtheoriginalpostfor
27 context

Thepurposeofthisfeatureistoprovide
studentswithcontextinregardstothereply
theyvejustreceived.Studentsaremore
likelytorespondtothatreplywhentheyare
remindedwhattheoriginalpostsaid.This
willencouragemoreinteractionbetweenthe
BYUI students.
Must

Inactive Hold

Alinktodirectyoutoa
responsewhenyouare
24 notifiedofresponse

Assignmentinstructionon
25 discussionboardpage

Students

28 Shortcuttoprofessors'posts Students

Thepurposeofthisfeatureistoprovidethe
studentwithamechanismtofindthe
instructorsresponsetotheirposts,aswell
asthreadsthattheinstructorhascreated.
Thiswillenablethestudenttoquicklyfind
valuablefeedback,aswellascrucial
BYUI threadsauthoredbytheinstructor.
Must

Active

8.

Appendix

8.1. FunctionModification
8.1.1. Entity5.3.20wasremovedduetothefactthatitwasnotan
operationalsystemdesignrequirement.Thefeaturedoesnotaffect
thefunctionalityorworkingcapabilityofthesystem,butinstead
affectsonlytheusersviewofthesystem.Thisfeaturesimply
changesthewayotherfeaturesaredisplayedtotheuserdepending
onthedevicetheyareusingtoaccessthediscussionboard.

Youarepermittedtoincludeanappendixmodifyingrequirements.All
requirementsmodificationsmustbeapprovedbytheinstructor.Clearlystatewhich
requirementsyouaredeleting.Clearlystatetherequirementsyouareaddingor
modifyingfollowtheformatusedinyoursoftwarerequirementsspecification.Providea
justificationforeachchange

Done