Chapter 20
Chapter 20
HARV EST
COMPONENT
User
Services
REPOSITORY
Business Data
Services Services
MANAGEMENT
SOW
COMPONENT PROCESS
Allen and Frost, 1998 (Figure reproduced by permission of Cambridge University Press)
© Bennett, McRobb and Farmer 2002 10
Appropriate Unit of Reuse
Components rather than classes
are the unit of reuse
Classes are often too closely linked
to other classes
Components are groups of classes
that deliver some higher-level
functionality
Add an Add an
actor actor role
Add an Remove a
access staff member System
right Manager
Remove a Remove an
Application use case actor role
Developer
Remove an
access
right
ActorRole
*
StaffMember
login
name
password
*
StaffMember
login : String
name : String
password : String
«responsibilities»
add a new staff member
remove a staff member
change password
Security
Security Server Security Client
«façade»
SecurityManager
+ addAccessRight(ac:Actor, uc:UseCase)
+ addActor(name:String)
+ addActorRole(ac:Actor, sm:StaffMember)
+ addStaffMember(name:String, login:String, password:String)
+ addUseCase(title:String)
+ listActors( )
+ listActorsByUseCase(uc:UseCase)
+ listStaffMembers( )
+ listStaffMembersByActor(ac:Actor)
+ listUseCases( )
+ listUseCasesByActor(ac:Actor)
+ removeAccessRight(ac:Actor, uc:UseCase)
+ removeActor(ac:Actor)
+ removeActorRole(ac:Actor, sm:StaffMember)
+ removeStaffMember(sm:StaffMember)
+ removeUseCase(uc:UseCase)
ListUseCases ListActors
ListStaffMembers
+ listUseCases( ) + listActors( )
+ listStaffMembers( )
+ listUseCasesByActor(ac:Actor) + listActorsByUseCase(uc:UseCase)
+ listStaffMembersByActor(ac:Actor)
+ listActorsbyStaffMember(sm:StaffMember)
CheckAuthorization RemoveActorRole
Security
Security Server Security Facade Security Client
com.ODI com.ODI.util
com.ODI.imp
Agate.jar