Choice Appointments is a recruitment agency that has a wide network of operations and the customer base of the organization is also expanding. The organization has a defined set of processes that are conducted for the ensuring recruitments for the customers. The company is now looking to expand the business further and there will be increased number of customers that will get associated with it. The development of an information system can be done to ensure that the tasks that are carried out in the organization are automated which will lead to the improvement in the efficiency.
Design Thinking Approach
Design thinking approach is a solution-based design approach to solving the problems. The approach plays a significant role in understanding the complex problems and comprises of five stages as empathise, define, ideate, prototype, and test (Matthews and Wrigley, 2017). The approach is applied to the case study of Choice Appointments to understand the workflow and gather requirements for the development of the information system.
Empathise – Interview Questions
- What are the tools used to conduct the interview tests for the applicant? Is it paper-based?
- What is the process that is followed in handling and storing the resume of the applicants?
- Are there any data loss or data leakage issues that have been witnessed with the interview forms, applicant resume, or applicant forms?
- What are the problems that come up with the handling of these forms manually?
- Is there any difficulty in managing the folders of applicant results and skills on the system?
- What is the process followed by the secretary for mapping the skills of the applicant with the required set of skills for a particular job?
- What is the process followed for making the payments?
- Are there any payment gateways integrated to enable the online payments by the client company?
- Are there any network issues observed with the process of fax and sharing of documents?
- What is the database server used to manage and store the timesheets?
- What is the cycle followed to updated the database servers and systems that are deployed?
- What is the process followed for handling the invoice and payslip?
- Are there any issues observed with the invoice generation system?
- Is there any feedback process included to gather comments from the client company or the applicant?
- Are there any technical tools that are already being used by the company?
- What is the average technical knowledge of the employees that are associated with the Choice Appointments?
- What are the operating systems that are deployed on the computer systems that are used in the company?
- What would be the mode of access for the information system that will be developed – desktop platforms or mobile devices?
- What are the security controls and measures currently taken for ensuring that the data sets are always protected?
- Are there any incidences of data or information security attacks in the past?
- What will be the prime hours in the day in which the system will be used?
- Do the employees have knowledge on the cloud-based systems?
- Does the company have its presence on the social media platforms?
- Are there any initiatives carried out by the company in the past to automate the tasks and business processes?
- What is the approximate customer base of the organization in the market?
- What are the enhancements and changes in the business functions and operations that the organization is currently looking to implement?
- What are the short-term and long-term goals of the organization?
- What are the user types that are expected to be included in the information system that will be developed?
- What are the admin rights preferred and who is going to take up the role of system admin?
- Are there any occurrences of insider threats in the past wherein an employee may have shared the information to the unauthorized parties?
- What are the legal policies, ethical codes, and principles followed and implemented in the organization?
Define, Ideate, Prototype, and Test
The problem with the organization is in its flow of activities that are essentially manual that take up a lot of time and lead to enhanced complexities. The designers will be able to apply their design skills and knowledge to execute the requirements by developing a design for the information systems. The approach behind the design of the system may be Responsive Web Design (RWD) (Natda, 2013). It is because the design will allow enhanced interaction and responsiveness leading to better user engagement and satisfaction levels. The design prototypes will then be developed and will be internally tested unless a final prototype will be developed.
TEST(testID, testType, questions, job)
Entity: TEST – Each instance of test is a set of questions prepared for selecting a contractor |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
testID |
A unique identifier of a test |
Integer |
Index – Yes (No Duplicates) |
|
testType |
Type of test |
Text(20) |
Spelling or Computer |
|
Questions |
List of questions for a test |
Test(255) |
Example: Select one correct spelling |
|
job |
Job ID for which test has been prepared |
Integer |
Not NULL |
JOB(jobID, role, apptLength, jobType, client, contractorSelected)
Entity: JOB – Each instance of a job is an opening created by the client in the organization |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
jobID |
A unique identifier of a job |
Integer |
Index – Yes (No Duplicates) |
|
Role |
Role in the job |
Text(20) |
Example: “Secretary” |
|
apptLEngth |
Duration of the job |
Integer |
Example: 18 hours |
|
Client |
Client ID for which job has been created |
Integer |
Not NULL |
|
contractorSelected |
Contractor ID who has been selected for the job |
Integer |
Not NULL |
WAGE(wageID, wageAmount, commission, job)
Entity: WAGE – Each instance of a wage is pay for the job. |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
wageID |
A unique identifier of a wage |
Integer |
Index – Yes (No Duplicates) |
|
wageAmount |
Amount of the wage |
Decimal(4,2) |
Example: AUD1200.20 |
|
Commission |
Percentage on wage amount to be given to the company |
Decimal |
Example: 5% |
|
job |
Job ID for which wage has been created |
Integer |
Not NULL |
SKILL(skillID, skillName, description)
Entity: SKILL – Each instance of a skill is the specialty to be required by a client |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
skillID |
A unique identifier of a job |
Integer |
Index – Yes (No Duplicates) |
|
skillName |
Name of the skill |
Text(20) |
Example: “Java expert” |
|
description |
Description of the skill |
Text(30) |
Example: Certified Java programmer |
JOB_SKILL(jobID, skillID)
Entity: JOB_SKILL (Association table between JOB and SKILL) |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
jobID |
A unique identifier of a job |
Integer |
Index-No, Not Null |
|
skillID |
A unique identifier of a skill |
Integer |
Index-No, Not Null |
APPOINTMENT(appointmentID, brief, contractor, job)
Entity: APPOINTMENT – Each instance is a meeting created after the contractor has passed the written test |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
appointmentID |
A unique identifier of an appointment |
Integer |
Index – Yes (No Duplicates) |
|
brief |
Description of the appointment |
Text(30) |
Example: Full-time job |
|
contractor |
contractor ID for which appointment has been created |
Integer |
Not NULL |
|
job |
Job ID for which wage has been created |
Integer |
Not NULL |
CLIENT(ClientID, fullname, contactPerson, address, phone, email)
Entity: CLIENT – Each instance is a person/company posting a job requirement |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
clientID |
A unique identifier of a client |
Integer |
Index – Yes (No Duplicates) |
|
contactPerson |
Name of the person to be contacted on behalf of the client |
Text(30) |
Example: Jay Shane |
|
address |
Full contact address of the client |
Text(255) |
Example: 1/12, Northway |
|
Phone |
Contact work phone of the client |
Integer |
Example: (222)444-4444 |
|
|
Email ID of the client |
Text(255) |
Example: [email protected] |
CONTRACTOR(contractorID, fullname, address, phone, resume)
Entity: CONTRACTOR – Each instance is a person applying for the job |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
contractorID |
A unique identifier of a contractor |
Integer |
Index – Yes (No Duplicates) |
|
fullname |
Full name of the contractor |
Text(30) |
Example: Jay Shane |
|
address |
Full contact address of the contractor |
Text(255) |
Example: 1/12, Northway |
|
Phone |
Contact work phone of the contractor |
Integer |
Example: (222)444-4444 |
|
resume |
Path of the resume |
Text(255) |
Example: jay_rsume.doc |
CONTRACTOR_SKILL(contractor, skill)
Entity: CONTRACTOR_SKILL (Association table between JOB and CONTRACTOR) |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
contractor |
A unique identifier of a contractor |
Integer |
Index-No, Not Null |
|
skillID |
A unique identifier of a skill |
Integer |
Index-No, Not Null |
TIMESHEET(ID, date, hoursweekly, contractor)
Entity: TIMESHEET – Each instance is a working hour record to be filled by the contractor |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
ID |
A unique identifier of a timesheet |
Integer |
Index – Yes (No Duplicates) |
|
date |
Date on which timesheet is filled |
DATE |
Example: 12/09/2018 |
|
contractor |
contractor ID who has filled the timesheet |
Integer |
Not NULL |
INVOICE(invoiceID, weekEndingDate, totalHoursWorked, job, timesheet)
Entity: INVOICE – Each instance is a payment record generated, |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
invoiceID |
A unique identifier of an invoice |
Integer |
Index – Yes (No Duplicates) |
|
weekEndingDate |
Week date for which invoice has been created |
DATE |
Example: 12/09/2018 |
|
totalHoursWorked |
Number of hours for which contractor has worked |
Integer |
Example: 12 |
|
job |
job ID for which invoice is to be generated |
Integer |
Not NULL |
|
timesheet |
timesheet ID against which invoice is to be generated |
Integer |
Not NULL |
PAY_SLIP(payslipID, amount, paySlipDate, invoice)
Entity: PAY_SLIP – Each instance is a proof of generated invoice. |
||||
Attribute |
Meaning |
Data Type |
Format |
Other |
payslipID |
A unique identifier of a payslip |
Integer |
Index – Yes (No Duplicates) |
|
amount |
Amount of payslip paid |
DECIMAL |
Example: 1200.12 |
|
payslipDate |
Date on which pay slip has been generated |
DATE |
Example: 12/12/2015 |
|
invoice |
invoice ID for which payslip is to be generated |
Integer |
Not NULL |
All relations are in 3NF form which can be proved through following example:
CONTRACTOR(contractorID, fullname, address, phone, resume)
- i. The main element is the contratorID and this key identifies each and every single customer. Additionally, there needs to be just one fullname for any particular CONTRACTOR and there needs to be just one fullname which needs to be included for every individual CONTRACTOR. Also, CONTRACTOR could also have multiple addresses. Also, an important assumption has been specified here is that only one address ill be associated with one CONTRACTOR. Simultaneously, only their main home phone has been recorded. Also, only resume is allowed per CONTRACTOR and this depicts the customer relation as 1 NF.
- ii. The main element here is contractorID. This particular key is the main candidate key because of it’s fullName which can’t be guaranteed as to be unique because 2 different customers could also have a same fullName. Simultaneously, all other attributes could also have same thing i.e., 2 or more CONTRACTORs. This depicts that contractorID is the main functionality here which will end up defining all other attributed in the table or relation. However, the simple candidate key here is the contractorID and for the same there would not be any partial dependencies which exists in any given table. This shows the relation being 2NF.
- iii. As evident from the above, that only excluding contractorID, no other elements could be used to fully determine any attributes within the table because 2 different CONTRACTORs could end up having same value for their attributes. As a result, there would not be any transitive dependency within the table and it would satisfy all of the condition of first, second and third form.
References
Matthews, J. and Wrigley, C. (2017). Design and Design Thinking in Business and Management Higher Education. Journal of Learning Design, 10(1), p.41.
Natda, K. (2013). Responsive Web Design. Eduvantage, 1(1).