Professional Documents
Culture Documents
Maintenance
Unit 7. Documenting the Solution
7.1 The Documentation Life Cycle
7.2 Documentation during Implementation
7.3 Final Documentation
7.4 Why Document?
7.5 Documentation Aids
Assessments
Exercise 8
Multiple-Choice Quiz 7
Software = program + documentation
The software development process is
not only the production of code in machine-readable format
其实 code 可看作一种特殊形式文档
but also the production of all the documentation — an
intrinsic component of every project.
Software includes all kinds of documents produced
at different phases of the software life cycle:
specifications
design documents
planning documents,
legal and accounting documents,
management documents, and
all sorts of manuals. ( 安装使用手册、开发手册 )
importance of documentation
We have emphasized
the importance of documentation throughout this course.
the different types of documentation produced during the
software development process
we will study
the criticality of good documentation as an intrinsic part of
the software process. 固有的过程
Note
Note
There is no specific chapter or section of your textbook
devoted to documentation, although references to the
importance of documentation are found throughout.
in this unit, there will be little additional reading.
7.1 The Documentation Life Cycle
Recall the life-cycle models. Notice that
there is no separate documentation phase in Software Life
Cycle
Documentation is an ongoing activity throughout
the software process. 自始至 终贯穿整 个过程!
the documents associated with each life-cycle phase.
Life-Cycle Phase Document Types
Requirements Analysis Requirements document or rapid prototype
Specification Specification document
Design Architectural design / Detailed design
Implementation Inline and module documentation
Module testing document, test suites, test
results
Integration Integration testing document, test suites, test
results / Final documentation for delivery
Maintenance Updated requirements, specification, design,
testing documents
Updated module documentation
Retirement No documents created
pre-implementation phases,the documents are the products
of that phase.
requirements analysis phase,
there may be an actual text document, or
requirements may have been elicited via rapid prototyping.
the final prototype is the requirements document
specifications phase , include all the different types
of specification artifacts.
informal specifications,
data flow diagrams,
control flow diagrams and
decision trees,
the data dictionary,
input-output specifications, and
entity-relationship models.
pre-implementation phases,the documents are the products
of that phase.
design phase, documents include
the formal architectural and detailed design documents.
more informal documents, 还有其他各种形式的文档
records of discussions over specific design issues.
the module and integration testing documents
including
instructions for testing
test suites (although they will be different in the two phases).
the results of testing
the number and type of faults found.
Build and Test the Solution, these test statistics will
help the developer
estimate the quality of individual modules and the product as
a whole
be on the lookout for errors in subsequent tests of the same
product and future products
estimate the necessary amount of testing time remaining.
the maintenance documents
no new documents are produced from scratch, but
documents from practically every phase of the life
cycle will be subject to revision. 主要是 修改及增 加
原有文 档的内容
7.2 Documentation during Implementation
Who are responsible for documenting the code?
Programmers.
Code documentation includes
both inline comments
and more top-level documentation describing the code in a
module or class in general.
Who are expected to read the code line by line?
maintenance programmers having to fix a specific fault
SQA group members doing a code inspection.
In most software products, the code is divided into
modules containing one or more functions, procedures, or
classes
variables that store state for the module.
The module prologue ( 模块说明 ) is
the set of comments at the top of the module
that describes the purpose and contents of the module in
general.
list of the information that should appear in the
module prologue:
Including
The module name
A description of what the module does
The programmer’s name (or names, if more than one
individual is responsible for the module)
The date the module was coded
The date the module was approved and by whom
The module arguments (If more than one function,
procedure, or class is contained in a single module, the
prologue should give the arguments and a brief description of
functionality for each item.)
list of the information that should appear in the module
prologue 模块说明
Also including
A list of variable names in alphabetical order and how they
are used
Names of files accessed by the module, if any
Names of files changed by the module, if any
Module input/output, if any
Error-handling capabilities
The name of the file(s) containing test data (to be used for
regression testing)
A list of modifications made, by whom, on what date, and
approved by whom
Known faults of the module
Use a standard module prologue template
It is easy to provide a standard module prologue
template that a programmer can copy and fill in for
a new module. 做一 个 模板
There are also CASE tools that can
help in gathering documentation contained in the code and
make it available in a public location for client modules.
Javadoc, the Java API documentation generator Detailed
Design Specification.
7.3 Final Documentation
Maintainer's Documentation
Installer/Administrator Documentation
User Training Materials
User Reference Manual
User Quick Reference
Maintainer’s Documentation
Maintenance of custom software is likely to be done
by the developer’s organization
but in some cases, the client will take over maintenance 有时
用户自行维护
either right away or later during the maintenance phase.
Maintainer’s documentation may include
specifications
design documents
testing documents
general documentation about the modules of the product and
their interaction.
Installer/Administrator Documentation
The client will need to know
how to install
generally administer the software product.
These documents include instructions on:
Installation of the software on one or more platforms, if
applicable
Initialization procedures, if required 如下拉列表项
Integration of updates and patches during maintenance
Any other activities related to the software product that
would be performed by the systems division of the
organization rather than the end users 如客服
User Training Materials
Training materials guide first-time and novice end
users through the functionality of a system in a
simple way.
approachs to developing training materials
present different scenarios of use, and lead the user through
each one, using a realistic example throughout the scenario.
和某些 photoshop 图像处理软件教程 / 网页动效类似,各
种效果案例
give examples of uses and then present example problems
(with solutions) for the user to practice.
User Training Materials
User Training Materials
should cover all the major functionalities of the system,
but they do not necessarily have to cover every single aspect
of the system. 过于简单则没有必要写入
E.g.,
contain pointers to the user’s reference manual for more
complex or less common operations
provide training for these operations in staged scenarios
ordered by complexity. 操作的难易级别分级
User Reference Manual
A user reference manual contains a complete
description of the functionality available in the
product.
Reference manuals contain
lists of available APIs or
interface operations,
organized
by topic or 各类应用主题(如按照各业务项目分类)
by the major functions performed by the system.