BITS

Week 3

CRC and Complete BITS Class Diagram Solution

CRC Cards

Candidate

Front:

Class Name:
Candidate / ID: 1.1 / Type:
Concrete, Domain
Description:
Holds information about Temporary Professional Candidates / Associated Use Cases:
Find Qualified Staff
Complete Arrangements
Responsibilities
Find Qualified Candidate
Create Candidate
Delete Candidate
Update Candidate
Retrieve Candidate
Mark Candidate Reserved
Mark Candidate Unreserved
Mark Candidate Placed
Candidate Accepts
Candidate Rejects / Collaborators

Back:

Attributes:
CandidateID
Last Name
First Name
Address
Phone
Position
Experience
Status (Reserved, Unreserved, Placed)
Relationships:
Generalization (a-kind-of):
Aggregation (has-parts):
Other Associations: Staffing Agent, Arrangement Specialist, Staffing Request

Staffing Request

Front:

Class Name:
Staffing Request / ID: 1.2 / Type:
Concrete, Domain
Description:
Holds information on the staffing request that is made by the client. / Associated Use Cases:
Open Staffing Request
Find Qualified Staff
Complete Arrangements
Close Staffing Request
Responsibilities
CreateStaffingRequest
RetrieveStaffingRequest
UpdateStaffingRequest
OpenStaffingRequest
CloseStaffingRequest
DeleteStaffingRequest
MarkFillPending
MarkUnableToFill
MarkFilled
AddCandidateToQualifiedList
MarkOfferRejectedInQualifiedList
DeleteQualifiedList / Collaborators

Back:

Attributes:
Request ID
ClientID
Position
Experience
Start Date
End Date
Candidate
Request Status: (Opened, Fill Pending, Unable to Fill, Offer Rejected, Filled, Closed)
Qualified Candidate List
Relationships:
Generalization (a-kind-of):
Aggregation (has-parts):
Other Associations: Staffing Agent, Arrangement Specialist, Candidate, Invoice, UnableToFillMemo, Client

Employee

Class Name:
Employee / ID: 1.3 / Type:
Concrete, Domain
Description:
Holds information about BITS employees. / Associated Use Cases:
Open Staffing Request
Find Qualified Staff
Complete Arrangements
Close Staffing Request
Responsibilities
AddEmployee
UpdateEmployee
DeleteEmployee / Collaborators
Attributes:
EmployeeID
Last Name
First Name
Address
Phone
Email
NotificationText
Relationships:
Generalization (a-kind-of):
Aggregation (has-parts):
Other Associations:

Arrangement Specialist

Front:

Class Name:
Arrangement Specialist / ID: 1.4 / Type:
Concrete, Domain
Description:
Contacts staff to arrange the fulfilling of a position / Associated Use Cases:
Complete Arrangements
Responsibilities
NotifyArrangementSpecialist / Collaborators

Back:

Attributes:
Relationships:
Generalization (a-kind-of): Employee
Aggregation (has-parts):
Other Associations: Candidate, Staffing Request Staffing Agent

Staffing Agent

Front:

Class Name:
Staffing Agent / ID: 1.5 / Type:
Concrete, Domain
Description: Works with client to create staffing request and find qualified Candidate. / Associated Use Cases:
Open Staffing Request
Process Staffing Request
Close Staffing Request
Responsibilities
NotifyStaffingAgent
/ Collaborators

Back:

Attributes:
Commission
Relationships:
Generalization (a-kind-of): Employee
Aggregation (has-parts):
Other Associations: Client, Arrangement Specialist, Staffing Request, Candidate

Client

Front:

Class Name:
Client / ID: 1.6 / Type:
Concrete, Domain
Description:
Information about client / Associated Use Cases:
Open Staffing Request
Find Qualified Staff
Complete Arrangements
Close Staffing Request
Responsibilities
CreateClient
UpdateClient
RetrieveClient
DeleteClient
NotifyClient / Collaborators

Back:

Attributes:
Client ID
Name
Address
Phone
Description
Contact Person
Email
Total Yearly Sales
Relationships:
Generalization (a-kind-of):
Aggregation (has-parts):
Other Associations: Staffing Agent, Arrangement Specialist, Staffing Request
Class Name:
Unable to Fill Memo / ID: 1.7 / Type:
Concrete, Domain
Description:
Contains information about the request being unable to be filled. / Associated Use Cases:
Find Qualified Staff
Close Staffing Request
Responsibilities
Create Unable to Fill Memo
Retrieve Unable to Fill Memo
Update Unable to Fill Memo / Collaborators
Attributes:
Request ID
Explanation
Relationships:
Generalization (a-kind-of):
Aggregation (has-parts):
Other Associations: Staffing Request
Class Name:
Invoice / ID: 1.8 / Type:
Concrete, Domain
Description: Contains financial information about the completed agreement between the client, Candidate and BITS. / Associated Use Cases:
Complete Arrangements
Close Staffing Request
Responsibilities
CreateInvoice
RetrieveInvoice
UpdateInvoice
DeleteInvoice
CalculateFee / Collaborators
Attributes:
Request ID
ClientID
StaffMemberID
Date
PaymentAmt
Explanation
Relationships:
Generalization (a-kind-of):
Aggregation (has-parts):
Other Associations: Staffing Request, Client

CLASS DIAGRAM

7