1 Introduction to Software Engineering Lecture 42 – Communication Skills.

Slides:



Advertisements
Similar presentations
Lecture 6: Software Design (Part I)
Advertisements

Configuration Management
Chapter 2: Modularization
1 ICS103 Programming in C Lecture 5: Introduction to Functions.
Documentation 1 Comprehending the present – Investing in the future.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
Programming Style a programs language gives you a lot of freedom how to write a program – too much? but some programming style is good goal: it must be.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
CS 201 Functions Debzani Deb.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Chapter 1 Principles of Programming and Software Engineering.
SE 555 – Software Requirements & Specifications Introduction
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Describing Syntax and Semantics
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 3: Writing the Project Documentation Part I
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Verification and Validation
Project Execution & Termination Life Cycle Execution Presented by: Basker George.
Documentation 1. User Documentation 2. Technical Documentation 3. Program Documentation.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
Code as Communication Programming Studio Spring 2015.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
1 Web Based Programming Section 6 James King 12 August 2003.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
1 Shawlands Academy Higher Computing Software Development Unit.
Design-Making Projects Work (Chapter7) n Large Projects u Design often distinct from analysis or coding u Project takes weeks, months or years to create.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
Course: Software Engineering © Alessandra RussoUnit 1 - Introduction, slide Number 1 Unit 1: Introduction Course: C525 Software Engineering Lecturer: Alessandra.
GCSE OCR 3 A451 Computing Professional standards
Introduction of C++ language. C++ Predecessors Early high level languages or programming languages were written to address a particular kind of computing.
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
Intent Specification Intent Specification is used in SpecTRM
Implementation 1. Software Implementation – transforming design into code Requirements Analysis Software Design Implementation Testing Deployment Evolution.
SE: CHAPTER 7 Writing The Program
1 Chapter-01 Introduction to Software Engineering.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
1 ICS103 Programming in C Lecture 7: Introduction to Functions.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
1 Chapter-01 Introduction to Software Engineering.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
CMSC 104: Peter Olsen, Fall 99Lecture 9:1 Algorithms III Representing Algorithms with pseudo-code.
Modeling as a Design Technique Chapter 2 Part 1: Modeling Concepts Object-Oriented Modeling and Design Byung-Hyun Ha
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
The Software Development Process
Lecture 6: Writing the Project Documentation Part IV.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 7 Implementation. Implementation Approaches F Big bang –Code entire system and test in an unstructured manner F Top-down –Start by implementing.
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Basic Concepts and Definitions
1 Chapter-01 Introduction to Software Engineering.
Lecture 21 Introduction to System Development Life Cycle - Part 1.
Chapter 2 Principles of Programming and Software Engineering.
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
1 Geant4 Documentation Dennis Wright Geant4 Delta Review 9 October 2002 Internal documentation review Documentation improvements Plans for future improvements.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
CSCI-235 Micro-Computer Applications
Topic: Python’s building blocks -> Variables, Values, and Types
System Design.
Principles of Programming and Software Engineering
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Software Requirements Specification (SRS) Template.
Chapter 2. Problem Solving and Software Engineering
Presentation transcript:

1 Introduction to Software Engineering Lecture 42 – Communication Skills

2 Lecture Outline Purpose of software documentation What makes software documentation different? Styles of software documentations Code: General Recommendations

3 Purpose of Software Documentation Provide a software product in an executable form. Describe the software product The requirements the product is intended to satisfy The design of the product The implementation of the product The capabilities and limitations of the product The product from different perspectives

4 Purpose of Software Documentation Show that the product is correct. Make the product easier to Use Maintain reuse

5 Kinds of software documentations Requirements specifications Design specifications Source code Testing results User manuals

6 What makes software documentation different? Software is not visible Software product is represented and distributed as documentation Software involves formal, machine-readable languages Content of software is largely logic Software documentation has many different purposes Software product needs many kinds of documentation

7 Styles of software documentations Tutorial Teaches some aspect of the software Often used for user documentation Hyperlinked set of documents Requirements are connected to the design, the design is connected to the code etc. Layered set of documents Presents software at different layers of abstraction For example, algorithms are presented separately from the code.

8 Styles of software documentations Single-source document Different documents and different views are generated from a single source Example: javadoc Example: a family of manuals generated from the same source.

9 Code: General Recommendations Structure the code in a consistent manner. Express the structure of the software’s design in the software's code. Follow the conventions of the programming language being used.

10 Commenting code Begin every code file with: Authors Description of contents Revision date and log of changes made to the file. Comment: Each variable declaration Each procedure definition Loops and larger blocks of code Avoid excessive comments in procedure bodies Wrtie code so that what it does is obvious

11 Key Points Purpose of software documentation is to describe the software product. Kinds of software documentations Code documentation Authors and revision details Comments variables, procedures, loops etc.