Software Design Document - Ilearn3.0
Software Design Document - Ilearn3.0
Software Design Document - Ilearn3.0
ILearnDiscussionBoardSoftwareDesignDocument
1.
Introduction
1.1. Purpose
1.1.1. TheSoftwareDesignDocumentisawireframeflowdocument
describingtheproposedfeaturestotheexistingILearn3.0system,
specificallytheDiscussionBoardfeature.Thisdocumentprovides
descriptionsandthenecessaryrequirementsforunderstanding
whatneedstobebuiltandtherelationshipwiththeexisting
system.
1.1.2. TheSoftwareDesignDocumentincludessupportingrequirement
information,whichincludes,butisnotlimitedtousecase
diagrams,flowcharts,sequencediagrams,and
interfaceexamples.
1.1.3. Thisdocumentdoesnotincludespecificstolanguagesusedor
operatingsystemsrequiredasthisservesasanenduser
architecturereference.
1.1.4. ThisSDDwillaidinthesystemdevelopmentbyprovidingthe
necessarydetailsforhowthesystemshallbebuiltand
implemented.
1.1.5. UsersofthisSDDwillbeabletodevelopthesystembasedonthe
informationandrequirementscontainedinthisdocument.
1.2. Scope
1.2.1. The[NewILearn3.0DiscussionBoard]softwaresystemwillbea
revisionoftheexistingILearn3.0feature,theDiscussionBoards.
1.2.2. Thisnewsystemwillimprovethefunctionalityofthecurrent
DiscussionBoards,increaseoverallusability,andlessenthe
frustrationofcurrentDiscussionBoardusers.
1.2.3. The[NewILearn3.0DiscussionBoard]softwaresystemwill
implementfeaturesthatwillfacilitateeasierandimproved
navigationofpostsleftbyusers.
1.2.4. The[NewILearn3.0DiscussionBoard]willnothaveanyeffect
onotherILearn3.0features,norwillitbeaseparateentityfrom
ILearn3.0.
1.2.5. The[NewILearn3.0DiscussionBoard]systemwillusethe
existingdeployedoperatingsystemsandlanguagesusedfor
development.
2.
References
2.1. TheSDDformatusedforthisdocumentfollowsthestandardsand
numericalformattingdescribedinSoftwareEngineering,Volume1:The
DevelopmentProcesspgs.281284
2.2. TherequirementsusedinthisdocumentcamefromtheSoftware
RequirementsSpecificationwrittenbymembersofCS364:02.
2.3. EachDesignEntityisattributedtothegroupthatcompletedthe
description.Groupscanbereferencedinsections8.2Contributorsunder
theAppendix.
3.
Abbreviations
3.1. IDidentifier:Eachuserofthesystemhasauniqueidentifierto
distinguishhimorherfromotheruser.
3.2. SDDSoftwareDesignDocument:TheSoftwareDesignDocumentisa
wireframeflowdocumentdescribingtheproposedfeaturesoftheproject.
4.
Definitions
4.1. CollapseAllowsausertohideapostthattheyarenolongerinterestedin
reading.Thisallowsausertofreeupspacetolookatother
posts.
4.2. CollapsedSeecollapse.
4.3. CollapsesSeecollapse.
4.4.
CommentSeepost.Acommentisthetextinsideeachpost,inresponse
to,ortobegineachthreadinthediscussionboard.
4.5. DiscussionSeethread.
4.6. DiscussionBoardThepagewhereauniquethreadisviewed.
4.7. ExpandThisallowsausertomakeahiddencommentvisiblesothatthe
contentcanbeviewed.
Commentswithrepliesareinitiallycollapsed.
4.8. ExpandedSeeExpand.
4.9. ExpandingSeeExpand.
4.10. HashtagThisallowsforapostoracommenttobetaggedasacertain
kindofcontent.Inthecontextofthisapplication,all
comments,threads,
andpoststhatinclude#cs364srscouldbefoundbysearchingfor
cs364srsinthesearchengine.
4.11. HashtagsSeehashtag.
4.12. ImportantApostmarkedasimportantwillbemarkedandwillsendan
emailnotificationtoallrelevantusers.
4.13. InterfaceThemediumthroughwhichdifferentpartsofasystem
interact,whetheritbetheuserinteractionwiththesystem,orcomponents
ofthesysteminteractingwithothercomponents.
2
4.14.
5.
MarkdownLightweightmarkuplanguagethatallowsuserstostylethe
contentoftheirdiscussionposts.
4.15. MobileAsmallcomputingdevicetypicallyhavingsmallphysical
dimensions,atouchscreen.Thesedevicesaregenerallyhandheld.
4.16. ModeratorAstudentwhohasbeenassignedtooverseeadiscussion
boardincluding:creating,modifyingandarchivingofthediscussion
boardsandcomments.Themoderatoroverseesandmediates
communicationsbetweenuserstoensureconsiderationandrules,have
beenfollowed.Amoderatorcanbeateachingassistant,intern,orstudent
theteachercallsupon,withspecialprivilegestoeditotheruserspostsand
content.
4.17. NotificationThisallowsausertoseetheactivitytheyareinvolvedin.A
userwillseeanotificationwhenthefollowingeventsoccur:
4.17.1. Anotherusertags(referencetagging)youintheirpost.
4.17.2. Someonerespondstoapostyouhavewritten.
4.18. NotificationsSeenotification.
4.19. PopupAsmallwindowthatappearsintheforeground,tosignifyanalert,
warning,ornotification.
4.20. PostThisisageneralresponsetoagivenevent.Thisisusergenerated
contentthatgenerallycontainstextwiththeoptiontoinsertimagesand
attachothercontent.Italsogivesuserstheabilitytoeditanddeletetheir
owncontent.Apostcouldbeinresponsetoaquestion,oritcouldbea
posttostartanewconversation.
4.21. Postsseepost.
4.22. TaggingTheuserisabletoreferenceanotherstudentoratopicintheir
discussionboardpost.Ifanotherstudentistagged,thereferenceduseris
thensentanotificationwithalinktothereferencedpost.Totagatopica
usermustcreateahashtag.
4.23. ThankAnindicatoriconsuchasathumbsupatthebottomofapost,
andwayofshowingthatapostisappreciatedoruseful.
4.24. ThanksSeethank.
4.25. ThankedSeethank.
4.26. ThreadAcollectionofpostsrelatingtoacertaintopic.
4.27. Threadsseethread.
4.28. TopicAcollectionofthreadsrelatingtoasinglepurpose.
ConsiderationsforproducingSDD
5.1. Softwarelifecycle
5.1.1. ConceptPhase:
3
5.1.1.1. Duration:6Weeks
5.1.1.1.1. Theconceptphaseprovidestheprojectteamwitha
chancetocontemplateandconceptualizeasolid
foundationforanewdiscussionboardsystem.
5.1.1.1.2. Thistimewillbeusedtocreatevariousprototypes
whichwillbepresentedtostakeholders.
5.1.1.1.3. Developalistofcorefunctionalityfeaturesforthe
discussionboard.
5.1.2. RequirementsPhase:
5.1.2.1. Duration:2weeks
5.1.2.1.1. Withinthisperiod,theprojectteamwillmeetwith
stakeholdersandendusersaswellasconduct
interviewsandcreatesurveys.Arequirements
documentwillbedraftedandcompletedduringthis
phase.
5.1.2.2. Acquireallnecessarybusinesslogic/requirements.
5.1.2.2.1. Meetwithprimarystakeholders,endusers,andthe
developmentteamtodeterminethefullscopeof
whowillbeusingthenewdiscussionboardsystem.
5.1.2.2.1.1. Gathertheserequirementsviainterviews
andsurveys.
5.1.2.2.2. Determinehowallapplicableuserswillmakeuseof
thenewdiscussionboardsystem.
5.1.2.2.2.1. Developmultipleusecasescenarios.
5.1.2.2.3. Determineapplicableusecasesinwhichdatawill
beinputthroughthenewdiscussionboardsystem
andhowILearnwillpresenttheinputstotheuser.
5.1.2.2.4. Howwilldatabeoutputfromuseofthenew
discussionboardsandinwhatcasesshouldusersbe
abletoseetheoutput(i.e.discussions,posts,etc.)
5.1.2.3. Buildminorprototypesofthediscussionboardsystem
duringthisphase.
5.1.3. DesignPhase:
5.1.3.1. Duration:3months
5.1.3.1.1. Thedesignphaseofcreatingthediscussionboard
isimportantandshallbethorough.Timespenton
4
thedesignshallbeallottedforinitialdesignsand
multiplerechecking.
5.1.3.1.1.1. Thedesignphaseshallimplementthedesign
ofthecomponents,interfacesandbehaviors
oftheapplication.
5.1.3.1.1.2. Withinthedesignphaseshallbemultiple
recheckingtocheckforspelling,
formatting,orothererrorswithinthe
document.
5.1.4. ImplementationPhase:
5.1.4.1. Duration:6months
5.1.4.1.1. Thenewdiscussionboardapplicationislargeand
shallrequirealargegroupofdeveloperstofinish
theapplication.
5.1.4.1.1.1. Theimplementationphaseshallconsistof
organizingcodewithintheapplicationto
avoidconfusion.
5.1.4.1.1.2. Thelargebulkoftheimplementationpage
willbethedevelopmentoftheapplication.
5.1.4.1.1.3. Duringtheimplementationphasedevelopers
shallcommunicatewithoneanotherwith
worktobedonesothatimplementationis
organizedandefficient.
5.1.5. TestPhase:
5.1.5.1. Duration:3weeks
5.1.5.1.1. Whiletestingshouldtakeplaceduringdevelopment
ofthenewdiscussionboardsystem,3weeks
shouldbespentinthecompletetestingofall
aspectsoftheprojectwithinanenvironmentsimilar
tothatoftheproductionserver.
5.1.5.2. Thenewdiscussionboardsystemwillbemovedtoa
productionlikeenvironmenttoconductvarioustests.
5.1.5.2.1. IntegrationTesting
5.1.5.2.1.1. Functionalityofdiscussionboards.
5.1.5.2.1.2. Discussionboardinteractionwithinthe
ILearnsystem.
5.1.5.2.1.3. Discussionboardinteractionwiththe
database.
5.1.5.2.2. SystemTesting
5
5.1.5.2.2.1.
Discussionboardintegrationintothe
ILearnsystemwithouterrors,bugsor
problems.
5.1.5.2.2.2. Discussionboardfunctionandfeature
comparisonwithoriginalspec.
5.1.5.2.3. UserAcceptanceTesting
5.1.5.2.3.1. Determineenduserandstakeholder
confidenceinthenewsystemandits
usability.
5.1.5.2.3.2. Determinefitforuse/completionstatus.
5.1.5.2.4. Aftertestinghastakenplaceifanyproblemsor
issuesarisetheyshouldbeaddressedandcorrected.
5.1.5.2.5. Oncealltestshavebeencompletedsuccessfully
installationandcheckoutcantakeplace.
5.1.6. InstallationandCheckoutPhase:
5.1.6.1. Duration:2weeks
5.1.6.2. Mostofthenewprocessessimplyaddontoexisting
processesandwillnotrequiremuchtimetoimplement,
especiallyafterhavingbeenmadetofunctionseparately.
5.1.7. OperationandMaintenancePhase:
5.1.7.1. Duration:TheremaininglifecycleofIlearn3.0
5.1.7.2. Durationapproximation:6years
5.1.7.2.1. Thisestimationisbasedonthedurationofthe
previousIlearnsystem,alsoabout6years.
5.1.7.3. Thenewdiscussionboardisdesignedtoremaininuseasa
featureofIlearn3.0.Unlessupdatedagain,itshallremain
ineffectforthedurationofuseofIlearn3.0.
5.1.7.4. Similartohowthediscussionboardwasremodeledalong
withthetransitionfromIlearn2.0,anewdiscussionboard
systemwilllikelybedesignedforasubsequentversionof
Ilearn.
5.1.7.5. Theconceptsofsomeofthedescribedprocessesmaybe
reusedforsubsequentversionsofIlearn,howeverthatis
outofthescopeofthisproject.
5.1.8. RetirementPhase:
5.1.8.1. Duration:8Weeks
6
5.1.8.1.1.
Theretirementphaseofthediscussionboardwill
encompassthemigrationofinformationfromits
currentstoretovariousarchivalrepositories.
5.1.8.1.1.1. Thisinformationwillincludeuserpostsand
configurationfiles.
5.1.8.1.2. Itencompassesthetransitionalperiodbetweennew
andolddiscussionboardsystemsacrossvarious
hosts.
5.2. SDDwithinthelifecycle
5.2.1. TheSDDwillfollowtheoutlineofthesoftwaredevelopmentlife
cycleasstatedinsection5.1.ThelifecycleoftheILearn3.0
systemisoutsidethescopeofthisdocumentandwillnotbe
covered.
5.3. PurposeofSDD
5.3.1. PurposeofthisSDDservesasguidancetothedevelopmentteam
oftherequirementsthatmustbefilledforthisproject.TheSDDis
howwewillfindanygapsorinconsistenciesthatneedtobe
resolvedbeforetheprojectgoestodevelopment.
6.
DesignDescriptionInformationContent
6.1.
DesignEntitiesAttributes
6.1.1. CollapsibleThreadsGroup3
6.1.1.1. Identification:Collapsingandexpandingthreads
6.1.1.2. Type:Process
6.1.1.3. Purpose
6.1.1.3.1. Thepurposeofthisfeatureistoallowtheuserto
collapseorexpandvariousthreadsinadiscussion
board.
6.1.1.3.2. Thiswillallowuserstomoreeasilynavigate
discussionboardsandtoreducevisualclutter.
6.1.1.4. Function
6.1.1.4.1. Thisprocesswillprovideaninterfaceforallowing
userstoeithercollapseorexpandthreadsectionsor
topics.
7
6.1.1.4.2.
Auserwillbecapableofexpandingathreadtosee
allsubsectionswithinthatthread.
6.1.1.4.3. Auserwillbeabletocollapseathreadtoreduce
visualclutterandhidecontentthattheyarenot
interestedin.
6.1.1.5. Subordinates
6.1.1.5.1. Theprocessofviewingthediscussionboards
function.
6.1.1.5.2. Theprocessofviewingthreads.
6.1.1.6. Dependencies
6.1.1.6.1. Thisprocessdependsonthediscussionboards
currentprocessofdisplayingposts.
6.1.1.6.2. Userinteractionwithcollapsingandexpanding
threadswilldependontheprocessesofreceiving
inputthroughthewebandoutputtinginformation
onthescreentotheuser.
6.1.1.7. Interface
6.1.1.7.1. Theuserinteractswiththisprocessbyclickingon
the+symbolassociatedwiththethread.The
8
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.1.1.7.2. Theprocesswillexpandallsubsectionsandmake
themeasilyvisibletotheuser.
6.1.1.7.3. Thesystemwillreplacethe+symbolwitha
symbolsignifyingtheabilitytonowcollapsethe
thread.
6.1.1.7.4. Theuserinteractswiththisprocessbyclickingon
thesymbolassociatedwiththethread.
6.1.1.7.5. Theprocesswillcollapseallsubsectionsandmake
themhiddenfromtheuser.
6.1.1.7.6. Thesystemwillreplacethesymbolwitha+
symbolsignifyingtheabilitytonowexpandthe
thread.
6.1.1.8. Resources
6.1.1.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.1.9. Processing
6.1.1.9.1. Theuserwillhavetheabilitytoexpandand
collapsethreads.
6.1.1.9.2. Underthemaindiscussionboardprocess,theuser
hastheabilitytoviewalistofthreadseachwitha
+symbollocatedtotheright
6.1.1.9.3. Whentheuserclicksonthe+symbolitwill
expandallsubsectionsofthatthreadmakingthem
visibletotheuser.The+symbolwillturnintoa
symbolafterbeingclickedonce.
6.1.1.9.4. Whentheuserclicksonthesymbolitwill
collapseallsubsectionsofthatthreadmakingthem
hiddentotheuser.Thesymbolwillturnback
intoa+symbolafterbeingclickedonce.
6.1.1.10. Data
6.1.1.10.1. Nodatawillbestoredinthedatabasewithuseof
thecollapsiblethreads.Forusabilitypurposesall
9
6.1.2.
discussionboardswillbecollapsedbydefaulteven
iftheuserexpandedtheminapriorsession.
DeletePostsGroup3
6.1.2.1. Identification:Deletingofunwantedorunintendedposts
6.1.2.2. Type:Process
6.1.2.3. Purpose
6.1.2.3.1. Thepurposeofthisfeatureistoallowtheusermore
controlovertheircontributionstoadiscussion
board.
6.1.2.3.2. Thiswillallowausertodeletetheirownpoststhat
mayhavebeenunwantedorirrelevant.
6.1.2.4. Function
6.1.2.4.1. Thisprocesswillprovideaninterfaceforallowing
userstodeletepoststhattheyhavemade.
6.1.2.5. Subordinates
6.1.2.5.1. Theprocessofviewingthediscussionboards
function.
6.1.2.5.2. Theprocessofviewingthreads.
6.1.2.6. Dependencies
6.1.2.6.1. Thisprocessdependsonthediscussionboards
currentprocessofremovingapost.
6.1.2.6.2. Theusermustbeallowedtoreadfromandwriteto
thedatabase.
6.1.2.6.3. Userinteractionwithdeletingtheirownthreads
willdependontheprocessesofreceivinginput
throughthewebandoutputtinginformationonthe
screentotheuser.
10
6.1.2.7. Interface
6.1.2.7.1. Theuserinteractswiththisprocessbyclickingon
theDeletebuttonlocatedontheirauthoredthread
bytheEditPostbutton.Thecommunication
betweentheuserandtheprogramhereismade
possiblethroughuseofcommonwebbrowser
interfacecomponents.
6.1.2.7.2. Theuserwillbeabletoconfirmtheirintentionto
deleteorcanceltheprocessinadeletion
confirmationdialogafterclickingtheDelete
button.
6.1.2.7.2.1. Optionallytheuserwillbeabletospecify
withinthedialogwhetherornottosimply
deletefuturepostswithoutthedialoginthe
futurewhentheDeletebuttonisclicked.
6.1.2.7.3. Theprocesswillaccessthedatabaseandremovethe
postifitcontainsnoreplies,orremovethepost
authorandpostcontentiftherearereplies(thereby
keepingtherepliespresentinboththediscussion
boardandthedatabase).
11
6.1.2.7.4.
Tocanceloutofthedeletionconfirmationdialog
theuserwillclickoutoftheboxorclickonthe
Cancelbutton.
6.1.2.8. Resources
6.1.2.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.2.9. Processing
6.1.2.9.1. Theuserwillhavetheabilitytodeleteanypostthat
theyaretheauthorof.
6.1.2.9.1.1. Underthemaindiscussionboardprocess,
theuserhastheabilitytodeleteanyoftheir
ownposts.
6.1.2.9.1.2. WhentheuserclicksontheDeletebutton
ontheirposttheywillbepresentedwitha
confirmationdialogtoeitherconfirmthe
deletionorcancelit.
6.1.2.10. Data
6.1.2.10.1. Thedatabasecanremovethepostdataintheposts
tableinthediscussionboarddatabase.
6.1.2.10.1.1. Whentheuserconfirmsthedeletionand
therearenorepliesattachedtothepost:The
row,basedonthepostid,willbedeleted.
6.1.2.10.1.2. Whentheuserconfirmsthedeletionand
therearerepliesattachedtothepost:The
row,basedonthepostid,willhaveits
authorcolumnchangedtoDeletedandits
contentcolumnchangedtoDeleted.
6.1.2.10.2. Anewcolumnwillbeaddedtotheusertableas
auto_post_delete.
user
...
...
auto_post_delete
bool
12
Thisadditionalcolumnaddressestheoptional
settingwithinthedeletionconfirmationdialogto
deleteallfuturepostswithoutconfirmation.
6.1.3. ArrangeandOrganizeThreadsGroup3
6.1.3.1. Identification:ArrangingandOrganizingThreadsUnder
SpecificCategories
6.1.3.2. Type:Process
6.1.3.3. Purpose
6.1.3.3.1. Thepurposeofthisfeatureistoallowtheuserto
organizethreadscontributedbytheuserinto
customcategoriessotheycanbesortedforeasier
viewingbythestudent.
6.1.3.3.2. Thiswillallowtheusertofilterthroughtheselected
threadsquicklyandfindthosecategorizedthreads
easily.
6.1.3.4. Function
6.1.3.4.1. Thisprocessprovidesaninterfacethatwillallow
theusertoviewandarrangethreadswithinthe
discussionboards.
6.1.3.4.2. Auserwillbecapableofcreatingacustomizable
categorywithinthefilterofarrangingand
organizingthethreads.
6.1.3.4.3. Theuserwillhavetheabilitytoorganizeathread
byassigningthegiventhreadtoacustomcategory.
Figure6.3.31FilterByexample
13
6.1.3.5. Subordinates
6.1.3.5.1. Theprocessofviewingthediscussionboards
function.
6.1.3.5.2. Theprocessofviewingthreadsthatotherusers
havecontributedto(describedin5.3.4).
6.1.3.5.3. Theprocessofthankingpostsbetweenall
studentscontributingtoadiscussion(describedin
5.2.8).
6.1.3.6. Dependencies
6.1.3.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapost,along
withbeingabletoviewwhichthreadsthecurrent
userhascontributedto.
6.1.3.6.2. Theusermustbeallowedtoreadandwritefromthe
database.
6.1.3.6.3. Userinteractionwitharrangingandorganizing
threadswilldependontheprocessesofreceiving
inputthroughthewebandoutputtinginformation
onthescreentotheuser.
Figure6.3.32Arranging/organizingdropdown
menuflowchart
14
Figure6.3.33Creatingacustomcategoryflowchart
Figure6.3.34Assigningathreadtoacustomcategory
flowchart
15
6.1.3.7. Interface
6.1.3.7.1. Theuserinteractswiththisprocessbyclickingon
theFilterBydropdownmenuandclickingona
categoryprovidedbythediscussionboardorbya
customcategorymadebytheuser.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.1.3.7.2. Theusercanalsointeractwiththisprocessby
clickingtheStudentAccounttabandthen
clickingonCreateCustomCategory.Thisthen
allowstheusertoinputacustomcategory.When
submitted,thecustomcategoryisoutputtedtothe
userthroughtheFilterBydropdownmenu.
6.1.3.7.3. Theprocesswillaccessthedatabasebyaddinga
customcategoryviathedescriptionabove.
6.1.3.7.4. Theusercanassignathreadtoacustomcategory
byclickingontheSettingsiconandthe
Organizetaboutputtingbythediscussionboard
underthegiventhread.Thediscussionboardthen
outputsalistofcategories,withtheabilitytoassign
oneofthemtothegiventhread.
6.1.3.7.5. Theprocesswillaccessthedatabasebyaddinga
customcategorytoaspecificthread.
6.1.3.7.6. TocanceloutofSettings,OrganizeorCreate
CustomCategorytabs,clickoutoftheboxorclick
ontheCancelbutton.
6.1.3.8. Resources
6.1.3.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.3.9. Processing
6.1.3.9.1. Theuserwillhavetheabilitytoarrangeand
organizethreadsbasedoffofcategories.
6.1.3.9.1.1. Underthemaindiscussionboardprocess,
theuserhastheabilitytoviewalistof
16
threadsorganizedundercategoriesunder
theFilterBydropdownmenu.
6.1.3.9.1.2. Whentheuserclicksonacategory,itwill
gobacktothemaindiscussionboard
processbutinsteaddisplaysthreadsbased
onthecategoryselected.
6.3.3.9.2.
Theuserwillhavetheabilitytoaddacustom
category.
6.1.3.9.1.3. Whenatthemaindiscussionboardprocess,
underStudentAccounttherewillbealink
toCreateCustomCategory.
6.1.3.9.1.4. UndertheCreateCustomCategorythe
userwillthenbeabletoinputtheirown
categoryandaddittothedatabase.
6.1.3.9.1.5. Thiswillthenallowtheusertoassigna
threadtothecustomcategorycreated.
6.3.3.9.3.
Theuserwillhavetheabilitytoassignathread
underacustomcategory.
6.1.3.9.1.6. Underagiventhread,theuserwillhavethe
abilitytoclickontheSettingsofthe
thread.
6.1.3.9.1.7. WhenunderSettingstheuserwillhave
theabilitytoclickonOrganize,which
willbethelocationwheretheusercan
assignthegiventhreadtoacategory.
6.1.3.9.1.8. TheOrganizelinkwillprovideapopup
thatwillhaveamenuofcategories.
6.1.3.9.1.9. WhentheuserclicksontheAssignbutton
nexttothecategory,thecategorywillthen
beassignedtothegiventhread.
6.1.3.9.1.10. Aftercategoryisassigned,theusermaynow
beabletoviewthegiventhreadunderthe
maindiscussionboardprocessunderthe
categoryselectedbytheFilterBydrop
downmenu.
17
6.1.3.10. Data
6.3.3.10.1.
Thedatabasecanstorethedatainthefollowing
tablesinthediscussionboarddatabase.
6.1.3.10.1.1. Thecustom_categorytablestoresthe
categoriesavailabletoarrangethethreads
by.Eachcategoryshouldhaveauniqueid.
6.1.3.10.1.1.1. Theidshallbetheprimarykeyand
shallbeautomaticallyincremented.
6.1.3.10.1.1.2. Thecategory_nameshallnotaccept
anullvalue.
custom_category
id
int
category_name
varchar(60)
6.1.3.10.1.2.
Thethreadtablestoresthethread_name,
thread,andtherelationshiptoacategory.
6.1.3.10.1.2.1. Theidshallbetheprimarykeyand
shallbeautomaticallyincremented.
6.1.3.10.1.2.2. Thecategory_idshallreferencethe
idfromthecategoriestable.
6.1.3.10.1.2.3. Thethread_nameshallnotaccepta
nullvalue.
6.1.3.10.1.2.4. Thethreadshallnotacceptanull
value.
thread
thread_id
int
category_id
int
Referencescustom_category(id)
thread_name
varchar(60)
thread
text
18
6.1.4.
ContributedThreadsGroup3
6.1.4.1. Identification:Viewingcontributorstoposts
6.1.4.2. Type:Process
6.1.4.3. Purpose
6.1.4.3.1. Thepurposeofthisprocessistoshowthethreads
theuserhascontributedto.Thiswillallowtheuser
totracktheircontributionsmoreaccuratelyand
efficiently.
6.1.4.3.2. Theuserwillalsobeabletoviewothers
contributionstootherthreadsbasedoffoflatest
posttooldestsothattheusercantrackwhata
personhadmadecontributionsto.
6.1.4.4. Function
6.1.4.4.1. Theprocessshallprovideaninterfacethatwill
allowtheusertoviewcontributionsmadetoa
specificthreadunderthethreaditself.
6.1.4.4.2. Theinterfaceshallshowthecontributionsmadeby
auserbasedoffofhowrecentacontributionwas
made.
6.1.4.4.3. Theinterfaceshallalsoallowfortheusertoclick
onthecontributorsprofilepictureandviewother
contributionsthathavebeenmadebytheuserbased
offofmostrecentcontributiontoathread.
19
Figure6.3.41Contributingthreadsexample
20
6.1.4.5. Subordinates
6.1.4.5.1. Theprocessofviewingathreadunderthemain
discussionboardprocess.
6.1.4.6. Dependencies
6.1.4.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapostwithin
athread.
6.1.4.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.1.4.6.3. Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.
Figure6.3.42Viewingcontributionstoaspecific
threadflowchart
21
Figure6.3.43Viewingcontributionsmadebya
specificuserflowchart
6.1.4.7. Interface
6.1.4.7.1. Theuserfirstinteractswiththisprocessbyselecting
athreadandviewingcontributionsmadetothe
threadbasedoffoftheirprofilepicture.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.1.4.7.2. Theprocesswillaccessthedatabasebyretrieving
contributionresultsmadeonathread.
6.1.4.7.3. Theprocesswilladdtothedatabasenew
contributionsmadetoaspecificthread.
6.1.4.7.4. Theprocesswillalsoaccessthedatabaseby
retrievingcontributionresultsmadebyeachuser.
6.1.4.8. Resources
6.1.4.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.4.9. Processing
6.3.4.9.1.
Theuserwillhavetheabilitytoviewprofile
picturesofthosewhomadecontributionstoaspecificthread.
6.1.4.9.1.1. Fromthemaindiscussionboardprocess,
theuserwillclickonalistofthreads.
22
6.1.4.9.1.2.
Atthebottomofeachthreadwillbealistof
contributorsofthethreaditselfbasedoffof
theuser'sprofilepicture.
6.3.4.9.2.
Theuserwillhavetheabilitytoviewacontributor's
contributionstootherthreads.
6.1.4.9.1.3. Fromthegiventhread,theusershallhave
theabilitytoclickontheprofilepictureofa
contributor.
6.1.4.9.1.4. Oncetheprofilepictureisclicked,itshall
pullupapopuppage.
6.1.4.9.1.5. Theusershallthenbeabletoviewfromthe
popuppagethethreadcontributionsmade
bytheuser.
6.1.4.9.1.6. Thethreadsshallbeorganizedfromnewest
contributiontotheoldest.
6.1.4.9.1.7. Theusershallhavetheabilitytoclickthe
Cancelbuttontoreturntothethread.
6.1.4.10. Data
6.3.4.10.1.Thedatabasecanstorethedatainthefollowing
tablesinthediscussionboarddatabase.
6.1.4.10.1.1. Thecontributionstableshallbethelink
betweenamanytomanyrelationshipwith
theusertableandthethreadtable.
6.1.4.10.1.1.1. Theuser_idshallreferencetheid
fromtheusertable.
6.1.4.10.1.1.2. Thethread_idshallreferencetheid
fromthethreadtable.
contributions
user_id
int
Referencesuser(id)
thread_id
int
Referencesthread(id)
23
6.1.5.
ReplyNotificationGroup3
6.1.5.1. Identification:ReplyNotification
6.1.5.2. Type:Process
6.1.5.3. Purpose
6.1.5.3.1. Thisentityexistsbecauseitisessentialforauserto
bealertedwhensomeonehasrepliedtotheirpost.
Byreceivingareplynotificationauserwillbeable
toquicklyrespondtotheirresponses,creatinga
friendly,cooperativeenvironment.
6.1.5.4. Function
6.1.5.4.1. Whenauserreceivesaresponsetoaposttheywill
bealertedintwoways:iftheuserisloggedin,a
temporaryalertwillappearontheirscreenalerting
themofareply,theywillalsoreceiveanew
notificationinthenotificationareathatwhen
clickedwilltakethemtothespecificdiscussion
board.
6.1.5.5. Subordinates
6.1.5.5.1. Thisentitywillprovidetwointerfacemodulesfor
theusertointeractwith.Thefirstisapopup
notificationthatwillappearinthebottomright
corneroftheirwebbrowser,thisiscalledapopup
notificationandwillbeasmallrectanglewith
roundededgesthatstates,Notification:userxhas
repliedtoyourpostExamplePost.Thesecond
modulewillsimplybeanotificationthatappears
withtheglobalnotifications.
6.1.5.6. Dependencies
6.1.5.6.1. Thisentityisdependentonthepostentity.Whena
postissubmittedthereplynotificationentitywill
immediatelynotifythepostauthorthataresponse
hasbeenpostbymeansofthedesktopnotification
aswellasaglobalnotificationarea.
24
6.1.5.7. Interface
6.1.5.7.1. Theonlyentitythatinteractswiththisentityisthe
globalnotificationarea.Oncethereplynotification
isread,theglobalnotificationareawillreflectthis
changeandmarkthenotificationasread.
6.1.5.8. Resources
6.1.5.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.5.9. Processing
6.1.5.9.1. Thereplynotificationentitywillbeinvokedoncea
replyhasbeenmadetoanauthorspost.Atthis
pointintimeitwillsendtwonotificationstothe
author,onebrowserpopup(iftheuserislogged
in),andanotificationintheglobalnotification
area.
6.1.5.10. Data
6.1.5.10.1. PostIdtheIDofthepostinthedatabase
AuthorIdtheIDofthepostauthorinthedatabase
PostTitlethetitleofthepostforthenotification
6.1.6. UpdatedConclusionNearOriginalPostGroup3
6.1.6.1. Identification:PrioritizedConclusion
6.1.6.2. Type:Process
6.1.6.3. Purpose
6.1.6.3.1. Thepurposeofthisentityistoprovideuserswith
aneasytofindconclusiontoapostthread.This
willreducetheamountoftimeusersspendsifting
throughpostresponseslookingfortheconclusion.
6.1.6.4. Function
6.1.6.4.1. Thisentitywillplacethebestconclusionreply
(votedonbyusers)directlyunderneaththeoriginal
post.Userswillvoteonresponsesandtheresponse
withthemostvoteswillbepostedthere.Userswill
25
havetheoptiontohidetheprioritizedconclusionat
will.
6.1.6.5. Subordinates
6.1.6.5.1. Thisentitywillusethestandardreplyentity.
Essentiallythebodyofthemostvotedpostwill
appearinanewreplyentitydirectlybeneaththe
post.
6.1.6.6. Dependencies
6.1.6.6.1. ThisentitywillbedependentontheVoting
Capabilityentityasitwillrequireuserstovoteon
thebestconclusion.Itwillalsobedependedonthe
replyentityasitwilluseitasawrapper.
6.1.6.7. Interface
6.1.6.7.1. Theinterfacewillmimicthereplyentity.
6.1.6.8. Resources
6.1.6.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.6.9. Processing
6.1.6.9.1. Votesonthebestconclusionwillbetotaled,the
bodyofthereplythathasthemostvoteswillbe
copiedtothefirstreplyonthepost.Allsubsequent
replieswillbelistedbelow.
6.1.6.10. Data:
6.1.6.10.1. ReplyIdIDofthepostinthedatabase
6.1.6.10.2. ReplyBodythetextualbodyofthereplyfromthe
database
6.1.6.10.3. VoteCountthenumberofvotesthereplyhas
6.1.7. VotingGroup3
6.1.7.1. Identification:VotingCapability
6.1.7.2. Type:Process
26
6.1.7.3. Purpose
6.1.7.3.1. Thepurposeofthisprocessistofacilitatetheactof
voting,whichissometimesdoneforclass
groupassignments.
6.1.7.3.2. Thiswouldfacilitatetheprocessofcountingthe
resultsastherewouldbenoneedtomanuallycount
thevotes.
6.1.7.3.3. Theprocesswouldmakeitmoreconvenientforthe
usertotracktheprogressofthevoteastheresults
aredisplayedtotheparticipantsautomatically
duringthevotingperiodwithoutrequiringanyone
torepeatedlyupdatetheresultbyhand.
6.1.7.4. Function
6.1.7.4.1. Thisprocessprovidesaninterfacethatallowsthe
usertoselectoneofanumberofoptionswithout
havingtocreateanewpostonadiscussionthread.
6.1.7.4.2. Auserwillbecapableofdesignatingapostasa
votepost,aspecialtypeofpostthatallows
membersoftheclasstoselectoneoftheprovided
options.
6.1.7.4.3. Thepostitselfdisplaysthesubjectofthevote,the
options,andtheresultsforeachoption(acountof
thosewhohavevotedforthatoption)
Figure6.3.7.4Votepostexample
27
6.1.7.5. Subordinates
6.1.7.5.1. Theprocessofcreatingavotepost(aspecialtype
ofpostthatallowsmembersoftheclasstoselect
oneoftheprovidedoptions.)
6.1.7.5.2. Theprocessofplacingavotebyselectingoneof
theoptionsinthevotepostandthenclickingthe
votebutton.
6.1.7.5.3. Theprocessofreadingvotedata(fromthe
discussionboarddatabase)specifictoanyone
votepost.
6.1.7.5.4. Theprocessofdeterminingwhetherauserhas
alreadyplacedavoteinaspecificvotepost.
6.1.7.5.5. Theprocessofwritingvotedata(tothediscussion
boarddatabase)specifictoanyonepost.
6.1.7.5.6. Theprocessofoverwritingvotedata(tothe
discussionboarddatabase)iftheuserhasalready
placedavotepreviously.
6.1.7.6. Dependencies
6.1.7.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapost,asthe
votepostwillbeaslightmodificationofthe
existingprocess.
6.1.7.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.1.7.6.3. Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.
28
29
6.1.7.7. Interface
6.1.7.7.1. Theuserfirstinteractswiththisprocessbyselecting
thevotepostcheckbox(withinthenewpostinput
area)afterchoosingtocreateapost.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.1.7.7.2. Theuseragaincommunicateswiththeprogram
throughthebrowserinterfacebyinputtingthe
informationneededtocreateavotepost:namely
thesubjectofvotingandtheoptions.
30
6.1.7.7.3.
Thecreationofthevotepostcanbeterminatedby
clickingtheCancelbutton,doingsowillcausethe
inputareatodisappear.
6.1.7.7.4. Theprocesswillaccessthedatabasebyretrieving
voteresultsaswellasthevotesubjectandoptions
tobedisplayed.
6.1.7.7.5. Theprocesswilladdtothedatabasenewlycreated
votesubjectsandoptions,aswellaseachusers
firstvote(alongwithhisorheruserIDforunique
identification)onanygivenvotepost.
6.1.7.7.6. Theprocesswillmodifythedatabasewhenauser
changeshisorhervoteafterhavingalreadyvoted.
Theprogramcanrecognizewhetherornottheuser
hasvotedinanygivenpostbysearchingforthe
usersIDinthedatabase.
6.1.7.8. Resources
6.1.7.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.7.9. Processing
6.1.7.9.1. Theprocessshallbeinitiatedwhenauserchecksa
votepostcheckboxduringthecreationofapost.
6.1.7.9.1.1. Thecreationofapostreferstowhenthe
userclicksreplyonsomeonespost.
6.1.7.9.1.2. Theoriginalpostcreationboxshallbe
replacedwiththevotepostcreationbox.
6.1.7.9.1.3. Forthisboxthereshallbeareastoreceive
userdefinedoptions,ratherthanthepost
bodyinputareaseenintheoriginalpost
creationbox.
6.1.7.9.1.4. Bydefaultthereshallbetwoareasinwhich
theusercantypeanoption.
6.1.7.9.1.5. UponclickingtheAddOptionbutton,
anotherareaforinputtinganoptionshall
appearbelowtheothers.
6.1.7.9.1.6. UponclickingtheRemoveOptionbutton,
thesystemshallremovethelastoption.
31
6.1.7.9.1.6.1.
Thisshallonlyworkifthereareat
leastthreeoptionsavailablebefore
thetransaction.
6.1.7.9.1.6.2. Iftherearenotatleastthreeoptions
available,thesystemshalldisplaya
notificationtotheusersaying:
Theremustbeatleasttwooptions
6.1.7.9.1.7. Theusershallfillintheavailableareas.
6.1.7.9.1.8. UponclickingthePostbutton(atthe
bottomofthepostcreationbox)thesystem
shallverifytoseethatalloftheinputareas
havebeenfilled.
6.1.7.9.1.9. Ifanyoftheboxeshavenotbeenfilled,the
systemshalldisplayanotificationtothe
userasitdoesforthecurrentsystem.
Howeveraddedtothelistoferrorswillbe
Alloptionsmustbefilled.
6.1.7.9.1.10. Iftheinputshavebeenfilledcorrectly,the
systemshalladdanewvoteposttothe
database,includingthevotesubjectandthe
options.
6.1.7.9.1.11. Ifthereisanerroraddingtheoptionstothe
database,theusershallbenotifiedwiththe
followingmessageinthesameplacewhere
errormessagesaredisplayedintheexisting
discussionboardsystem:Therewasan
errorsavingthevotepost,pleasetryagain
later
6.1.7.9.1.12. Alsouponfailuretowritetothedatabase,
thesystemshallremainintheeditingstate
thatitwasinbeforeclickingthePost
button.
6.1.7.9.1.13. Thesystemshallremainintheeditingstate
untiloneofthefollowingoccurs:clicking
Postsuccessfullywritestothedatabase,
theuserclicksCancel,ortheuser
performssomeotheractionbythebrowser
thatwouldnavigateawayfromthe
discussionboard.
32
6.1.7.9.2.
Uponsuccessfullywritingtothedatabase,the
systemshallreturntothemaindiscussionboard
process,thenewlycreatedpostshallbeshownjust
asitwouldbefortheexistingsystem.
6.1.7.9.2.1. Thevotepostshallbedistinguishedfroma
normalpostbydisplayingthewordVote
abovethequestion.
6.1.7.9.2.2. Thequestionshallappearasthetitleina
normalpost.
6.1.7.9.2.3. Everyoptionshallappearbelowthetitle,
oneoptionperline.
6.1.7.9.2.3.1. Everyoptionshallbeprecededby
thenumberofvotesthathavebeen
castforthatoption,aswellasa
buttonthatcanbeclickedtoselect
anoption.
6.1.7.9.2.3.1.1. Thebuttonshallhavea
uniqueletteridentifyingthe
option,startingwithaasthe
first.
6.1.7.9.2.3.1.2. Iftherearemorethan26
options,the27thoptionshall
beidentifiedwithaa,the
28thbyab,andsoforth
continuingthepattern.
6.1.7.9.3. Oncethevoteposthasbeencreated,alluserswill
beabletoparticipateinthevotebyfirstclickingthe
buttonnexttoanoptionandthenclickingthe
Votebuttonatthebottomofthepost.
6.1.7.9.3.1. Clickingthebuttonnexttoanoptionshall
changetheimageofthebuttonsothatitis
distinguishablefromthosewhichhavenot
beenselected.
6.1.7.9.3.2. UponclickingtheVotebutton,thesystem
shallverifythatoneoftheoptionshasbeen
selected.
6.1.7.9.3.2.1. Iftheuserhasnotyetselectedan
option,anotificationshallappear,
33
saying:Pleasefirstselectanoption
byclickingthebuttonnexttoit.
6.1.7.9.3.3. Iftheuserhadselectedoneoftheoptions
beforeclickingVotethesystemshall
proceedtoverifyiftheuserhadvoted
beforeinthespecifiedvotepost.
6.1.7.9.3.3.1. Thesystemshallaccess(fromthe
database)alistofuserswhohave
participatedinthegivenvotepost.
6.1.7.9.3.3.2. IftheusersIDisfoundinthatlist,
thesystemshallaccesstheprevious
votestoredbythatuserandshall
temporarilystorethevalue.
6.1.7.9.3.4. Iftheuserhadnotplacedavote,thesystem
shalladdtheusersvoteaswellastheusers
IDtothedatabase.
6.1.7.9.3.5. Iftheuserhadalreadyplacedavote,the
systemshallmodifythevotecount,
removingtheusersoldvote(asstored
previously)andaddingthenewvote.
6.1.7.9.3.6. Ifthereisafailureaddingtheinformationto
thedatabase,thesystemshallnotifytheuser
withthefollowingmessage:Therewasan
errorreceivingyourvote,pleasetryagain
later.
6.1.7.9.3.7. Uponfailuretoaccessthedatabase,the
systemshallreturntothestatethatitwasin
immediatelyprevioustotheclickofthe
Votebutton.
6.1.7.9.4. Ifthevoteissuccessfullyplacedandstored,the
systemshallupdatetheviewtoshowthenewvote
countforeachoptioninthepost.
6.1.7.9.4.1. Theoptionwiththemostvotesshallbe
distinguishablebydisplayingagreensquare
aroundthenumber.
6.1.7.9.4.1.1. Ifmultipleoptionshavethesame
count,tiedforthemostvotesbutnot
withthevalueof0,eachofthose
optionsshallhaveayellowsquare
34
aroundthecount.
6.1.7.10. Data
6.1.7.10.1. Thedatabasecanstorethedatainthefollowing
tablesinthediscussionboarddatabase.
6.1.7.10.1.1. Thevote_poststableistokeeptrackof
eachindividualvotepost,storingthe
subjectthatusersaretovotefor.Eachpost
hasauniqueID.
6.1.7.10.1.1.1. TheIDshallbetheprimarykeyand
shallbeautomaticallyincremented.
6.1.7.10.1.1.2. Thesubjectshallnotacceptavalue
ofnull.
vote_posts
id
int
subject
text
Figure6.3.7.10.1.1Thevote_postsdatabasetableforthevotingprocess.
6.1.7.10.1.2.
Thevote_optionstablestoresallofthe
optionsofallofthevotepostsinthe
system.Eachoptionhasthecontentofthe
option,auniqueID,aswellasanassociated
votepost.Therewillbemorethanone
optionassociatedwitheachvotepost.
6.1.7.10.1.2.1. Theidcolumnshallbeaprimary
key,automaticallyincrementedupon
creation.
6.1.7.10.1.2.2. Theoptioncolumnshallnotallow
avalueofnulltobestored.
6.1.7.10.1.2.3. Thevote_postcolumnshallnot
receiveanumberthatdoesnot
correspondtotheIDvalueofan
35
entryinthevote_poststable.
vote_options
id
int
option
text
vote_post
int
Referencesvote_posts(id)
Figure6.3.7.10.1.2Thevote_optionsdatabasetableforthevotingprocess.
6.1.7.10.1.3. Theuser_votestablekeepstrackofallof
thevotesmadeinalloftheposts.Eachvote
references(byforeignkey)anoptionfrom
theoptionstableaswellasthepostwith
whichitisassociated.Theuser_idisalso
storedsothatthesystemcankeeptrackof
whohasalreadyplacedvotesforagiven
post.
6.1.7.10.1.3.1. Thepost_idcolumnshallnot
acceptanumberthatdoesnot
correspondtotheidvalueofanentry
inthevote_poststable.
6.1.7.10.1.3.2. Theuser_idcolumnshallnot
acceptavalueofnull.
6.1.7.10.1.3.3. Theuser_votecolumnshallnot
receiveanumberthatdoesnot
correspondtotheIDvalueofan
entryinthevote_optionstable.
user_votes
post_id
int
Referencesvote_posts(id)
user_id
text
user_vote
int
Referencesvote_options(id)
36
Figure6.3.7.10.1.3Theuser_votesdatabasetablestructureforthevotingprocess
6.1.7.10.1.4. Forsimplicity,thetablesareshownasifthis
wereastandaloneprocesshoweverthere
willlikelybeothercomponentstothetable
neededinorderforthediscussionboard
systemtoworkwiththenewpostsasit
currentlydoeswiththetraditionalposts.
Therefore,theshowntablesmaybeseenas
includingcolumnsthatmaybeaddedtothe
system,whetherindependentlyoras
additionstoexistingtables.
6.1.7.10.1.5. Theforeignkeyrelationshipbetweenthe
tablesissummarizedwiththefollowing
image.
Figure6.3.7.10.1.5Databaseforeignkeyrelationshipforthevotingprocess
6.1.8. ThankPosts(Group3JonnyDone)
6.1.8.1. Identification:Capabilitytothankposts
6.1.8.2. Type:Process
6.1.8.3. Purpose
6.1.8.3.1. Thepurposeofthisprocessistohelpthemost
usefulandrelevantpoststostandoutsothat
studentscanmoreeasilyfindtheinformationthat
theyarelookingfor.
37
6.1.8.3.2.
Oftenquestionsarepostedonthediscussion
boardssomeanswersmaybemoreusefulthan
others.
6.1.8.3.2.1. Somepostsmaynotevenhaveanswers,
suchasthosewithclarifyingquestions.
6.1.8.3.2.2. Someanswersmayhavebeencreatedby
studentswhomisunderstoodthequestion.
Someanswersmaybespeculations,whose
conclusionswereunclearwhenposted.
Whenothersareabletoputapostedidea
intopractice,theymayfindittobea
valuablepost.
6.1.8.3.2.3. Somepostssimplyoughttobemadeto
standoutbecauseoftheirqualitycontent.
6.1.8.3.3. Studentscanshowandreceiveappreciationfor
effortswithouthavingtoclutterthediscussion
boardwithmoreposts.
6.1.8.3.3.1. Thispositivereinforcementmayencourage
studentstoparticipateinthediscussion
boards.
6.1.8.3.4. Professorsmayofferanextracreditincentiveto
thosewhocreatethemostusefulposts,encouraging
qualitycontributionstotheclass.
6.1.8.4. Function
6.1.8.4.1. Auserclicksthethankbuttonatthebottomofa
post.
6.1.8.4.2. Oneisaddedtothethankcount(anumbernextto
thethankbutton)aslongasthatpersonhasnot
alreadythankedthatpost.
6.1.8.5. Subordinates
6.1.8.5.1. Theprocessofaccessingthedatabasetodetermine
thenumberofthanksmadeforeachpost.
6.1.8.5.2. Theprocessofaccessingthedatabasetodetermine
whetherauserhasalreadythankedacertainpost.
6.1.8.5.3. Theprocessofmodifyingthedatabasetoupdatethe
numberofthanksforapost.
38
6.1.8.5.4.
Theprocessofupdatingtheviewsothattheuser
canseethatthethankwascounted.
6.1.8.6. Dependencies
6.1.8.6.1. Thisprocessdependsonthediscussionboard
havingpostssothatthisfeaturecanbeaddedto
them.
6.1.8.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.1.8.6.3. Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.
6.1.8.7. Interface
6.1.8.7.1. Theusershallinteractwiththesystembyclicking
thethankbuttonthatappearsonapost.The
communicationbetweentheuserandtheprogram
39
hereismadepossiblethroughuseofcommonweb
browserinterfacecomponents.
6.1.8.7.2. Theprocesswillaccessthedatabaseinorderto
determinewhetherornotauserhasalready
thankedapost.
6.1.8.7.3. Theprocesswillmodifythedatabaseinorderto
updatethethankcountforagivenpost.
6.1.8.7.4. Theprocesswilladdtheusersuniqueidentifierto
thedatabasetoshowthatheorshehasthankedthat
post.
6.1.8.8. Resources
6.1.8.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.8.9. Processing
6.1.8.9.1. Theprocessshallbeinitiatedwhenauserclicksthe
thankbutton.
6.1.8.9.2. ThesystemshallsearchfortheusersIDinthepart
ofthedatabaseassociatedwiththegivenposttosee
ifthegivenuserhasalreadythankedthatpost.
6.1.8.9.3. Iftheuserhasalreadythankedthepost,theprocess
willendandthediscussionboardwillreturntoits
normalprocess.
6.1.8.9.4. Iftheuserhasnotthankedthepost,thesystem
shallaccessthethankcountfromthedatabase,
incrementitbyone,andmodifythepreviousvalue
byreplacingitwiththenewvalue.
6.1.8.9.5. Thediscussionboardwillthenreturntoitsnormal
process,displayingthepostwiththeupdatedthank
count.
6.1.8.10. Data
6.1.8.10.1. Foreachpost,thediscussionboarddatabasewill
needtostorealistoftheuserswhohavethanked
thepost.
40
6.1.8.10.2.
Itwillalsostoreacountofthanksforeachpost,so
thatthenumbercanbeeasilyaccessedwithout
havingtocounttheuserseverytime.
6.1.8.10.3. Thesearetobeassociatedwiththepostalongwith
thedatathatisassociatedwitheachpostinthe
currentdiscussionboardsystem.
6.1.9. HashtagsGroup1
6.1.9.1. Identification
6.1.9.1.1. Hashtaginclusion
6.1.9.2. Type:Process
6.1.9.3. Purpose
6.1.9.3.1. Thepurposeofthisfeatureistoallowuserstotag
postswithhashtags.
6.1.9.3.2. Thiswillallowrelevanttopicstobefilteredthrough
moreeasilywithclickablehashtags.
6.1.9.4. Function
6.1.9.4.1. Ausermayaddahashtagtoapostbyplacingthe
poundsign#infrontofawordorphrasewithout
spaces.
6.1.9.4.2. Thepostwillrecognizeitasahashtagandturnit
intoaclickablesearchlink.
6.1.9.4.3. Oncethepostissubmitted,usersmayclickonthe
hashtagtosearchthroughallpostsforthatsame
hashtag.
6.1.9.4.4. Thesystemwilldisplayalistofpostscontaining
thathashtagwiththemostrecentlistedatthetop.
6.1.9.5. Subordinates
6.1.9.5.1. Aprocesstowritepostsonthediscussionboard.
6.1.9.5.2. Aprocesstodisplaythepostswrittenonthe
discussionboard.
6.1.9.5.3. Aprocesstosearchpostswithinmultiple
discussionboards.
41
6.1.9.6. Dependencies
6.1.9.6.1. Thisprocessdependsonthediscussionboard
havingthecapabilitytocreateanewpost.
6.1.9.6.2. Theremustbeaconnectionwiththedatabaseto
saveandretrievepoststothediscussionboard.
6.1.9.6.3. Thisprocessmustalsobeabletoaccessallofthe
postsonalloftheclassdiscussionboardstosearch
forpostswiththesamehashtag.
Figure6.3.91SequenceDiagramforHashtagCreation
42
Figure6.3.92SequenceDiagramforHashtagSearching
6.1.9.7. Interface
6.1.9.7.1. Auserfirstinteractswiththesystembyclickingthe
buttontocreateanewpost.
6.1.9.7.2. Thesystemthendisplaysapostboxfortheuser.
6.1.9.7.3. Theuserthentypestheirmessageinthepostbox,
includingapoundsigntocreatethehashtag.
6.1.9.7.4. Theuserthenhitsthepostbuttontosubmitthepost
tothedatabase.
6.1.9.7.5. Thesystemconvertsthehashtagintoaclickable,
searchablelink.
6.1.9.7.6. Thedatabasestoresthepostanddisplaysthepost
onthediscussionboard.
6.1.9.8. Resources
6.1.9.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.9.9. Processing
6.1.9.9.1. Theprocessbeginswhentheuserstartsanewpost
onthediscussionboard.
6.1.9.9.2. Thesystemshalldisplayablankpostboxforthe
usertoentertheirmessage.
43
6.1.9.9.3.
6.1.9.9.4.
6.1.9.9.5.
6.1.9.9.6.
Thesystemshallallowuserstoaddhashtagstothe
contentoftheirpostbyrecognizingwordswritten
directlyafterapoundsign#asahashtag.
Theusermustthensubmitthepostforprocessing.
Thesystemshallconvertthehashtagintoa
clickable,searchablelink.
Thesystemshallsavethepostinthedatabaseand
displaythemessageonthediscussionboard.
6.1.9.10. Data
6.1.9.10.1.
6.1.9.10.2.
Theuserspostshallbesavedinthedatabase.
Theusershashtagshallbesavedaspartofthe
message.
6.1.9.10.3. Theusershashtagshallalsobesavedinahashtag
databasewithalinktotheposttomakesearching
quicker.
6.1.10. SearchContentGroup1
6.1.10.1. Identification:Searchpostcontentwithoutexpansion
6.1.10.2. Type:Process
6.1.10.3. Purpose
6.1.10.3.1. Thisfeaturewillallowuserstosearchallofthe
contentsofathreadwithoutexpandingeach
individualpost.
6.1.10.3.2. Thiswillallowtheusertogetmoreaccuratesearch
resultsandtogetthemmoreeasily.
6.1.10.4. Function
6.1.10.4.1. Ausercantypeasearchtermintothesearchbox
providedatthetopofthediscussionpage.
6.1.10.4.2. Thesystemwillperformasearchthroughallofthe
postsinthediscussionboardincludingvisibleand
collapsedposts.
6.1.10.4.3. Thesystemwilldisplayalistofpostscontaining
thatsearchtermsortedbydatewiththemostrecent
postlistedatthetop.
44
6.1.10.5. Subordinates
6.1.10.5.1. Aprocesstodisplaypostswritteninthediscussion
board.
6.1.10.5.2. Aprocesstosearchpostswritteninthediscussion
board.
6.1.10.6. Dependencies
6.1.10.6.1. Thisprocessdependsonthesystemhavingaccess
tothedatabase.
6.1.10.6.2. Messagesmustbestoredinthedatabase.
6.1.10.6.3. Searchesmustbeperformedatthedatabaselevelin
ordertosearchthroughallvisibleandcollapsed
posts.
Figure6.3.101SequenceDiagramforContentSearching
6.1.10.7. Interface
6.1.10.7.1. Theuserstartstheinteractionwiththesystemby
enteringasearchtermintotheprovidedsearchbox
andclickingthesearchbutton.
6.1.10.7.2. Thesystemreceivesthesearchtermandsorts
throughmessagesinthedatabasetofindposts
containingthatsearchterm.
6.1.10.7.3. Thesystemdisplaysthelistofsearchresultsonthe
discussionboardfortheuser.
45
6.1.10.8. Resources
6.1.10.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.10.9. Processing
6.1.10.9.1. Thesystemshalldisplayasearchboxatthetopof
thediscussionboardalongwithasearchbutton
nexttothebox.
6.1.10.9.2. Theusermaytypeasearchtermintothesearchbox
andclickthesearchbuttontoperformthesearch.
6.1.10.9.3. Thesystemshallsearchthroughpostsinthe
databasetofindanypostthatcontainsthematching
phrase.
6.1.10.9.4. Thesystemshalldisplayalistofpoststhatcontain
thesearchterm.
6.1.10.10. Data
6.1.10.10.1. Allpostsshallbesavedinthedatabaseforquick
searchingcapabilities.
6.1.10.10.2. Postsshallbedisplayedonthediscussionboard.
6.1.10.10.3. Searchtermswillbesavedasatemporaryvariable
thatwillbedeletedoncethesearchisfinished.
6.1.11. ReferencePersonsGroup1
6.1.11.1. Identification:Referenceanotheruser
6.1.11.2. Type:Process
6.1.11.3. Purpose
6.1.11.3.1. Thepurposeofthisfeatureistoallowtheuserto
directtheirposttoaspecificperson.
6.1.11.3.2. Thisfeaturewillallowforbettercommunicationas
thepersonbeingreferencedwillreceivea
notificationthatsomeonehasaddressedthemina
post.
6.1.11.4. Function
46
6.1.11.4.1.
6.1.11.4.2.
6.1.11.4.3.
6.1.11.4.4.
6.1.11.4.5.
6.1.11.4.6.
6.1.11.4.7.
Ausercanaddareferencetoanotheruserbytyping
anatsymbolfollowedbyaleftparenthesis@(.
Theusercanthentypethenameoftheuserthey
wouldliketoreferenceinthepost.
Thesystemwillpopulatealistofsuggestedusers
thatmatchthetypednameastheuseristypingin
thename.
Theusercanthenselectthenamefromthe
populatedlistortypeoutthefullname.
Iftheuserwouldliketoreferenceanotheruser,they
canseparatethembytypingacommabeforetyping
thenextusersname.
Theusermustfinishthereferencebyclosingitwith
arightparenthesis).
Oncetheposthasbeensubmitted,thesystemwill
sendanotificationtothetaggeduser(s)referencing
theposttheyhavebeentaggedin.
6.1.11.5. Subordinates
6.1.11.5.1. Theprocesstowritepoststothediscussionboard.
6.1.11.5.2. Theprocesstodisplaypostswrittenonthe
discussionboard.
6.1.11.5.3. Theprocesstoaccessalluserswithaccesstothat
discussionboard.
6.1.11.5.4. Theprocesstodisplaytheuserswithaccesstothat
discussionboard.
6.1.11.5.5. Theprocesstosendnotificationstousers.
6.1.11.6. Dependencies
6.1.11.6.1. Thesystemmusthaveaccesstothedatabasetosave
anddisplayposts.
6.1.11.6.2. Thesystemmusthaveaccesstothedatabaseto
searchforusers.
6.1.11.6.3. Thesystemmustbeabletosendnotificationsto
users.
47
Figure6.3.111SequenceDiagramforReferencingUsers
6.1.11.7. Interface
6.1.11.7.1. Theprocessbeginswhentheusercreatesanew
post.
6.1.11.7.2. Thesystemdisplaysanemptypostboxfortheuser
tocreatethepost.
6.1.11.7.3. Theuserstartsareferencetoanotheruserbytyping
@(followedbytheusersname.
6.1.11.7.4. Thesystemsearchesthedatabaseanddisplays
optionsofusersthatmatchtheenteredtext.
6.1.11.7.5. Theuserclicksontheusertheywishtoreference.
6.1.11.7.6. Theuserfinishesthereferencebytyping)and
clickingpost.
48
6.1.11.7.7.
6.1.11.7.8.
6.1.11.7.9.
Thesystemsavestheposttothedatabase.
Thesystemnotifiestheuserthathasbeentaggedin
thepost.
Thesystemdisplaysallpostsonthediscussion
board.
6.1.11.8. Resources
6.1.11.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.11.9. Processing
6.1.11.9.1. Theusershallfirstclickthenewpostbuttonto
createanewpostinthediscussionboard.
6.1.11.9.2. Thesystemshalldisplayanemptypostboxforthe
usertotypetheirmessage.
6.1.11.9.3. Theusermayreferenceanotheruserinthepostby
typing@(followedbytheusersname.
6.1.11.9.4. Thesystemshallsearchthedatabaseforallusers
whohaveaccesstothatdiscussionboard.
6.1.11.9.5. Thesystemshallpopulatealistfortheuserthat
includesallnamesthatmatchthetypedname.
6.1.11.9.6. Theusermayclickonanamethatmatchestheuser
theywishtoreference.
6.1.11.9.7. TheusershallclickPosttosubmittheirpostand
reference.
6.1.11.9.8. Thesystemshallsavetheposttothedatabase.
6.1.11.9.9. Thesystemshallnotifythereferenceduserthatthey
havebeentaggedinadiscussionboardpost.
6.1.11.9.10. Thesystemshalldisplaythepostswrittenonthe
discussionboard.
6.1.11.10. Data
6.1.11.10.1. Thediscussionboardpostshallbesavedtothe
database.
6.1.11.10.2. Thedatabaseshalldisplaythepostsforthat
discussionboard.
49
6.1.11.10.3.
Thereferencednameshallbesavedinthedatabase
andtiedtothemessageitwasreferencedin.
6.1.12. EmailNotificationsGroup1
6.1.12.1. Identification:EmailNotifications
6.1.12.2. Type:Process
6.1.12.3. Purpose
6.1.12.3.1. Thepurposeofthisfeatureistoalertusersthrough
emailwhenanimportantposthasbeenmadesoas
toensurethateveryoneseesit.
6.1.12.4. Function
6.1.12.4.1. Ausercreatingoreditingapostwillbeableto
markthatpostasimportant.Doingsowillsendan
emailnotificationtoallusersofthatdiscussion
board,indicatingthatanimportantposthasbeen
made.
6.1.12.4.2. Anypostshallhavetheabilitytobemarkedas
important.
6.1.12.4.3. Theareainwhichapostisinputshallcontaina
buttonallowingtheusertoindicatethatthepostis
important.
6.1.12.4.4. Ifthisbuttonisclickedasecondtime(afterhaving
clickeditasimportant),thesystemwillrestorethe
statusofthemessagetobenotimportant.
6.1.12.4.5. Anemailnotificationshallbesenttoallusersof
thediscussionboardeverytimeapostissubmitted
afterhavingmarkedasimportant.
6.1.12.4.6. Theemailshallcontainthenameofthediscussion
topicandthreadaswellasalinktothepost.
6.1.12.4.7. Thesystemshallperformthesametaskswiththe
emailedlinkasitwouldwiththediscussionboard
pagelink.
6.1.12.5. Subordinates
6.1.12.5.1. Aprocessformarkingapostasimportant.
50
6.1.12.5.2.
6.1.12.5.3.
Aprocessforsendinganemailmessagetoallusers
ofadiscussionboardinwhichapostismarkedas
important.
Aprocessoflinkingtospecificdiscussionboard
posts
6.1.12.6. Dependencies
6.1.12.6.1. ThisprocessdependsontheILearnsystems
currentabilitytosendemails.
6.1.12.6.2. Thisprocessrequiresaccesstothedatabase,
allowingtheprocesstoreadfromandwritetoit.
6.1.12.6.3. Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.
Figure6.3.121Flowchartformarkingapostasimportant.
6.1.12.7. Interface
6.1.12.7.1. Theuserinteractswiththisprocessbyclickinga
MarkasImportantbuttonwhilecreatingor
editingthepost.
Figure6.3.122Diagramshowinguserinterfaceformarkingapostasimportant.
51
6.1.12.7.2.
6.1.12.7.3.
6.1.12.7.4.
Theuserinteractswiththisprocesswhenclickinga
linkwithintheiremailthatdirectsthemtoposts
withinthethreadmarkedasimportant.
Theprocesswillaccessthedatabasetoretrieve
emailaddressesandusersassociatedwitha
discussionboard.
Theprocesswillmodifythedatabasetomarkapost
asimportant.
6.1.12.8. Resources
6.1.12.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.12.9. Processing
6.1.12.9.1. Theprocesswillbeinitiatedwhenauserclicksthe
markpostasimportantbuttonduringthecreation
oreditofapost.
6.1.12.10. Data
6.1.12.10.1. Thedatabasewillstoreanimportantflagoneach
post.
6.1.12.10.2. Thedatabasewillstoreallusersassociatedwitha
discussionboard
6.1.12.10.3. Thedatabasewillstorealogofwhichstudentswere
emailedforapostandwhen.
6.1.13. SingleScreenAccessGroup1
6.1.13.1. Identification:SingleScreenAccess
6.1.13.2. Type:Process
6.1.13.3. Purpose
6.1.13.3.1. Thepurposeofthisfeatureistoreducetheamount
oftimeittakestoread,create,orreplytopostson
discussionboards.
6.1.13.3.2. Timespentondiscussionboardswillbelessenedas
userswillnothavetoclickbackandforthbetween
multiplepagestoreadinitialpostsandresponse
posts.
52
6.1.13.3.3.
Userswillbeabletomaketheirinitialpostand
replytootherclassmemberspostsfromthesame
page,makingtheprocessfasterandsimpler.
6.1.13.4. Function
6.1.13.4.1. Theuserwillbeabletoselectatopicfromthe
ILearndiscussionboardpageandtheywillhave
accesstoallposts(includinginitialpostsandany
replyposts)relatedtothetopic
6.1.13.4.2. Fromthesamepagetheywillalsobeabletomake
theirowninitialpost,orreplytoanexistingpost.
6.1.13.4.3. Thesystemshallallowtheusertoseeallexisting
posts(inallthreadsrelatedtoatopic)fromthe
topicpage.
6.1.13.4.4. Thesystemshallallowtheusertoexpandany
numberofthreadsrelatedtoasingletopicfromthe
topicpage.
6.1.13.4.5. Allcommentswillbeinacollapsedstateby
default.
6.1.13.4.6. Whenapostisexpandedanycommentsbelowthe
expandedpostwillbepushedfurtherdownthepage
tomakeroomfortheexpandedpost.
6.1.13.4.7. Onceexpandedapostwillremainexpandeduntil
theusercollapsesit.
6.1.13.4.8. Thesystemshallallowtheusertocollapseany
numberofthreadsrelatedtoasingletopicfromthe
topicpage.
6.1.13.4.9. Thesystemshallallowtheusertomakeanewpost
onthetopicpagewithouthavingtonavigatetoa
newpage.
6.1.13.4.10. Postsundereachtopicwillbeorganizedwiththe
mostrecentpostatthetopandolderpostsbeneath,
withonlytheexceptionofimportantorliked
postsabovethemostrecentpost.
6.1.13.4.11. Thesystemshallallowtheusertoreplytoan
existingpostfromthetopicpagewithouthavingto
navigatetoanewpage.
6.1.13.4.12. Theuserwillhavetheabilitytoreplytoapostonly
whentheposthasbeenexpanded.
53
6.1.13.4.13.
6.1.13.4.14.
Thesystemshallrememberthearrangementof
threads(whichoneswerecollapsedandwhich
wereexpanded)whentheuniqueuserleavesthe
page.
Thesystemshallrestorethearrangementofthreads
(whichoneswerecollapsedandwhichwere
expanded)whentheuniqueuserloadsthepage
afterhavingpreviouslyarrangedit.
6.1.13.5. Subordinates
6.1.13.5.1. Theprocessofdisplayingallpostswithinathread
onasinglepage.
6.1.13.5.2. Theprocessofaddinganewpost.
6.1.13.5.3. Theprocessofrespondingtoapost.
6.1.13.5.4. Theprocessofexpandingandcollapsingathread.
6.1.13.5.5. Theprocessofsortingpostsbyimportant,liked,
andage.
6.1.13.5.6. Theprocessofstoringthecollapsedandexpanded
stateofdiscussionthreadsforeachuser.
6.1.13.5.7. Theprocessofrestoringthecollapsedand
expandedstateofdiscussionthreadsforeachuser.
6.1.13.6. Dependencies
6.1.13.6.1. Thisprocessdependsontheabilitytoviewthreads
andposts
6.1.13.6.2. Thisprocessdependsontheabilitytocollapseand
expandadiscussionthread.
6.1.13.6.3. Thisprocessdependsontheabilitytoaddanew
post.
6.1.13.6.4. Thisprocessdependsontheabilitytostoreand
restorethecollapsedandexpandedstateof
discussionthreads.
54
Figure6.3.131Flowchartforviewingdiscussionboardonasinglepage
6.1.13.7. Interface
6.1.13.7.1. Theuserwillbeabletoselectatopicfromthe
ILearndiscussionboardpageandtheywillhave
accesstoallposts(includinginitialpostsandany
replyposts)relatedtothetopic
6.1.13.7.2. Fromthesamepagetheywillalsobeabletomake
theirowninitialpost,orreplytoanexistingpost.
6.1.13.7.3. Theuserwillbeabletoexpandorcollapsea
portionofathreadoranentirethread.The
collapsedorexpandedthreadswillberemembered
peruser.
55
Figure6.3.132Diagramofuserinterfacetoviewdiscussionboardonasinglepage
6.1.13.8. Resources
6.1.13.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.13.9. Processing
6.1.13.9.1. Theprocesswillbeinitiatedwhenauserclicksa
linktoadiscussionboardtopic.
6.1.13.10. Data
6.1.13.10.1. Thedatabasewillstoreacollapsedorexpanded
stateforeachcommentthread.
6.1.13.10.2. Thiscollapsedorexpandedstatewillbestored
uniquelyforeachuser.
6.1.14. RemoveunreaddiscussionsboxGroup1
6.1.14.1. Identification:Removeunreaddiscussionsbox
6.1.14.2. Type:Process
6.1.14.3. Purpose
56
6.1.14.3.1.
6.1.14.3.2.
Thepurposeofthisfeatureistomakethehomepage
cleanerandmakeimportantinformationstandout.
Theunreaddiscussionsfeatureisarbitraryand
doesntaidintheuseofdiscussionboards.
6.1.14.4. Function
6.1.14.4.1. TheILearnhomepagewillnolongerdisplaythe
unreaddiscussionsboxassociatedwiththecurrent
discussionboardsystem.
6.1.14.4.2. TheILearnhomepageMyCoursessectionshall
havenomentionofunreaddiscussionposts.
6.1.14.5. Subordinates
6.1.14.5.1. Nosubordinates
6.1.14.6. Dependencies
6.1.14.6.1. Nodependencies
6.1.14.7. Interface
6.1.14.7.1. ThischangewillremovetheUnreadDiscussion
Postsnotificationshowninthefollowingimage:
Figure6.3.141Diagramshowingcurrentuserinterface
Theupdatedhomepagewilllooklikethisimage:
Figure6.3.142Diagramshowingproposeduserinterface
57
6.1.14.8. Resources
6.1.14.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.14.9. Processing
6.1.14.9.1. Noprocessingrequiredforthisprocess.
6.1.14.10. Data
6.1.14.10.1. Thisprocesswillrequirenodatachangesasthe
readstateofapostwillstillberequired.
6.1.15. ListofwhocommentedonathreadGroup1
6.1.15.1. Identification:Listofwhocommentedonathread
6.1.15.2. Type:Process
6.1.15.3. Purpose
6.1.15.3.1. Theprocesswillprovidealistofcommenterstoa
discussionthreadforthepurposeofmakingitmore
convenientfortheusertoknowthecontributorstoa
particularthread.
6.1.15.3.2. Thiswillhelpinstructorsingradingwhenan
assignmentcallsforadiscussioncontribution.
6.1.15.3.3. Theprocesswillcreateconvenienceforuserswho
arelookingforacommentfromacertainuser,e.g.
agroupmember.Theuserwillbeabletoreference
thislistinsteadofopeningandscrollingthroughthe
thread.
6.1.15.4. Function
6.1.15.4.1. Thisprovidesalistofallthreadcontributorstobe
displayedonthethreadpost.Thelistwillbe
providedintheclickablearea(toenterthethread)
ofthepost.
6.1.15.4.2. Thelistwillbedisplayedintheorderofthelast
contributor.
6.1.15.4.3. Nouserwillbedisplayedmoreonce.Twopostsby
thesameuserwillnotdisplaytheusertwiceonthis
list.
58
6.1.15.4.4.
6.1.15.4.5.
6.1.15.4.6.
Theorderofthelistwillbedeterminedbythelast
postofauser.
Thelistwillbelimitedtoeightcontributorsorto
thelimitofallowablespaceinthedisplayedthread
post.
Contributorsoverthelimitwillbedisplayedasa
number.Example:11commentsgivenbydifferent
individualswouldyieldtodisplayingthelasteight
contributorswitha+3indicatingthecontributing
usersoverthedisplayablelimit.
6.1.15.5. Subordinates
6.1.15.5.1. Aprocessforextractingallcontributorstoacertain
thread
6.1.15.5.2. Aprocessfororderingthoseuserschronologically
(see5.3.15.4.4fordeterminingtheorderofthelist)
6.1.15.5.3. Theprocessofdisplayingthelinktoentera
discussionthread.
6.1.15.6. Dependencies
6.1.15.6.1. Theprocessmustbeabletoreadthedatabase.The
abilitytowritetooreditthedatabasewillnotbe
needed.
6.1.15.6.2. Theprocessdependsontheprocessofdisplaying
thelinktoenterathread
6.1.15.7. Interface
6.1.15.7.1. Thelistwillbedisplayedinasectionofthelinkto
enterthethread.
6.1.15.7.2. Thisprocessisadisplayonlyprocess.
6.1.15.7.3. Theuserinteractswiththisprocessbycontributing
acommenttoathread.Thiswilladdthemtolist
andarrangethemasthelastcontributororif
alreadyacontributor,willsimplyarrangethemas
thelastcontributor.
59
Figure6.3.15.7.1Imageofcurrentuserinterface
Figure6.3.15.7.2Imageofproposeduserinterface
6.1.15.8. Resources
6.1.15.8.1. Noadditionalresourcesareneeded.
6.1.15.9. Processing
6.1.15.9.1. Theprocesswillbeginwhenthelinktoathreadis
tobedisplayed.
6.1.15.9.2. Theprocesswillaccessthedatabaseforthelistof
contributorstothethreadusingthepost_id.All
usersassociatedwiththepost_idwillbeaddedto
thethread_contributortable.
6.1.15.9.3. Onlythelasteightcontributorswillbedisplayed.
Theremainderwilldisplayedasanamountandnot
byusername.
6.1.15.10. Data
6.1.15.10.1. Theprocesswillusethefollowingdatathedatabase
willprovidetothethread_contributortable
6.1.15.10.2. user_ididentifiestheuserbyanintegerinorderto
differentiateusers,theremustbenouser_idthatare
thesamereferencesthestudenttable.
6.1.15.10.3. post_ididentifieseachthreadreferencesthepost
table
6.1.15.10.4. usernameidentifiestheuserbytheirusernameused
bytheschoolreferencesthestudenttable.
6.1.15.10.5. display_nameidentifiestheuserbythedisplay
namegivenbythestudentintheirprofile,two
identicaldisplaynamesareallowedintheeventtwo
studentshavethesamenamereferencesthestudent
table.
60
Figure6.3.15.10.1Diagramshowingdatadependencies
6.1.16. ListamountofresponsesGroup1
6.1.16.1. Identification:Listamountofresponses/posts
6.1.16.2. Type:Process
6.1.16.3. Purpose
6.1.16.3.1. Theprocesswillprovidetheamountof
contributionsauserhasmadetoadiscussion
thread.
6.1.16.3.2. Thiswillhelpinstructorsingradingwhenan
assignmentcallsforacertainnumberofdiscussion
contributions.
6.1.16.3.3. Theprocesswillcreateconvenienceforuserswho
arelookingfortheamountofcontributionsthey
havemadetoathreadforthepurposeof
completinganassignmentorotherwise.
6.1.16.4. Function
6.1.16.4.1. Thisprovidesadisplaytotheuseroftheamountof
contributionstoathreadtheuserhasmade.
61
6.1.16.4.2.
Theprocesswillalsoprovidethetotalamountof
postsfromauserfortheclass
6.1.16.5. Subordinates
6.1.16.5.1. Aprocessforextractingalltheuserspostsfromthe
database.
6.1.16.5.2. Theprocessofdisplayingadiscussionthread.
6.1.16.6. Dependencies
6.1.16.6.1. Theprocessmustbeabletoreadthedatabase.The
abilitytowritetooreditthedatabasewillnotbe
needed.
6.1.16.6.2. Theprocessdependsontheprocessofdisplayinga
thread.
6.1.16.7. Interface
6.1.16.7.1. Thelistwillbedisplayedatthetopofadiscussion
thread.
6.1.16.7.2. Thisprocessisadisplayonlyprocess.
6.1.16.7.3. Theuserinteractswiththisprocessbymakinga
post.Thiswilladdtothenumberofpoststheuser
hascontributed.
Figure6.3.16.7.1Imageofproposeduserinterface
6.1.16.8. Resources
6.1.16.8.1. Noadditionalresourcesareneeded.
6.1.16.9. Processing
6.1.16.9.1. Theprocesswillbeginwhenadiscussionthreadis
tobedisplayed.
6.1.16.9.2. Theprocesswillaccessthedatabaseforallpost_id
andreply_post_idassociatedwiththeuser.
62
6.1.16.10. Data
6.1.16.10.1. Theprocesswillusethefollowingdatathedatabase
willprovidetothepost_amounttable.
6.1.16.10.2. user_ididentifiestheuserbyanintegerinorderto
differentiateusers,theremustbenouser_idthatare
thesamereferencesthestudenttable.
6.1.16.10.3. post_ididentifieseachthreadreferencesthepost
table.
6.1.16.10.4. reply_post_ididentifiesareplytopostreferences
thereply_posttable.
6.1.16.10.5. reply_amountisthecountofreplypostsassociated
toapost_id.
6.1.16.10.6. total_amountisthecountofallpostsassociatedto
theuserincludingallpost_idandreply_post_id.
Figure6.3.16.10.1Diagramofdatadependencies
6.1.17.
WordCountGroup4
6.1.17.1. Identification:Wordcountforindividualposts
6.1.17.2.
Type:Process
63
6.1.17.3. Purpose
6.1.17.3.1. Thepurposeofthisentityistoallowthestudentto
easilyseehowmanywordstheyhavetypedintheir
discussionpost.
6.1.17.3.2. Additionally,instructorswhowillbegradingthe
discussionpostwillalsobeabletoseetheword
countforeachpost.
6.1.17.3.3. Occasionally,instructorsrequireaminimumword
countondiscussionboardposts.Thisfeaturewill
allowbothstudentsandteacherstoeasilyknow
whetherornottherequirementhadbeenmet.
6.1.17.4. Function
6.1.17.4.1. Asauser(studentorinstructor)istypinganew
discussionpostthewordcountwillautomatically
appearintheeditoratthebottomofthetextbox.
6.1.17.4.2. Thewordcountforeachpostwillbevisibleatthe
bottomofeachpostaftertheuserhaspublishedthe
post.
6.1.17.5. Subordinates
6.1.17.5.1. Theprocessofwritingthedataforeachpost.
6.1.17.5.2. Theprocessofstoringthedataforeachindividual
post.
6.1.17.5.3. Theprocessofdisplayingthedatarelevanttoeach
post.
6.1.17.6. Dependencies
6.1.17.6.1. Dependsonthediscussionboardscurrentprocess
ofcreatingandstoringapost,asthewordcount
willbedisplayedwithitsassociatedpost.
64
Figure6.3.17.2WordCountSequenceDiagramActor=User
6.1.17.7. Interface
6.1.17.7.1. Usersdonotinteractdirectlywiththisfeatureand
cannotalterormodifyit.Thewordcountisonly
modifiedorchangedwhenausertypes,thetotal
wordcountisoutputordisplayedtotheuser.
6.1.17.7.2. Whenauserpublishestheirpost,thewordcountis
alsovisibletoallviewersofthediscussionpost.
Figure6.3.17.8.WordCountInterfaceExample
6.1.17.8. Resources
6.1.17.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.
65
6.1.17.9. Processing
6.1.17.9.1. Thewordcountprocessisinitiatedwhenauser
opensthediscussionboardeditortomakeanew
post.
6.1.17.9.2. Thedefaultvalueofthewordcountis0,butwill
increaseasausertypes,consistentwiththenumber
ofwordstyped.
6.1.17.9.3. Ifauserdeleteswords,thenumberwilldecrement,
consistentwiththenumberofwordsdeleted.
6.1.17.9.4. Whentheuserpublishestheirpost,thefinalnumber
ofwordstheytypedwillbedisplayedatthebottom
oftheirpost.
6.1.17.9.5. Ifapostiseditedafterithasbeenpublished,the
wordcountwillagainincrementordecrementto
showtheactualwordcount.
6.1.17.9.6. Whenpublished,thenewwordcountwillbe
displayed.
6.1.17.10. Data
6.1.17.10.1. Wordcountwillbestoredinthedatabaseasarow
inthediscussion_boardtable.
6.1.18. NotificationsGroup4
6.1.18.1. Identification:Notificationofaresponsetoindividual
comments
6.1.18.2. Type:Module
6.1.18.3. Purpose
6.1.18.3.1. Thepurposeofthisfeatureistoinformtheoriginal
postauthorthatanotheruserhasrespondedtotheir
post.
6.1.18.3.2. Whenaresponsehasbeenmadetoacomment,the
systemwillautomaticallysendanotificationtothe
owneroftheoriginalpost,alertingthemtothenew
commentontheirpost.
6.1.18.4. Function
66
6.1.18.4.1.
Oncetheuserpublishesanoriginalpost,subsequent
responsesfromotheruserswilltriggera
notification.
6.1.18.4.2. Thisnotificationwillbesenttotheusersregistered
emailaddressaswellasanotificationalertonthe
iLearn3.0Dashboard.
6.1.18.5. Subordinates
6.1.18.5.1. Theprocessofpublishingadiscussionboardpost
6.1.18.5.2. Theprocessofreplyingtoadiscussionboardpost
6.1.18.5.3. TheprocessofiLearn3.0dashboardalerts
6.1.18.6. Dependencies
6.1.18.6.1. Theconditionsforthisentityisdependentupona
publishedpostfromasingleuserandasecondpost
inresponsetotheoriginal.Onlythencana
notificationcanbesent.
6.1.18.6.2. UseCaseDiagram
Figure6.1.18.6.2UseCaseDiagramofResponseNotifications
6.1.18.7. Interface
6.1.18.7.1. Theuserwillnotberequiredtointeractwiththis
designentity.Itisautomaticallygeneratedas
anotherusercreatesaresponsepost.
67
6.1.18.7.2.
TheuserwillreceiveanotificationontheiriLearn
3.0dashboardindicatingthattherehasbeena
responsetotheirpost
Figure6.1.18.7.2InterfaceExampleofNotification
6.1.18.7.3. Oncetheuserclicksonthenotificationbutton,the
responseindicatorwilldisappearuntilanother
responsehasbeenposted
6.1.18.7.4. Therearenoinputsoroutputerrorcodesnecessary
6.1.18.8. Resources
6.1.18.8.1. Theprocessdoesnotrequireanyadditional
resourcesotherthanthoseforthecurrentsystem
6.1.18.9. Processing
6.1.18.9.1. ActivityDiagram
Figure6.1.18.9.1ActivityDiagramofRespondingPostProcess
68
6.1.18.9.2.
6.1.18.9.3.
Theaboveactivitydiagramexplainstheprocessof
creatinganewresponsepost.Uponthecompletion
ofthisactivity,anotificationwillbesenttothe
user.
Thenotificationalertiscontingentonanotheruser
mustrespondintheappropriatefashiontotheusers
originalpost
6.1.18.10. Data
6.1.18.10.1. Thenotificationdatawillbeadynamicvaluethat
willchangeaccordingtothenumberofresponse
postscreated.
6.1.18.10.2. Thevaluewillrefreshtozeroaftereachtimethe
usercheckstheirnotificationalerts.
6.1.18.10.3. Allpastnotificationswillbestoredinordertobe
referencedifneededbyuser.
6.1.19. StrongerdistinctionofrepliesGroup4
6.1.19.1. Identification:Strongdistinctionbetweenpostandreply
6.1.19.2. Type:Process
6.1.19.3. Purpose
6.1.19.3.1. Thereasonbehindthisisthatitiseasytoget
confusedwithwhereeachreplyis.Thiswill
minimizetheamountofconfusionbetweenareply
andanoriginalpost.
6.1.19.3.2. Beabletorespondandfindspecificrepliesand
postsinagiventhread
6.1.19.4. Function
6.1.19.4.1. Whenclickingonthebuttontosubmitaresponseto
anotherresponseorpost,thegeneratedresponse
postshallindentaninch.
6.1.19.4.2. Theleftmostsideofeachreplypostinathread
shallbeindentedoneinchtotherightofthe
leftmostsideoftheposttowhichitisreplying.
69
6.1.19.4.3.
Ifathreadcontainsmorethanfivelevelsof
indentation,theindentationdistanceforallbutthe
lastindentationlevelwillbereducedtoahalfofan
inch.
Figure6.1.19.4.3Showing1inchIndentations
6.1.19.5. Subordinates
6.1.19.5.1. Theprocessofcollapsiblethreads.
6.1.19.5.2. Theprocessofviewingathreadunderthemain
discussionboardprocess.
6.1.19.5.3. Theprocessofviewingareplytoaspecificpostor
comment
6.1.19.5.4. Theprocessofcreatingareplytoaspecificpostor
comment
6.1.19.6. Dependencies
6.1.19.6.1. Dependentonbeingabletoaccessadatabasewith
thenumberofrepliestoapostorcomment
6.1.19.6.2. Dependantonwebpagefunctionalitytobeableto
increasetheindentationofthereplytothepostor
comment
6.1.19.6.3. UseCaseDiagram
70
Figure6.1.19.6.3Activitypathtoseestrongindentation
6.1.19.7. Interface
6.1.19.7.1. Theuserinteractswiththisentityanytimetheuser
createsandviewsareplytoapostorcomment.
6.1.19.7.2. Theuserinteractswiththisentityanytimetheuser
createsorwantstocollapseathread
6.1.19.7.3. Theuserinteractswiththisentityanytimetheuser
wantstowrite,edit,modify,like,hashtag,vote,
sort,seewordcount,andanyotherchangetoa
comment.
6.1.19.8. Resources
6.1.19.8.1. Theprocessdoesnotrequireanyadditional
resourcesotherthanthoseforthecurrentsystem
71
6.1.19.9. Processing
6.1.19.9.1. Theprocesscanbecompletedoncethecollapsible
threadentityiscompleted.
6.1.19.9.2. Oncecollapsiblethreadentityisimplementedthe
specificationscanbechangedtomakesureeach
replyisintendedoneinch.
6.1.19.10. Data
6.1.19.10.1. Theonlydataassociatedwiththisentityisthe
numberofrepliestoapostorcomment.Ifthe
numberisgreaterthan5thanthesizeofthe
indentationisreducedtoinchinsteadof1inch.
6.1.20.
MobileFriendlyGroup4
6.1.20.1. Identification:Mobilesupport
6.1.20.2. Type:Process
6.1.20.3. Purpose
6.1.20.3.1. Thepurposeofthisfeatureistoprovidetheuser
greateraccessibilitytoILearndiscussionboards
whenviewedfromasmallscreenortouchscreen
device.
6.1.20.4. Function
6.1.20.4.1. Theprocesswilldetectwhethertheuserisona
mobileornonmobiledevice.
6.1.20.4.2. Theprocesswillprovideaninterfacesuitablefor
viewingonamobiledevice.
6.1.20.4.3. Thisinterfacewillprovideallthefunctionalitythat
thefull,desktopinterfacedoes.
6.1.20.5. Subordinates
6.1.20.5.1. Aprocesstotransmitwebpagestotheclient
6.1.20.6. Dependencies
6.1.20.6.1. Themobileinterfaceprocesswillsharethesame
dependenciesasthedesktopinterfaceprocess,
includingmostpartsoftheUI.
72
6.1.20.6.2.
DependencyDiagram
6.1.20.6.3.
33
6.1.20.7. Interface
6.1.20.7.1. Theuserinteractswiththisentityanytimethey
accesstheILearndiscussionboards.
6.1.20.8. Resources
6.1.20.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.
6.1.20.9. Processing
6.1.20.9.1. Theentitywillinterpretuserinteractionwithitand
forwardanycommandsfromtheusertothe
appropriateentity.
6.1.21.
MarkdownSupportGroup2
6.1.21.1. Identification:MarkdownSupport
6.1.21.2. Type:Process
6.1.21.3. Purpose
73
6.1.21.3.1.
Allowsforbothstudentsandteacherstomore
effectivelystylethebodycontentofdiscussion
boards,posts,commentsandresponses.
6.1.21.4. Function
6.1.21.4.1. Asausertypesmarkuptheyseeapreviewofitin
anassociatedpreviewpane.Iftheusertriestoexit
whiletypingthenorwhileitisopenthentheyare
promptedtosaveorleavethechangestheyhave
madeunsaved
6.1.21.4.2. Theinputareasfordiscussionboardpostsshall
recognizemarkdownsyntaxandstylethetext
accordingly.
6.1.21.4.3. Theusershallbecapableofusingheaders,rules,
bodycopy,emphasis,blockquotes,lists,code,
tables,linksandimagesthroughmarkdownsyntax.
6.1.21.5. Subordinates
6.1.21.5.1. Theprocessofpreviewingthemarkdown
6.1.21.5.2. Theprocessofpostingmarkdownchangestoposts
6.1.21.6. Dependencies
6.1.21.6.1. Theconditionsforthisprocessarethatsaidpost,
commentorresponsemuststillexistandnotbeen
deletedbythecreatorormoderator
6.1.21.7. Interface
6.1.21.7.1. Asausertypesmarkuptheyseeapreviewofitin
anassociatedpreviewpane.Iftheusertriestoexit
whiletypingthenorwhileitisopenthentheyare
promptedtosaveorleavethechangestheyhave
madeunsaved
74
6.1.21.8. Resources
6.1.21.8.1. Theprocessdoesnotrequireanyadditional
resourcesotherthanthoseforthecurrentsystem
6.1.21.9. Processing
6.1.21.9.1. Theprocesswillbecompleteoncethemarkdown
hasbeensuccessfullysavedinthepreviewpane
6.1.21.10. Data
6.1.21.10.1. Themarkdownwillbestoredinuser_discussion
database
6.1.22. StudentModeratorGroup2
6.1.22.1. Identification:StudentModerator
6.1.22.2. Type:Process
6.1.22.3. Purpose
6.1.22.3.1. Studentmoderationshallallowforteachersto
assignstudentsasmoderatorsovercoursespecific
discussions.
6.1.22.4. Function
6.1.22.4.1. Thisfeaturewillenablestudentstohavemore
controloverthediscussionboardsysteminILearn
75
6.1.22.4.2.
6.1.22.4.3.
6.1.22.4.4.
6.1.22.4.5.
6.1.22.4.6.
allowingforthecreation,modificationand
archivingofbothdiscussionboardsanddiscussion
boardcomments.
WhenateacherclickstheAssignbuttonfoundin
adiscussionboardtheywillbeabletoassign1or
morestudentsasmoderators.Studentswillbe
notifiedandhavetheiruserprivilegeschangedto
allowthemtocreate,editandarchivediscussion
boards,discussionboardcontentanddiscussion
boardcomments.
Thesystemshallnotifytheteacher/courseowner
whenastudentmoderatorhasperformedany
moderatingfunctiononacourseowneddiscussion.
Thesystemshallnotifyastudentwhentheyhave
beengivenmoderationpermissionsoveracourse
owneddiscussionboard.
Thesystemshallnotifyastudentmoderatorwhen
theyhavehadtheirmoderatingprivilegesremoved
onacourseowneddiscussionboard.
Thesystemshallallowthemoderatingstudentsto
beabletocontinuetoseeandalteranyhidden,
lockedorarchiveddiscussionboardsand
comments.
6.1.22.5. Subordinates
6.1.22.5.1. Whenastudentbecomesamoderatorinacourse
theywillhavenewuserpermissionsthatallowthem
createnew/additionaldiscussionboards
6.1.22.5.2. Moderatorswillbepermittedtoeditcontentwithin
thediscussionboardaswellasthecomments.This
includesthearchivingofdiscussionboardsand
comments.
6.1.22.5.3. Whenamoderatorarchivesadiscussionboardor
commenttheywillbepresentedwithaconfirmation
dialogthatallowsthemtocancelorconfirmthe
archival.Additionaloptionswillbepresentinthe
confirmationdialogallowingthearchivaltoeither
hidethediscussionboardorcommentfromallor
76
specifiedusers,or,lockthediscussionboardor
commentfromallorspecifiedusers.
6.1.22.6. Dependencies
6.1.22.6.1. Requirestheteachertograntmoderatorstatus
6.1.22.7. Interface
6.1.22.7.1. Thiswillbedoneviaabuttonabovethecourse
discussionsectiononlyavailableforteacheruse.
6.1.22.8. Resources
6.1.22.8.1. Thisprocesswillrequirenomoreresourcesthanthe
currentsystemrequires.
6.1.22.9. Processing
6.1.22.9.1. Theprocesswillbeginwhentheteacherassigns
moderatorstatustoastudent.
6.1.22.10. Data
6.1.22.10.1. Thisinformationwillbestoredintheuserdatabase
6.1.23. AdditionalDiscussionBoardsGroup2
6.1.23.1. Identification:AdditionalDiscussionBoards
6.1.23.2. Type:Process
6.1.23.3. Purpose
6.1.23.3.1. Thepurposeofthisprocessistoallowadditional
discussionboardstobeusedforcollaboration,
contactinformationoranyadditionalquestionsand
concerns.
77
6.1.23.3.2.
Thiswillfacilitatetheprocessofshiftingbackand
forthbetweentheassignmentdiscussionboardand
theinstructions,astheywillbegroupedtogether.
6.1.23.4. Function
6.1.23.4.1. Whentheuseraddsthediscussionboard,the
systemwilladdthetitleofthediscussionboardto
thelistofindextitlesforuserstoreference
quickly/efficientlyandproceedaccordingly.
6.1.23.4.2. Whentheuserclickstheplussymboltoaddthe
discussionboardthesystemwillredirectstudentto
anewdiscussionthread,wheretheyentertheir
title,andpost.
6.1.23.5. Subordinates
6.1.23.5.1. Theprocessofwritingdataspecifictoindividual
discussionboards.
6.1.23.5.2. Theprocessofstoringdata.
6.1.23.5.3. Theprocessofdisplayingthedata.
6.1.23.6. Dependencies
6.1.23.6.1. Thisprocessutilizesthediscussionboardscurrent
processofcreatingandstoringapost.
6.1.23.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.1.23.6.3. Thisprocessisforstoringanddisplayingdataonly.
6.1.23.7. Interface
6.1.23.7.1. Theuserfirstinteractswiththisprocessbyclicking
theplusicontoaddanewdiscussionboard.The
communicationbetweentheuserandtheprogram
hereismadepossiblethroughuseofthedatabase.
6.1.23.7.2. Thedatawillaccessthedatabasebyretrievingthe
discussionboardtobedisplayed.
6.1.23.7.3. Thedatawillmodifythedatabasewhenauseradds
to,changes,and/ordeleteshisorherpostsforthe
discussion.
78
6.1.23.8. Resources
6.1.23.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.23.9. Processing
6.1.23.9.1. Theprocessshallbeinitiatedwhenauseropensthe
discussionboard.
6.1.23.9.2. Ifthereisanerroropeningthediscussionboard,
theusershallbenotifiedwiththefollowing
messageinthesameplacewhereerrormessagesare
displayedintheexistingdiscussionboardsystem:
Therewasanerroropeningthethisdiscussion
board,pleasetryagainlater.
FIG.6.3.23.11SystemArchitecture
6.1.23.10. Data
6.1.23.10.1. Thedatabasecanstorethethefollowingtablesin
thediscussionboarddatabase.
6.1.23.10.2. Thetitle/postshallnotacceptavalueofnull.
79
6.1.24.
NotificationResponseLinkGroup2
6.1.24.1. Identification:NotificationResponseLink
6.1.24.2. Type:Process
6.1.24.3. Purpose
6.1.24.3.1. Thepurposeofthisprocessistoallowauserto
haveadirectlinktothecontentofthenotification.
6.1.24.3.2. Whenausermakesaresponsetoyourpost,the
systemwillsendyouanotification.Theusercan
thenopenthenotificationandclickonalinkwhich
willsendtheusertotheresponse.
6.1.24.4. Function
6.1.24.4.1. Whenanotherusermakesaresponsetoastudents
post,itwillsendanotificationtotheiriLearn3.0
accountaswellastheirassociatedemail.Each
notificationwillcontainalinktotheassociated
post.
6.1.24.4.2. Whentheuserclicksonthelink,itwillredirect
themtotheassociatedpost.Thesamefunctionality
willoccurwhetherthelinkisaccessedfrominside
theusersemail,orifthelinkisaccessedfrom
insideofiLearn3.0.
6.1.24.5. Subordinates
6.1.24.5.1. Theprocessofpublishingadiscussionboardpost.
6.1.24.5.2. Theprocessofreplyingtoadiscussionboardpost.
6.1.24.5.3. TheprocessofiLearn3.0dashboardalerts.
6.1.24.5.4. TheprocessofNotifications.
6.1.24.6. Dependencies
6.1.24.6.1. Theconditionsforthisentityisdependentupona
publishedpostfromasingleuserandasecondpost
inresponsetotheoriginal.Onlythencana
notificationcanbesent.
6.1.24.6.2. Theconditionsforthisentityarealsocompletely
dependentontheNotificationprocess.
6.1.24.7. Interface
80
6.1.24.7.1.
Thenotificationresponselinkinterfacewillbe
verysimilartoiLearn3.0.Itwillhavetheclassthat
thenotificationrelatestoatthetopofthe
dropdown.Itwillthenhavethetitleofthe
assignment.Finally,itwillhavethelinktothe
specificpostwithintheassignment.
Figure6.3.24
NotificationResponse
Link
6.1.24.8. Resources
6.1.24.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.
6.1.24.9. Processing
6.1.24.9.1. Theprocesswillbeinitiatedwhenanotheruser
respondstoauserspostonadiscussionboard.
6.1.24.9.2. Thenotificationwillberesolvediftheuserhas
alreadyviewedtheresponsebeforeviewingthe
notification.
6.1.24.9.3. Thenotificationwillberesolvedwhenthe
notificationiconispressedandthenotifications
havebeenlisted.
6.1.24.10.
Data
81
6.1.24.10.1.
Thenotificationresponselinkwillbestoredasa
columnintheuser_notificationdatabasetable.
6.1.25. AssignmentInstructionLocationGroup2
6.1.25.1. Identification:AssignmentInstruction
6.1.25.2. Type:Datastore
6.1.25.3. Purpose
6.1.25.3.1. Thepurposeofthisistomaketheassignmentclear,
andeasytoaccessatthetopofthediscussion
board.
6.1.25.3.2. Thiswillfacilitatetheprocessofshiftingbackand
forthbetweentheassignmentdiscussionboardand
theinstructions,astheywillbegroupedtogether.
6.1.25.3.3. Thiswillmakeiteasierfortheusertohave
everythingtheyneedfortheassignmentonthe
samewebpage.
6.1.25.4. Function
6.1.25.4.1. Thisdataentitywillstoreinstructionaldetailsfor
usersonthesamepageasthediscussionboards.
6.1.25.4.2. Userswillbeabletoeasilyidentifyassignment
instructionsandproceedaccordingly.
6.1.25.5. Subordinates
6.1.25.5.1. Theprocessofwritingdataspecifictoindividual
assignmentsanddiscussionboards.
6.1.25.5.2. Theprocessofstoringdata.
6.1.25.5.3. Theprocessofdisplayingthedataatthetopofeach
discussionboard.
6.1.25.6. Dependencies
6.1.25.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapost.
6.1.25.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.1.25.6.3. Thisprocessisforstoringanddisplayingdataonly.
6.1.25.7. Interface
82
6.1.25.7.1.
6.1.25.7.2.
6.1.25.7.3.
Theuserfirstinteractswiththisprocessbyseeing
theinstructionslistedintheinstructionboxatthe
topofthepage.Thecommunicationbetweenthe
userandtheprogramhereismadepossiblethrough
useofthedatabase.
Thedatawillaccessthedatabasebyretrieving
instructionresultstobedisplayed.
Thedatawillmodifythedatabasewhenaprofessor
addsto,changes,and/ordeleteshisorher
instructionsfortheassignment.
Figure6.3.25ERD
(EntityRelationship
Diagram)
6.1.25.8. Resources
6.1.25.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
83
discussionboardsystem.
6.1.25.9. Processing
6.1.25.9.1. Theprocessshallbeinitiatedwhenauseropensthe
discussionboard.
6.1.25.9.2. Ifthereisanerroropeningtheinstructions,orthe
assignmenthasnotyetbeenreleased,theusershall
benotifiedwiththefollowingmessageinthesame
placewhereerrormessagesaredisplayedinthe
existingdiscussionboardsystem:Therewasan
erroropeningtheinstructions,youcanaccessthis
assignmenton7/12(forexample),pleasetryagain
later
6.1.25.10. Data
6.1.25.10.1. Thedatabasecanstoretheinstructionaldatainthe
followingtablesinthediscussionboarddatabase.
6.1.25.10.2. Thesubjectshallnotacceptavalueofnull.
6.1.26. HighTrafficPostGroup2
6.1.26.1. Identification:HighTrafficPost
6.1.26.2. Type:Process
6.1.26.2.1. HighTrafficPostsforeachclassareaccessible
underthestudenticon.Thisallowsforfrequently
accessedandusedthreadstobeeasiertoaccess.
6.1.26.3. Purpose
6.1.26.3.1. Ittakesmultiplestepstoaccessmostthreadsin
iLearn3.0.Thiswillallowoftenusedthreadstobe
easilyaccessibletoagivenuser.
6.1.26.3.2. Oneexampleisathreadforgroupcoordination.
Thismaybeusedoftenandfrequentlybyanentire
class.HighTrafficPostsareidentifiedbytheir
frequencyofuseandtheoverallnumberofpostson
agiventhread.
6.1.26.4. Function
6.1.26.4.1. Anypostthatisaccessedmorethanthe
HIGH_TRAFFIClimit,willbeclassifiedasaHigh
84
6.1.26.4.2.
TrafficPost.HIGH_TRAFFICisaglobalvariable
thatcanbechangedlater.
ThegivenHighTrafficPostwillthenbelisted
underagivenstudentprofileunderaspecificclass.
Uponclickingonthetitleofthepost,theuserwill
beredirectedtothepost.
6.1.26.5. Subordinates
6.1.26.5.1. Theprocessofcollapsiblethreads.
6.1.26.5.2. Theprocessofpublishingadiscussionboardpost.
6.1.26.5.3. Theprocessofreplyingtoadiscussionboardpost.
6.1.26.5.4. TheprocessofiLearn3.0dashboardalerts.
6.1.26.5.5. TheprocessofNotifications.
6.1.26.6. Dependencies
6.1.26.6.1. Thisprocessisdependentuponuserspostingand
replyingonadiscussionboard.
6.1.26.6.2. Theprocessisdependentuponthenumberof
repliestoagivenpostbecominggreaterthanan
establishedlimitwithinthesystem.
6.1.26.7. Interface
6.1.26.7.1. TheinterfacefortheHighTrafficPostwillbethe
sameastheinterfaceforanyotherpost.Theonly
differencewillbethelargenumberofposts.
6.1.26.7.2. Theinterfacewillalsoimplementcollapsible
threadstoallowforeasierscanningofthetoplevel
postsandreplies
85
Figure6.3.26High
TrafficPost
6.1.26.8. Resources
6.1.26.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.
6.1.26.9. Processing
6.1.26.9.1. Thisprocesswillbeginwhenenoughusershave
respondedtoagivenpost.Thiswillflagthepostas
ahightrafficpost.
6.1.26.9.2. Anupdatewilloccuronthestudentsaccount.The
studentisthenabletoviewagivenhightrafficpost
foraclass.Thesehightrafficpostswillchange
dependingonupdatestothesystemastheclass
goeson.
6.1.26.10. Data
6.1.26.10.1. Ahightrafficpostwillbedeterminedbysumming
thenumberofrepliesonagivenpost.This
informationcanbefoundbycomparingthetotal
numberofrepliesoneachpostforagivenclass.
86
6.1.27.
NotificationResponseInclusionofOriginalPostGroup2
6.1.27.1. Identification:NotificationResponseInclusionof
OriginalPost
6.1.27.2. Type:Process
6.1.27.3. Purpose
6.1.27.3.1. Thisistoallowastudenttoviewtheoriginalpost
thatanotheruserisrespondingtoaspartofa
Notification.
6.1.27.4. Function
6.1.27.4.1. Wheneverastudentreceivesanotification,itwill
informthemoftheclass,assignment,andoriginal
post.Thenotificationdropdownwillthenincludea
linktothepostthathasbeenrespondedto.
6.1.27.5. Subordinates
6.1.27.5.1. Theprocessofcollapsiblethreads.
6.1.27.5.2. Theprocessofpublishingadiscussionboardpost.
6.1.27.5.3. Theprocessofreplyingtoadiscussionboardpost.
6.1.27.5.4. TheprocessofiLearn3.0dashboardalerts.
6.1.27.5.5. TheprocessofNotifications.
6.1.27.6. Dependencies
6.1.27.6.1. Theconditionsforthisentityisdependentupona
publishedpostfromasingleuserandasecondpost
inresponsetotheoriginal.Onlythencana
notificationcanbesent.
6.1.27.6.2. Theconditionsforthisentityarealsocompletely
dependentontheNotificationprocess.
6.1.27.7. Interface
6.1.27.7.1. Thisinterfaceisthesameastheonementionedin
thenotificationresponselinkprocess.Thisprocess
hastodospecificallywiththethreadnameonthe
originalpost.Thisallowsausertoquicklyidentify
whichpostauserrespondedto.
6.1.27.7.2.
87
Figure6.3.24
NotificationResponse
InclusionofOriginal
Post
6.1.27.8. Resources
6.1.27.8.1. Thisentitywillnotrequireadditionalresources
beyondwhatisrequiredforthecurrentsystem.
6.1.27.9. Processing
6.1.27.9.1. Theprocesswillbeinitiatedwhenanotheruser
respondstoauserspostonadiscussionboard.
6.1.27.9.1.1. Thenotificationwillberesolvediftheuser
hasalreadyviewedtheresponsebefore
viewingthenotification.
6.1.27.9.2. Thenotificationwillberesolvedwhenthe
notificationiconispressedandthenotifications
havebeenlisted.
6.1.27.10. Data
6.1.27.10.1. Thenotificationresponselinkandtheoriginal
threadnamewillbestoredasacolumninthe
user_notificationdatabasetable.
6.1.28. Shortcuttoprofessors'postsGroup2
6.1.28.1. Identification:ProfessorsPosts
6.1.28.2. Type:Datastore
6.1.28.3. Purpose
88
6.1.28.3.1.
Thepurposeofthisistoprovideashortcutforusers
toquicklyseethepoststheprofessorhasmadeon
thediscussionboard.
6.1.28.3.2. Thiswillmakeiteasyforuserstoseeany
additionalfeedback,comments,updatespostedby
theprofessor.
6.1.28.4. Function
6.1.28.4.1. Thisdataentityshallstorepostsmadeby
professors.
6.1.28.4.2. Thiswillallowuserstoeasilyaccessprofessors
postsandseeanyupdates,comments,andfeedback
givenbyspecificinstructors.
6.1.28.5. Subordinates
6.1.28.5.1. Theprocessofwritingdatainputfromthe
professor.
6.1.28.5.2. Theprocessofstoringdata.
6.1.28.5.3. Theprocessofretrievingdatawhenuserclickson
appropriatelink.
6.1.28.6. Dependencies
6.1.28.6.1. Thisprocessdependsonthediscussionboards
currentprocessofcreatingandstoringapost.
6.1.28.6.2. Theremustbeaccesstoadatabase,allowingthe
processtoreadfromandwritetoit.
6.1.28.6.3. Userinteractionwiththeprocesswilldependonthe
processesofreceivinginputthroughtheweb
interface,aswellasthatofdisplayinginformation
onthescreentotheuser.
6.1.28.7. Interface
6.1.28.7.1. Theuserfirstinteractswiththisprocessbyselecting
theprofessorsposticon(alongthetopmenubar).
Thecommunicationbetweentheuserandthe
programhereismadepossiblethroughuseof
commonwebbrowserinterfacecomponentsand
thedatabase.
89
6.1.28.7.2.
Theprocesswillaccessthedatabasebyretrieving
professorspostresultstobedisplayed.
6.1.28.7.3. Thedatawillmodifythedatabasewhenaprofessor
addsto,changes,and/ordeleteshisorherpost.
6.1.28.8. Resources
6.1.28.8.1. Thisprocesswillnotrequireanyadditional
resourcesthanarerequiredforthecurrent
discussionboardsystem.
6.1.28.9. Processing
6.1.28.9.1. Theprocessshallbeinitiatedwhenauserclickson
theprofessorsposticon.
6.1.28.9.2. Ifthereisanerroropeningthepostsfromthe
database,theusershallbenotifiedwiththe
followingmessageinthesameplacewhereerror
messagesaredisplayedintheexistingdiscussion
boardsystem:Therewasanerroropeningthe
professorspost,pleasetryagainlater.
90
FIG6.3.28SequenceDiagramforMessages
6.1.28.9.3.
6.1.28.9.4.
Theprofessorspostshallbedistinguishedfroma
normalpostbydisplayingthewordProfessor
abovetheeachProfessorspost.
Thesystemshallremaininreviewingstateuntilthe
followingoccurs:theuserclicksCancel,orthe
userperformssomeotheractionbythebrowserthat
wouldnavigateawayfromthediscussionboard.
6.1.28.10. Data
6.1.28.10.1. Thedatabasecanstorethedatainthefollowing
tablesinthediscussionboarddatabase.
6.1.28.10.2. Theprofessors_poststableistokeeptrackofeach
postmadebytheprofessor.Eachposthasaunique
id.
6.1.28.10.3. Thesubjectshallnotacceptavalueofnull.
91
7.
RequirementsTraceabilityMatrix
ID
RequirementsDescription
CollapsibleThreadsThe
systemshallallowtheuser
tohidesubsectionsofa
1 thread.
Org/
Requestor Dep
Students
DeletePostsTheuser
shallbeabletodeletea
givenpostwithouthavingto
2 reloadthepage.
Students
Arrangeandorganize
threadsTheusermay
organizeathreadintoa
customcategorybyclicking
onasettingslinkonagiven
3 thread.
Students
Showwhichthreadsyou
4 havecontributedto
Students
BusinessNeed
Must/
Want
Thepurposeofthisfeatureistoallowthe
usertoreducevisualclutteronthescreen.
Itwillalsoallowtheusertomoreeasily
navigatethroughhigherlevelsofthread
BYUI sectionsortopics.
Must
Thepurposeofthisfeatureistoallowthe
usertodeleteanunwantedpostthatthey
havemadetothediscussionboard.This
featurewillallowformoreusercontrolby
allowingirrelevantorunwantedpoststobe
BYUI removedbytheauthor.
Must
Thepurposeofthisfeatureistoallowthe
usertoorganizethreadscontributedbythe
userintocustomcategoriessotheycanbe
sortedforeasierviewingbythestudent.
Thiswillallowtheusertofilterthroughthe
selectedthreadsquickerandfindthose
BYUI categorizedthreadsmoreeasily.
Want
Thepurposeofthisfeatureistoshowthe
userwhichthreadstheuserhas
contributedto.Thiswillallowtheuserto
tracktheircontributionsmoreaccurately
BYUI andefficiently.
Must
Active/
Inactive Priority
Inactive High
Active
High
Inactive Medium
Inactive High
Notifywhensomeonereplies
5 toyourpostwithinathread Students
Thepurposeofthisfeatureistoallowthe
usertobenotifiedwhensomeoneresponds
BYUI toaposttheusersubmitted.
Must
Showthemostupdated
conclusionneartheoriginal
6 post
Students
Thepurposeofthisfeatureistoshowthe
mostupdatedconclusionneartheoriginal
post.Thisfeaturewillhelpdiscussion
boardusersseethemostupdatedand
relevantanswertoaquestion(asprovided
byamoderatororselectedbyanother
user)withoutscrollingthroughpagesof
BYUI comments.
Must
Inactive Low
Students
Thepurposeofthisfeatureistoallowusers
tovoteonapostwithouthavingtoadda
commenttothethread.Thisshallallowall
userstoparticipateinthevoteandreceive
BYUI moreinteraction.
Must
Inactive Low
Voteonpostswithout
havingtoaddawhole
7 comment
Active
High
92
Theusermayclickonthe
thankbuttonofapostto
givethankstothatusers
8 contribution.
Students
Thepurposeofthisfeatureistoallowusers
tolikepostssothatotherstudentscansee
whichpostsaremostrelevantoruseful
dependingonwhichwerethankedmost.
Thisshallalsoallowtheusertothank
anotheruserfortheircontributionwithout
havingtocreateanewpost.Teachersmay
usethisasanopportunitytoofferextra
BYUI creditforthankingposts.
Must
Inactive Low
Addhashtagstopostsso
thatrelevantsubjectscanbe
9 filteredthrough
Students
Thepurposeofthisfeatureistoallowusers
totagpostswithhashtags.Thiswillallow
relevantsubjectstobefilteredthrough
BYUI moreeasily.
want
Inactive Low
Searchallofthecontentsof
athreadwithoutexpanding
10 it
Students
Thiswillallowtheusertogetmoreaccurate
searchresultsandalsotogettheresults
BYUI moreeasily.
Must
Active
Referenceaspecificperson
11 inapost
Students
Thepurposeofthisfeatureistoallowthe
usertodirecttheirposttoaspecific
person.Thisfeaturewillallowforbetter
communicationasthepersonbeing
referencedwillreceiveanotificationthat
BYUI someonehasaddressedtheminapost.
Emailnotificationsfor
12 importantposts
Haveaccesstoallposts
13 fromonescreen
Removeunread
discussionsboxfromthe
14 currentversionofILearn
Medium
Must
Inactive Medium
Must
Inactive Medium
Students
Thepurposeofthisfeatureistoalert
studentsthroughemailwhenanimportant
posthasbeenmadesoastoensurethat
BYUI everyoneseesit.
Students
Thepurposeofthisfeatureistoreducethe
amountoftimeittakestomakeorreplyto
postsondiscussionboards.Timespent
ondiscussionboardswillbelessenedas
userswillnothavetoclickbackandforth
betweenmultiplepagestoreadinitial
postsandresponseposts.Userswillbe
abletomaketheirinitialpostandreplyto
otherclassmemberspostsfromthesame
page,makingtheprocessfasterand
BYUI simpler.
Must
Inactive High
Students
Thepurposeofthisfeatureistomakethe
homepagecleanerandmakeimportant
informationstandout.Thisfeatureis
arbitraryanddoesntaidintheuseof
BYUI discussionboards.
Must
Inactive Medium
Thereasonbehindthisiswhensomeone
BYUI wantstoviewwhohasparticipatedina
Want
Inactive High
Listofwhocommentedon
15 athread
Students
93
thread,thediscussionboardwillshowa
listofthosewhoareparticipatinginthe
threadsothattheuserwillbeawareof
whoparticipatesinthediscussion.Thiswill
getridofonlyallowingtheuserviewingthe
discussionboardtoviewwho
commentedonthethreadlast.
Listamountofresponseson
16 apost
Students
WordCountonthe
17 commentorpost
Notificationofaresponse
18 toindividualcomments
Students
Students
Thepurposeofthisfeatureiswhenauser
isgivenaspecificamountofpostsheor
sheneedstorespondto,itshallgivea
numberverifyinghowmanyheorshehas
contributedto.Thiswillmakeiteasieron
theuser,sotheywonthavetofindthe
responsesandcountthemindividually.
Whenauseriscuriousastohowinvolved
heorsheisondiscussionboards,they
willeasilyseehowmanythreadsthey
BYUI haverepliedto.
Must
Active
Thereasonbehindthisfeatureisbecause
manyteachersspecifytheminimum
numberofwordsapostand/orreplyneeds
tobe,butthediscussionboardhasno
waytocheckthatwithouthavingto
manuallycounteachword.Thisfeaturewill
makeiteasytoseethewordcountona
postasitsbeingwrittenandafterits
BYUI posted.
Must
Inactive Low
Thepurposeofthisfeatureistoinformthe
originalpostauthorthatanotheruserhas
BYUI respondedtotheirpost.
Must
Done
Active
High
Strongerdistinctionofreplies
19 frompostsandthreads
Students
Thereasonbehindthisisthatitiseasyto
getconfusedwithwhereeachreplygoes.
Thiswillminimizetheamountofconfusion
BYUI betweenareplyandanoriginalpost.
Must
Active
Medium
Moremobilefriendly(bigger
20 buttons)
Students
Thepurposeofthisfeatureistoprovidethe
userwithgreateraccessibilitytoILearn
discussionboardsthroughamore
meaningfulmobileinterface.This
interfacewillbeusedforbothsmartphone
andtabletdevices.Asausernavigatesa
discussionboardusingthemobile
interface,allbuttonswillappearas
functionalbuttonsandnotasstandard
hyperlinkswhichareoftensmalland
BYUI difficulttoworkwith.
Want
Active
Medium
94
Markdownsupportfor
bettercustomizationofthe
21 text
Studentmoderator
22 capability
Allowstudentstoadd
23 discussionboards
Alinktodirectyoutoa
responsewhenyouare
24 notifiedofresponse
Assignmentinstructionon
25 discussionboardpage
Hightrafficpostspotlight
26 (i.e.mostpopular)
Students
Students
Markdownsupportwillallowforboth
studentsandteacherstomoreeffectively
stylethebodycontentofdiscussion
BYUI boards,posts,commentsandresponses. Must
Studentmoderationshallallowforteachers
toassignstudentsasmoderatorsover
coursespecificdiscussions.Thisfeature
willenablestudentstohavemorecontrol
overthediscussionboardsystemin
ILearnallowingforthecreation,
modificationandarchivingofboth
discussionboardsanddiscussion
BYUI boardcomments.
Must
Inactive Medium
Inactive High
Students
thisfeaturewillallowanystudenttheability
tocreateadditionaldiscussionboards
afterbeingmadeamoderatorwithina
course.Thepurposeofthisfeatureisto
allowstudentstocreatetheirowngroup
discussionboardsforteam
BYUI communicationandcollaboration.
Must
Inactive Medium
Students
Thisfeaturewillnotifyusersofdirect
responsestotheirdiscussionboard
posts,commentsandrepliesand
respectivelyprovideadirectlinktothe
BYUI response.
Active
Students
Thepurposeofthisfeatureistomakeit
easierforastudenttolookupindividual
assignmentinstructionswithouthavingto
leavethediscussionboard.Thiswillgive
thestudenttheabilitytoreferbacktothe
instructionswithouthavingtobreaktheir
concentration,resultinginmoreprecise
BYUI responsestothesubjectinquestion.
Must
Students
Notificationofresponsewill
showtheoriginalpostfor
27 context
Students
Thepurposeofthisfeatureistoenable
studentstoquicklyfindthemostrelevant
informationinregardstotheirassignment.
Oftentimesthemosttraffickedresponse
hasthehighestqualityinformationby
spotlightingthisthreadtheclasswillunite
BYUI andwhichwillfosterdeeperdiscussion.
Must
Want
Thepurposeofthisfeatureistoprovide
studentswithcontextinregardstothereply
theyvejustreceived.Studentsaremore
likelytorespondtothatreplywhentheyare
BYUI remindedwhattheoriginalpostsaid.This Must
Medium
Inactive Done
Inactive Low
Inactive Low
95
willencouragemoreinteractionbetween
thestudents.
Shortcuttoprofessors'
28 posts
Students
Thepurposeofthisfeatureistoprovidethe
studentwithamechanismtofindthe
instructorsresponsetotheirposts,aswell
asthreadsthattheinstructorhascreated.
Thiswillenablethestudenttoquicklyfind
valuablefeedback,aswellascrucial
BYUI threadsauthoredbytheinstructor.
Must
Inactive Medium
8.
Appendix
8.1. FunctionModification
8.1.1. Entity5.3.20wasremovedduetothefactthatitwasnotan
operationalsystemdesignrequirement.Thefeaturedoesnotaffect
thefunctionalityorworkingcapabilityofthesystem,butinstead
affectsonlytheusersviewofthesystem.Thisfeaturesimply
changesthewayotherfeaturesaredisplayedtotheuserdepending
onthedevicetheyareusingtoaccessthediscussionboard.
8.2. Contributors
8.2.1. ProjectManagers
8.2.1.1. JaredMackieandAlexandriaLenz
8.2.2. Group1
8.2.2.1. JosephPatterson,JackLaprevote,KamiAnneDastrup
8.2.3. Group2
8.2.3.1. StephanieOgden,DanielBlankenship,TylerStanley
8.2.4. Group3
8.2.4.1. MattLayton,PadenJones,DrewMcMurry,JonnyJob
8.2.5. Group4
8.2.5.1. JaredMackie,AlexandriaLenz,LindseyMoeller,Alex
Barney
96