The Other Face Or Why Document? By Chris Bradney Or Why Document? By Chris Bradney.

Slides:



Advertisements
Similar presentations
Coding Practices. What are Coding Practices ? Coding practices are a set of informal rules that the software development community has learned over time.
Advertisements

Lecture 7 Model Development and Model Verification.
CSE1301 Computer Programming: Lecture 13 Documentation.
Implementation. We we came from… Planning Analysis Design Implementation Identify Problem/Value. Feasibility Analysis. Project Management. Understand.
Software Quality Assurance
System Implementation
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.McGraw-Hill/Irwin.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Bret Juliano. Introduction What Documentation is Required? – To use a program – To believe a program – To modify a program The Flow-Chart Curse Self-Documenting.
Educator’s Guide Using Instructables With Your Students.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
Chapter 13: Implementation Phase 13.3 Good Programming Practice 13.6 Module Test Case Selection 13.7 Black-Box Module-Testing Techniques 13.8 Glass-Box.
CSC-115 Introduction to Computer Programming
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Copyright © 2002 by Pearson Education, Inc., publishing as Longman Publishers. All rights reserved. Chapter 15 Procedures, Processes, and Specifications.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Programming Concepts Chapter 3.
SE: CHAPTER 7 Writing The Program
Computer Science Project Criteria. Computer Science Project The project is intended to simulate the analysis, design, progamming and documentation stages.
Expository Writing Fourth Grade. Expository Writing Explains something. Tells how something is done. What is expository writing?
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
Elucidative Programming Kurt Nørmark Aalborg University Denmark SIGDOC September 2000.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
Lecture 6: Writing the Project Documentation Part IV.
William Sanborn Pfeiffer Kaye Adkins
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Submitted To: Rutvi sarang Submitted By: Kushal Bhagat.
Communication Skills Developing the knowledge and skills to communicate within the accounting profession.
CIS 4910 Information Systems Development Project Project Documentation.
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
Paragraphs and Beyond “The Writing Process”. 1. Writing for purpose: Why do we write? 2. The Writing Process. What you need to check for when submitting.
Reverse Engineering. Reverse engineering is the general process of analyzing a technology specifically to ascertain how it was designed or how it operates.
Paragraphs. PARAGRAPHS Paragraphs in essays: Are the building blocks of your essay Contain and develop a single idea Your essay consists of a number of.
The Other Face Chapter 15. What documentation is required? ► Different levels of documentation are required for the casual user of a program, for the.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
CSC480 Software Engineering Lecture 7 September 16, 2002.
English Language Arts 7 Paragraphs “The Writing Process”
Persuasive Letter Scoring Guide Category4321 Audience Demonstrates a clear understanding of the potential reader and uses appropriate vocabulary and arguments.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
 Problem Analysis  Coding  Debugging  Testing.
Summary A short retelling of the main details of a longer piece of writing. For a short story, a summary should include: A topic sentence that gives the.
CSCI-235 Micro-Computer Applications
ECE 551: Digital System Design & Synthesis
System Design.
SDC – SDLC integration.
Systems Analysis and Design
Developing Information Systems
Level 4 Counselling: Catherine Drewer
The Selection Structure
To support your understanding of the Literacy and Numeracy demands in your workplace and how they relate to the ability and efficiency of your employees.
CSC480 Software Engineering
WRITE TO COMMUNICATE.
VISUAL BASIC – CHAPTER ONE NOTES An Introduction to Visual Basic
Biology Laboratory Report
Use Case Model Use case diagram – Part 2.
Paragraph writing Language Arts.
Software Construction
The “How and Why” of Writing Done by: Yazan Mohannad
CS310 Software Engineering Lecturer Dr.Doaa Sami
CMSC 345 Programming.
Chapter 2. Problem Solving and Software Engineering
Tips for AP Exam!.
Presentation transcript:

The Other Face Or Why Document? By Chris Bradney Or Why Document? By Chris Bradney

First Steps There are two, not one, important sides to every program product Unfortunately, the other face is typically poorly done or incomplete Must everyone knows why, but fail to know how There are two, not one, important sides to every program product Unfortunately, the other face is typically poorly done or incomplete Must everyone knows why, but fail to know how

Main topics in documentation Information on its use Information on how to verify its correctness Information on how to modify Information on its use Information on how to verify its correctness Information on how to modify

How to use a program documentation We need a broad overview of the program Probably the most lacking piece of documentation Smaller details can be added elsewhere Need to use fully sentences and paragraphs for the reader to understand We need a broad overview of the program Probably the most lacking piece of documentation Smaller details can be added elsewhere Need to use fully sentences and paragraphs for the reader to understand

How to use a program specifics There are nine main elements that the user needs in the documentation Purpose Environment Domain and Range Functions and Algorithms Input-output Formats Operation Instructions Options Run Time Error Checking There are nine main elements that the user needs in the documentation Purpose Environment Domain and Range Functions and Algorithms Input-output Formats Operation Instructions Options Run Time Error Checking

Verifying a program documentation Documentation detailing methods for verifying the validity of the program are often absent Need test cases to check for the main functions, as well as both sides of the border conditions Documentation detailing methods for verifying the validity of the program are often absent Need test cases to check for the main functions, as well as both sides of the border conditions

Modifying a program documentation Need to have insight into the internal structures of the program Used for adaptation of a program or maintenance of the program Documentation needs to be clear, concise, and accurate Need to have insight into the internal structures of the program Used for adaptation of a program or maintenance of the program Documentation needs to be clear, concise, and accurate

Documentation of the internal structures What is needed: A graph of the internal flow (flow chart) Algorithm descriptions and references Explanation of file arrangement Overview of sequence of events Observations of modifications and hazards What is needed: A graph of the internal flow (flow chart) Algorithm descriptions and references Explanation of file arrangement Overview of sequence of events Observations of modifications and hazards

Case against the flow chart The flow chart is good for introduction to algorithmic thought processes Flow charts are not used often by experienced programmers Flow chart concepts can be illustrated better in other forms The flow chart is good for introduction to algorithmic thought processes Flow charts are not used often by experienced programmers Flow chart concepts can be illustrated better in other forms

Documentation integration It is better to have documentation mixed with the source code rather than as a separate entity The assurance of accuracy and consistency paramount Gives the reader a more in depth look at the processes, not abstracted Assures completeness of documentation It is better to have documentation mixed with the source code rather than as a separate entity The assurance of accuracy and consistency paramount Gives the reader a more in depth look at the processes, not abstracted Assures completeness of documentation

Integration practices We can use the forms that are included in high level programming languages to show concepts Use comment blocks to place needed prose in code We can use the forms that are included in high level programming languages to show concepts Use comment blocks to place needed prose in code

Case against self-documenting Source code is longer with added documentation Takes more time to write with documentation Difficult to incorporate charts and graphs Source code is longer with added documentation Takes more time to write with documentation Difficult to incorporate charts and graphs

Concluding thoughts Documentation is as important as the program itself, but is often neglected Documentation should be written as to be understandable by someone unfamiliar to the project Self-documenting code improves vital areas such as accuracy, consistency, and completeness Documentation is as important as the program itself, but is often neglected Documentation should be written as to be understandable by someone unfamiliar to the project Self-documenting code improves vital areas such as accuracy, consistency, and completeness

Questions?