You are on page 1of 17

Team eNotebook

Collaborative eNotebook Research Testbed


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&ample, transactions per second
!apacity, for e&ample, 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&ample,
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