SlideShare a Scribd company logo
1 of 34
Software Documentation
Mutah University
Faculty of IT, Department of Software Engineering
Dr. Ra’Fat A. AL-msie’deen
rafatalmsiedeen@mutah.edu.jo
© 2020 Ra'Fat Al-Msie'deen
Resource(S)
 This material is based on:
 Software Documentation Paper, by Ian Sommerville. 2001.
 Chapter 30 from “Software Engineering” book, 9th edition, by Ian
Sommerville, published by Addison Wesley in 2010.
Objectives
 The objectives of this chapter are to describe the different types of
documentation that may have to be produced for large software
systems and to present guidelines for producing high-quality
documents.
 When you have read the chapter, you will:
 understand why it is important to produce some system
documentation, even when agile methods are used for system
development;
 understand the standards that are important for document
production;
 have been introduced to the process of professional document
production.
Discussion Topics
1. Introduction
2. Documentation Requirements
3. Process and Product Documentation
4. Document Quality
5. Standards
6. Document Preparation
7. Document Storage
8. Conclusion
Why documentation?
1. Facilitates communication:
 Within the development
team itself
 Between the development
team and the project
management
 With customer
2. Records contracts and
agreements
Why documentation? … cont.
3. Provides information
 For users and system administrators
 For future maintenance
 For project management
Introduction
 This chapter provides an overview of the:
 Reasons for software documentation
 Types of software documentation
 Ways to implement software documentation
o Processes and “Good Ideas”
Documentation Requirements
 General requirements of all software documentation:
 Should provide for communication among team members.
 Should act as an information repository to be used by
maintenance engineers.
 Should provide enough information to management to allow them
to perform all program management related activities.
 Should describe to users how to operate and administer the
system.
Documentation Requirements … cont.
 In all software projects some amount of documentation
should be created prior to any code being written
 Design docs, etc.
 Documentation should continue after the code has been
completed
 User’s manuals, etc.
 The two main types of documentation created are
Process and Product documents
Classification
Software documentation
Process documentation Product documentation
Records the process of
SW development and
maintenance
Describes the product
being developed
User Documentation
System Documentation
Process Documentation
 Used to record and track the development process
 Planning documentation
 Cost, Schedule, Funding tracking
 Schedules
 Standards
 Etc.
 This documentation is created to allow for successful management of
a software product
Process Documentation … cont.
 Has a relatively short lifespan
 Only important to internal development process
 Except in cases where the customer requires a view into this data
 Some items, such as papers that describe design decisions should be
extracted and moved into the product documentation category when
they become implemented
Product Documentation
 Describes the delivered product
 Must evolve with the development of the software product
 Two main categories:
 System Documentation
 User Documentation
Product Documentation … System Documentation
 System Documentation
 Describes how the system works, but not how to operate it
 Examples:
 Requirements Spec.
 Architectural Design
 Detailed Design
 Commented Source Code
o Including output such as JavaDoc.
 Test Plans
o Including test cases.
 V&V plan and results
 List of Known Bugs
Product Documentation … User Documentation
 User Documentation has two main types
 End User
 System Administrator
 In some cases these are the same people
 The target audience must be well understood!
Product Documentation … User Documentation
 There are five important areas that should be
documented for a formal release of a software application
These do not necessarily each have to have their own
document, but the topics should be covered thoroughly
1. Functional Description of the Software
2. Installation Instructions
3. Introductory Manual
4. Reference Manual
5. System Administrator’s Guide
Types of documentation and document users
Document Quality
 Providing thorough and professional documentation is important for
any size product development team
 The problem is that many software professionals lack the writing
skills to create professional level documents
Document Structure
 All documents for a given product should have a similar structure
 A good reason for product standards
 The IEEE Standard for User Documentation lists such a structure
 It is a superset of what most documents need
 The authors “best practices” are:
1. Put a cover page on all documents
2. Divide documents into chapters with sections and subsections
3. Add an index if there is lots of reference information
4. Add a glossary to define ambiguous terms
Standards
 Standards play an important role in the development, maintenance
and usefulness of documentation
 Standards can act as a basis for quality documentation
 But are not good enough on their own
o Usually define high level content and organization
 There are three types of documentation standards:
1. Process standards
2. Product standards
3. Interchange standards
Process Standards
 Define the approach that is to be used when creating the
documentation
 Don’t actually define any of the content of the documents
DraftRevise
Check Peer Reviews
Product Standards
 Goal is to have all documents created for a specific product attain
a consistent structure and appearance
 Can be based on organizational or contractually required
standards
 Four main types:
1. Documentation Identification Standards
2. Document Structure Standards
3. Document Presentation Standards
4. Document Update Standards
Product Standards … cont.
 One caveat:
 Documentation that will be viewed by end users should be
created in a way that is best consumed and is most attractive to
them
 Internal development documentation generally does not meet
this need
Interchange Standards
 Deals with the creation of documents in a format that
allows others to effectively use
 PDF may be good for end users who don’t need to edit
 Word may be good for text editing
 Specialized CASE tools need to be considered
 This is usually not a problem within a single organization,
but when sharing data between organizations it can occur
 This same problem is faced all the time during software
integration
Other Standards
 IEEE
 Has a published standard for user documentation
 Provides a structure and superset of content areas
 Many organizations probably won’t create documents that
completely match the standard
 Writing Style
 Ten “best practices” when writing are provided
 Author proposes that group edits of important documents should
occur in a similar fashion to software walkthroughs
Online Documentation
 Either internal to the application or Web based
 Requires rethinking the presentation style since normal “paper”
documentation approaches do not carry over well
 Should act as a supplement to paper documentation
 Biggest benefit of Web docs are that they are always current
Document Preparation
 Covers the entire process of creating and formatting a
document for publication
 Author recommends using specialized (and separate) tools for
creating and preparing documents
o This is only important for user documentation
 It is often important to have a professional writer or
document publisher evaluate documents before publication
to ensure they look good and will carry over to paper well
Document Storage
 Author Recommends (in 2001)
 File System to store the actual documents
 Database to store references to the files with metadata to allow
searching and referencing
 Today it is probably better to use a content management systems
 Concurrent Versions System (CVS) or SubVersioN (SVN)
 Are two version control file systems that are popularly used by
teams who are collaborating on a single project.
 Free and Open Source
 Easy to setup and maintain
Document production
Figure x:
Stages of document
preparation
Document management system
Key points
 Software documentation is used to describe the system to its users
and to software engineers who are responsible for maintaining the
system.
 Documentation at different levels of detail should be developed for
different types of user.
 Agile methods try to eliminate documentation as it is often out of date
and little used. However, some user documentation is necessary for
almost all systems and documentation on the system requirements
and architecture is useful for system maintenance.
Key points
 Document quality is very important if documents are to be useful.
Documents should be well-structured and written using simple and
clear language.
 Documentation standards may be process standards, defining how
documents should be produced, product standards, defining
document organization or document interchange standards.
 Document management systems may be used in very large projects
to ensure that documentation is maintained and readily accessible.
Questions?
rafatals3ode@gmail.com
Software Documentation
Mutah University
Faculty of IT, Department of Software Engineering
Dr. Ra’Fat A. AL-msie’deen
rafatalmsiedeen@mutah.edu.jo

More Related Content

What's hot (20)

Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
 
Quality of software
Quality of softwareQuality of software
Quality of software
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Test plan
Test planTest plan
Test plan
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Pruebas
PruebasPruebas
Pruebas
 
Requirements engineering for agile methods
Requirements engineering for agile methodsRequirements engineering for agile methods
Requirements engineering for agile methods
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
 
Static Testing
Static Testing Static Testing
Static Testing
 
What is v model
What is v modelWhat is v model
What is v model
 
QA Test Status Report Template
QA Test Status Report TemplateQA Test Status Report Template
QA Test Status Report Template
 
Validation testing
Validation testingValidation testing
Validation testing
 
Software Development Techniques
Software Development TechniquesSoftware Development Techniques
Software Development Techniques
 

Similar to Software documentation

System documentation (system analysis and design)
System documentation  (system analysis  and design)System documentation  (system analysis  and design)
System documentation (system analysis and design)Himanshu Dani
 
coding is the .pptx
coding is the                      .pptxcoding is the                      .pptx
coding is the .pptxlaxmisorna12
 
Presentation1.update.pptx
Presentation1.update.pptxPresentation1.update.pptx
Presentation1.update.pptxsefefehunegnaw1
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Data modelling tool in CASE
Data modelling tool in CASEData modelling tool in CASE
Data modelling tool in CASEManju Pillai
 
Lecture 5 defining the system
Lecture 5 defining the systemLecture 5 defining the system
Lecture 5 defining the systemShahid Riaz
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8koolkampus
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototypingdrjms
 
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSanthanalakshmiSelva2
 
Electronic Document Management Case Study
Electronic Document Management Case StudyElectronic Document Management Case Study
Electronic Document Management Case StudyDougWinning
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Web ISO Documentation Management System
Web ISO Documentation Management SystemWeb ISO Documentation Management System
Web ISO Documentation Management SystemT7SR, ISOM
 
Planning and writing your documents - Software documentation
Planning and writing your documents - Software documentationPlanning and writing your documents - Software documentation
Planning and writing your documents - Software documentationRa'Fat Al-Msie'deen
 

Similar to Software documentation (20)

Stage 5 - Documentation
Stage 5 - DocumentationStage 5 - Documentation
Stage 5 - Documentation
 
4 stage 5 documentation
4 stage 5   documentation4 stage 5   documentation
4 stage 5 documentation
 
Software copy
Software   copySoftware   copy
Software copy
 
System documentation (system analysis and design)
System documentation  (system analysis  and design)System documentation  (system analysis  and design)
System documentation (system analysis and design)
 
coding is the .pptx
coding is the                      .pptxcoding is the                      .pptx
coding is the .pptx
 
Presentation1.update.pptx
Presentation1.update.pptxPresentation1.update.pptx
Presentation1.update.pptx
 
DOC-20220530-WA0018..pdf
DOC-20220530-WA0018..pdfDOC-20220530-WA0018..pdf
DOC-20220530-WA0018..pdf
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Data modelling tool in CASE
Data modelling tool in CASEData modelling tool in CASE
Data modelling tool in CASE
 
Lecture 5 defining the system
Lecture 5 defining the systemLecture 5 defining the system
Lecture 5 defining the system
 
Ch17
Ch17Ch17
Ch17
 
Case tools
Case toolsCase tools
Case tools
 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
 
Electronic Document Management Case Study
Electronic Document Management Case StudyElectronic Document Management Case Study
Electronic Document Management Case Study
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Web ISO Documentation Management System
Web ISO Documentation Management SystemWeb ISO Documentation Management System
Web ISO Documentation Management System
 
Planning and writing your documents - Software documentation
Planning and writing your documents - Software documentationPlanning and writing your documents - Software documentation
Planning and writing your documents - Software documentation
 
Se lec1 (1)
Se lec1 (1)Se lec1 (1)
Se lec1 (1)
 

More from Ra'Fat Al-Msie'deen

SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfSoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfRa'Fat Al-Msie'deen
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfRa'Fat Al-Msie'deen
 
Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
 
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...Ra'Fat Al-Msie'deen
 
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...Ra'Fat Al-Msie'deen
 
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Ra'Fat Al-Msie'deen
 
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachAutomatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachRa'Fat Al-Msie'deen
 
Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Ra'Fat Al-Msie'deen
 
Detecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsDetecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsRa'Fat Al-Msie'deen
 
Naming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeNaming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeRa'Fat Al-Msie'deen
 
Application architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignApplication architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignRa'Fat Al-Msie'deen
 
Requirements management planning & Requirements change management
Requirements management planning & Requirements change managementRequirements management planning & Requirements change management
Requirements management planning & Requirements change managementRa'Fat Al-Msie'deen
 
Requirements change - requirements engineering
Requirements change - requirements engineeringRequirements change - requirements engineering
Requirements change - requirements engineeringRa'Fat Al-Msie'deen
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineeringRa'Fat Al-Msie'deen
 
Software Documentation - writing to support - references
Software Documentation - writing to support - referencesSoftware Documentation - writing to support - references
Software Documentation - writing to support - referencesRa'Fat Al-Msie'deen
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and DesignRa'Fat Al-Msie'deen
 

More from Ra'Fat Al-Msie'deen (20)

SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdfSoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
SoftCloud: A Tool for Visualizing Software Artifacts as Tag Clouds.pdf
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdfBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports.pdf
 
Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
 
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
 
Source Code Summarization
Source Code SummarizationSource Code Summarization
Source Code Summarization
 
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
FeatureClouds: Naming the Identified Feature Implementation Blocks from Softw...
 
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
YamenTrace: Requirements Traceability - Recovering and Visualizing Traceabili...
 
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
Requirements Traceability: Recovering and Visualizing Traceability Links Betw...
 
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus ApproachAutomatic Labeling of the Object-oriented Source Code: The Lotus Approach
Automatic Labeling of the Object-oriented Source Code: The Lotus Approach
 
Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...Constructing a software requirements specification and design for electronic ...
Constructing a software requirements specification and design for electronic ...
 
Detecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variantsDetecting commonality and variability in use-case diagram variants
Detecting commonality and variability in use-case diagram variants
 
Naming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source CodeNaming the Identified Feature Implementation Blocks from Software Source Code
Naming the Identified Feature Implementation Blocks from Software Source Code
 
Application architectures - Software Architecture and Design
Application architectures - Software Architecture and DesignApplication architectures - Software Architecture and Design
Application architectures - Software Architecture and Design
 
Requirements management planning & Requirements change management
Requirements management planning & Requirements change managementRequirements management planning & Requirements change management
Requirements management planning & Requirements change management
 
Requirements change - requirements engineering
Requirements change - requirements engineeringRequirements change - requirements engineering
Requirements change - requirements engineering
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Software Documentation - writing to support - references
Software Documentation - writing to support - referencesSoftware Documentation - writing to support - references
Software Documentation - writing to support - references
 
Algorithms - "heap sort"
Algorithms - "heap sort"Algorithms - "heap sort"
Algorithms - "heap sort"
 
Algorithms - "quicksort"
Algorithms - "quicksort"Algorithms - "quicksort"
Algorithms - "quicksort"
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 

Recently uploaded

Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 

Recently uploaded (20)

Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 

Software documentation

  • 1. Software Documentation Mutah University Faculty of IT, Department of Software Engineering Dr. Ra’Fat A. AL-msie’deen rafatalmsiedeen@mutah.edu.jo © 2020 Ra'Fat Al-Msie'deen
  • 2. Resource(S)  This material is based on:  Software Documentation Paper, by Ian Sommerville. 2001.  Chapter 30 from “Software Engineering” book, 9th edition, by Ian Sommerville, published by Addison Wesley in 2010.
  • 3. Objectives  The objectives of this chapter are to describe the different types of documentation that may have to be produced for large software systems and to present guidelines for producing high-quality documents.  When you have read the chapter, you will:  understand why it is important to produce some system documentation, even when agile methods are used for system development;  understand the standards that are important for document production;  have been introduced to the process of professional document production.
  • 4. Discussion Topics 1. Introduction 2. Documentation Requirements 3. Process and Product Documentation 4. Document Quality 5. Standards 6. Document Preparation 7. Document Storage 8. Conclusion
  • 5. Why documentation? 1. Facilitates communication:  Within the development team itself  Between the development team and the project management  With customer 2. Records contracts and agreements
  • 6. Why documentation? … cont. 3. Provides information  For users and system administrators  For future maintenance  For project management
  • 7. Introduction  This chapter provides an overview of the:  Reasons for software documentation  Types of software documentation  Ways to implement software documentation o Processes and “Good Ideas”
  • 8. Documentation Requirements  General requirements of all software documentation:  Should provide for communication among team members.  Should act as an information repository to be used by maintenance engineers.  Should provide enough information to management to allow them to perform all program management related activities.  Should describe to users how to operate and administer the system.
  • 9. Documentation Requirements … cont.  In all software projects some amount of documentation should be created prior to any code being written  Design docs, etc.  Documentation should continue after the code has been completed  User’s manuals, etc.  The two main types of documentation created are Process and Product documents
  • 10. Classification Software documentation Process documentation Product documentation Records the process of SW development and maintenance Describes the product being developed User Documentation System Documentation
  • 11. Process Documentation  Used to record and track the development process  Planning documentation  Cost, Schedule, Funding tracking  Schedules  Standards  Etc.  This documentation is created to allow for successful management of a software product
  • 12. Process Documentation … cont.  Has a relatively short lifespan  Only important to internal development process  Except in cases where the customer requires a view into this data  Some items, such as papers that describe design decisions should be extracted and moved into the product documentation category when they become implemented
  • 13. Product Documentation  Describes the delivered product  Must evolve with the development of the software product  Two main categories:  System Documentation  User Documentation
  • 14. Product Documentation … System Documentation  System Documentation  Describes how the system works, but not how to operate it  Examples:  Requirements Spec.  Architectural Design  Detailed Design  Commented Source Code o Including output such as JavaDoc.  Test Plans o Including test cases.  V&V plan and results  List of Known Bugs
  • 15. Product Documentation … User Documentation  User Documentation has two main types  End User  System Administrator  In some cases these are the same people  The target audience must be well understood!
  • 16. Product Documentation … User Documentation  There are five important areas that should be documented for a formal release of a software application These do not necessarily each have to have their own document, but the topics should be covered thoroughly 1. Functional Description of the Software 2. Installation Instructions 3. Introductory Manual 4. Reference Manual 5. System Administrator’s Guide
  • 17. Types of documentation and document users
  • 18. Document Quality  Providing thorough and professional documentation is important for any size product development team  The problem is that many software professionals lack the writing skills to create professional level documents
  • 19. Document Structure  All documents for a given product should have a similar structure  A good reason for product standards  The IEEE Standard for User Documentation lists such a structure  It is a superset of what most documents need  The authors “best practices” are: 1. Put a cover page on all documents 2. Divide documents into chapters with sections and subsections 3. Add an index if there is lots of reference information 4. Add a glossary to define ambiguous terms
  • 20. Standards  Standards play an important role in the development, maintenance and usefulness of documentation  Standards can act as a basis for quality documentation  But are not good enough on their own o Usually define high level content and organization  There are three types of documentation standards: 1. Process standards 2. Product standards 3. Interchange standards
  • 21. Process Standards  Define the approach that is to be used when creating the documentation  Don’t actually define any of the content of the documents DraftRevise Check Peer Reviews
  • 22. Product Standards  Goal is to have all documents created for a specific product attain a consistent structure and appearance  Can be based on organizational or contractually required standards  Four main types: 1. Documentation Identification Standards 2. Document Structure Standards 3. Document Presentation Standards 4. Document Update Standards
  • 23. Product Standards … cont.  One caveat:  Documentation that will be viewed by end users should be created in a way that is best consumed and is most attractive to them  Internal development documentation generally does not meet this need
  • 24. Interchange Standards  Deals with the creation of documents in a format that allows others to effectively use  PDF may be good for end users who don’t need to edit  Word may be good for text editing  Specialized CASE tools need to be considered  This is usually not a problem within a single organization, but when sharing data between organizations it can occur  This same problem is faced all the time during software integration
  • 25. Other Standards  IEEE  Has a published standard for user documentation  Provides a structure and superset of content areas  Many organizations probably won’t create documents that completely match the standard  Writing Style  Ten “best practices” when writing are provided  Author proposes that group edits of important documents should occur in a similar fashion to software walkthroughs
  • 26. Online Documentation  Either internal to the application or Web based  Requires rethinking the presentation style since normal “paper” documentation approaches do not carry over well  Should act as a supplement to paper documentation  Biggest benefit of Web docs are that they are always current
  • 27. Document Preparation  Covers the entire process of creating and formatting a document for publication  Author recommends using specialized (and separate) tools for creating and preparing documents o This is only important for user documentation  It is often important to have a professional writer or document publisher evaluate documents before publication to ensure they look good and will carry over to paper well
  • 28. Document Storage  Author Recommends (in 2001)  File System to store the actual documents  Database to store references to the files with metadata to allow searching and referencing  Today it is probably better to use a content management systems  Concurrent Versions System (CVS) or SubVersioN (SVN)  Are two version control file systems that are popularly used by teams who are collaborating on a single project.  Free and Open Source  Easy to setup and maintain
  • 29. Document production Figure x: Stages of document preparation
  • 31. Key points  Software documentation is used to describe the system to its users and to software engineers who are responsible for maintaining the system.  Documentation at different levels of detail should be developed for different types of user.  Agile methods try to eliminate documentation as it is often out of date and little used. However, some user documentation is necessary for almost all systems and documentation on the system requirements and architecture is useful for system maintenance.
  • 32. Key points  Document quality is very important if documents are to be useful. Documents should be well-structured and written using simple and clear language.  Documentation standards may be process standards, defining how documents should be produced, product standards, defining document organization or document interchange standards.  Document management systems may be used in very large projects to ensure that documentation is maintained and readily accessible.
  • 34. Software Documentation Mutah University Faculty of IT, Department of Software Engineering Dr. Ra’Fat A. AL-msie’deen rafatalmsiedeen@mutah.edu.jo