Escolar Documentos
Profissional Documentos
Cultura Documentos
T HE documentation process is performed simultaneously ture documentation produced by 20 groups of students who
during the several phases of software development. It as- have developed different projects as a task for an HCI (Hu-
sists the project communication and afterwards facilitates man-Computer Interaction) course, given at the Institute of
software understanding for future maintenance [10] or reuse Mathematics Sciences and Computing of the University of So
[18]. As the documentation process is a flexible activity, Paulo in So Carlos.
documents in different formats, structures and types of content This article is organized as follows: in Section II is pre-
can be produced. However, the whole documentation process sented the work related to the software documentation process,
is not an easy task. Developers have to deal with an enormous reported in the literature, and which has been essential for the
diversity of documents that are different in formats and con- accomplishment of the case study we carried through. In Sec-
tents and they usually complain that searching through these tion III the case study is presented, including the characteris-
documents is too difficult and usually takes a lot of time and tics and volume of the existing information investigated from
attention from the people involved. the registered documents. In Section IV, the process to abstract
Forward [9] has investigated how the software documenta- the HCI documentation structure is presented. Section V
tion is used in a software project, and has confirmed that soft- briefly describes the related works and how automated tools
ware documents favorably contribute for it. In addition, he has could assist some process activities. Finally, in Section VI the
also studied how the technologies can improve the use and the conclusions of this work are presented as well as the research
utility of such documentation. However, in his work, we can- in progress for recovering of information contained in docu-
mentation structured by the presented process.
This work was supported in part by the CNPq. II. SOFTWARE DOCUMENTATION PROCESS
L. C. Fumagalli is with ICMC University of So Paulo, So Carlos, SP,
CEP 13560-970, Brazil (e-mail: lisandra@icmc.usp.br). The software documentation process is indispensable dur-
L. T. E. Pansanato is with CEFET-PR, Cornlio Procpio, PR, CEP ing the software development. The documentations role is
86300-000, Brazil (e-mail: luciano@cp.cefetpr.br).
R. P. M. Fortes is with ICMC University of So Paulo, So Carlos, SP,
concerned to register the system evolution, providing informa-
CEP 13560-970, Brazil (e-mail: renata@icmc.usp.br). tion and helping to the use and maintenance of the systems.
2
Beyond these benefits, the documentation can also facilitate document deletion and document storage in files.
system reuse [18]. Although these activities are established by the ISO-12207
Results reported by Forward and Lethbridge [10] show that norm, factors as high cost, inaccuracy, and difficulty of ma-
software engineers consider the documentation important even nipulation make documents creation and updating difficult
if it is not up to date (but keeping it up to date is an objective). [4]. These combined factors inevitably produce incomplete,
Developers also consider documents as an important tool for inconsistent and expensive documents [17].
communication, and these documents always have to be used In this context, an alternative to reduce the effect of these
to achieve this purpose. factors is to use a well-defined structure to produce the soft-
Although documentation is believed essential during the ware documents. In fact, many benefits can be obtained from
software development, software engineers consider it an oner- well elaborated documents: less time and effort to the software
ous activity. Such difficulty can contribute for an inexact, in- development, an easier and more efficient use of the software
complete, outdated or even inexistent documentation, and this by users, more explicit structures of software, facility to locate
fact can imply in a possible lack of quality of the software, and understand the information registered [19].
error generation during its development, and an increasing To identify a structure of common HCI design documents,
difficulty in its maintenance [6]. we have studied the particularities of them .A brief description
Forward [9] has investigated how the documentation is used of the HCI design documentation, used in this work, is pre-
in a software project, and has confirmed that software docu- sented in the next subsection. In special, the iteration feature is
ments favorably contribut for the project. In addition, he has focused during the documentation process of such projects.
also studied how technologies can improve the use and utility
B. HCI Design Documentation
of such documentation. However, in his work, we cannot ob-
serve a concern with support to allow exchange of documents To sum up, HCI objectives are developing and improving
during the software documentation process. We believe that security, utility, effectiveness, efficiency and usability of all
supplying a structure accordingly to a well-defined and signifi- systems. Usability, a keyword to HCI, is concerned in making
cant markup language to support the document production, the systems easier to learn and use [20].
along with the use of Web infrastructure, can improve The development of an interactive system is not a trivial
information retrieval for maintenance and reuse of documents. task. To be successful, not only should the system be imple-
Since documentation process is an important topic in our mented in an effective way but also it must be accepted for a
work, it has been studied as a basis to establish an appropriate user population. Preece [20] describes the Star model (Fig. 1)
approach consistent with the state of art on software documen- to highlight a number of important points for the interactive
tation, and to supply an adequate support to a well-defined system development. First, ordering the activities is inappro-
structuring of such Web documents. priate; the development may begin at any stage and may be
followed by any of the other stages. The Star model was de-
A. Activities of the Software Documentation Process rived following extensive analysis of actual design practice
In the software development process, documentation must among HCI designers. Second, the model stresses rapid proto-
reflect and register information related to specification, design, typing and an incremental development of the final product.
implementation, verification and installation of the software Third, the model distinguishes between conceptual design and
[11]. The ISO-12207 norm [15] establishes four activities for physical design (formal design); conceptual design concerns
the Software Documentation Process: itself with questions of what is required, while the physical
1) Process Implementation: the objective of this activity is design is concerned with questions of how the requirements
to study the documentation requirements for the project to be can be achieved. Finally, the central activity of the Star model
developed, to establish the type of document to be elaborated, is evaluation; all the aspects of the development are target of
as well the technology to be used, the sequence of operations constant evaluation by users and designers.
to produce and distribute the documents, and the document
language used to index and reference them. Implementation
Task Analysis
Functional Analysis
2) Design and Development: the intention is to describe all
the aspects demanded for the production of each individual
document. Each document, according to its design, must pre- Prototyping Evaluation
Requirements
Specification
sent standards of documentation related to format, content and
presentation, among others.
3) Production: in this activity, all the documents are pro- Conceptual Design
Formal Design
duced. These documents must be produced according to the
design defined in the previous activity. The Production activity
Fig. 1. The star model [20].
also includes the preparation of the environment of production
and the review, identification and release of documents.
As important as evaluation, the following activities are also
4) Maintenance: this activity deals with the tasks related to
considered by Preece [20]: user, work, task and environment
the controlled introduction of changes in documents, obsolete
analyses; technical analysis; requirement specification; design
3
and design representation; prototyping and use of other design through to abstract the structure of a vast set of documents of
support tools and techniques; coding and implementation. interface design. This structure will be used later as a base to
Along with the activities of the development process, the allow an efficient retrieval of the information registered in the
representations produced in these activities are also fundamen- documents.
tal. Different models (formal and informal) and strategies
(checklist, rules and guidelines) are used according to the ac-
tivity. The resultant products of these representations consti-
tute the project documentation. This documentation, however,
differs from the documentation of conventional software sys-
tems because the activities of development process of conven-
tional systems and interactive systems also differ [7]. A possi-
ble explanation to this difference is the fact that users and us-
ability are essential topics for interactive systems and it is not
so relevant in conventional systems [7]. Also, as noted by
Preece [20], interactive system documentation design must be
flexible to attend the lack of ordering of its activities.
In order to get a well-defined document structure, we have
considered document engineering and studied the importance
of documentation analysis.
C. Document Engineering
Fig 2. The Document Engineering Roadmap [27].
The term document engineering reflects an emerging anal-
ogy between issues of digital document creation, development
III. CASE STUDY
and maintenance, and issues of software development. It has
been observed an increasing interest among the digital com- The object of our study consists of the documentation of
munity in the application of techniques and approaches, which twenty (20) interface projects developed during a HCI course,
have been proved successful in large software systems to the given to an undergraduate course and two graduate courses in
area of digital documents [28]. In this way, an adequate docu- Computing Science in our institute.
ment structuring is a requirement and the Web is an appropri- The documentation introduces the specification of a practi-
ate environment to make the access to these documents avail- cal interface project that is composed of five phases: 0)
able. Groups and Topic Definition, 1) Understanding the Problem,
Glushko and McGrath [27] have established a document 2) Design of Alternative Interfaces, 3) Prototyping and Evalua-
engineering roadmap by reshaping the classical analyze- tion Plan and 4) Evaluation. The professor of the course sup-
design-refine modelling methodology to better fit the domain plies a script to the project documentation, with the content list
of documents (Fig. 2). One of the tasks of this roadmap is the and an orientation for the elaboration of documents related to
documentation analysis. It is a way of removing redundant each phase. The documents must be written in HTML and
processes or data, standardizing on one process or rationaliz- published in the Web.
ing a document structure. Besides that, document analysis is The students of the HCI publish their documentation by us-
often conducted with the goal of abstracting a logical model ing CoTeia [2], a CSCW (Computer Supported Cooperative
from heterogeneous instances and encoding it as a SGML or Work) tool for the collaborative authoring of material based on
XML schema. The design of document structure specification the Web. CoTeia presents the main features of the CoWeb [13]
is very rigorous in document engineering. Well-engineered including simplicity and open authoring of documents, and
document structures have clear, unambiguous definition of also has other functionalities as access control and concurrent
data. In addition, the structure enables the replacement of ad control. Using CoTeia, all the material elaborated by the stu-
hoc, inconsistent or incomplete formatting with a stylesheet dents during the design phases is available in a Web based
that applies presentation semantics in a consistent fashion to repository.
any instance that conforms to the structure [27]. The documentation available for analysis is from 20 pro-
Glushko and McGrath [27] have applied the document en- jects developed in the period of 20011 to 20022, totalizing 145
gineering process in B2B documents aiming to exchange regu- pages with 824 links. The detailed data of the projects are
lar data among Web applications. Thus, they focus on data- graphically presented in Fig. 3. It presents the number of pages
centric documents. In our case study, we analyzed a set of HCI and the number of links per page used in the documentation of
project documents focusing on the process of abstracting its each interface project developed. In fact, we can see that there
structure aiming at later retrieval. As a result we have ab- is a variety of styles during document authoring. For example,
stracted a structure to this documentation, thus defining the in MAWA project the team made use of a lot of links and
correspondent markup language (XML DTD).
1
In the next section is presented the case study we carried http://catuaba.icmc.sc.usp.br:8080/grad1o2001-HCI/2
2
http://coweb.icmc.usp.br/coweb/mostra.php?ident=28.10
4
only one page was created. On the other hand, Traffic Aid to structure a document in parts and to identify the parts that
project used a large number of pages and few links. This ob- are different. Such markup languages (also known as vocabu-
servation leads us to reflect about the fact that even using a laries or XML applications) are defined with a Document
pre-defined script to guide the documentation required, the Type Definition (DTD).
freedom of authoring the hypertext elements (such as links and Literature about XML shows how to write a DTD, that is
pages) is evidenced. which syntax aspects are [14] [24] [29], or how to develop a
DTD from scratch, based on general guidelines for the docu-
25 ment analysis and heuristics for the document structure defini-
20 tion [14] [26]. In this context, Maler and Andaloussi [25] pro-
15 pose a document developing cycle, and give special attention
10
to document analysis. However, we cannot notice any support
for the analysis of extensive document sets and a detailed de-
5
scription of tasks to several people involved in this activity.
0
In next subsection, the process performed during our case
PoopNet
RCN OnLine
Tradutor
BusOnline
Prazer Brasil (a
Guia Eletrnico
showMeTheWay
HomeController
Okey
Prometeus
Farmcia Virtual
Achados &
Garom Virtual
I - Fly
Auto-USP
OndeTem.com
Traffic Aid
Intelligent Bus
SecSystems
MAWA
TABLE I
DOCUMENTATION SCRIPT FOR THE PRACTICAL INTERFACE PROJECTS FOR THE
HCI COURSE
Undergrad Graduate Graduate
2001 2001 2002
PHASE REQUIRED AS DOCUMENTATION
Groups and Topic - name, date and a brief project description
Number of pages Links per pages Definition - groups name and e-mail
(0)
Fig. 3. Number of pages and links per pages from HCI course projects docu-
Understanding the - updated description of the project (optional)
mentation.
Problem - description of technical or social organization
(1) - users description
Software engineering is the area that consists of a series of - task analysis of the system under development
activities that must be carried through during the software de- - task analysis of existing systems
velopment process and that must be registered [18] [21]. How- - description of the usability criteria considered
ever, questions related to usability are not emphasized; and - references
Project of Alterna- - updated description of the project, discussing appli-
adding an activity among the existing activities is not enough
tive Interfaces cation area, tasks and potential users
to solve this problem. Software engineering for the project of (2) - description of functional and non-functional re-
interactive systems must include techniques that cross all of quirements
the software development [7]. - description of design space of the potential interfaces
Based on the most important activities cited in ACM Cur- of the system
- brief description of design and choice reason for each
ricula for Human-Computer Interaction [1] to the development considered interface
process of interactive systems, a documentation script for in- - at least one scenario from the users point of view
terface projects was established for the HCI course. This script - design evaluation
is presented in Table I. - changes in requirement specification and usability
criteria
Although an initial script for the elaboration of the docu- Prototyping and - updated description of project (optional)
mentation exists, each project encloses a different subject, with Evaluation Plan - general description of the final project design
specific details that demand the specialization and adaptation (3) - description of the prototype, explaining how and
of the documentation to the features of each project. There- why it was created (including visual material)
- prototype scenario
fore, the produced documentation is similar in their general - prototype evaluation (including feedback from poten-
structure, but is very different when analyzed in detail as we tial users)
have noticed by the number of links and pages created. The - for each evaluation, describe the method by reporting
documentation is a rich source for the extraction of a structure the requirements and the usability criteria evaluated by
it.
that configured a class of documentation for human-computer
Evaluation - description of the results from evaluation exercises,
interface projects. The objective is to use markup languages (4) presenting whether the design criteria satisfied or not
based on XML, that is XML DTDs, to structure documents on the prototype
specifications of human-computer interface projects. - description of each exercise and its respective results
- overview evaluation and recommendations
- a review to the evaluation plan
IV. PROCESS TO ABSTRACT THE HCI DOCUMENTATION
STRUCTURE
Extensible Markup Language (XML) [23] is a meta- A. The Process
language that allows the creation of specific markup languages Two computing science graduate students carried through
5
the process. In a first step, they individually abstracted the by the groups of students of the HCI course in the years of
structure of the hyperdocuments and, in a second step, argued 2001 and 2002 available in the Web via CoTeia tool. The
about each element of these structures to get, in a third step, an Identification of candidate elements task consisted of fin ding
intermediate structure that was consensus for both. Then, the and listing all the possible elements that could be used in the
hyperdocuments were re-written following the intermediate structure and, later, in identifying the fundamental elements,
structure. Finally, a new discussion about changes to get the i.e., the elements that were relevant and/or convenient for rep-
final structure could happen. resenting the semantics. These elements were considered can-
The complete process, for n candidate structures, is repre- didates to participate of the final structure. After identifying
sented in Fig. 4. The activity to abstract a candidate structure the candidate elements, the task of Definition of candidate
is graphically represented in Fig. 5 and it is part of the process elements included the definition of which of them would be
to abstract the final structure (Fig. 4). used effectively.
Identification of candidate
elements
Heuristic analysis
Consensus
discussion
Evaluation
Intermediate DTD
definition
Definition of candidate
structure i
reaching a consensus, the resulting element of this consensus the analysis task, supporting the consensus discussion activity,
was added to the intermediate structure. While consensus dis- in which the candidate structures (in DTD format) are avail-
cussion was being pursued, new heuristics were identified and able. To address the consensus discussion issue, related work
registered in a repository. The set of heuristics make up the has been presented in literature. Kuikka et al. [16] have devel-
base for the heuristic analysis of the candidate elements per- oped a syntax-directed approach to transform documents from
formed during the individual activity to abstract the candidate one structure to another. The aim is to automate a transforma-
structure. tion between two grammars that have common parts, although
In Intermediate DTD definition activity, an intermediate the grammars and names of elements may differ. They propose
structure was defined to underlie the activities of structuring a system that can generate a transformation semi-automatically
the hyperdocuments. The Hyperdocument structuring acti v- if the user defines a matching among the elements containing
ity consisted of re-writing the structure of existing hyperdocu- the text of the document. The system proposes alternative sub-
ments to the intermediate structure. Similar to structure ab- structures for the user and the user selects an appropriate sub-
straction activities, the hyperdocument structuring activities structure. The proposed approach can be useful to support
were individually performed. The new hyperdocuments were consensus discussion comparing candidate structures.
generated as a result of observation of the intermediate struc-
ture and adaptation of existing structure with backtracking and VI. CONCLUSION
switching between observation and structuring. Through ob- In general, the software documentation process produces
servation we have concluded that the process is top-down. an extensive variety of documents, types of documents, for-
Again, the Consensus discussion activity was necessary mats and contents. When the activity of recovering information
to resolve differences between existing structure and interme- from documentation takes place (face to inevitable changes
diate structure. It was performed similarly to prior description. and evolution), developers usually claim about the difficulty of
Finally, in the Final DTD definition activity, the final stru c- searching in those documents, since it demands a lot of time
ture to documentation of HCI projects was obtained. and attention from them. Web technology could aid to address
this problem, but it is necessary that the documents be struc-
V. RELATED WORK tured and, in case of existing documents, literature just offers
Durn et al. [8] present an approach based on XML for the general guidelines for the document analysis and heuristics for
automatic verification of software requirement documents. the document structure definition.
Software requirements are represented in XML and the XSLT In this paper we presented a case study of analyzing and
language is used to verify desired quality properties and to structuring the documentation produced by 20 groups of stu-
compute a few metrics. Their objective is to apply XML based dents who have developed different interactive system projects
technologies, during the software documentation process, to as a task for a course. The documentation of each group was
verify the productivity quality of software documents. Our elaborated following a script, but with freedom to create the
approach is to provide means to make a posterior recovering contents and hypertext elements (such as links and pages). A
of information based on software documents easier, since we great volume and diversity of information was generated mak-
identify the embedded structure and therefore, we emphasize ing it difficult for future developers or students to access these
the semantic role of the information, instead of its format. documents. The extension, complexity and richness of such
Badros [3] and Collard et al. [5] propose to change the un- documentation were enough to allow analysis and extraction of
derlying representation of source code to facilitate the use of a structure (XML DTD) for HCI projects.
more powerful document management methods and tools. The process considers the analysis of extensive collections
They describe an XML application, which is used to add struc- of documents and several people involved in this task. The
tural information to unstructured source code text files. The consensus discussion activity is used to converge candidate
text can then be more easily searched, parsed, and transformed structures into a single structure. Consensus decisions are
with the aid of these tags. taken in account in next heuristic analysis. In related work
Gionis et al. [12] propose a system for inferring a DTD we discussed where automatic tools should be also considered
schema for a database of XML documents. The approach em- to assist ad hoc work and our proposed process.
ploys two steps, generalization and factorization, to derive a We also concluded that a process to abstract such structure
range of general and concise candidate DTDs, and then uses a based on existing documents should be made through an itera-
mechanism for composing near-optimal DTD schema from the tive activity in which concrete task (reading of actual docu-
set of candidate DTDs generated by the earlier steps. It is ments to identify their structure and structuring existing hyper-
worth noting that they work with documents having a pre- documents) and abstract task (identifying and defining of
defined syntax. structure) take place. The activity corresponds to alternate
The case study reported in this paper counts only on docu- between bottom-up and top-down approaches and depends on
ments not having any syntax strictness. For this reason, the the ability of people involved in the process.
process required an effective participation of people involved, Currently, HCI course is given to two classes, one to under-
mainly during the abstraction of candidate structure activity. In graduate students and another to graduate students; the pro-
addition, we observed that a tool would be very useful to help duced documentation will be analyzed later. Since the whole
7