Skip to content

ABC Video Rental System: Project plan

  • CPM, defines the critical path of a project which includes all tasks that are critical to the project success and its ability to do its purpose.
  • ABC Video Rental Processing represents an order processing/inventory control problem (Conger, 2008, p.51). The system processes a customer, inventory, and orders files, and theses files are regularly maintained.
  • According to (Conger, 2008, p.312), we can define multiple entities for the data type of the rental application. The entities are as follows:
    • Customer: mentioned in (Conger, 2008, p.52) as a person who rents a video tape.
    • Video Inventory: mentioned in (Conger, 2008, p.52) as a list of video tapes available for rent.
    • Open Rentals: mentioned in (Conger, 2008, p.53) as a documentation of all video rental operations.
    • Video History: mentioned in (Conger, 2008, p.52) as a representation of the sum of all rentals of a video tape (individually per physical tape, and grouped by video title).
    • Customer History: mentioned in (Conger, 2008, p.52) as a representation of the sum of all rentals of a customer.
    • End of Day Totals: mentioned in (Conger, 2008, p.53) as a summary of all transactions for the day.
    • Reports: mentioned in (Conger, 2008, p.52), which holds number of new users monthly and yearly, bad credit customers, and so on.
  • The critical path must include all of the processes mentioned above along with their entities and data attributes.
  • We are going to use CoCoMo method for estimations of Lines of Code -mentioned in (Conger, 2008, p.176)-. we consider ABC Rental as Intermediate project that is going to be developed by a small team of experienced developers.
  • According to CoCoMo method, intermediate sized projects are about 8K lines of code.
  • The project is being developed in-house by a small team (team of 2), so we consider this project as organic.
  • we use 8 as value for KSDI then:
    • number of person months (organic product) = 2.4 * (KDSI ^ 1.05) = 2.4 * (8 ^ 1.05) = 2.4 * 9.6 = 23.04.
    • time of development = 2.5 * (person months ^ 0.38) = 2.5 * (23.04 ^ 0.38) = 2.5 * 4.8 = 12 months.
  • The project will need 12 months to be developed = 50 weeks.
  • Tasks wil be defined as follows, the person who is responsible for each task is mentioned in parentheses, and the duration of each task is mentioned after the column:
    • initialization: 2 weeks (Sam + Mary).
    • develop ERD: 2 weeks (Sam + Marry).
    • build CRUD operations on all entities, which follow the following (14 weeks total):
      • Customers (Sam), Employees (Marry): 2 weeks.
      • Inventory (Sam), Open Rentals (Marry): 2 weeks.
      • User History (Sam), Video History (Marry): 2 weeks.
      • Plan reports (Sam + Marry): 4 weeks (contingency backup).
      • End of Day Totals (Sam), Implement Reports (Marry): 4 weeks.
    • Implement Orders, Returns Accounting, making sure that all entities in accordance to the regulations, integrate some 3rd party software for doing this job (Sam + Marry): 6 weeks.
    • verify unit testing, integration testing, and system testing (Sam + Marry): 8 weeks.
    • Build the GUI, test it on windows (Sam + Marry): 6 weeks.
    • Closing the project, and preparing the final report (Sam + Marry): 2 weeks.
    • Install product on PCs of the shop, Train staff (Sam + Marry): 4 weeks.
    • contingency backup: 2 weeks (Sam + Marry).
  • The task mentioned above are the critical path of the project, and the project will be completed in 50 weeks, the CPM below summarizes the project plan: