\newproject
\defmilestone{m1}{Announcement}
{27/02/95}
{}
{You read the WWW announcement.}
\deftask{t1.1}{FTP}
{28/02/95}{01/03/95}
{you:10}
{}
{You ftp the .sty files, manuals and examples.}
\deftask{t1.2}{Test}
{01/03/95}{02/03/95}
{you:60}
{t1.1}
{You test the system locally.}
\deftask{t1.3}{Installation}
{02/03/95}{03/03/95}
{system~engineer:30}
{t1.2}
{You ask your system engineer to install the package
for your center.}
\defproject{t1}{Package}
{t1.1,t1.2,t1.3}
{m1}
{You get and install the package.}
\deftask{t2.1}{Manual}
{01/03/95}{04/03/95}
{you:10}
{t1.1}
{You review the manual and examples.}
\deftask{t2.2}{Ask}
{27/02/95}{04/03/95}
{you:5,someone:5}
{}
{You communicate with others.}
\deftask{t2.3}{Experiment}
{03/03/95}{04/03/95}
{you:30}
{t1.2}
{You set up a small example.}
\defproject{t2}{Help}
{t2.1,t2.2,t2.3}
{m1}
{You get to know the system.}
\defmilestone{m2}{Usage}
{04/03/95}
{t1}
{You can use TeXProject.}
\defproject{texproject}{TeXProject}
{m1,t1,t2,m2}
{}
{Welcome to TeXProject.}
\endnewproject
|
The following text is an example of output using the project definition of section 8.1. In the text, we have emphasized all the TeXProject outputs and shown the corresponding commands between parentheses.
The project is called TeXProject (\name{texproject}).
It starts on the 27/02/95 (\start{texproject}) and ends on the 04/03/95 (\finish{texproject}).
It involves the following people: you, system engineer, someone (\resource{texproject}), and a total amount of man-minutes of 150 (\effort{texproject}). You will be involved for 115 (\effort{texproject,you}) minutes.
The task Installation (\name{t1.3}) has the following description: You ask your system engineer to install the package for your center. (\annotation{t1.3}).
The following charts and diagrams is an example of graphical output using the project definition of section 8.1. The Charts and diagrams follow their generating commands.
\Draw \TreeSpace(C,10,10) \treediagram(texproject) \EndDraw |
\Draw \TreeAlign(H,-1,0)(0,0,0) \treediagram(texproject) \EndDraw |
\Draw \pertdiagram(texproject) \EndDraw |
\Draw \ArrowHeads(1) \adjustpert(t1,30 & m2,-30 ) \pertdiagram(texproject) \EndDraw |
\Draw
\pertnodestyle{\annotation{#1}}
\pertdiagram(texproject)
\EndDraw
|
\Draw \ArrowHeads(1) \pertlimits(,1) \pertdiagram(texproject) \EndDraw |
\Draw
\ArrowHeads(1)
\Define\externalnode(1){
\filtercommand\name{#1}
\Node(#1)(--\putcommand--)}
\pertlimits(,1,\externalnode,\par$\bigoplus$\par)
\pertdiagram(texproject)
\EndDraw
|
\Draw \effortchart(texproject) \EndDraw |
\Draw \effortchart(texproject,,,,2) \EndDraw |
\Draw \effortlimits(2) \effortchart(texproject,,,,2) \EndDraw |
\Draw \Scale(1,0.6) \effortstyle(A,3,7,0,0,12) \effortchart(texproject,02/03/95,03/03/95,,3) \EndDraw |
\Draw \schedulechart(texproject,,,,99) \EndDraw |
\Draw \schedulelimits(3) \schedulechart(texproject,,,,99) \EndDraw |
\Draw
\setnumericdate\Current{02/03/95}
\pertnodestyle{%
\setnumericdate\Finish{#1,finish}%
\ifnum\Finish<\Current \Huge \bf
\smallskip \name{#1} \smallskip
\else
\name{#1}
\fi }
\pertdiagram(t1)
\EndDraw
|
\newcommand\showentry[1]{
\sapply{xx,down,{#1}}
\sapply{xx,tasks,xx}
\filtercommand\start{#1}
\sapply{xx,\item[\putcommand] \annotation{#1} \getname}
}
\newcommand\getname[1]{ \sapply{xx,\name} }
\datesproject{cal}{calendar}{texproject}{}
\sapply{xx,down,{cal}}
\begin{description}
\sapply{xx,\showentry}
\end{description}
|
\contributorsproject{c}{contributors}{texproject}{description}
\Draw
\TreeAlign(H,-1,0)(0,0,0)
\treediagram(c)
\EndDraw
|
\Draw \schedulechart(c) \EndDraw |
\newcommand\info[1]{
{\bf \name{#1}}: effort \effort{#1}, \start{#1}--\finish{#1}. }
\newcommand\cinfo[1]{
\info{#1}
\sapply{tasks,down,{#1}}
\begin{enumerate}
\sapply{tasks,\tinfo}
\end{enumerate} }
\newcommand\tinfo[1]{ \item \info{#1} }
\sapply{contributors,down,{c}}
\sapply{contributors,\cinfo}
|
you: effort 120, 27/02/95-04/03/95.
system engineer: effort 30, 02/03/95-03/03/95.
someone: effort 10, 27/02/95-04/03/95.
\newcommand\getparent[1]{
\sapply{p,up,{#1}}
\sapply{p,\name}
}
\newcommand\V[5]{\sapply{all,merge,all,{#1}}}
\newcommand\Vii[7]{\sapply{all,merge,all,{#1}}}
\sapply{all,merge,{},{}}
\rapply{texproject,\V,\V,\Vii}
\sapply{all,subtract,all,{texproject}}
\sapply{foo,defproject,all,,}
\Draw
\TreeAlign(H,-1,0)(0,0,0)
\treediagram(foo,1)
\EndDraw
\Draw
\ArrowHeads(1)
\pertnodestyle{\getparent{#1}:\break\hfil\name{#1}}
\pertdiagram *(foo)
\EndDraw
\smallskip \hrule\smallskip
\Draw
\ArrowHeads(1)
\pertnodestyle{\getparent{#1}:\break\hfil\name{#1}}
\pertdiagram(foo)
\EndDraw
\Draw
\sapply{all,merge,all,{texproject}}
\sapply{foo,defproject,all,,}
\effortchart(foo)
\EndDraw
\Draw
\schedulechart(foo)
\EndDraw
|
__________________________________________________________________
\Draw
\treenodestyle{\annotation{#1}\break \start{#1}\quad\hfill\finish{#1}}
\font\sevenrm=cmr7 \sevenrm
\baselineskip=9pt
\treestyle(,,,,85)
\TreeAlign(H,-1,0)(0,0,0)
\TreeSpace(,5,10) \treediagram(texproject)
\EndDraw
|
\newproject \minmaxdates{0/0/0//100/0/0}
\defproject{tasks}{}{a,b,c,d}{}{}
\deftask{a}{task 1}{0/0/0}{3/0/0}{}{}{}
\deftask{b}{task 2}{2/0/0}{6/0/0}{}{}{}
\deftask{c}{task 3}{1/0/0}{2/0/0}{}{}{}
\deftask{d}{task 4}{5/0/0}{7/0/0}{}{}{}
\endnewproject
\Draw \Scale(1,0.5) \schedulestyle(,,,,3,,)
\schedulechart(tasks)
\MoveToLoc(SW) \Move(-5pt\du,0) \MarkLoc(sw)
\MoveToLoc(NE) \Move( 5pt\du,0) \MarkLoc(ne) \CSeg\DrawRect(ne,sw)
\namesaxis(sw,ne)(W-0)
\nonamesaxis(sw,ne)(W-1)
\font\sevenrm=cmr7 \sevenrm
\Axis(SW,NE)(N0,& week~1 && week~2 && week~3 && week~4 &&
week~5 && week~6 && week~7 & )
\Axis(SW,NE)(N-1,&&&&&&& )
\EndDraw
|