0% found this document useful (0 votes)
182 views13 pages

Example - Software Architecture Document

Software Architecture Document

Uploaded by

Subbu6502
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
182 views13 pages

Example - Software Architecture Document

Software Architecture Document

Uploaded by

Subbu6502
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
  • Introduction
  • Architectural Representation
  • Use-Case View
  • Logical View
  • Process View
  • Deployment View
  • Quality
  • Size and Performance

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

Related information
Course Registration System
Software Architecture Document
Version 1.0
Revision History
Date
Version
Descr
8.   Size and Performance
9.   Quality
Software Architecture Document
1.  Introduction 
1.1 Purpose 
This document provides a
the legacy Course Catalog System [2].
2.  The existing legacy Billing System at Wylie College must be interfaced with to supp
Diagram Name: Architecturally Significant Use­Cases
 
4.1.1 Close Registration
Brief Description:This use case allows a Regis
4.1.4 Select Courses to Teach
Brief Description:This use case allows a professor to select the course offerings (date­ and ti
 
5.1.1 Application
layer
This application layer has all the boundary classes that represent the application screens that the
student registration, professor functions, registration closing, and access to the external Billing System and Course
Catalog
The unabbridged catalog of all courses and course offerings offered by the university including
those from previous semesters
­ Distribution
 
6.2 Process to Design Elements 
Diagram Name: Process to Design Elements
6.2.1 CourseCache
The Course Cache 
A specific offering for a course, including days of the week and times.
Analysis Mechanisms:
­ Persistency
­ Legacy Interface

You might also like