home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / IPM_CODE.ZIP / IPM.DOC < prev    next >
Encoding:
Text File  |  1985-09-24  |  12.3 KB  |  281 lines

  1.  
  2. IPM.PAS & IPM.COM - Version 1.07 - November, 1984
  3. (c) 1984 by Edward V. Dong, All Rights Reserved.
  4.  
  5.  
  6.                          Programmed by:
  7.                          Edward V.  Dong
  8.                      12205 Alexandria Place
  9.                          Chino, CA 91710
  10.  
  11. 1.0   GENERAL
  12.  
  13. IPM.COM  is  a  Critical  Path  Method  Project  Scheduler.   The
  14. Critical  Path  Method  is  a  methodology  for  determining  the
  15. critical  tasks  that,  if  not  accomplished  by a certain time,
  16. contribute  directly  to  the  delay  of  the whole project.  You
  17. should refer to various books on the subject.
  18.  
  19. 1.1  RIGHT  TO  USE THIS SOFTWARE.  The software, IPM.COM, may be
  20. used as is, by anyone  for  private  purposes  only.   Commercial
  21. users  should contact the address above for the right to use this
  22. software.  No claim is made for the veracity  of  this  software,
  23. and  no warranty, guarantee or other bond is expressed or implied
  24. about the use of this software.  No user may sell  this  software
  25. in  any  form,  other than for the cost of materials and mailing,
  26. without the express, written consent of Edward V.  Dong.
  27.  
  28. This software and documentation is copyright (c) 1984  by  Edward
  29. V. Dong, all rights reserved.
  30.  
  31. You are encouraged to share and  copy  this  software  otherwise.
  32. Contributions  ($10  for example) and comments should be directed
  33. to the above address.
  34.  
  35. 1.2  REQUIREMENTS.   IPM will run in a minimum of 128K, under DOS
  36. 1.1, 2.0, and 2.1, and should run  under  DOS  3.X.   Written  in
  37. Turbo  Pascal 1.0, IPM requires an IBM PC, XT, PC-3270, or AT, or
  38. a close PC compatible that  supports  IBM  BIOS  ROM  calls.   It
  39. should run with or without a color graphics board.
  40.  
  41. The  maximum  number  of  activities  that it will handle, is 100
  42. (actually 99), determined by the constant MaxValue in the  source
  43. code IPM.PAS.
  44.  
  45. Various calculations and plots can be printed to an  EPSON  or  a
  46. compatible  printer,  by first outputing them to a disk file, and
  47. then  printing  those  files.   Basic  calculation  data  can  be
  48. exported as a .PRN file to Lotus 1-2-3.
  49.  
  50. 1.3  THEORY  OF  OPERATIONS.   Briefy,  the  CPM theory is that a
  51. project is composed of tasks or activities that are arranged in a
  52. pattern  or  network,  where  some  tasks  may  be  performed  in
  53. parallel.
  54.  
  55. If two tasks are being performed in parallel, then the  one  that
  56. takes  longer  to  do,  is  termed "critical".  It is "critical",
  57. because a delay in that task directly contributes to the delay of
  58. the whole project.  A delay in the other task -- as long as it is
  59. completed before the longer task -- does not.  The difference  in
  60. completion time is called "slack".
  61.  
  62. The idea in project scheduling and management is to arrange these
  63. tasks, and to monitor them,  so  that  the  time  for  the  whole
  64. project is kept as short as possible, or the resources needed for
  65. the project is "levelled".  That is, you  don't  want  to  spend,
  66. say, 6 men for 2 weeks on one part of the project, and only use 1
  67. man for the remaining 12 weeks of  the  project;   rather,  as  a
  68. manager,  you want to spread your manpower (or other resource) as
  69. evenly as possible, because it becomes easier to manage.
  70.  
  71. 1.4  BACKGROUND.   IPM was originally coded because of, first, an
  72. admiration  for  the  Harvard  Project  Scheduler,  and,  second,
  73. certain  deficiencies  in  the  HPM.   IPM indeed stands for "Ivy
  74. League Project Manager".  While most features found  in  HPM  are
  75. incorporated  into  IPM,  IPM  however  does  not have a calendar
  76. function nor a project-tracking function.   These  may  be  added
  77. later.
  78.  
  79. IPM  is  an  evolutionary  outgrowth  of  an  earlier  scheduling
  80. program, written  by  E.   Dong,  called  CPM.COM.   CPM.COM  was
  81. originally  coded  18  Sept  83  by  E.  Dong, based on the BASIC
  82. version, 'Hard Hat Management:  Two On-Site  Tools',  by  Richard
  83. Parry,  INTERFACE  AGE,  February, 1981.  It was first translated
  84. into CIC86 'C', and then retranslated into Turbo Pascal, with the
  85. last update on 24-Mar-84.
  86.  
  87. The  current  program, IPM.COM, was adapted from PRACTICAL PASCAL
  88. PROGRAMS, Osborne/McGraw-Hill, by  Greg  Davidson,  (c)  1982  by
  89. McGraw-Hill,  Inc.   However,  this  was extensively modified, as
  90. this book did not address the creation of GANTT or PERT charts.
  91.  
  92. The algorithm for IPM's GANTT charts is based on that created for
  93. CPM.COM,  while  the  algorithm  for  IPM's PERT charts was newly
  94. created (in three days of intensive development).  A  semi-screen
  95. editor was also created for IPM.COM.
  96.  
  97. 2.0   STARTING IPM
  98.  
  99. Starting IPM is, after it has  been  copied  to  the  appropriate
  100. disk,  to  type  IPM.   When  it  pops  up on the screen, it will
  101. display a copyright logo, a brief text indicating  the  reference
  102. to  Greg Davidson's book, and a brief description of how to enter
  103. commands.
  104.  
  105. IPM is arranged so that line 25 (and occasionally, also line  24)
  106. shows the current available commands.  You execute these commands
  107. by typing the first letter (which should be high-lighted) and  no
  108. carriage return.
  109.  
  110. Initially,  the  only  options  you have at startup are:  F(ile),
  111. Q(uit), and H(elp).  QUIT returns you to DOS;  in some cases,  it
  112. will  return  you  to  a  previous  command  menu  instead.  HELP
  113. generates a quick summary of the basic commands  only.   FILE  is
  114. the  command  that  you must enter first, in order to do anything
  115. with IPM.
  116.  
  117. FILE allows you to specify the method of data  entry.   That  is,
  118. you  can enter project data interactively at the console, or from
  119. a file.  If you're using IPM for the first time, generally  there
  120. would  be  no  files  for  IPM  to  use,  so  you must enter data
  121. initially at the console directly.  FILE will prompt you for your
  122. option.
  123.  
  124. You  should  have  a  minimum of four tasks to use IPM;  anything
  125. else, would be a waste of time with IPM.
  126.  
  127. Entering  necessary  input  data  is as follows.  First, IPM will
  128. prompt:
  129.  
  130. Input from Console? (Y/N)
  131.  
  132.     Either an upper- or lower-case "y" or "n" may be entered.  If
  133.     you  enter  "N",  then IPM will ask for the name of the file.
  134.     This file must be in  the  current  subdirectory,  if  you're
  135.     using DOS 2.0 or higher;  IPM isn't smart enough (right now!)
  136.     to access across subdirectories.
  137.  
  138.     If you answer "Y", then IPM will ask:
  139.  
  140. Enter Project Title/Description:
  141.  
  142.     You can enter a  60-character  description  of  the  project.
  143.     This  title  or  description  will  appear  at the top of the
  144.     screen to let you know what project IPM is working on.
  145.  
  146.     Then, IPM will prompt for the number of tasks  that  comprise
  147.     this project:
  148.  
  149. Enter Number of Tasks on this network:
  150.  
  151.     As  was  said before, you should have a minimum of four tasks
  152.     to use IPM;  anything else, would be a  waste  of  time  with
  153.     IPM.   Then the screen will clear, and display something like
  154.     the following:
  155.  
  156. PROJECT: Sample -- Editing
  157. ----------------------------------------------------------------
  158. Task Start  End
  159.       Node Node  Duration  Cost Name/Description
  160.     1    0    0    0.00   0.00    Task01
  161.     2    0    0    0.00   0.00    Task02
  162.     3    0    0    0.00   0.00    Task03
  163.     4    0    0    0.00   0.00    Task04
  164.  
  165.     where "Sample" here is  the  project  title/description  that
  166.     you've entered.  IPM tells you that you are in editing  mode,
  167.     and  will have supplied a generic task name for the number of
  168.     tasks you've indicated, such as "Task01".
  169.  
  170.     At this point, you will see a double command line (lines 24 &
  171.     25).  You can use the command options (remember,  enter  only
  172.     the  first or high-lighted letter of the option) to alter and
  173.     enter the task data.
  174.  
  175. You should do the following:
  176.  
  177.     o IPM  assumes  that the first node is numbered "1", and that
  178.       the last possible node is a number less than  or  equal  to
  179.       the  total  number  of  tasks.  Therefore, you must specify
  180.       "Start" and "End" nodes for each task.
  181.  
  182.     o "Duration" refers to the expected length of time  that  the
  183.       task  should take.  No units are used, so you can use days,
  184.       hours, minutes, or even seconds if you want.  However,  you
  185.       should use the SAME unit of time (days, weeks, or whatever)
  186.       for all entries.
  187.  
  188. To edit a line in the display, you must first enter  the  Taskno.
  189. When  you  have done so, the line in the display will high-light.
  190. Then you can change Duration, Task title, Task description,  etc.
  191. The Task Title, however, is limited to 8 characters only.
  192.  
  193. You  can  insert either a new Task or a new Node.  If you enter a
  194. new Node, you MUST specify a current Task number to go with  that
  195. new Node.
  196.  
  197. To  finish  the editing, enter the command Q(uit).  IPM will then
  198. prompt you if you want to save it to disk, and if so,  what  name
  199. should it give the file.  If the file exists, IPM will ask you if
  200. you want to overwrite (reuse) the file.
  201.  
  202. 3.0  OPERATING IPM
  203.  
  204. Once you have entered the task data, you then have the following
  205. options:
  206.  
  207.     CALCSHEET:  Calculate critical path, total project  duration,
  208.     and cost.  You MUST run this option before doing...
  209.  
  210.     GANTT:  Build a GANTT chart on the console.  If the CalcSheet
  211.     option was not exercised, then you will be prompted to do so.
  212.     The GANTT chart is normalized, that  is,  the  time  line  is
  213.     scaled to fit the CRT display.  The scaling is indicated.
  214.  
  215.     PLOT:   Build  a PERT network chart of the project.  Here you
  216.     will see the tasks going from Node to Node, in  the  sequence
  217.     that  you've  entered.  Since many managers and professionals
  218.     need to see a PERT chart first, this option has the suboption
  219.     of  Editing  as  well.   Then  you  will  go through the same
  220.     editing as before, except that the Edit screen appears in the
  221.     lower  half  of  the  CRT display, so you can see the current
  222.     PERT network.  When you have  finished  editing,  the  screen
  223.     will flicker once or twice, and then paint the new PERT chart
  224.     that is the result of your editing.
  225.  
  226.     EDIT:  Edit tasks, as described above.
  227.  
  228.     FILE:  Once you have entered data (either from the console or
  229.     from  disk), the next time you request F(ile), it will ask if
  230.     you want to do a N(ew project) or to O(utput to  file).   See
  231.     Section 4.0 below.
  232.  
  233.     QUIT:   Return  to  DOS.  IPM will NOT ask you if you want to
  234.     save the current file, so be warned.
  235.  
  236. 4.0  ADVANCED IPM FILE OPTIONS
  237.  
  238. After you have first entered data via F(ile), the next time (and
  239. thereafter) you enable F(ile), it will ask you if you want to do
  240. a N(ew project), O(utput to file), or Q(uit to main menu).
  241.  
  242.     N(ew project):  This is the same as if you were entering data
  243.     for the first time to IPM.
  244.  
  245.     O(utput  to File):  When you select this option, you will see
  246.     a new command menu line of C(alcSheet), G(antt), P(lot),  and
  247.     L(otus).  For C, G, and P, you will first be prompted for the
  248.     filename to send the output to;  this can be "LPT1:" for  the
  249.     printer, but this is NOT encouraged.  (Save to file first, so
  250.     you can use your text editor to modify the file for  whatever
  251.     purpose.)
  252.  
  253.     L(otus):   This  option  outputs  the results of calculations
  254.     into a file, which should be called  with  extension  ".PRN".
  255.     Then  you  can  use Lotus 1-2-3 to IMPORT the file (using the
  256.     NUMBERS option in Lotus), and  thus  generate  a  .WKS  file.
  257.     Once  you've  done  that,  you  can now use the full power of
  258.     Lotus on it.
  259.  
  260.     Q(uit):  Returns you to the main menu display.
  261.  
  262. The  file/printer  output  of the G(antt) and P(lot) options will
  263. differ from the CRT display.  The reason for this, is  to  enable
  264. the  use of any ASCII-supported printer;  except for IBM printers
  265. and EPSON FX printers (with the  appropriate  fonts  downloaded),
  266. the  IBM  display characters above ASCII code 128 decimal are not
  267. uniformly supported.
  268.  
  269. 5.0  USEFUL TIPS
  270.  
  271. IPM uses a normalized time scale.  That is, IPM does not  attempt
  272. to   allocate  tasks  to  a  calendar  schedule,  although  this,
  273. obviously,  is  a  prime  objective.   Thus,   you   should   use
  274. "normalized"  time  units,  such as hours, days, or minutes;  you
  275. should use minutes, for example, if you are using  this  to  plan
  276. activities  that will span an eight-hour day or less;  hours, for
  277. projects under a week;  and days for longer-lived projects.
  278.  
  279. 
  280.  
  281. that will spa