| Type | Basis | Description | Value |
|---|---|---|---|
| team | work product | Index of Work Products | 1 |
| team | work product | Notes on how GKrellM plug-ins work | 15 |
| team | work product | Module Specifications | 20 |
| team | work product | Post Mortem Analysis | 8 |
| team | methodology | Use of Version Control | 1 |
| team | work product | Plan for phase activities | 2 |
| team | methodology | Planning and Management | 2 |
It is often necessary, in a software, project, to learn how
to use a new framework. When anyone starts using a new framework,
they usually have very little concept of what it does, or
how it is used. The process of studying, and figuring out
how to exploit a new framework is often an iterative one.
There is an inelegant, but time-proven approach to
learning a new framework:
It is much more efficient to gain this understanding by study
and prototyping than by trying to debug a complete program that
has been designed on the basis of fundamental misunderstandings.
This is why we are making you study, make notes, prototype,
and specify before you start
doing detailed design for your plug-in.
In this phase you will:
As you figure out how to use the APIs, make notes on their
use (and on the implied structure and design of plug-ins).
If there are aspects of the specifications that do not
entirely make sense, construct quick and dirty prototypes
to confirm how the features work, and what you have to do
to make them work.
The APIs to support new pluggins are described in the
GKrellM Plugin Programmers Reference.
WARNING
Take care that you plan enough time (and man-power)
to adequately study these APIs, review sample code,
build sample programs to confirm your understanding,
and specify your plug-in.
Each phase of this project will receive a team grade.
Individual grades (for contribution, quality, and schedule management)
will be based on the combined deliverables for all of the phases.
This project requires the same general project index, plans,
subversion use, and post-mortems that are part of every project
in this class.
An overall project plan will have been created in the first
phase, but (if it has not yet already been prepared) you will
also need to prepare a detailed plan for how the sub-tasks of
this phase will be done, by whom, and on what dates.
The team will be graded, as a whole, on its ability to
Individuals will be graded on the extent to which they
were able to perform their work according to (a) the
original plan or (b) the plan of record.
The project specific grade-ables for this project are:
As you review the GKrellM plug-in API descriptions and
sample code, make notes on:
These notes should not attempt to replicate the documented
specifications, but should outline the key concepts, the
structural requirements imposed on GKrellM plug-ins, and
how the primary functions are used. They should distill
out the information that is necessary to do a high level
design for a GKrellM plug-in.
If you find it helpful to build test programs to
confirm some of these details, briefly mention what
they did and what you learned from them.
These notes need not be at all polished, but should be
understandable by another engineer (e.g. the one for whom
you are doing this research). They will be graded on the
extent to which they cover all of the required information
(i.e. are sufficient to guide him/hir through the design
work to be done in the next phase).
Based on the data collection techniques you demonstrated
in the first phase of this project, and on the notes you
have made on GKrellM plug-ins, write a complete specification
for a GKrellM plug-in to gather and present the information
you have selected.
This specification will include:
You can assume that the person who is to implement this
module is a competent programmer, who has no past experience
with GKrellM, but does have access to the GKrellM plug-in API
specifications and any other specifications you care to
reference.
These specifications will be graded on the basis of their
completeness, understandability, reasonableness, and correctness.
Reflect and review the approach you took to studying the GKrellM
plug-in API:
The standard guidelines for work product formats apply.
3. Assignment
The GKrellM Plug-in API contains a very rich set of
functions, for interfacing to GKrellM, for producing
displays, and for interacting with control mechanisms.
It is unlikely that you will gain a good understanding
of these APIs, or how to structure a GKrellM plug-in
in one or two readings.
4. Grading
4.1 General Criteria
We will determine when work was done by looking
at the dates of the final subversion check-ins.
Monitoring plans should be included in your
project plan. Problems that come up should be
discussed in your post-mortem.
Detected problems and responses should be discussed
in your post-mortem, and reflected in revisions to
the plan.
4.2 Project Specific Grade-ables
4.3 Work Product Formats