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

Report on Smart Blood Bank project
Report on Smart Blood Bank projectReport on Smart Blood Bank project
Report on Smart Blood Bank projectk Tarun
 
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Mohammad Karim Shahbaz
 
Software architect design documentation template
Software architect design documentation templateSoftware architect design documentation template
Software architect design documentation templateSalim M Bhonhariya
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineeringRupesh Vaishnav
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architectureHimanshu
 
Software architecture
Software architectureSoftware architecture
Software architecturenazn
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagramRamakant Soni
 
Software Engineering for Web Applications
Software Engineering for Web ApplicationsSoftware Engineering for Web Applications
Software Engineering for Web ApplicationsMoh'd Shakeb Baig
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationVishal Singh
 
Library management sytem
Library management sytemLibrary management sytem
Library management sytemashu6
 

What's hot (20)

System Analysis and design Class 1
System Analysis and design Class 1System Analysis and design Class 1
System Analysis and design Class 1
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Report on Smart Blood Bank project
Report on Smart Blood Bank projectReport on Smart Blood Bank project
Report on Smart Blood Bank project
 
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
Employee Management System UML Diagrams Use Case Diagram, Activity Diagram, S...
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Sdlc
SdlcSdlc
Sdlc
 
Software architect design documentation template
Software architect design documentation templateSoftware architect design documentation template
Software architect design documentation template
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architecture
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Ooad
OoadOoad
Ooad
 
FYP 1
FYP 1FYP 1
FYP 1
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagram
 
Software Engineering for Web Applications
Software Engineering for Web ApplicationsSoftware Engineering for Web Applications
Software Engineering for Web Applications
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Online examination system
Online examination systemOnline examination system
Online examination system
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Library management sytem
Library management sytemLibrary management sytem
Library management sytem
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 

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

KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
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
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 

Recently uploaded (20)

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
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.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
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
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
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 

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