User:Conseo-Polyc0l0rNet/Harvester/Planning/conceptual design
Contents |
Conceptual design
This is a first basis out of the current (non-managed) process to estimate target size and time needed to accomplish the goal.
Server-side
This ER-diagram shows all elements currently planned for the Harvester. You can also map that to the Java API of the harvest package.
To estimate the project at this initial stage of the process, I will simply make some completion estimates regarding current functionality, will then assess a rough time estimate.
The harvesting service can be modularized in 4 different services. We will apply the PSP0 process on each module, by adding subsections to each document including requirements (otherwise documents get scattered too much). Sections will be named after the main service.
store relevant messages (HarvestCache)
class | current size | percentage complete | missing lines |
---|---|---|---|
HarvestCache | 467 | 70 % | 200 |
DiffMessage | 80 | 90 % | 9 |
Message | 42 | 95 % | 2 |
MessageContext | 47 | 95 % | 2 |
Total: 213
web scheduler and fetcher (HarvestRunner)
class | current size | percentage complete | missing lines |
---|---|---|---|
HarvestRunner | 328 | 55 % | 268 |
FetchJob | 29 | 95 % | 2 |
Total: 270
authenticate message against system identities (Authenticator)
class | current size | percentage complete | missing lines |
---|---|---|---|
Authenticator | 4 | 80 % | 1 |
BasicAuthenticator | 18 | 70 % | 8 |
WikiAuthenticator | 35 | 70 % | 15 |
Total: 24
messaging system (Kicker)
class | current size | percentage complete | missing lines |
---|---|---|---|
Kicker | 65 | 20 % | 260 |
KickReceiver | 4 | 80 % | 1 |
Kick | 3 | 90 % | 1 |
ManualKick | 0 | 0 % | 12 |
Configurator | 123 | 60 % | 82 |
ConfigKick | 15 | 80 % | 4 |
Total: 360
Following this humble estimation, we can speculate:
All server side services amount to Total: 867
Since these numbers are gathered with sloccount, which only counts the pure code, me not closely following a coding style fitting loc-counting and the overall weakness of the process. I assume I can deal with 2 lines per hour (since sloccount does not count code overhead, docs, design etc.). This makes 433 hours for an initial estimate. For one full time programmer this is 54 days.
Client-side
For a first version of the track similiar to the current feed, I simply assume it takes double the amount of code for the current feed. This is 236 + some more in the bite/visual plumbing, let's say 600 in total. 300 hours, 38 days for one programmer.