PROGRAMMING METHODOLOGY

Slides:



Advertisements
Similar presentations
P5, M1, D1.
Advertisements

Understanding the Mainline Logical Flow Through a Program (continued)
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 3 Planning Your Solution
BPC.1 Basic Programming Concepts
COMP An Introduction to Computer Programming : University of the West Indies COMP6015 An Introduction to Computer Programming Lecture 02.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
1 Shawlands Academy Higher Computing Software Development Unit.
CHAPTER:14 Programming Methodology Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
Programming Lifecycle
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
PROGRAMMING METHODOLOGY STYLISTIC GUI DELINES Meaningful Names for Identifiers. Guidelines followed while dealing with identifiers. 1. Assign meaningful.
Programming Concepts Chapter 3.
CHAPTER:11 Programming Guidelines in JAVA Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
Chapter 1 Introduction to Structured Design. Introduction  System  A combination of people, equipment, and procedures that work together to perform.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
I Power Higher Computing Software Development The Software Development Process.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
The Software Development Process
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
PROGRAMMING GUIDELINES. SYLISTIC GUIDELINES  Meaningful names for identifiers Identifiers identify different parts of C++ programs. Identifiers should.
© 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.
Program Development Cycle
Intermediate 2 Computing Unit 2 - Software Development.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
The Hashemite University Computer Engineering Department
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Principles of Programming. Achieving an Object-Oriented Design  Abstraction and Information Hiding  Object-Oriented Design  Functional Decomposition.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Introduction to Algorithmic Processes CMPSC 201C Fall 2000.
MANAGEMENT INFORMATION SYSTEM
Principles of Programming & Software Engineering
ICS 3UI - Introduction to Computer Science
System.
Data Types Variables are used in programs to store items of data e.g a name, a high score, an exam mark. The data stored in a variable is entered from.
Lecture 1 Introduction Richard Gesick.
C++ Plus Data Structures
CSCI-235 Micro-Computer Applications
The Software Development Cycle
Principles of Programming and Software Engineering
Algorithm and Ambiguity
Lecture 2 Introduction to Programming
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Algorithm and Ambiguity
Software Engineering (CSI 321)
Designing and Debugging Batch and Interactive COBOL Programs
Unit# 9: Computer Program Development
Introduction to Systems Analysis and Design
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Documentation for Developers
Unit 6 Assignment 2 Chris Boardley.
Problem Solving Skill Area 305.1
Algorithm and Ambiguity
Welcome to Corporate Training -1
Learning Intention I will learn about evaluating a program.
Programming Fundamentals (750113) Ch1. Problem Solving
Focus of the Course Object-Oriented Software Development
Programming Fundamentals (750113) Ch1. Problem Solving
The Software Development Process
Software Development Chapter 1.
Review of Previous Lesson
CHAPTER 6 Testing and Debugging.
The Software Development Cycle
Presentation transcript:

PROGRAMMING METHODOLOGY BY TUSHAR THOSAR PGT (Computer Science) HVF Avadi, chennai

SYNOPSIS Stylistic Guidelines Characteristics of a Good Program Storage of Program Development Process Robustness Type of Errors Problem Solving Methodology and Techniques Documentation Program Maintenance

DO YOU KNOW ABOUT What is Programme ? What is Programming? What is System? What is Software Design?

STYLISTIC GUIDELINES Developing good program is a skill and writing good program is a quality habit. This good habit can be developed by consciously following the guidelines. Meaningful Names for Identifiers Ensure Clarity of Expressions Use Comments and Indentation Insert blank lines and Blank Spaces Statement formatting Style

MEANINGFUL NAMES FOR IDENTIFIERS Identifiers identify different parts of a c++ programs. Therefore, identifiers should have meaningful names Assign meaningful names for all identifiers viz. variables, functions and procedures etc. Do not use similar looking names e.g manage, manager. Always assign names to scalar constants when it helps in clarity and readability.

Ensure Clarity of Expressions Expression carry out the specified actions. Thus they must be clearly understood by the users. There should not be any compromise with the clarity of expression. Avoid programming tricks whose intent will not be obvious to a reader. Never sacrifice clarity of expression even if changed (but unclear) expressions may get you minor gain in machine execution time. Use standard functions in expressions to enhance readability.

Use Comments and Indentation Comments play a very important role as they provide internal documentation of a program. Indentation makes the statements clear and readable. Sometimes, comments and indentation are not used to save on program writing time, but remember, there should not be any compromise on readability and understandability. In c++ comments are given either by // and /* …….*/ brackets.

Insert Blank Lines and Blank Space The insertion of blank lines and blank spaces at appropriate space also enhance the program readability. The blank lines are inserted to separate declaration blocks, comment boxes, procedures and functions etc. Normally, blank lines are inserted before label, const, type, var declarations. the blank space may be added before operators like +, - ,*, / and %, =, >, <, >= , <=, <> etc. and characters like /*, */ ,//, comma etc. to improve preventability and readability. Note: When program formatting is done to make a program more readable, it is called prettyprinting.

CHARACTERISTICS OF A GOOD PROGRAM A program written in good style is easily understandable to a reader, therefore, is a good program. A good program not only efficiently solves the given problem but also itself well. Following are the characteristics of a good program. Effective and efficient. User Friendly Self- Documenting Code Reliable Portable

STAGES OF PROGRAM DEVELOPMENT PROCESS A program development process is a step by step process where each stage contributes to building of an effective and efficient program. There are four stages in program development process as given below: Creak the problem Code the algorithm Compile the program Execute the program

ROBUSTNESS Even after taking all preventive measures, errors may still occur during program execution. This property of recovering following an error is called robustness. Definition: The ability of a program, to recover following an error and to continue operating within its environment, is called Robustness. The code which can handle exceptional data errors and operational errors is called Guard Code

TYPE OF ERRORS An error or called ‘a bug’ is anything in the code that prevents a program from compiling and running correctly. There are broadly three types of errors Compile-time errors Run- time errors Logical errors

COMPILE- TIME ERROR Errors that occur during compile- time, are compile-time errors Two of errors fall into category of compile-time errors. Syntax errors- Syntax refers to formal rules governing the construction of valid statements in a language. Semantics errors – Semantics refers to the set of rules which give the meaning of a statement.

RUN-TIME ERRORS Errors that occur during the execution of a program are run-time errors. These are harder to detect errors. Some run-time errors stop the execution of the program which is then called program “ crashed” or “ abnormally terminated”. Most run-time errors are easy to identified because program halts when it encounters them an infinite loop or wrong value is input.

LOGICAL ERRORS Sometimes, even if we don’t encounter any error during compile-time and run-time, our program does not provide the correct result. This is because of the programmer’s mistaken analysis of problem he or she is trying to solve. Such errors are logical errors.

PROBLEM SOLVING METHODOLOGY AND TECHNIQUES The steps to creating a working program are: Understand the problem well. Analyze the problem to Identify minimum number of inputs required for output Identify processing components Design the program by Deciding step by step solution Breaking down solution into simple steps Code the program by Identifying arithmetic and logical operations required for solutions. Using appropriate control structures such as conditional or looping control structure. Test and Debug your program by Finding errors in it Rectifying the errors Complete your documentation Maintain your program.

SDLC ( SYSTEM DEVELOPMENT LIFE CYCLE) The step to creating a working system are: System requirements Feasibility study System analysis System design System testing System implementation System maintenance

DOCUMENTATION Definition: Documentation refers to written descriptions, specifications, design, code and comment, internal and external to a program, which make a program more understandable, readable and more easily modifiable. Modules of Documentation Complexity of system Technical sophistication of user People involved in development and use Expected life of documentation

USER DOCUMENTAION( OR MANUAL) General description Run flow and description Logic flow Program testing File descriptions Record layouts Output specifications File disposal Error messages Special run instructions Security considerations Restart and recovery procedures

PROGRAMMER’ S DOCUMENTATION The programmer’s manual provides the technical part of the documentation. The technical documentation is of two types :– External documentation- The external documentation of a program consists of the written information that is outside the body of the source code. Internal Documentation- The internal documentation includes comments, self documentating code and program formatting (prettyprinting). “Prettyprinting refers to program formatting to make a program more readable”

USE OF DOCUMENTATION Facilities communication about an application between the technical development personal and non-technical. Useful for technical personnel not only during development, but also during operations and normal maintenance. Essential during abnormal or urgent maintenance Very helpful in initiating and training. Enables troubles shooting when the application system breaks down. Essential for both internal and external control. Ensure that all commitments and expectations are on records.

PROGRAM MAINTENCE Program maintenance refer to the modification of a program. There could be four kinds of maintenance. Corrective Maintenance Adaptive Maintenance Preventive Maintenance Perfective Maintenance

RELATED QUESTIONS What do you mean by syntax errors and Semantics errors? Why are logical errors harder to locate? (hot) What is echo printing? Why a program should have good presentation style. What are main error types? Which types are most dangerous and why? hot) What is the significance of documentation. Why is program maintenance considered very important?

ANY QUERIES ?

THANK YOU HAVE A NICE DAY