Software Requirements Specification Version 1.1 Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> Revision Histor Date Version Description Author <10/0/!00"> <1.0> Document Setup # initia$ re%ision &e%in Visa$$i <11/0/0"> <1.1> 'ina$ Draft of SRS main &e%in Visa$$i (onfi)entia$ Team eNotebook* +a,e ! Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> Table of Contents 1. -ntro)uction +urpose Scope Definitions* .cron/ms* an) .bbre%iations References 0%er%iew !. 0%era$$ Description +ro)uct +erspecti%e 1ser ($asses an) (2aracteristics (onstraints Desi,n (onstraints 3 45terna$ (onstraints 3 .ssumptions an) Depen)encies S/stem 'eatures &now$e),e* +resentation* (reation* 0r,ani6ation 'eature Description an) +riorit/ Stimu$us/Response Sequences 'unctiona$ Requirements &now$e),e Searc2 an) Subscribe 'eatures Description an) +riorit/: 7 Stimu$us/Response Sequences 7 'unctiona$ Requirements 7 &now$e),e S2arin,* (o$$aboration an) .ccess (ontro$ 'eatures Description an) +riorit/: 10 Stimu$us/Response Sequences 10 'unctiona$ Requirements 10 &now$e),e 8o)e$in, an) Stora,e 'eatures Description an) +riorit/ 11 Stimu$us/Response Sequences 11 'unctiona$ Requirements 11 0t2er +ro)uct Requirements Documentation Requirements Safet/ Requirements Software 9ua$it/ .ttribute Requirements .%ai$abi$it/ 1! Re$iabi$it/ 1! +erformance 1! Securit/ 1: -nteroperabi$it/ 1: 8aintainabi$it/ 1: 1sabi$it/ 1: -nterface Requirements 1ser -nterfaces 1; <ar)ware -nterfaces 1; Software -nterfaces 1; (onfi)entia$ Team eNotebook* +a,e : Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> (ommunications -nterfaces 1" Supportin, -nformation Sub 'eature Specifications &now$e),e +resentation* (reation* an) 0r,ani6ation 'eatures Specifications 1" &now$e),e Searc2 an) Subscribe 'eatures Specifications 1" &now$e),e S2arin,* (o$$aboration an) .ccess (ontro$ 'eatures Specifications 1" &now$e),e 8o)e$in, an) Stora,e 'eatures Specifications 1" S/stem 1sabi$it/ Testbe) 'eatures Specifications 1" .na$/sis 8o)e$s &now$e),e +resentation* (reation* an) 0r,ani6ation 'eatures .na$/sis 8o)e$s 1" &now$e),e Searc2 an) Subscribe 'eatures .na$/sis 8o)e$s 1= &now$e),e S2arin,* (o$$aboration an) .ccess (ontro$ 'eatures .na$/sis 8o)e$s 1= &now$e),e 8o)e$in, an) Stora,e 'eatures .na$/sis 8o)e$s 1= S/stem 1sabi$it/ Testbe) 'eatures .na$/sis 8o)e$s 1= >$ossar/ of Terms (onfi)entia$ Team eNotebook* +a,e ; Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> Software Requirements Specification 1. !ntroduction "urpose T2is SRS )escribes t2e software functiona$ an) nonfunctiona$ requirements for re$ease 1.0 of t2e (o$$aborati%e eNotebook S/stem. T2is )ocument is inten)e) to be use) b/ t2e members of t2e pro?ect team t2at wi$$ imp$ement an) %erif/ t2e correct functionin, of t2e s/stem. 1n$ess ot2erwise note)* a$$ requirements specifie) 2ere are of 2i,2 priorit/ an) committe) for re$ease 1.0. Scope T2e (o$$aborati%e eNotebook Testbe) a$$ows for t2e co$$aboration* s2arin,* an) $ocatin, of mu$tip$e t/pes of information in or)er to impro%e t2e efficienc/ in w2ic2 stu)ents $earn. . )etai$e) pro?ect )escription is a%ai$ab$e in t2e eNotebook Vision and Scope Document @!A. T2e section in t2at )ocument tit$e) B+ro)uct 'eaturesC $ists t2e features t2at are sc2e)u$e) for fu$$ or partia$ imp$ementation in t2is re$ease. #efinitions$ %cronms$ and %bbreviations +$ease refer to t2e eNotebook SRS D,$ossar/E for a$$ terms* acron/ms* an) abbre%iations re$atin, to t2is software requirements specification References 1. Dub$in(ore.or, !. eNotebook* Team. eNotebook Vision an) Scope Document :. eNotebook* Team. eNotebook SRS DsubF&8S'E Specification ;. eNotebook* Team. eNotebook SRS DsubF&S(.'E Specification ". eNotebook* Team. eNotebook SRS DsubF&+(0'E Specification =. eNotebook* Team. eNotebook SRS DsubF&SS'E Specification 3. eNotebook* Team. eNotebook SRS DsubFTGE Specification . <awker* Dr. H. Scott. . Vision of (o$$aboration an) (ooperati%e Iearnin, usin, Virtua$ eNotebooks. 2ttp://m/courses.rit.e)u. 7. <awker* Dr. H. Scott. T2e (o$$aborati%e eNotebook: a (o$$aborati%e Iearnin, an) &now$e),e 8ana,ement Testbe). 2ttp://m/courses.rit.e)u. 10. www.0pen.rc2i%es.com 11. www.section"0.,o% 1!. www.w:.or,/R'D/ &verview T2is SRS )ocument )escribes t2e softwareJs functiona$ an) nonfunctiona$ requirements for re$ease 1.0 of t2e (o$$aborati%e eNotebook Testbe). .n o%era$$ )escription of t2e s/stem is pro%i)e)* inc$u)in, a pro)uct perspecti%e* user c$asses an) c2aracteristics* constraints* an) assumptions an) )epen)encies. -n a))ition* t2is )ocument )escribes e5terna$ interface requirements an) pro%i)es support information for t2e entire s/stem* inc$u)in, a ,enera$ c$ass )ia,ram* o%er%iew of useFcases present in t2e s/stem* an) ,$ossar/ of terms. (onfi)entia$ Team eNotebook* +a,e " Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> -n con?unction wit2 t2is SRS )ocument* " sub feature SRS )ocuments are use) to furt2er )escribe t2e features of t2e s/stem wit2 t2e uti$i6ation of useFcases. T2ese sub feature specifications are sp$it up b/ t2e fi%e ma?or features of t2e eNotebook pro?ect. 1. &now$e),e +resentation* (reation* 0r,ani6ation 'eatures !. &now$e),e Searc2 an) Subscribe 'eatures :. &now$e),e S2arin,* (o$$aboration an) .ccess (ontro$ 'eatures ;. &now$e),e 8o)e$in, an) Stora,e 'eatures ". S/stem 1sabi$it/ Testbe) 'eatures -n a))ition to t2ese sub feature specifications* %arious useFcase rea$i6ations Dana$/sis mo)e$sE 2a%e been pro%i)e) to furt2er e5p$ain features an) interactions between components of t2e s/stem. '. &verall #escription "roduct "erspective R-TJs (o$$aborati%e eNotebook pro?ect is )esi,ne) to pro%i)e a co$$aborati%e $earnin, too$ t2at inte,rates e5istin, tec2no$o,ies for persona$ an) s2are) )i,ita$ $ibraries* a)%ance) meta)ataF)ri%en searc2* an) peerFtoFpeer fi$e s2arin,. .$t2ou,2 some s/stems* suc2 as m/(ourses* 2a%e been )e%e$ope) in or)er to 2e$p faci$itate $earnin, an) s2arin, of information* t2e/ )o not come c$ose to ,raspin, t2e concept of a comp$ete co$$aborati%e $earnin, too$ t2at 2o$)s persona$ an) s2are) artifacts. T2e eNotebook s/stem wi$$ initia$$/ be )e%e$ope) for stu)ents enro$$e) in t2e Software 4n,ineerin, un)er,ra)uate pro,ram at R-T. T2is app$ication wi$$ focus on pro%i)in, an e5perimenta$ testFbe) an) proofFofFconcept* rat2er t2an a )ep$o/e) pro)uct. Gase) on a /ear or two of e5perience wit2 t2e testFbe) an) incrementa$ impro%ement* fu$$Fsca$e )e%e$opment of a pro)uctionFwort2/ pro)uct ma/ procee)* fo$$owe) b/ t2e )ep$o/ment an) commercia$i6ation of an eNotebook app$ication w2ic2 cou$) be use) b/ co$$e,es an) uni%ersities aroun) t2e wor$). T2e eNotebook pro?ect is an in)epen)ent pro?ect t2at incorporates a wi)e ran,e of a$rea)/ e5istin, powerfu$ components. . )etai$e) )escription of t2e tec2no$o,ies bein, inte,rate) into t2e pro?ect are containe) wit2in t2e eNotebook Vision and Scope Document @!A un)er t2e B+ro)uct +erspecti%eC section. (ser Classes and Characteristics User Class Description Stu)ent Stu)ents comprise t2e $ar,est proportion of users of t2e s/stem. T2eir primar/ ,oa$ is to %iew resources s2are) b/ ot2ers. T2e/ are a$so e5pecte) to create artifacts an) to use eNotebook to or,ani6e course materia$ bot2 current an) o$). Stu)ents co$$aborate wit2 facu$t/ an) ot2er stu)ents.. 'acu$t/ 'acu$t/ comprise of t2e secon) $ar,est proportion of users of t2e s/stem. T2eir primar/ ,oa$ is to create new artifacts an) to s2are t2e resources wit2 stu)ents. 'acu$t/ are e5pecte) to a$so %iew artifacts pub$is2e) b/ stu)ents* ot2er facu$t/* an) users outsi)e of t2e sc2oo$. . .)min .)ministrators of t2e s/stem are e5pecte) to primari$/ $o, an) possib$/ miti,ate comp$ications foun) in t2e eNotebook s/stem. Researc2er Researc2ers of t2e s/stem are e5pecte) to ,at2er an) recor) usa,e )ata of t2e s/stem for t2e purpose of ai)in, eNotebook co$$aboration researc2. (onfi)entia$ Team eNotebook* +a,e = Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> Constraints Design Constraints D(F1. T2e c$ient component of t2e s/stem nee)s to be accessib$e on mu$tip$e p$atforms an) from remote $ocations. D(F!. T2e set of iterations of eNotebook are inten)e) to be researc2 base). T2erefore )esi,n s2a$$ be inf$uence) b/ researc2 nee)s an) obtainin, usa,e statistics. D(F:. T2e )esi,n s2ou$) not assume a sin,$e repositor/ for stora,e* but use peer to peer an) )istribute) computin, as necessar/. External Constraints 4(F1. T2e s/stem an) its performance is current$/ $imite) b/ a%ai$ab$e protot/pe ser%er 2ar)ware specifications. 4(F!. NS' requires t2at t2e s/stem is abstract enou,2 to be easi$/ mo$)e) into )ifferent aca)emic an) professiona$ en%ironments. 4(F:. Stan)ar)s suc2 as Dub$in (ore 8eta)ata s2a$$ constrain an) ,ui)e eNotebook )ata. %ssumptions and #ependencies .SF1. 1sers .S.1.a. (ontent is a%ai$ab$e an) pro%i)e) b/ ot2er users. .S.1.b. 1sers submit meta)ata wit2 artifacts .S.1.c. 1sers fee$ comfortab$e postin, an) annotatin, )ocuments .S.1.). 1sers want to s2are t2eir information an) co$$aborate .S.1.e. 1sers wi$$ be %i,i$ant in monitorin, t2eir )ocuments an) ot2ers t2at t2e/ are contributin, to* in or)er to make sure t2e/ remain we$$Ffoun)e). .SF!. +rofessors .S.!.a. +rofessors wi$$ mi,rate c$ass artifacts to t2e s/stem .S.!.b. +rofessors wi$$ acti%e$/ promote an) use t2e s/stem for a$$ c$asses. .SF:. De%e$opers .S.:.a. T2e requirements are met* an) c$ear$/ )efine). .S.:.b. T2e stake2o$)ers are a%ai$ab$e for c$arification an) questions. .S.:.c. Tec2no$o,/ stan)ar)s for t2e s/stem )o not )rastica$$/ c2an,e. .SF;. S4 Department .S.;.a. Stu)ents make effecti%e use of t2e s/stem. .S.;.b. Teac2ers make effecti%e use of t2e s/stem. .S.;.c. T2e s/stem en2ances t2e $earnin, e5perience. D4F1. Software )e%e$opment base) on open source tec2no$o,/ t2at is rea)i$/ a%ai$ab$e D4F!. -nstitutionKs S/stems D4.!.a. Stu)ent -nformation S/stem D4.!.b. R-T Director/ D4F:. (urrent stan)ar)s D4.:.a. L8I D4.:.b. Dub$in (ore D4.:.c. 0.-F+8< (onfi)entia$ Team eNotebook* +a,e 3 Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> D4.:.). RD' Sstem )eatures *nowled+e$ "resentation$ Creation$ &r+ani,ation )eature Description and Priority T2e requirements for t2is feature set )escribe 2ow t2e s/stem pro%i)es an) contro$s presentation* creation* an) or,ani6ation t2rou,2out t2e eNotebook Testbe) .pp$ication. T2e s/stemJs users are ,i%en a workspace from w2ic2 a$$ of t2eir communication wit2 t2e s/stem wi$$ take p$ace. T2is workspace acts in man/ wa/s as a M%irtua$ )eskJ* a$$owin, for t2e or,ani6ation of artifacts as we$$ as a persona$ ,$ossar/ in w2ic2 users can a))* )e$ete an) mo)if/ %a$uab$e terms. T2e workspace wi$$ a$so users t2e abi$it/ to pub$is2 artifacts to t2e s/stem* at w2ic2 time t2e )ocuments are marke) wit2 meta)ata to a$$ow for $ater searc2in, an) sortin,. Stimulus/Response Sequences Stimu$us: . user wants to pub$is2 Dup$oa)E a )ocument to t2e s/stem Response: T2e s/stem creates an artifact wit2 specifie) meta)ata an) a))s it to t2e s/stem. Stimu$us: . user )efines a new term in t2eir persona$ ,$ossar/ Response: T2e userJs persona$ ,$ossar/ is up)ate)* an) p$aces $inks to ot2er peop$eJs )efinition of t2e term Stimu$us: . user wants to or,ani6e t2e %arious artifacts t2e/ are current$/ $ookin, at Response: T2e userJs workspace a$$ows t2e user to or,ani6e t2e information 2e/s2e is current$/ $ookin, at. Functional Requirements .rtifact.+ub$is2 T2e s/stem s2a$$ a$$ow users to pub$is2 artifacts .rtifact.+ub$is2..ssociate)Terms T2e s/stem s2a$$ a$$ow artifacts to be associate) wit2 one or more sets of ta5onomic terms. .rtifact.+ub$is2.>enerateTa5onomies T2e s/stem s2a$$ ,enerate su,,este) ta5onomies base) on artifact ana$/sis. .rtifact.+ub$is2.-n)e5 T2e s/stem s2a$$ a$$ow artifact content to be automatica$$/ in)e5e) usin, conte5tua$ terms. .rtifact.+ub$is2.8eta)ata T2e s/stem s2a$$ 2a%e stan)ar) meta)ata fie$)s t2at wi$$ be associate) wit2 artifacts w2en artifacts are pub$is2e). .rtifact.+ub$is2.8eta)ata..utofi$$ T2e s/stem wi$$ attempt to fi$$ in a$$ unspecifie) meta)ata fie$)s from an ana$/sis of artifact content. .rtifact.+ub$is2.8eta)ata.Ta,,in,Stan )ar)s T2e s/stem s2a$$ a)2ere to uni%ersa$ ta,,in, stan)ar)s for meta)ata. .rtifact.+ub$is2.Securit/ T2e s/stem s2a$$ pub$is2 artifacts b/ up$oa)in, fi$es t2rou,2 a secure fi$e s/stem. .rtifact.+ub$is2.Stora,e T2e s/stem s2a$$ 2a%e persiste) artifact stora,e. .rtifact.+ub$is2.Nor)Gase)-n)e5 T2e s/stem s2a$$ perform a wor)Fbase in)e5in, of a$$ artifact content. NorkSpace T2e s/stemJs users s2a$$ be pro%i)e) a work space for maintainin, )esire) artifacts. Norkspace.45port.rtifact T2e userJs workspace s2a$$ a$$ow users to se$ect mu$tip$e artifacts to be retrie%e) to a $oca$ fi$e s/stem. Norkspace.>$ossar/ T2e userJs workspace s2a$$ pro%i)e a ,$ossar/ w2ic2 associates wor) meanin,s. Norkspace.>$ossar/.(ommunit/ T2e s/stem s2a$$ a$$ow for communit/ stan)ar) ,$ossaries to be create) for re$atab$e terms. Norkspace.>$ossar/.(ommunit/.View T2e s/stem s2a$$ a$$ow a$$ users to %iew communit/ ,$ossaries. (onfi)entia$ Team eNotebook* +a,e Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> Norkspace.>$ossar/.+ersona$ T2e userJs workspace s2a$$ pro%i)e a persona$ ,$ossar/ w2ic2 wi$$ automatica$$/ $ink to a$ternati%e meanin,s. Norkspace.>$ossar/.+ersona$..)) T2e userJs workspace s2a$$ a$$ow t2e user to a)) terms to 2is/2er persona$ ,$ossar/. Norkspace.>$ossar/.+ersona$.4)it T2e userJs workspace s2a$$ a$$ow t2e user to e)it terms to 2is/2er persona$ ,$ossar/. Norkspace.>$ossar/.+ersona$.Remo%e T2e userJs workspace s2a$$ a$$ow t2e user to remo%e terms to 2is/2er persona$ ,$ossar/. Norkspace.>$ossar/.Searc2.n)Sort T2e userJs workspace s2a$$ a$$ow ,$ossar/ terms to be searc2e) for an) sorte) b/ app$ication )omains. Norkspace.8aintain(urrent T2e userJs workspace s2a$$ maintain persona$ artifacts current$/ bein, )e%e$ope). Norkspace.0r,ani6ation T2e userJs workspace s2a$$ a$$ow for mu$tiFmo)a$ or,ani6ation of information. NorkSpace.Track.rtifact T2e userJs workspace s2a$$ track )esire) )ocument annotations. Norkspace.View<istor/ T2e userJs workspace s2a$$ a$$ow for %iewin, past 2istor/ of artifacts searc2es an) pub$ications. Norkspace.ViewRequests T2e userJs workspace s2a$$ a$$ow for %iewin, requests for artifact annotations an) co$$aborations. *nowled+e Search and Subscribe )eatures Description and Priority: T2e eNotebook s/stem wi$$ pro%i)e wa/s for its users to searc2 artifact repositories base) on %ar/in, criteria. Searc2es remain acti%e e%en after t2e user 2as )ismisse) t2e resu$ts. 1sers can a$so subscribe to searc2es or in)i%i)ua$ artifacts a$$owin, t2em to recei%e up)ates an) notifications. +riorit/ O <i,2. Stimulus/Response Sequences Stimu$us: . user searc2es for an artifact base) on some criteria. Response: T2e s/stem presents t2e user wit2 matc2in, artifacts. Stimu$us: . user c2ooses to recei%e new resu$ts matc2in, t2eir searc2 in t2e future. Response: T2e s/stem uses a searc2 a,ent to notif/ t2e user of future matc2es. Stimu$us: . user subscribes to recei%e notifications of up)ates to an artifact artifact or conte5t of artifacts Response: T2e s/stem notifies t2e user of annotations an) a))itions. Stimu$us: . user subscribes to retrie%e up)ates to an artifact or conte5t of artifacts Response: T2e s/stem automatica$$/ retrie%es up)ates wit2in t2e subscription. Functional Requirements .rtifact.Searc2 T2e S/stem s2a$$ a$$ow users to searc2 for artifacts .rtifact.Searc2..,ents T2e s/stem s2a$$ pro%i)e searc2 a,ents for retroacti%e searc2in, .rtifact.Searc2..,ents.Notification T2e s/stem s2a$$ pro%i)e notifications to users upon artifact pub$ication an) artifact mo)ification w2en matc2e) to user searc2 a,ents .rtifact.Searc2.(ontent T2e s/stem s2a$$ pro%i)e artifact searc2in, base) on artifact content .rtifact.Searc2.8eta)ata T2e s/stem s2a$$ pro%i)e artifact searc2in, base) on meta)ata .rtifact.Searc2.&e/wor) T2e s/stem s2a$$ pro%i)e artifact searc2in, base) on ke/wor) .rtifact.Subscribe T2e s/stem s2a$$ pro%i)e subscription ser%ices .rtifact.Subscribe.(ontent T2e s/stem s2a$$ pro%i)e subscriptions base) on artifact content .rtifact.Subscribe.8eta)ata T2e s/stem s2a$$ pro%i)e subscriptions base) on artifact meta)ata .rtifact Subscribe.&e/wor) T2e s/stem s2a$$ pro%i)e subscriptions base) on ke/wor) (onfi)entia$ Team eNotebook* +a,e 7 Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> .rtifact.Subscribe.Notification T2e s/stem s2a$$ notif/ subscribin, users of artifact a))itions an)/or annotations .rtifact.Subscribe.Retrie%a$ T2e s/stem s2a$$ automatica$$/ up)ate subscription base) artifact a))itions an)/or annotations wit2in a userKs workspace .rtifact.Subscribe.Semantc T2e s/stem s2a$$ pro%i)e subscriptions base) on ke/wor) matc2in, *nowled+e Sharin+$ Collaboration and %ccess Control )eatures Description and Priority: T2e requirements for t2is feature set )escribe 2ow t2e s/stem pro%i)es an) contro$s s2arin,* co$$aboration* an) access ri,2ts. .$$ users are aut2enticate) prior to usin, t2e s/stem. T2e/ are a$so assi,ne) a user ro$e. 1ser ro$es are use) to perform aut2ori6ation for certain tasks wit2in t2e s/stem. T2e userKs aut2entication is a$so use) b/ t2e s/stem to )iscern aut2ori6ation ri,2ts for specific operation. S/stem .)ministrators 2a%e t2e abi$it/ to mana,e user an) user ro$es. Stimulus/Response Sequences Stimu$us: . user attempts to ,ain access to t2e s/stem. Response: T2e s/stem aut2enticates t2e user.
Stimu$us: . user attempts to %iew or annotate an artifact. Response: T2e s/stem %erifies t2e userKs aut2ori6ation in re$ation to t2e artifact an) operation. Stimu$us: . s/stem a)ministrator a))s or )e$etes a user. Response: T2e user is remo%e) from t2e s/stem. Functional Requirements .ccess..ut2entication T2e s/stem s2a$$ require user aut2entication prior to ,rantin, access to t2e s/stem .ccess..ut2ori6ation T2e s/stem s2a$$ require user aut2ori6ation for e%er/ operation performe) on t2e s/stem. .ccess..ut2ori6ation..nnotation T2e s/stem s2a$$ require user aut2ori6ation before a$$owin, a user to %iew or annotate an artifact. .ccess..ut2ori6ation..nnotation.(omm ent T2e s/stem s2a$$ a$$ow a$$ users aut2ori6e) to %iew an artifact to submit comment annotations for t2at artifact. .ccess..ut2ori6ation..nnotation.8o)ifi cation T2e s/stem s2a$$ $imit mo)ification annotation for artifacts to aut2ori6e) users. .ccess..ut2ori6ation..nnotation.8o)ifi cation.Den/(2an,es T2e s/stem s2a$$ a$$ow an artifactKs owner to )en/ artifact mo)ification annotations. .ccess..ut2ori6ation.>rant.ccess T2e s/stem s2a$$ pro%i)e users wit2 t2e abi$it/ to ,rant unpri%i$e,e) users timeFsensiti%e access to owne) artifacts. .ccess..ut2ori6ation.Request.ccess T2e s/stem s2a$$ pro%i)e a wa/ for users to request timeFsensiti%e access ri,2ts to artifacts t2at t2e/ )o not a$rea)/ 2a%e access to. .ccess..ut2tori6ation..nnotation.8o)if ication..ccept(2an,es T2e s/stem s2a$$ a$$ow an artifactKs owner to accept artifact mo)ification annotations. .ccess.1serRo$es T2e s/stem s2a$$ assi,n eac2 user a specific ro$e to be use) for )eterminin, access ri,2ts an) artifact contro$. .ccess.1serRo$es..ccount8ana,ement T2e s/stem s2a$$ pro%i)e user account mana,ement abi$ities to s/stem a)ministrators. .ccess.1serRo$es..ccount8ana,ement. .))1ser T2e s/stem s2a$$ pro%i)e s/stem a)ministrators t2e abi$it/ to a)) new users to t2e s/stem un)er a specific user ro$e. .ccess.1serRo$es..ccount8ana,ement. De$ete1ser T2e s/stem s2a$$ pro%i)e s/stem a)ministrators t2e abi$it/ to )e$ete e5istin, users from t2e s/stem. (onfi)entia$ Team eNotebook* +a,e 10 Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> .ccess.1serRo$es..)ministrator.De$ete .rtifact T2e s/stem s2a$$ pro%i)e a wa/ for s/stem a)ministrators to )e$ete artifacts. *nowled+e -odelin+ and Stora+e )eatures Description and Priority T2e requirements in t2is section refer 2ow artifacts can c2an,e o%er time an) w2at pro%isions eNotebook pro%i)es to track* e5port* an) backup )ifferent artifact %ersions. .n artifact 2as an ori,ina$ %ersion from w2ic2 an/ number of annotation c2ains can be,in w2ere users are c2an,in, c2an,es t2at a$$ $ink back to one %ersion. T2ese c2an,es can be encapsu$ate) an) mer,e) to a new BcurrentC %ersion. T2is a$$ows artifacts to constant$/ c2an,e an) users to know if t2e/ are workin, wit2 an appro%e) %ersion or not. 1sers can a$so take an/ ,roupin, of artifactsP base) on searc2 resu$ts* meta)ata simi$arities* semantic meanin,s* owne) or aut2ore)* an) e5port t2em $oca$$/ to create a portfo$io of simi$ar works. Stimulus/Response Sequences Stimu$us: . user c2an,es an artifact Response: T2e s/stem notifies t2e aut2or* creates t2e annotation* an) makes it %isib$e for users %iewin, t2at artifact Stimu$us: . user wants to incorporate annotations into t2e ne5t ,eneration of an artifact Response: T2e s/stem tracks an) mer,es t2e accepte) c2an,es an) now pro%i)es t2em as t2e most current stab$e %ersion of t2at artifact Stimu$us: . user wants to create a compresse) fi$e of a$$ SRS )ocumentation Response: T2e s/stem takes a$$ resu$ts t2at are semantica$$/ $inke) to t2e p2rase SRS an) e5ports t2em to a $oca$ compresse) fi$e Stimu$us: . user wants to backup a$$ t2e artifacts t2e/ 2a%e contribute) to as a portfo$io/resume Response: T2e s/stem takes a$$ resu$ts t2at a user 2as contribute) to an) e5ports t2em to a $oca$ compresse) fi$e Functional Requirements .rtifact..nnotation T2e s/stem s2a$$ a$$ow e)itin, artifact b/ usin, annotations to t2e ori,ina$ artifact .rtifact..nnotation.(omment T2e s/stem s2a$$ pro%i)e t2e abi$it/ to comment on artifacts usin, annotations to t2e ori,ina$ artifact Dsee 'eature: .rtifact..nnotation..ut2ori6e.(ommentE .rtifact..nnotation.8o)ification T2e s/stem s2a$$ pro%i)e t2e abi$it/ to mo)if/ artifacts b/ creatin, annotations to t2e ori,ina$ artifact t2at incorporate t2e c2an,es .rtifact..nnotation.View T2e s/stem s2a$$ a$$ow %iewin, of t2e annotations ma)e to artifacts .rtifact..nnotation.View.8eta)ata T2e s/stem s2a$$ a$$ow %iewin, of t2e meta)ata associate) wit2 annotations ma)e to artifacts .rtifact.8eta)ata..nnotation T2e s/stem s2a$$ pro%i)e t2e abi$it/ to annotate t2e artifact meta)ata in t2e same fas2ion as an annotation to an artifact S/stem.Io,.cti%it/ T2e s/stem s2a$$ $o, user acti%it/ suc2 as usa,e statistics an) 2abits S/stem.Io,.cti%it/..rtifacts T2e s/stem s2a$$ track artifacts t2rou,2 t2eir $ifec/c$e an) pro%i)e an o%er%iew of t2e artifactJs pro,ression S/stem.Io,.cti%it/.1serNorkspace T2e s/stem s2a$$ $o, t2e in)i%i)ua$ usersK workspace acti%it/ .rtifact.Versionin, T2e s/stem s2a$$ a$$ow t2e %ersionin, of artifacts .rtifact.Versionin,.(urrentVersion T2e s/stem s2a$$ maintain a current %ersion of eac2 artifact w2ic2 2as t2e artifact wit2 its most recent accepte) c2an,es (onfi)entia$ Team eNotebook* +a,e 11 Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> .rtifact.Versionin,.0t2erVersion T2e s/stem s2a$$ maintain a$$ annotations ma)e an) w2at %ersion t2e/ are annotations to. .rtifact.Versionin,..nnotations T2e s/stem wi$$ notif/ t2e artifact owner of annotations ma)e. .rtifact.Versionin,.RestoreVersion T2e s/stem s2a$$ a$$ow users to c2eck out o$) %ersions of artifacts .rtifact.Versionin,.8er,e T2e s/stem s2a$$ a$$ows users w2o 2as proper artifact ri,2ts to mer,e annotations as t2e current %ersion .rtifact.45port T2e s/stem s2a$$ a$$ow users to e5port artifacts .rtifact.45port..rtifact T2e s/stem s2a$$ a$$ow artifacts to be e5porte) to a $oca$ fi$e s/stem .rtifact.45port.Norkspace T2e s/stem s2a$$ a$$ow users to packa,eDin a compresse) formatE an) e5port t2eir workspace snaps2ot to a $oca$ fi$e s/stem .rtifact.45port.Searc2Resu$ts T2e s/stem s2a$$ a$$ow users to packa,eDin a compresse) formatE an) e5port searc2 resu$ts to a $oca$ fi$e s/stem .rtifact.45port.Iinke).rtifacts T2e s/stem s2a$$ a$$ow users to packa,eDin a compresse) formatE an) e5port a$$ artifacts )irect$/ $inke) to a ,i%en conte5tDsemantic ke/wor)E to a $oca$ fi$e s/stem .rtifact.45port.Se$ecte)Documents T2e s/stem s2a$$ a$$ows users to packa,eDin a compresse) formatE an) e5port an/ arbitrar/ ,roupin, of artifacts to a $oca$ fi$e s/stem .rtifact.Gackup T2e s/stem s2a$$ a$$ow for persiste) artifact rep$ication across one or more fi$e s/stems .rtifact.Gackup.+ersist T2e/ s/stem s2a$$ a$$ow an/ artifact importe) into t2e eNotebook s/stem to be store) persistent$/ an) 2a%e ,uarantee) a%ai$abi$it/ to a$$ pri%i$e,e) users Testbed )eatures Description and Priority T2is section )escribes a$$ features an) functiona$it/ re$atin, to t2e embe))e) testbe) features. Researc2ers are a specia$ c$ass of user w2ose ,oa$ is to en2ance an) ,at2er %iab$e )ata from t2e s/stem t2rou,2 t2e use of e5periments* an) t2e ana$/sis of t2ose resu$ts. 'eatures* functiona$it/ an) usabi$it/ are teste) an) e5periments pro%i)e fee)back to t2e researc2er* w2ic2 is t2en fe) back into t2e s/stem %ia )esi,n c2an,es. 45periments are a$so performe) in or)er to obtain user be2a%iora$ )ata. T2is )ocument co%ers usa,e of 2ow a researc2er ,at2ers suc2 )ata t2rou,2 e5periments* an) a$so 2ow a participant interacts in t2e conte5t of suc2 an e5periment. Stimulus/Response Sequences Stimu$us: . researc2er confi,ures an e5periment Response: T2e s/stem sa%es t2e confi,ure) e5periment in a state t2at is rea)/ to be run w2en t2e researc2er wis2es to )o so. Stimu$us: . researc2er runs an e5periment. Response: T2e s/stem notifies a$$ in%o$%e) participants if necessar/* an) t2en procee)s to co$$ect t2e )ata specifie) b/ t2e e5periment for t2e specifie) time span. Stimu$us: .n e5periment en)s Response: T2e s/stem takes a,,re,ate )ata an) formats it in manner t2at is accessib$e b/ t2e researc2er. Stimu$us: . researc2er wis2es to e5port e5periment resu$ts Response: T2e s/stem manipu$ates e5periment )ata into a uniform an) consistent format w2ic2 ma/ be use) outsi)e of t2e eNotebook s/stem. (onfi)entia$ Team eNotebook* +a,e 1! Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> Functional Requirements 45periment (onfi,uration T2e s/stem s2a$$ a$$ow a researc2er to create e5periment temp$ates. T2e s/stem s2a$$ a$$ow a researc2er to specif/ w2at )ata is to be co$$ecte) for a ,i%en e5periment T2e s/stem s2a$$ a$so a$$ow t2e researc2er to specif/ w2at t/pes of user wi$$ be e5amine) 45periment 45ecution .n e5periment temp$ate ma/ be confi,ure) b/ t2e researc2er to run an e5periment. T2e s/stem s2a$$ a$$ow t2e researc2er to specif/ a timespan )urin, w2ic2 to run t2e e5periment. 45periment .na$/sis T2e s/stem s2a$$ pro%i)e a means for t2e researc2er to %iew an) e5port resu$tant e5periment )ata in a usab$e format. 1ser +rofi$e (reation T2e s/stem s2a$$ a$$ow a means for e%er/ user to maintain a profi$e of information. T2is profi$e wi$$ pro%i)e criteria for an e5periment to se$ect users base) on a,,re,ate information from t2e user profi$es. 45periment participant acceptance T2e s/stem s2a$$ a$$ow a user to in)icate w2et2er or not t2e/ wis2 to participate in an e5periment. &ther "roduct Requirements #ocumentation Requirements Documentation requirements are outside the scope of this document. Safet Requirements Safety requirements are outside of the scope of this document. Software .ualit %ttribute Requirements Availability N'RF1. S/stem s2a$$ be at $east 77.7"Q a%ai$ab$e on week)a/s D8F'E from ":00 a.m. to 1:00 a.m. $oca$ time. N'RF!. S/stem s2a$$ be at $east 77Q a%ai$ab$e on weeken)s from :00 a.m. to 10 p.m. $oca$ time. Reliability N'RF:. T2e Re$iabi$it/ Requirements for t2e s/stem are out of t2e scope of t2e researc2 testbe). Ne cou$) state i)ea$ re$iabi$it/ requirements but t2e/ wou$) rea$$/ 2o$) no merit. T2e ,oa$ of t2e s/stem at t2is point is to pro%e t2e concept an) researc2 itKs feasibi$it/ an) app$ication. Perormance [The systems performance characteristics are outlined in this section. Include specific response times. Where applicable, reference related se !ases by name. "esponse time for a transaction #a$era%e, ma&imum' Throu%hput, for e&le, transactions per second !apacity, for e&le, the number of customers or transactions the system can accommodate (onfi)entia$ Team eNotebook* +a,e 1: Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> De%radation modes #(hat is the acceptable mode of operation (hen the system has been de%raded in some manner' "esource utili)ation, such as memory, disk, communications, and so forth. N'RF;. Network fai$ures s2a$$ not affect performance N'RF". Varie) response times Dtime nee)e) to s2ow t2e user t2at pro,ram is processin, E N'RF".a. 8inimum responses times wi$$ be specifie) in t2e SRS )ocumentation N'RF=. S/stem s2a$$ support up to a ma5imum number of concurrent users in initia$ increments wit2out response time pena$ties. N'RF=.a. T2e ma5imum number of concurrent users s2a$$ be specifie) in t2e SRS )ocumentation N'RF=.b. T2is number s2a$$ be increase) in future re$eases. N'RF3. S/stem s2a$$ support up to a ma5imum number of transactions per secon) wit2out a response time pena$t/ Dor compromise) )ata inte,rit/E* w2ere transactions are )efine) as pu$$in, or pus2in, )ata to t2e ser%er. N'RF3.a. T2e ma5imum number of transactions per secon) s2a$$ be specifie) in t2e SRS )ocumentation N'RF3.a.i. T2is number s2a$$ be sca$e) base) on t2e ma5imum number of concurrent users. Security N'RF. T2e s/stem s2a$$ aut2enticate users N'RF.a. .ut2entication s2a$$ occur at startup an) accessin, f$a,,e) sensiti%e )ocuments. N'RF7. T2e s/stem s2a$$ transfer )ata secure$/ %ia encr/ption. !nteroperability N'RF10. T2e s/stem s2a$$ be ab$e to parse mo)ern artifact stan)ar)s N'RF11. Stan)ar)s inc$u)e: 8icrosoft 0ffice .rtifacts an) 0pen0ffice .rtifacts "aintainability N'RF1!. . interme)iate D(o$$e,e Ie%e$E pro,rammer s2a$$ be ab$e to ?oin a %eteran )e%e$opment team after t2ree mont2s of apprenticin,. N'RF1:. 8c(abe (/c$omatic (omp$e5it/ of a mo)u$e s2a$$ not e5cee) !0 #sability [This section includes all those re*uirements that affect usability. +or e&le, specify the re*uired trainin% time for a normal users and a po(er user to become producti$e at particular operations specify measurable task times for typical tasks or base the ne( systems usability re*uirements on other systems that the users kno( and like (onfi)entia$ Team eNotebook* +a,e 1; Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> specify re*uirement to conform to common usability standards, such as I,-s !. standards -icrosofts /I standards0 N'RF1;. (omp$iant wit2 bot2 ,o%ernment an) in)ustr/ stan)ar)s N'RF1;.a. "0 (omp$iance: 4$ectronic an) -nformation Tec2no$o,/ D4-TE s2a$$ be accessib$e to t2ose wit2 )isabi$ities. !nterface Requirements [This section defines the interfaces that must be supported by the application. It should contain ade*uate specificity, protocols, ports and lo%ical addresses, and the like, so that the soft(are can be de$eloped and $erified a%ainst the interface re*uirements.0 #ser !nteraces .S.;.). T2e s/stem s2a$$ pro%i)e )ifferent t/pes of user interfaces. .S ;.).i. T2in ($ient # users s2a$$ 2a%e t2e abi$it/ to access t2e eNotebook s/stem from man/ p$atforms an) $ocations wit2out t2e nee) to insta$$ software $oca$$/. T2e abi$ities of t2e t2in c$ient ma/be restricte) in t2e fo$$owin, wa/s: 1. Re$iance on s/stem e)itors to %iew an) annotate artifacts .S ;.).ii. Ric2 ($ient # users accessin, t2e s/stem from a consistent $ocation wi$$ want a more robust interface. T2is ric2 c$ient s2a$$ pro%i)e t2e fu$$ feature set to t2e user. [Describe the user interfaces that are to be implemented by the soft(are.0 $ard%are !nteraces 1. T2e software )oes not support an/ specific 2ar)ware interfaces. [This section defines any hard(are interfaces that are to be supported by the soft(are, includin% lo%ical structure, physical addresses, e&pected beha$ior, and so on.0 Sot%are !nteraces 1. T2e S/stem s2a$$ use t2e Hakarta Iucene Searc2 4n,ine. !. T2e S/stem s2a$$ use %arious (ontent aut2orin, an) %iewin, too$s as t2e/ are nee)e) an)/or a%ai$ab$e. 1. 8S 0ffice !. 0pen0ffice :. Dreamwea%er ;. .)obe .crobat Rea)er ". 8o6i$$a 'ire'o5 =. -nternet 45p$orer 3. 0t2er Defau$t S/stem 4)itors :. T2e s/stem s2a$$ make use of Subscription an) Searc2 .,ents suc2 as RSS fee)s an) L8I base) webF ser%ices DS0.+* NSDIE. ;. T2e s/stem s2a$$ make use of +eerFtoF+eer ser%ices suc2 as HLT.. ". T2e s/stem s2a$$ make use of <TT+ an) <TT+S protoco$s as nee)e) for pub$is2in, an) transfer. =. T2e s/stem s2a$$ make use of )istribute) computin, stan)ar)s suc2 as (0RG. an) R8-. 3. T2e s/stem s2a$$ make use of %arious networkin, protoco$s suc2 as T(+/-+ an) 1D+. . T2e s/stem s2a$$ make use of )atabase tec2no$o,ies an) S9I for user information* backup* an) $i%e stora,e as necessar/. (onfi)entia$ Team eNotebook* +a,e 1" Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> [This section describes soft(are interfaces to other components of the soft(are system. These may be purchased components, components reused from another application or components bein% de$eloped for subsystems outside of the scope of this SRS but (ith (hich this soft(are application must interact.0 Communications !nteraces (ommunication -nterfaces are )escribe) in section ;.;.: BSoftware -nterfacesC [Describe any communications interfaces to other systems or de$ices such as local area net(orks, remote serial de$ices, and so forth.0 Supportin+ !nformation Sub )eature Specifications " sub feature SRS )ocuments are use) to furt2er )escribe t2e features of t2e s/stem wit2 t2e uti$i6ation of useFcases. T2ese sub feature specifications are sp$it up b/ t2e fi%e ma?or features of t2e eNotebook pro?ect. &no%ledge Presentation' Creation' and (rgani)ation Features Speciications . )etai$e) )escription of t2ese specifications is containe) wit2in t2e eNotebook S"S #12!3+' [40 &no%ledge Searc* and Subscribe Features Speciications . )etai$e) )escription of t2ese specifications is containe) wit2in t2e eNotebook S"S #1SS+' [50 &no%ledge S*aring' Collaboration and Access Control Features Speciications . )etai$e) )escription of t2ese specifications is containe) wit2in t2e eNotebook S"S #1S!.!' [60 &no%ledge "odeling and Storage Features Speciications . )etai$e) )escription of t2ese specifications is containe) wit2in t2e eNotebook S"S #1-S+' [70 System #sability +estbed Features Speciications . )etai$e) )escription of t2ese specifications is containe) wit2in t2e eNotebook S"S #T,' [80 %nalsis -odels -n a))ition to sub feature specifications* %arious useFcase rea$i6ations Dana$/sis mo)e$sE 2a%e been pro%i)e) to furt2er e5p$ain features an) interactions between components of t2e s/stem. T2ese ana$/sis mo)e$s 2a%e eac2 been cate,ori6e) un)er t2e ma?or feature of t2e eNotebook pro?ect t2at t2e/ re$ate to. &no%ledge Presentation' Creation' and (rgani)ation Features Analysis "odels 1. . )etai$e) ana$/sis mo)e$ for a))in, a ,$ossar/ term is pro%i)e) in eNotebook .na$/sis8o)e$ F .)) >$ossar/ Term.)oc !. . )etai$e) ana$/sis mo)e$ for pub$is2in, an artifact is pro%i)e) in eNotebook .na$/sis8o)e$ F +ub$is2 .rtifact.)oc &no%ledge Searc* and Subscribe Features Analysis "odels 1. . )etai$e) ana$/sis mo)e$ for searc2in, for an artifact is pro%i)e) in eNotebook .na$/sis8o)e$ F .rtifact Searc2.)oc (onfi)entia$ Team eNotebook* +a,e 1= Team eNotebook Version: <1.1> Software Requirements Specification Date: <11/0/!00"> !. . )etai$e) ana$/sis mo)e$ for subscribin, to an artifact is pro%i)e) in eNotebook .na$/sis8o)e$ F Subscribe to an .rtifact.)oc :. . )etai$e) ana$/sis mo)e$ for an artifact c2an,e notification an) retrei%a$ is pro%i)e) in eNotebook .na$/sis8o)e$ F .rtifact (2an,e Notification an) Retrie%a$.)oc &no%ledge S*aring' Collaboration and Access Control Features Analysis "odels 1. . )etai$e) ana$/sis mo)e$ for e)itin, an artifact is pro%i)e) in eNotebook .na$/sis8o)e$ F4)it .rtifact.)oc !. . )etai$e) ana$/sis mo)e$ for ta,,in, an artifact as a new re%ision is pro%i)e) in eNotebook .na$/sis8o)e$ FTa, .rtifact as a New Re%ision.)oc &no%ledge "odeling and Storage Features Analysis "odels 1. . )etai$e) ana$/sis mo)e$ for e5portin, a searc2 is pro%i)e) in eNotebook .na$/sis8o)e$ F45port Searc2.)oc !. . )etai$e) ana$/sis mo)e$ for e5portin, an artifact is pro%i)e) in eNotebook .na$/sis8o)e$ F45port .rtifact.)oc :. . )etai$e) ana$/sis mo)e$ for accessin, a pre%ious %ersions of an artifact is pro%i)e) in eNotebook .na$/sis8o)e$ F .ccess a +re%ious Version of an .rtifact.)oc System #sability +estbed Features Analysis "odels 1. . )etai$e) ana$/sis mo)e$ for a))in, a testbe) sur%e/ is pro%i)e) in eNotebook .na$/sis8o)e$ F .)) Sur%e/.)oc !. . )etai$e) ana$/sis mo)e$ for startin, a testbe) e5periment is pro%i)e) in eNotebook .na$/sis8o)e$ F Start 45periment.)oc /lossar of Terms . >$ossar/ of Terms re$atin, to a$$ common terms use) in t2is SRS an) a$$ sub specifications an) ana$/sis mo)e$s is specifie) in t2e eNotebook SRS D>$ossar/E.)oc. (onfi)entia$ Team eNotebook* +a,e 13