Re: progress :-)
Dag Andersen <[email protected]>
| Newsgroups | gmane.comp.kde.kplato |
|---|---|
| Message-ID | <[email protected]> |
On Søndag den 9. marts 2003 21:24, John Lamb wrote: > I got the CVS to compile today so I can actually see the changes. > This looks good. > > IMHO, the next thing we need is to can add predecessors and > successors to tasks. Then there should be enough to do CPM > calculations. If you didn't find out: Add some tasks, select pert diagram (if not already there), click on parent task, then click on child task and you should get a dialog to select releation type. (note that if you select project->calculate the presentation is not updated atm) > > I already wrote code to do CPM calculations. I think there's a > modified version of it in kplato at the moment. I'm happy to > write/rewrite this and/or link it to the code. For example, we > could use the calculate menu item to calculate CPM and so generate > a simple project plan for the Gantt chart. > > If someone (Bo, Dag) wants to say where the project representation > is and what they want calculated, I can do this (I've written the > algorithm before in C++ and use a Python version for simple > projects - though I'm _not_ seriously suggesting using Python here > ;-) ). The calculations are in files kptproject.cc/kptnode.cc. > > I like the Gantt widget. It's very simple with a few bugs thrown in ;) Also, as Bo pointed out, there is already a Gantt widget in pim, so possibly that should be used... Any takers? > > Other questions: > > 1. Calculated and user values. I think we need to distinguish > carefully. For example, the user could specify an latest start for > a task but should not need to do so. But the project must be able > to calculate a latest start independently - it would be up to the > project manager to work out what to do if there was a conflict - in > reality that happens. Atm. I put in following scheduling/contstraints: As Soon As Possible, As Late As Possible, Start No Earlier Than, Finish No Later Than & Must Start On. Should also have Must Finish On ? All these are applicable to tasks. For summary tasks & sub-projects a I'm not sure if all or only some are relevant. For Main project I think we need to be able to set Start time or Finish time. (Different dialog from sub-projects) > > 2. Architecture. I suggest that the PERT/CPM calculations be > separated from the UI: i.e. defined in different classes. The UI > could then pass a pointer to an object containing the values it > wanted changed. This makes it easier to test algorithms outside the > UI and also to replace bits of code. Although PERT/CPM itself is > easy, resource allocation is not and may need to be handled by > heuristics and perhaps have several alternative methods available. As said above, calculations are placed in the node files. I also put drawing there as it was the simplest but I also think it should be moved into separate classes (partly done for pert). -- Mvh, Dag Andersen