Code By Day (CBD) Software Consulting Company: Billing & Payroll System Functional Description: (highlighted words may or may not be objects) The CBD software consulting
"Code By Day" (CBD) Software Consulting Company: Billing & Payroll System Functional Description: (highlighted words may or may not be objects) The CBD software consulting Company has the following types of Employees: programmers, clerical workers and salespeople. Each employee has a name, address, unique Employee ID number (0####) and (with the exception of salespeople) an hourly pay rate. CBD provides software consulting services to its Customers through a series of customer Projects. Agiven customer can have more than one such project with CBD. Each customer has a unique business name and address. Each customer project has a unique invoice #, a project name, a customer contact, a list of approved programmers, and a total "cost to complete" which is reduced by different amounts as various approved programmers successfully charge costs against it. When completed, the project is ended by CBD. A programmer can work on more than one such approved project, and each project can involve the services of more than one approved programmer. Salespeople are paid solely by commission at the time of project sale (a % of the total $ of each project). Commission rates vary with the salesperson. Programmers are also paid a fixed hourly rate, but must enter the total # of hours they spent on each approved active project, each week, into their "Time Log". Each such "legal project hourly time expenditure" is saved in the Time Log as a "Project Charge". Illegal charges (ex: for non- approved or completed projects) will be rejected. Note: When such a time log is processed at the end of the week, its accepted project charges determine how much the corresponding project will be billed for the efforts of that programmer. Basically, the company processes each project charge (# hours, Project) entered in a programmer's Time Log by multiplying the #hours worked by the programmer's hourly salary, then multiplying by 1.4 and billing that amount to the project, via a "Programmer Cost" (Employee #, amount billed). Each of these programmer costs is reflected in the weekly Customer Report. A special "Overhead Project" is used to collect all employee non-billable project costs. Every programmer is approved to work on it. Uniquely, any project cost billed to Overhead is multiplied by 1 instead of 1.4. This project may not be stopped or completed and will never go insolvent (additional money is always added by the CBD "customer" before needed). Clerical employee salaries are always considered overhead, and they are paid a fixed hourly rate. They report the total number of hours they worked each week in a single Overhead Project charge. This is done week after week for each customer project until either the project is deemed by CBD to be completed (at which point it is considered "ended") or the project $ runs out or goes negative before the project is completed (at which point it is considered "insolvent"). Insolvent Projects will not be worked on in subsequent weeks, until additional monies are paid by the customer for that purpose. When an additional payment is made it will be recorded, the Project will be marked active, and work will continue at the start of the following week CBD Billing and Payroll System Page 2 A customer may also issue a "stop work" on any project. All approved programmers are notified, and should immediately stop working on the project. Any prior programming charges will be billed at week's end, but after that, no further programmer charges for that project will be accepted. If the stopped project became insolvent it will be (naively?) assumed that the customer will pay what is owed, so the project can be closed. If a "stopped" or "completed" project has money remaining, a check is generated for any balance, and is sent to the customer. At that point, the project is closed. All Closed Projects are automatically archived, and deleted from the system at the end of the year. No programmer or clerical worker can bill more than 60 hours ofwork per week. No programmer will be paid for hours charged on a project which was previously marked as insolvent, stopped, completed or closed the week before, or for which the Programmer has not been approved, because the project charge could not have been entered in the Time Log. Notes: All Employees are considered subcontractors. Their benefits, overtime and taxes are n_ot addressed by this system. The "Overhead" Project is always there and is always solvent. Background Information: How a new customer project is created: 1 . The salesperson solicits an RFP (Request for Proposal) from a customer, which defines what programming effort they are requesting. When obtained, the salesperson hands the RFP off to the "Code By Day" Software Architect. 2. Working with the salesperson, the CBD software architect analyzes the RFP and creates a set of Use Cases and some associated UML Artifacts (Conceptual Class Diagrams, Attribute Lists, SlE diagrams, Sequence Flow Diagrams and Class l Responsibilityl Collaborations). 3. If the software architect sees value in responding, a new customer project is created. The Software Architect then approves one or more programmers for the project, sends them the UML artifacts, and answers any questions. 4. Each programmer estimates the maximum number of hours it will take to complete her portion of the project implementation. All time spent in computing this number is charged to CBD's "Overhead" Project (as is all of the Software Architect's time and all Clerical time). 5. The estimated cost of the Project is calculated: a. For each Approved Programmer, CBD multiplies their hourly salary by the number of their estimated hours to get the programmer's estimated project compensation. b. The estimated compensations for all programmers on the project are added, and the results multiplied by 1.4. This will be the estimated cost used in the Proposal sent back to the customer. 6. The customer can accept or reject the proposal. If it is rejected, the project is closed, and CBD is out all expenses to this point, as is the Salesperson (who gets no commission). The programmers and the software architect however do get paid, since they were charging the Overhead project. It's good to be a STEM major. 7. If the proposal is accepted, the customer pays the entire estimated cost to CBD up front, and the company in turn pays the salesperson his commission. The customer project is now active, and the approved programmers begin working on it (and including the project charges for their work on this active customer project in their weekly Time Logs). 8. A Project may go insolvent if all the money is spent before completion, but will only be ended when completed by the Company or stopped by the Customer. 1 . CBD Billing and Payroll System: Use Cases Page 3 Support is required only; for the following series of queries, transactions and reports: Create a new "proposed" project W Approve programmer N for project W. The Customer accepts the proposal and pays the entire estimated project cost to the Company. The Customer rejects the proposal, and the Project is closed. An existing customer project W is completed. A customer orders "stop work" on project X. Additional project funds are supplied by the customer to reactivate / extend insolvent project Y. A programmer inputs her weekly hours worked on each project into her Time Log (including hours spent on the "Overhead" project). Some of these can be rejected (ex: Project Insolvent). Do not worry about how this will be resolved. A clerical worker inputs his total number of hours worked that week (always spent on Overhead). "End of Week" is posted every Friday evening. Quite a bit happens here Programmers: The total # hours each programmer worked on each project that week (determined by the project charges in their Time Log) is multiplied by their hourly salary. The resulting amount is billed to each project (*1 for the Overhead Project and *1.4 for all others), and the remaining funds in each project are adjusted accordingly. Clerical: The total hours each clerical employee worked on the Overhead project that week (determined by the project charge in their Time Log), is multiplied by their hourly salary. The resulting $ is billed to the Overhead project, and the Overhead remaining funds are adjusted accordingly. Salespeople: The earnings of salespeople (who do not record their hours) are generated from the commissions on those of their customer projects at the time of project acceptance. Appropriate bank transfers are posted to employee accounts (ignoring taxes, medical insurance and social security deductions). The weekly earnings, commissions and associated Time Logs for all employees are then archived. Projects: All programmer costs for that week are applied, and the remaining project $ becomes the starting $ for the new week. If this amount is negative, the project is marked "insolvent" and further work will not occur until more funds are received. Any customer projects "ended" during the week (by either CBD "completion" or customer "stop worK' order) will be closed and archived, and any unspent funds will be returned to the customer. 6. Print one or all programmer/ clerical worker Time Log reports for the current week. Print one or all weekly Employee Earning Reports for the current week. Print one or all Customer Reports for the current week. <** Note: Salesperson paid directly on sale, not at end of week> CBD Billing and Payroll System Page 4 Clerical Time Log Report John Smith Employee #: 01111 Hourly Rate: $25 Week 10, 2023 Project Name Invoice # Customer Hours Overhead 0 Code By Day 35 Programmer Time Log Report (Time allocated to different projects) Time Log: Paula Hill Employee #: 05234 Hourly Rate: $100 Week 10 202 Project Name Invoice # Customer Hours Net Management 18116 Babo Ltd. 20 Point of Sale 414 Crystal Inc. 10 Overhead 0 Code By Day 2CBD Billing and Payroll System Page 5 Clerical Employee Earning Report John Smith Employee #: 01111 Clerical: Hourly Rate: $25 Week 10, 2023 Overhead Charges always *1 Customer Project Invoice # Hours Earnings ($) Code by Day | Overhead 0 35 875 Total 875 Programmer Employee Earning Report (Note: Last column not included in Employee version) Paula Hill Employee #: 05234 Programmer: Hourly Rate: $100 Week 10 2023 Not Visible * 1.4 Customer Project Invoice # Hours Earnings Billed to Cust. ($) ($) Babo Ltd. Net Management 18116 20 2000 2800 Crystal Inc. of Sale 414 10 1000 1400 Code By Day Overhead 0 2 200 Total 32 3200 4200 Sales Employee Earning Report John Jones Emp ID: 07348 Salesperson: Commission Rate 10% Week 10, 2023 Customer Project Contact Invoice # Value Commission ($) ($ Ajax Industry Inv. Control Ms. Scarlett 1163 18000 1800 Ajax Industry Acc. Recv. Mrs. White 2143 9000 900 Babo Ltd Net Management |Prof. Plum 18116 14000 1400 Total 41000 4100CBD Billing and Payroll System Page 6 Customer Weekly Report: (Reflects Employee Charges * 1.4) Babo Ltd. Week 10 2023 Name $ $ $5 18116 14000 2800 05234 11200 Mana-ement E_ _- Vending 4865 1500 800 Ended 04321 700 Machine Notes on Net Management Project. Original Contract: $14000 Sales commission: $1400 (not seen by customer). Employee 05234 (Paula Hill) worked 20 hours. Earned $2000. Customer billed $2800 Additional employee 06789 also worked on that project. Ending project balance: $9100
"Code By Day (CBD) Software Consulting Company: Billing & Payroll System Functional Description: (highlighted words may or may not be objects) The CBD software consulting Company has the following types of Employees: programmers, clerical workers and salespeople. Each employee has a name, address, unique Employee ID number (0####) and (with the exception of salespeople) an hourly pay rate. CBD provides software consulting services to its Customers through a series of customer Projects. A given customer can have more than one such project with CBD. Each customer has a unique business name and address. Each customer project has a unique invoice #, a project name, a customer contact, a list of approved programmers, and a total "cost to complete" which is reduced by different amounts as various approved programmers successfully charge costs against it. When completed, the project is ended by CBD. A programmer can work on more than one such approved project, and each project can involve the services of more than one approved programmer. Salespeople are paid solely by commission at the time of project sale (a % of the total $$ of each project). Commission rates vary with the salesperson. Programmers are also paid a fixed hourly rate, but must enter the total # of hours they spent on each approved active project, each week, into their "Time Log". Each such "legal project hourly time expenditure is saved in the Time Log as a "Project Charge. Illegal charges (ex: for non- approved or completed projects) will be rejected. Note: When such a time log is processed at the end of the week, its accepted project charges determine how much the corresponding project will be billed for the efforts of that programmer. Basically, the company processes each project charge (# hours, Project) entered in a programmer's Time Log by multiplying the #hours worked by the programmer's hourly salary, then multiplying by 1.4 and billing that amount to the project, via a "Programmer Cost" (Employee #, amount billed). Each of these programmer costs is reflected in the weekly Customer Report. A special "Overhead Project" is used to collect all employee non-billable project costs. Every programmer is approved to work on it. Uniquely, any project cost billed to Overhead is multiplied by 1 instead of 1.4. This project may not be stopped or completed and will never go insolvent (additional money is always added by the CBD "customer" before needed). Clerical employee salaries are always considered overhead, and they are paid a fixed hourly rate. They report the total number of hours they worked each week in a single Overhead Project charge. This is done week after week for each customer project until either the project is deemed by CBD to be completed (at which point it is considered "ended") or the project $$ runs out or goes negative before the project is completed (at which point it is considered "insolvent). Insolvent Projects will not be worked on in subsequent weeks, until additional monies are paid by the customer for that purpose. When an additional payment is made it will be recorded, the Project will be marked active, and work will continue at the start of the following week
Step by Step Solution
★★★★★
3.41 Rating (151 Votes )
There are 3 Steps involved in it
Step: 1
The provided images describe a functional billing and payroll system of a software consulting company named Code By Day CBD The company employs progra...
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance