Relatedinformation
CourseRegistrationSystem
SoftwareArchitectureDocument
Version1.0
RevisionHistory
Date
Version
Description
Author
21/March/1999
1.0
SoftwareArchitectureDocumentgeneratedusingRational
SoDAtemplateandRationalRosemodel.
[Link]
TableofContents
[Link]
1.1Purpose
1.2Scope
1.3Definitions,AcronymsandAbbreviations
1.4References
[Link]
[Link]
[Link]
4.1ArchitecturallySignificantUseCases
[Link]
5.1ArchitectureOverviewPackageandSubsystemLayering
[Link]
6.1Processes
6.2ProcesstoDesignElements
6.3ProcessModeltoDesignModelDependencies
6.4ProcessestotheImplementation
[Link]
7.1ExternalDesktopPC
7.2DesktopPC
7.3RegistrationServer
7.4CourseCatalog
7.5BillingSystem
[Link]
[Link]
SoftwareArchitectureDocument
[Link]
1.1Purpose
Thisdocumentprovidesacomprehensivearchitecturaloverviewofthesystem,usinganumberofdifferentarchitectural
[Link]
whichhavebeenmadeonthesystem.
1.2Scope
[Link]
RegistrationSystemisbeingdevelopedbyWylieCollegetosupportonlinecourseregistration.
ThisDocumenthasbeengenerateddirectlyfromtheCRegistrationAnalysis&[Link]
majorityofthesectionshavebeenextractedfromtheRoseModelusingSoDAandtheSoftwareArchitectureDocument
template.
1.3Definitions,AcronymsandAbbreviations
SeetheGlossary[4].
1.4References
Applicablereferencesare:
1. CourseBillingInterfaceSpecification,WC93332,1985,WylieCollegePress.
2. CourseCatalogDatabaseSpecification,WC93422,1985,WylieCollegePress.
3. VisionDocumentoftheCRegistrationSystem,WyIT387,V1.0,1998,WylieCollegeIT.
4. GlossaryfortheCRegistrationSystem,WyIT406,V2.0,1999,WylieCollegeIT.
5. UseCaseSpecCloseRegistration,WyIT403,V2.0,1999,WylieCollegeIT.
6. UseCaseSpecLogin,WyIT401,V2.0,1999,WylieCollegeIT.
7. UseCaseSpecMaintainProfessorInfo,WyIT407,Version2.0,1999,WylieCollegeIT.
8. UseCaseSpecRegisterforCourses,WyIT402,Version2.0,1999,WylieCollegeIT.
9. UseCaseSpecSelectCoursestoTeach,WyIT405,Version2.0,1999,WylieCollegeIT.
10. UseCaseSpecMaintainStudentInfo,WyIT408,Version2.0,1999,WylieCollegeIT.
11. UseCaseSpecSubmitGrades,WyIT409,Version2.0,1999,WylieCollegeIT.
12. UseCaseSpecViewReportCard,WyIT410,Version2.0,1999,WylieCollegeIT.
13. SoftwareDevelopmentPlanfortheCRegistrationSystem,WyIT418,V1.0,1999,WylieCollege
IT.
14. E1IterationPlan,WyIT420,V1.0,1999,WylieCollegeIT.
15. SupplementarySpecification,WyIT400,V1.0,1999,WylieCollege,IT.
[Link]
Thisdocumentpresentsthearchitectureasaseriesofviewsusecaseview,logicalview,processviewanddeployment
[Link]
ModelingLanguage(UML)modeldevelopedusingRationalRose.
[Link]
[Link]:
1. TheexistinglegacyCourseCatalogSystematWylieCollegemustbeaccessedtoretrieveallcourse
[Link]
thelegacyCourseCatalogSystem[2].
2. TheexistinglegacyBillingSystematWylieCollegemustbeinterfacedwithtosupportbillingofstudents.
ThisinterfaceisdefinedintheCourseBillingInterfaceSpecification[1].
3. Allstudent,professor,andRegistrarfunctionalitymustbeavailablefrombothlocalcampusPCsandremote
PCswithinternetdialupconnections.
4. [Link]
accessesaresubjecttouseridentificationandpasswordcontrol.
5. [Link]
andtheserverportionmustoperateontheWylieCollegeUNIXServer.[3]
6. Allperformanceandloadingrequirements,asstipulatedintheVisionDocument[3]andtheSupplementary
Specification[15],mustbetakenintoconsiderationasthearchitectureisbeingdeveloped.
[Link]
[Link]
setofscenariosand/[Link]/orusecasesthat
representsomesignificant,[Link]/orusecasesthathavea
substantialarchitecturalcoverage(thatexercisemanyarchitecturalelements)orthatstressorillustrateaspecific,delicate
pointofthearchitecture.
TheCRegistrationusecasesare:
Login
RegisterforCourses
MaintainStudentInformation
MaintainProfessorInformation
SelectCoursestoTeach
SubmitGrades
ViewReportCard
CloseRegistration.
Theseusecasesareinitiatedbythestudent,professor,[Link],interactionwithexternalactors
CourseCatalogandBillingSystemoccur.
4.1ArchitecturallySignificantUseCases
DiagramName:ArchitecturallySignificantUseCases
4.1.1CloseRegistration
BriefDescription:[Link]
[Link]
[Link]
cancelled,[Link]
[Link].
4.1.2Login
BriefDescription:[Link]
actorsstartingthisusecaseareStudent,Professor,andRegistrar.
4.1.3MaintainProfessorInformation
BriefDescription:Thisusecaseallowstheregistrartomaintainprofessorinformationinthe
[Link],modifying,[Link]
actorofthisusecaseistheRegistrar.
4.1.4SelectCoursestoTeach
BriefDescription:Thisusecaseallowsaprofessortoselectthecourseofferings(dateandtime
specificcourseswillbegiven)fromthecoursecatalogforthecoursesthathe/sheiseligibleforand
[Link]
CourseCatalogSystemisanactorwithintheusecase.
4.1.5RegisterforCourses
BriefDescription:[Link]
studentcanalsomodifyordeletecourseselectionsifchangesaremadewithintheadd/dropperiod
[Link]
[Link]
[Link].
4.1.6ViewReportCard
BriefDescription:Thisusecaseallowsastudenttoviewhis/herreportcardforthepreviously
[Link].
4.1.7SubmitGrades
BriefDescription:Thisusecaseallowsaprofessortosubmitstudentgradesforoneormoreclasses
[Link].
4.1.8MaintainStudentInformation
BriefDescription:Thisusecaseallowstheregistrartomaintainstudentinformationintheregistration
[Link],modifying,[Link]
istheRegistrar.
[Link]
[Link],theirorganizationinservice
packagesandsubsystems,[Link]
realizations,forexample,[Link]
relationshipsbetweenarchitecturallysignificantclasses,subsystems,packagesandlayers.
Thelogicalviewofthecourseregistrationsystemiscomprisedofthe3mainpackages:UserInterface,BusinessServices,
andBusinessObjects.
TheUserInterfacePackagecontainsclassesforeachoftheformsthattheactorsusetocommunicatewiththeSystem.
Boundaryclassesexisttosupportlogin,maintainingofschedules,maintainingofprofessorinfo,selectingcourses,
submittinggrades,maintainingstudentinfo,closingregistration,andviewingreportcards.
TheBusinessServicesPackagecontainscontrolclassesforinterfacingwiththebillingsystem,controllingstudent
registration,andmanagingthestudentevaluation.
TheBusinessObjectsPackageincludesentityclassesfortheuniversityartifacts([Link],schedule)and
boundaryclassesfortheinterfacewiththeCourseCatalogSystem.
5.1ArchitectureOverviewPackageandSubsystemLayering
5.1.1Application
layer
Thisapplicationlayerhasalltheboundaryclassesthatrepresenttheapplicationscreensthatthe
[Link]
clientfrommidtier.
5.1.2BusinessServices
layer
TheBusinessServicesprocesslayerhasallthecontrollerclassesthatrepresenttheusecase
[Link].
TheBusinessServiceslayerdependsupontheProcessObjectslayerthatstraddlestheseparation
oftheclientfrommidtier.
5.1.3Middleware
layer
TheMiddlewarelayersupportsaccesstoRelationalDBMSandOODBMS.
5.1.4BaseReuse
TheBaseReusepackageincludesclassestosupportlistfunctionsandpatterns.
[Link]
[Link](processesandthreads)involvedinthesystem's
execution,[Link].
[Link]
studentregistration,professorfunctions,registrationclosing,andaccesstotheexternalBillingSystemandCourse
CatalogSystem.
6.1Processes
DiagramName:Processes
6.1.1CourseCatalogSystemAccess
[Link]
[Link]
improveperformance.
TheseparatethreadswithintheCourseCatalogprocess,CourseCacheandOfferingCacheareused
toasynchronouslyretrieveitemsfromthelegacysystem.
AnalysisMechanisms:
LegacyInterface
RequirementsTraceability:
DesignConstraints:Thesystemshallintegratewithexistinglegacysystem(coursecatalog
database).
6.1.2CourseCatalog
Theunabbridgedcatalogofallcoursesandcourseofferingsofferedbytheuniversityincluding
thosefromprevioussemesters.
Thisclassactsasanadapter(seetheGammapattern).Itworkstomakessurethe
CourseCatalogSystemcanbeaccessedthroughtheICourseCataloginterfacetothesubsystem.
6.1.3CourseRegistrationProcess
Thereisoneinstanceofthisprocessforeachstudentthatiscurrentlyregisteringforcourses.
6.1.4RegistrationController
[Link]
studentcanalsomodifyordeletecourseselectionsifchangesaremadewithintheadd/dropperiod
atthebeginningofthesemester.
AnalysisMechanisms:
Distribution
6.1.5StudentApplication
Managesthestudentfunctionality,includinguserinterfaceprocessingandcoordinationwiththe
businessprocesses.
Thereisoneinstanceofthisprocessforeachstudentthatiscurrentlyregisteringforcourses.
6.1.6MainStudentForm
[Link]
uses.
6.1.7BillingSystemAccess
ThisprocesscommunicateswiththeexternalBillingSystemtoinitiatestudentbilling.
6.1.8CloseRegistrationProcess
[Link]
communicateswiththeprocesscontrollingaccesstotheBillingSystem.
6.1.9BillingSystem
TheBillingSystemsupportsthesubmittingofstudentbillsforthecoursesregisteredforbythe
studentforthecurrentsemester.
AnalysisMechanisms:
LegacyInterface
6.1.10CloseRegistrationController
TheCloseRegistrationControllercontrolsaccesstotheBillingSystem.
AnalysisMechanisms:
Distribution
6.2ProcesstoDesignElements
DiagramName:ProcesstoDesignElements
6.2.1CourseCache
TheCourseCachethreadisusedtoasynchronouslyretrieveitemsfromthelegacyCourseCatalogSystem.
6.2.2OfferingCache
TheOfferingCashethreadisusedtoasynchronouslyretrieveitemsfromthelegacyCourseCatalogSystem.
6.2.3Course
Aclassofferedbytheuniversity.
AnalysisMechanisms:
Persistency
LegacyInterface
6.2.4CourseOffering
Aspecificofferingforacourse,includingdaysoftheweekandtimes.
AnalysisMechanisms:
Persistency
LegacyInterface
6.3ProcessModeltoDesignModelDependencies
DiagramName:ProcessModeltoDesignModelDependencies
6.4ProcessestotheImplementation
DiagramName:ProcessestotheImplementation
6.4.1Remote
*[Link]
[Link]
interfaceareavailableremotely.
*Implementationclassescanimplementanynumberofremoteinterfacesandcanextendother
remoteimplementationclasses.
6.4.2Runnable
*TheRunnableinterfaceshouldbeimplementedbyanyclasswhoseinstancesareintendedtobe
[Link].
*Thisinterfaceisdesignedtoprovideacommonprotocolforobjectsthatwishtoexecutecode
[Link],RunnableisimplementedbyclassThread.
*Beingactivesimplymeansthatathreadhasbeenstartedandhasnotyetbeenstopped.
6.4.3Thread
*[Link]
tohavemultiplethreadsofexecutionrunningconcurrently.
*[Link]
[Link]
insomethreadcreatesanewThreadobject,thenewthreadhasitspriorityinitiallysetequaltothe
priorityofthecreatingthread,andisadaemonthreadifandonlyifthecreatingthreadisa
daemon.
[Link]
AdescriptionofthedeploymentviewofthearchitectureDescribesthevariousphysicalnodesforthemosttypical
[Link](fromtheProcessView)tothephysicalnodes.
Thissectionisorganizedbyphysicalnetworkconfigurationeachsuchconfigurationisillustratedbyadeployment
diagram,followedbyamappingofprocessestoeachprocessor.
DiagramName:DeploymentView
7.1ExternalDesktopPC
StudentsregisterforcoursesusingexternaldesktopPCswhichareconnectedtotheCollegeServerviainternet
dialup.
7.2DesktopPC
StudentsregisterforcoursesvialocalDesktopPCsthatareconnecteddirectlytotheCollegeServerviaLAN.
[Link]
localPCstomaintainstudentandprofessorinformation.
7.3RegistrationServer
[Link]
throughthecampusLAN.
7.4CourseCatalog
[Link]
availableviatheCollegeServerandLAN.
7.5BillingSystem
TheBillingSystem(alsocalledtheFinanceSystem)isalegacysystemthatgeneratesthestudentbillseachsemester.
[Link]
Thechosensoftwarearchitecturesupportsthekeysizingandtimingrequirements,asstipulatedinthe
SupplementarySpecification[15]:
1. Thesystemshallsupportupto2000simultaneoususersagainstthecentraldatabaseatanygiven
time,andupto500simultaneoususersagainstthelocalserversatanyonetime.
2. Thesystemshallprovideaccesstothelegacycoursecatalogdatabasewithnomorethana10
secondlatency.
3. Thesystemmustbeabletocomplete80%ofalltransactionswithin2minutes.
4. Theclientportionshallrequirelessthan20MBdiskspaceand32MBRAM.
Theselectedarchitecturesupportsthesizingandtimingrequirementsthroughthe
[Link]
[Link]
minimaldiskandmemoryrequirementsareneededonthePCclientportion.
[Link]
Thesoftwarearchitecturesupportsthequalityrequirements,asstipulatedintheSupplementary
Specification[15]:
1. ThedesktopuserinterfaceshallbeWindows95/98compliant.
2. TheuserinterfaceoftheCRegistrationSystemshallbedesignedforeaseofuseandshallbe
appropriateforacomputerliterateusercommunitywithnoadditionaltrainingontheSystem.
3. [Link]
[Link]
fortermsandacronymns.
4. TheCRegistrationSystemshallbeavailable24hoursaday,[Link]
morethan4%downtime.
5. MeanTimeBetweenFailuresshallexceed300hours.
6. UpgradestothePCclientportionofCRegistrationshallbedownloadablefromtheUNIXServer
[Link].
Copyright19872001RationalSoftwareCorporation
CourseRegistrationProjectWebExample
Version2001.02