0% found this document useful (0 votes)
134 views63 pages

SAD Unit3 PGDCA

The document discusses the system development life cycle (SDLC), which consists of phases that information systems projects typically go through. It describes the basic four phases as planning and selection, analysis, design, implementation, and operation. Each phase uses the outputs from the previous phase. The SDLC aims to result in a system that meets requirements, expectations, and works effectively. The document outlines the typical activities in each phase such as feasibility studies, requirements gathering, system design, coding, testing, and maintenance. It notes that the phases can be iterative and not strictly sequential.

Uploaded by

Adaso
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
134 views63 pages

SAD Unit3 PGDCA

The document discusses the system development life cycle (SDLC), which consists of phases that information systems projects typically go through. It describes the basic four phases as planning and selection, analysis, design, implementation, and operation. Each phase uses the outputs from the previous phase. The SDLC aims to result in a system that meets requirements, expectations, and works effectively. The document outlines the typical activities in each phase such as feasibility studies, requirements gathering, system design, coding, testing, and maintenance. It notes that the phases can be iterative and not strictly sequential.

Uploaded by

Adaso
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 63

Unit-3

System Development Cycle


Monita Wahengbam
Scientist-’C’
NIELIT Senapati Extension Centre

NIELIT Imphal Senapati Extension Centre 1


Basic Concept of SDLC – System Development
Life Cycle
• A successful Organizations use a standard set of steps, called a systems development
methodology, to develop and support their information systems. Like many processes, the
development of information systems often follows a life cycle.
• For example, a commercial product, such as a
• Nike sneaker or
• a Honda car,
• follows a life cycle:
• It is created,
• tested, and
• introduced to the market.
• Its sales increase,
• peak, and
• decline.
• Finally, the product is removed from the market and
• is replaced by something else.
NIELIT Imphal Senapati Extension Centre 2
• The systems development life cycle (SDLC) is a common methodology for systems
development in many organizations.
• It marks the phases or steps of information systems development:
• Someone has an idea for an information system and what it should do.
• The organization that will use the system decides to devote the necessary resources to
acquiring it.
• A careful study is done of how the organization currently handles the work the system will
support.
• Professionals develop a strategy for designing the new system,
• which is then either built or purchased.
• Once complete, the system is installed in the organization, and
• after proper training, the users begin to incorporate the new system into their daily work.
• Every organization uses a slightly different life-cycle model to model these steps,
with anywhere from three to almost twenty identifiable phases.
NIELIT Imphal Senapati Extension Centre 3
• A successful System Development Life Cycle (SDLC) should result in an astounding
system that meets client desires, achieves expectations within time and cost
assessments, and works viably and productively in the current and planned
Information Technology framework.
• System Development Life Cycle (SDLC) is an applied model which incorporates
strategies and methods for creating or modifying systems throughout their life cycles.
• SDLC is utilized by examiners to build up a data system. SDLC incorporates the
accompanying exercises −
• requirements
• design
• implementation
• testing
• deployment
• operations
• maintenance NIELIT Imphal Senapati Extension Centre 4
Basic Four phases of SDLC
• The system development life cycle structure gives a grouping of exercises to
system designers and engineers to take after. It comprises of an arrangement of
steps or stages in which each period of the SDLC utilizes the aftereffects of the
past one.
• The SDLC holds fast to critical stages that are basic for engineers, for example,
planning, analysis, design, and implementation—and are clarified in the area
beneath. This incorporates assessment of the presently utilized system, data
gathering, feasibility studies, and demand endorsement. Various SDLC models
have been made, including waterfall, fountain, spiral, build and fix, rapid
prototyping, incremental, synchronize, and stabilize. The oldest of these, and the
best known, is the waterfall model, a succession of stages in which the yield of
each stage turns into the contribution for the next.

NIELIT Imphal Senapati Extension Centre 5


• These stages can be described and partitioned up in various ways,
including the following:
• planning and selection,
• analysis,
• design, and
• implementation and operation

NIELIT Imphal Senapati Extension Centre 6


Feasibility Study or Planning
• Characterize the issue and extent of existing system.
• Diagram the new system and decide its goals.
• Affirm venture feasibility and deliver the task Schedule.
• Amid this stage, dangers, imperatives, combination and security of
system are likewise considered.
• A feasibility report for the whole venture is made toward the finish of
this stage.

NIELIT Imphal Senapati Extension Centre 7


Analysis and Specification
• Assemble, examine, and approve the data.
• Characterize the prerequisites and models for new system.
• Assess the options and organize the prerequisites.
• Analyze the data needs of end-client and upgrades the system
objective.
• A Software Requirement Specification (SRS) archive, which
determines the product, equipment, useful, and organize
prerequisites of the system is set up toward the finish of this stage.

NIELIT Imphal Senapati Extension Centre 8


System Design
• Incorporates the design of utilization, organize, databases, UIs, and system
interfaces.
• Change the SRS report into coherent structure, which contains definite and
finish set of specifications that can be executed in a programming dialect.
• Make a possibility, preparing, maintenance, and activity design.
• Survey the proposed design. Guarantee that the last design must meet the
prerequisites expressed in SRS record.
• At long last, set up a design record which will be utilized amid next stages.

NIELIT Imphal Senapati Extension Centre 9


Implementation
• Execute the design into source code through coding.
• Join every one of the modules together into preparing condition that
recognizes mistakes and imperfections.
• A test report which contains mistakes is set up through test arrange
for that incorporates test related undertakings, for example,
experiment age, testing criteria, and asset allotment for testing.
• Incorporate the data system into its condition and introduce the new
system.

NIELIT Imphal Senapati Extension Centre 10


Maintenance/Support
• Incorporate every one of the exercises, for example, telephone
support or physical on location support for clients that is required
once the system is introducing.
• Execute the progressions that product may experience over some
undefined time frame, or actualize any new necessities after the
product is sent at the client area.
• It additionally incorporates handling the leftover blunders and resolve
any issues that may exist in the system even after the testing stage.
• Maintenance and support might be required for a more extended
time for vast systems and for a brief span for littler systems.
NIELIT Imphal Senapati Extension Centre 11
NIELIT Imphal Senapati Extension Centre 12
• Although any life cycle appears at first glance to be a sequentially
ordered set of phases, it actually is not. The specific steps and their
sequence are meant to be adapted as required for a project. For
example,
• in any given SDLC phase, the project can return to an earlier phase, if necessary.
• Similarly, if a commercial product does not perform well just after its
introduction, it may be temporarily removed from the market and improved
before being reintroduced.
• In the systems development life cycle, it is also possible to complete some
activities in one phase in parallel with some activities of another phase.
• Sometimes the life cycle is iterative; that is, phases are repeated as required
until an acceptable system is found.

NIELIT Imphal Senapati Extension Centre 13


• Some systems analysts consider
the life cycle to be a spiral, in which
we constantly cycle through the
phases at different levels of detail,
as illustrated in Figure.
• The circular nature of the life-cycle
diagram in Figure illustrates how
the end of the useful life of one
system leads to the beginning of
another project that will replace
the existing system altogether.
However conceived, the systems
development life cycle used in an
organization is an orderly set of
activities conducted and planned
for each development project. The
skills required of a systems analyst
apply to all lifecycle models
NIELIT Imphal Senapati Extension Centre 14
Various phases of development - Analysis, Design,
Development, Implementation, Maintenance
• Phase 1 -Systems Planning and Selection :
• The first phase of the SDLC, in which an organization’s total
information system needs are analyzed and arranged, and in which a
potential information systems project is identified and an argument
for continuing or not continuing with the project is presented
The first phase in the SDLC, systems planning and selection, has two
primary activities.
• First, someone identifies the need for a new or enhanced system.
• Information needs of the organization are examined, and projects to
meet these needs are identified.
NIELIT Imphal Senapati Extension Centre 15
• The organization’s information system needs may result from:
• Requests to deal with problems in current procedures
• The desire to perform additional tasks
• The realization that information technology could be used to
capitalize on an existing opportunity

NIELIT Imphal Senapati Extension Centre 16


Task in the systems planning and selection
phase
• The systems analyst prioritizes and translates the needs into a written plan for
the information systems (IS) department, including a schedule for developing
new major systems. Requests for new systems spring from users who need new
or enhanced systems.
During the systems planning and selection phase, an organization determines
whether resources should be devoted to the development or enhancement of
each information system under consideration. A feasibility study is conducted
before the second phase of the SDLC to determine the economic and
organizational impact of the system.
• The second task in the systems planning and selection phase is to investigate the
system and determine the proposed system’s scope. The team of systems
analysts then produces a specific plan for the proposed project for the team to
follow. This baseline project plan customizes the standardized SDLC and specifies
the time and resources needed for its execution.
NIELIT Imphal Senapati Extension Centre 17
• The formal definition of a project is based on the likelihood that the
organization’s IS department is able to develop a system that will
solve the problem or exploit the opportunity and determine whether
the costs of developing the system outweigh the possible benefits.
• The final presentation to the organization’s management of the plan
for proceeding with the subsequent project phases is usually made by
the project leader and other team members.

NIELIT Imphal Senapati Extension Centre 18


Phase 2 -Systems Analysis :
• Phase of the SDLC in which the current system is studied and alternative replacement systems are
proposed
• The second phase of the systems development life cycle is systems analysis. During this phase, the
analyst thoroughly studies the organization’s current procedures and the information systems used to
perform tasks such as general ledger, shipping, order entry, machine scheduling, and payroll. Analysis
has several subphases. The first subphase involves determining the requirements of the system. In
this subphase, you and other analysts work with users to determine what the users want from a
proposed system. This subphase involves a careful study of any current systems, manual and
computerized, that might be replaced or enhanced as part of this project. Next, you study the
requirements and structure them according to their interrelationships, eliminating any redundancies.
As part of structuring, you
generate alternative initial designs to match the requirements. Then you compare these alternatives
to determine which best meets the requirements within the cost, labor, and technical levels the
organization is willing to commit to the development process. The output of the analysis phase is a
description of the alternative solution recommended by the analysis team. Once the
recommendation is accepted by the organization, you can make plans to acquire any hardware and
system software necessary to build or operate the system as proposed.
NIELIT Imphal Senapati Extension Centre 19
Phase 3 - Systems Design :
• Phase of the SDLC in which the system chosen for development in systems
analysis is first described independently of any computer platform, (logical
design) and is then transformed into technology-specific details (physical design)
from which all programming and system construction can be accomplished.
• The third phase of the SDLC is called systems design. During systems design,
analysts convert the description of the recommended alternative solution into
logical and then physical system specifications. You must design all aspects of the
system from input and output screens to reports, databases, and computer
processes. Logical design is not tied to any specific hardware and systems
software platform. Theoretically, the system you design could be implemented on
any hardware and systems software. Logical design concentrates on the business
aspects of the system; that is, how the system will impact the functional units
within the organization. Figure below shows both the logical design for a product
and its physical design, side by side, for comparison. You can see from the
comparison that many specific decisions had to be made to move from the logical
model to the physical product.

NIELIT Imphal Senapati Extension Centre 20


Figure shows both the logical design for a product and its physical
design
NIELIT Imphal Senapati Extension Centre 21
• The situation is similar in information systems design. In physical design, you turn the
logical design into physical, or technical, specifications. For example, you must convert
diagrams that map the origin, flow, and processing of data in a system into a structured
systems design that can then be broken down into smaller and smaller units for
conversion to instructions written in a programming language. You design the various
parts of the system to perform the physical operations necessary to facilitate data
capture, processing, and information output. During physical design, the analyst team
decides which programming languages the computer instructions will be written in, which
database systems and file structures will be used for the data, and which hardware
platform, operating system, and network environment the system will run under. These
decisions finalize the hardware and software plans initiated at the end of the analysis
phase. Now you can acquire any new technology not already present in the organization.
The final product of the design phase is the physical system specifications, presented in a
form, such as a diagram or written report, ready to be turned over to programmers and
other system builders for construction.

NIELIT Imphal Senapati Extension Centre 22


Phase 4 -Systems Implementation and
Operation :
• Final phase of the SDLC, in which the information system is coded, tested, and installed in the
organization, and in which the information system is systematically repaired and improved
• The final phase of the SDLC is a two-step process: systems implementation and operation. During
systems implementation and operation, you turn system specifications into a working system that is
tested and then put into use. Implementation includes coding, testing, and installation. During coding,
programmers write the programs that make up the system. During testing, programmers and analysts
test individual programs and the entire system in order to find and correct errors. During installation,
the new system becomes a part of the daily activities of the organization. Application software is
installed, or loaded, on existing or new hardware; then users are introduced to the new system and
trained. Begin planning for both testing and installation as early as the project planning and selection
phase, because they both require extensive analysis in order to develop exactly the right approach.
Systems implementation activities also include initial user support such as the finalization of
documentation, training programs, and ongoing user assistance. Note that documentation and
training programs are finalized during implementation; documentation is produced throughout the life
cycle, and training (and education) occurs from the inception of a project.
NIELIT Imphal Senapati Extension Centre 23
System documentation considerations –
Principles of systems documentation
• Software development benefits from philosophies and principles such
as DRY(Don't repeat yourself), KISS(keep it simple, stupid), code
reuse, and many more. With these commonly understood and
accepted standards, developers can hold themselves and each other
accountable to producing high-quality code.
• This set of principles seeks to define similar standards for
software documentation that, when practiced, will foster clean and
intuitive content. The end goal is ultimately to delight and empower
readers by making information easier for them to acquire.

NIELIT Imphal Senapati Extension Centre 24


All documentation
In general, documentation should be…
• Precursory
• Participatory

NIELIT Imphal Senapati Extension Centre 25


Precursory
• Begin documenting before you begin developing.
• Before coding, write requirements and specifications that
also serve as the first draft of documentation. These texts no
doubt will need a bit of clean up before publishing, but by
front-loading the documentation, you lay a clear path
forwards. Early documentation also helps facilitate peer
feedback and group decisions to guide your work. This model
is the sentiment behind documentation driven design.
NIELIT Imphal Senapati Extension Centre 26
Participatory
• In the documentation process, include everyone from developers to end users.
• Integrate documentation into the standard workflow of developers, and seek to
reduce silos that solicit documentation from only a subset of the software’s
contributors. Developers and engineers are the people with the best access to in-
demand information, and getting them to document it will help foster a culture of
documentation.
• As well, documentation readers (i.e., users) should have clear avenues towards
involvement in documentation. A good first step is to give readers the ability to
offer feedback in the form of comments or suggestions. Allowing readers to edit
documentation directly (e.g., in a wiki) can also be effective but must be weighed
against the need and capacity for editorial oversight.
• Encourage everyone to become a documentarian!

NIELIT Imphal Senapati Extension Centre 27


Content
• “Content” is the conceptual information within documentation.
• Content should be…
• ARID
• Skimmable
• Exemplary
• Consistent
• Current

NIELIT Imphal Senapati Extension Centre 28


ARID
• Accept (some) Repetition In Documentation.
• If you want to write good code, Don’t Repeat Yourself. But if you adhere strictly to
this DRY principle when writing documentation, you won’t get very
far. Some amount of business logic described by your code will need to be
described again in your documentation.
• In an ideal world, an automated system would generate documentation from the
software’s source code, and the system would be smart enough to
generate good documentation without any additional input. Unfortunately we do
not (yet) live in that world, and today the best documentation is hand-written,
which means that just by writing any documentation, you are repeating yourself.
Sure, documentation generators exist and are useful, but it’s important to
acknowledge that they still require input from humans to function.
NIELIT Imphal Senapati Extension Centre 29
• The pursuit of minimizing repetition remains valiant! ARID does not
mean WET (write every time", "write everything twice", "we enjoy
typing" or "waste everyone's time“), hence the word choice. It
means: try to keep things as DRY as possible but also recognize that
you’ll inevitably need some amount of “moisture” to produce
documentation.
• Cultivating an awareness of this inconvenient truth will hopefully be a
helpful step toward reminding developers that a need often exists to
update documentation along with code.

NIELIT Imphal Senapati Extension Centre 30


Skimmable
• Structure content to help readers identify and skip over concepts which they
already understand or see are not relevant to their immediate questions.
• Burying concepts in prose and verbiage demands more time from readers
seeking answers to specific questions. Save your readers’ time by writing
like a newspaper instead of a novel.
• Specifically:
• Headings — should be descriptive and concise.
• Hyperlinks — should surround words which describe the link itself (and never
phrases like “click here” or “this page”).
• Paragraphs and list items — should begin with identifiable concepts as early
as possible.
NIELIT Imphal Senapati Extension Centre 31
Exemplary
• Include (some) examples and tutorials in content.
• Many readers look first towards examples for quick answers,
so including them will help save these people time. Try to
write examples for the most common use cases, but not for
everything. Too many examples can make the
documentation less skimmable. Also, consider separating
examples and tutorials from more dense reference
information to further help readers skim.
NIELIT Imphal Senapati Extension Centre 32
Consistent
• Use consistent language and formatting in content.
• The more content editors you have, the more important a style
guide becomes in facilitating consistency. Consistency also helps make
documentation skimmable and beautiful.

NIELIT Imphal Senapati Extension Centre 33


Current
• Consider incorrect documentation to be worse than missing
documentation.
• When software changes faster than its documentation, the users suffer.
Keep it up to date.
• Make every effort to write content that is version-agnostic and thus in less
need of maintenance. For example, generalize version numbers of software
when they occur in tutorials (such as extracting a source code tarball with
the version number in the file name).
• Be aware as well that some users will remain on older versions of your
software, and thus require older versions of your documentation. Proper
documentation platforms will accommodate such needs gracefully.
NIELIT Imphal Senapati Extension Centre 34
Sources
• A “source” refers to a system used to store and edit content. Examples
of sources include: text files written using reStructuredText or
Markdown, HTML content in a CMS database, help text stored within
strings in application code, code comments to be assembled later into
formalized documentation, and others too.
• All sources should be…
• Nearby
• Unique

NIELIT Imphal Senapati Extension Centre 35


Nearby
• Store sources as close as possible to the code which they document.
• Give developers systems which allow them to easily make
documentation changes along with their code changes. One way is to
store documentation content in comment blocks within application
source code. Another is to store it in separate text files but within the
same repository as the application’s source code. Either way, the goal
is merge (as much as possible) the workflows for development and
documentation.

NIELIT Imphal Senapati Extension Centre 36


Unique
• Eliminate content overlap between separate sources.
• Storing content in different sources is okay, as long as the scope of
each source is clearly defined and disjoint with other sources. The
goal here is to prevent any parallel maintenance (or worse — lack of
maintenance) of the same information across multiple sources.

NIELIT Imphal Senapati Extension Centre 37


Publications
• A “publication” refers to a single, cohesive tool that readers use to consume
documentation. It may be static or interactive — digital or paper. Multiple publications may
be created from a single source (such as web and PDF versions of the same manual).
Although rarer, multiple sources may be used to create a single publication. More examples
of publications include: API reference, man page, command line ``–help`` output, in-
application help tips, online tutorials, internal engineering manuals, and others too.
• Each publication should be…
• Discoverable
• Addressable
• Cumulative
• Complete
• Beautiful

NIELIT Imphal Senapati Extension Centre 38


Discoverable
• Funnel users intuitively towards publications through all likely
pathways.
• Try to identify everywhere the user might go looking for
documentation, and in all of those places, insert helpful pointers for
them to find it. Documentation need not exist in all of these places,
just pointers to it.
• If a user manual is published in the woods, and no one is around to
read it, does it exist? Discoverability says “no”.

NIELIT Imphal Senapati Extension Centre 39


Addressable
• Provide addresses to readers which link directly to content at a
granular level.
• The ability to reference specific sections deep within a body of
documentation facilitates productive communication about the
documentation, even with one’s self. These addresses can take the
form of URLs, page numbers, or other forms depending on the
publication medium. Readers may wish to bookmark certain sections,
share them with other users, or provide feedback to the authors. The
more granular this ability, and the easier it is to access, the better.

NIELIT Imphal Senapati Extension Centre 40


Cumulative
• Content should be ordered to cover prerequisite concepts first.
• Can a reader follow your entire body of documentation, linearly, from start to
finish without getting confused? If so, the documentation is perfectly
“cumulative”, which is great, but not always possible. It’s something to strive for,
especially in tutorials and examples. If you have separated your tutorials and
examples from the reference documentation, then put the tutorials and examples
first. Then, content within the reference information section may be ordered
alphabetically or topically without regard to prerequisite needs.
• The goal of cumulative ordering is not to encourage readers to consume your
documentation linearly — rather it is to help them narrow their search for
information when filling in gaps in their knowledge. If a reader arrives
with some knowledge of the software and begins reading the documentation at
the 25% mark, they are likely to “rewind” when confused.

NIELIT Imphal Senapati Extension Centre 41


Complete
• Within each publication, cover concepts in-full, or not at all.
• Picture some documentation of software like a map of a neighborhood. If
the map displays roads, readers will expect it to display all roads (which exist
and are of the same type being displayed). Perhaps the map does not
display railroads, for example. Thus, a reader approaching the map to look
for railroads will find zero and then seek a different map — but the map is
still “complete”, even with this shortcoming. “Complete” does not mean that
the map must describe all characteristics of the land. It means simply that,
for the characteristics it chooses to describe, it should describe all of them.
A map that displays fifty out of one hundred fire hydrants in a neighborhood
is worse than a map which displays none.
NIELIT Imphal Senapati Extension Centre 42
• As a good example, iconv is a command line tool for working with
character encodings. Its man page covers all of its available options
but none of the possible character encodings accepted as values to
these options. Instead, the man page instructs the user to run iconv -l
to produce a list of character encodings. In this example, the man page
and the list are separate publications, both of which are complete,
which is good!

• Publishing partially completed documentation must be done


cautiously. To avoid misleading readers, make every effort to clearly
state, up front, that a particular concept is only covered partially.

NIELIT Imphal Senapati Extension Centre 43


Beautiful
• Visual style should be intentional and aesthetically pleasing.

• Aesthetics don’t matter to everyone — but (consciously or not) some


readers will struggle to find comfort in documentation that lacks
attention to visual style. Even in text-only documentation such as --
help output, visual style is still present in the form of spacing and
capitalization. If visual style is not important to you personally, then
consider soliciting stylistic improvements from others for whom it is.

NIELIT Imphal Senapati Extension Centre 44


Body
• A “body” refers to the collection of all the publications within a
software project and any of its sub-projects
• A documentation body should be…
• Comprehensive

NIELIT Imphal Senapati Extension Centre 45


Comprehensive
• Ensure that together, all the publications in the body of documentation can
answer all questions the user is likely to have.
• We can never create enough documentation to satisfy all questions,
however obscure, that might arise from users — but satisfying
the likely questions is certainly attainable and thus should be the goal of a
body of documentation. “Likely” is admittedly a blurry term, but it’s also
relative, which means that a body of documentation which answers very
unlikely questions while failing to answer likely ones is somewhat out of
balance.
• Answering some questions may require the user to read multiple
publications, which is okay.

NIELIT Imphal Senapati Extension Centre 46


Types of documentation and their importance
• In one sense, every information systems development project is unique
and will generate its own unique documentation. In another sense,
though, system development projects are probably more alike than they
are different.
• Each project shares a similar systems development life cycle, which
dictates that certain activities be undertaken and that each of those
activities be documented. Specific documentation will vary depending on
the life cycle you are following, and the format and content of the
documentation may be mandated by the organization you work for. Start
developing documentation elements early, as the information needed is
captured.
NIELIT Imphal Senapati Extension Centre 47
Types of documentation in system:
• system documentation and
• user documentation

NIELIT Imphal Senapati Extension Centre 48


• SYSTEM DOCUMENTATION
• records detailed information about a system’s design specifications,
its internal workings, and its functionality. System documentation
can be further divided into internal and external documentation.
• INTERNAL DOCUMENTATION
• is part of the program source code or is generated at compile time.
• External documentation includes the outcome of all of the
structured diagramming techniques, such as data-flow and
entity-relationship diagrams.

NIELIT Imphal Senapati Extension Centre 49


• USER DOCUMENTATION
• is written or other visual information about how an application system works
and how to use it. Although not part of the code itself, external
documentation can provide useful information to the primary users of system
documentation—maintenance programmers.
• For example, data-flow diagrams provide a good overview of a system’s
structure. In the past, external documentation was typically discarded after
implementation, primarily because it was considered too costly to keep up to
date but today’s integrated development environment makes it possible to
maintain and update external documentation as long as desired.

NIELIT Imphal Senapati Extension Centre 50


• Whereas system documentation is intended primarily for
maintenance programmers, user documentation is intended mainly
for users. An organization should have definitive standards on system
documentation.
These standards may include the outline for the project dictionary
and specific pieces of documentation within it. Standards for user
documentation are not as explicit.

NIELIT Imphal Senapati Extension Centre 51


User Documentation
• User documentation consists of written or other visual information about an
application system, how it works, and how to use it. An excerpt of online user
documentation for Microsoft Visio appears in Figure. The documentation lists the
item necessary to perform the task the user inquired about. The user controls how
much of the help is shown.
• Figure represents the content of a reference guide, just one type of user
documentation. Other types of user documentation include a quick reference
guide, user’s guide, release description, system administrator’s guide, and
acceptance sign-off. Most online reference guides allow you to search by topic area
or by typing in the first few letters of your keyword. Reference guides are great for
specific information (as in Figure) but are not as good for the broader picture of
how to perform all the steps required for a given task. The quick reference guide
provides essential information about operating a system in a short, concise format.
NIELIT Imphal Senapati Extension Centre 52
NIELIT Imphal Senapati Extension Centre 53
• Where computer resources are shared and many users perform
similar tasks on the same machines (as with airline reservation or
mail-order-catalog clerks), quick reference guides are often printed on
index cards or as small books and mounted on or near the computer
terminal. The purpose of a reference guide is to provide information
on how users can use computer systems to perform specific tasks.
• The information in a user’s guide is typically ordered by how often
tasks are performed and how complex they are. Increasingly, software
vendors are using Web sites to provide additional user-guide content.

NIELIT Imphal Senapati Extension Centre 54


• Figure shows the Microsoft Visio
help page. Web-based
documentation allows the vendor to
provide more up-to-date reference
material without issuing new
software CDs. Because most
software is reissued as new features
are added, a release description
contains information about a new
system release, including a list
of complete documentation for the
new release, features and
enhancements, known problems and
how they have been dealt with in the
new release, and information about
installation.

NIELIT Imphal Senapati Extension Centre 55


• A system administrator’s guide is intended primarily for a
particular type of user—those who will install and administer a
new system—and contains information about the network on
which the system will run, software interfaces for peripherals
such as printers, troubleshooting, and setting up user accounts.
Finally, the acceptance sign-off allows users to test for proper
system installation and then signify their acceptance of the new
system and its documentation with their signatures.

NIELIT Imphal Senapati Extension Centre 56


Importance of documentation for the
developer
• Each function in a piece of software solves a specific problem. Before you try to solve any
problem, you should have a good understanding of exactly what the problem is. It makes
no sense just to start writing and then, afterwards, look at what you have come up with to
see whether it solves any useful problem!
• Inexperienced computer programmers imagine that they can keep all problem descriptions
in their heads. Experience has shown that they can't. Three issues come up.
1. When writing a function definition without written documentation, you only have a
rough idea of what it is supposed to do. While you write, the idea morphs in your
head. A simple interruption can cause the idea to lose what focus it has. You start
thinking about the program as a whole instead of thinking of just the function that
you are working on, and the function starts to take on responsibilities that it should
have nothing to do with.

NIELIT Imphal Senapati Extension Centre 57


2. Suppose that you test the function and find that it does not work. So
you need to fix it. But during the process of fixing it, you have nothing
but your memory telling you want the function is supposed to do. It is
difficult to keep that in your head along with the details of how the
function is supposed to work, and the process of fixing a function
definition takes the function further away from its original intent.
3. Later, when you need to use that function, you have forgotten just
what it does. Unwilling to reverse-engineer it, you make a guess based on
what you remember. You often forget important details, and your
software does not work because of it. You are faced with laborious
debugging to find out what is going on.

NIELIT Imphal Senapati Extension Centre 58


Importance of documentation for the
maintainer
• You might have heard of "self-documenting code". The idea is for
functions to be written in a readable form so that, to find out what a
function does, you just read the function's definition. For very small
pieces of software that can be achieved. But imagine a larger piece of
software, say with about 1000 functions. Such software is built up
function upon function; one function typically uses a few others that
are defined in the same collection of 1000 functions, with the
exception of the bottom-level functions that only use the library.

NIELIT Imphal Senapati Extension Centre 59


• Suppose that the software has no internal documentation, and relies
on "self-documenting code". Now you want to understand what a
particular function does. But it uses 3 other undocumented functions,
so you need to understand what they do first. Each of those uses 2
undocumented functions, so you must read their definitions too. It
goes on and on. You find yourself reading thousands of lines of code
to understand a single function whose body is only ten lines long.
• The only way that anyone can work with undocumented software is
to reverse-engineer the whole thing and add documentation that
should have been written by the developer. Most of the time, that is
too difficult. Undocumented software is often just thrown away as
unmaintainable.
NIELIT Imphal Senapati Extension Centre 60
Enforcing documentation discipline in an
organization
• Documentation discipline should be enforced in an organization. All
employees should have a habit of making proper documentation of/in their
work.
• Lets say, How documentation required in Software developer’s work :
• First, Developer must have a proper SRS( software requirement specification) before
writing to code.
• Developer should write proper comments in his code because it will be easier for the
other developer(who will work next on the same code) to understand the existing
code in a better way.
• It is developers responsibility to properly document their software’s working means,
how the software’s functionality works, prerequisite for the software etc.
NIELIT Imphal Senapati Extension Centre 61
• Documentation management is necessary for organization because :
• Increase Collaboration & Communication
• Reliable Document Version Control
• Increase Time-Cost Savings
• Eases Accessibility
• Increase Productivity

NIELIT Imphal Senapati Extension Centre 62


So now the question is, How can we enforce Documentation discipline in an
organization ?
• organization should consider it as integral part of work.
• Proper resources should be made available to build document management
system whether its human resource or technical resource
• procedures should be set up to create or review documentation
• Management should not be lenient on part of documentation, management
should never say like “ as time running short , so just create the system and
make the documentation later”.
• Phase should not be considered complete until documentation is done.
• Coding should not be considered done unless its has required comment lines.

NIELIT Imphal Senapati Extension Centre 63

You might also like