Chapter – 8 Software Tools.

Slides:



Advertisements
Similar presentations
1 SEDIT & S/REXX SEDIT and S/REXX Mainframe-caliber tools for UNIX Offered by Treehouse Software, Inc.
Advertisements

Mainframe-caliber tools for UNIX Treehouse Software, Inc.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Systems Software.
 2005 Pearson Education, Inc. All rights reserved Introduction.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Lecture Roger Sutton CO331 Visual programming 15: Debugging 1.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Computers: Tools for an Information Age
Application architectures
Program Flow Charting How to tackle the beginning stage a program design.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
COBOL for the 21 st Century Stern, Stern, Ley Chapter 1 INTRODUCTION TO STRUCTURED PROGRAM DESIGN IN COBOL.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 3 Software Two major types of software
BY: SACHIN SHRIVASTAVA Operating System By : Sachin Shrivastava 1.
Your Interactive Guide to the Digital World Discovering Computers 2012.
CCSA 221 Programming in C CHAPTER 2 SOME FUNDAMENTALS 1 ALHANOUF ALAMR.
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
A First Program Using C#
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Structured COBOL Programming, Stern & Stern, 9th edition
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
CSC141 Introduction to Computer Programming
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Chapter 1: A First Program Using C#. Programming Computer program – A set of instructions that tells a computer what to do – Also called software Software.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
Chapter 3: Completing the Problem- Solving Process and Getting Started with C++ Introduction to Programming with C++ Fourth Edition.
What is a Computer? An, electrical machine, that can be programmed to accept data (input), process it into useful information (output) and store it away.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Chapter Three The UNIX Editors. 2 Lesson A The vi Editor.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
COMPUTER PROGRAMMING. A Typical C++ Environment Phases of C++ Programs: 1- Edit 2- Preprocess 3- Compile 4- Link 5- Load 6- Execute Loader Primary Memory.
Software Engineering. Software Engineering is… Design Coding Testing Debugging Documentation Maintenance …of new software.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
Editors And Debugging Systems Other System Software Text Editors Interactive Debugging Systems UNIT 5 S.Sharmili Priyadarsini.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
Overview of Previous Lesson(s) Over View  A program must be translated into a form in which it can be executed by a computer.  The software systems.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Intermediate 2 Computing Unit 2 - Software Development.
 Programming - the process of creating computer programs.
The Hashemite University Computer Engineering Department
Execution ways of program References: www. en.wikipedia.org/wiki/Integrated_development_environment  You can execute or run a simple java program with.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
CHAPTER 3 COMPLETING THE PROBLEM- SOLVING PROCESS AND GETTING STARTED WITH C++ An Introduction to Programming with C++ Fifth Edition.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Chapter 3: Mastering Editors Chapter 3 Mastering Editors (Emacs)
Operating System Interface between a user and the computer hardware
CSCI-235 Micro-Computer Applications
Topics Introduction to Repetition Structures
Text by: Lambert and Osborne
Guide To UNIX Using Linux Third Edition
CSCI/CMPE 3334 Systems Programming
Unit# 8: Introduction to Computer Programming
Designing and Debugging Batch and Interactive COBOL Programs
Chapter 1 Introduction(1.1)
Presentation transcript:

Chapter – 8 Software Tools

INTRODUCTION Definition (Software tool): A Software tools is a system program which: Interfaces a program with the entity generating its input data Interfaces the results of a program with the entity consuming them. The entity generating the data or consuming the results may be a program or a user.

SOFTWARE TOOLS FOR PROGRAM DEVELOPMENT The fundamental steps in program development are: Program design, coding and documentation Preparation of program in machine readable form Program translation, linking and loading Program testing and debugging Performance tuning Reformatting the data and/or results of a program to suit other programs. Step 3 requires use of language processor. All other steps transfer raw program or data into equivalent final program. The software tools performing these transformations are described in the following sections:

SOFTWARE TOOLS FOR PROGRAM DEVELOPMENT Program Design and Coding: Two categories of tools used for program design & coding: Program generator: Generates program and saves coding efforts since program is generated rather than coded by hand. Programming Environment: Supports program coding by incorporating awareness of the programming language syntax and semantics in the language editors.

SOFTWARE TOOLS FOR PROGRAM DEVELOPMENT Program Entry and Editing: These tools are text editors or more sophisticated program with text editing facilities. The editor functions in two-modes: Command mode and data mode. Program Testing and Debugging: Important steps in program testing & debugging are: Selection of test data Analysis of test results to detect errors (if any), and Debugging i.e. localization and removal of errors.

SOFTWARE TOOLS FOR PROGRAM DEVELOPMENT Enhancement of Program Performance: Program efficiency depends on two factors: The efficiency of the algorithm, and The efficiency of its coding. Compiler - improve efficiency of the code program designer – improve efficiency of the algorithm. Program Documentation: It should be Up-to date. Automatic Tools for documentations produce different forms of documentations. E.g., flow chart, IO specifications showing files and their records etc…

EDITORS Text editors come in the following forms: Line editors Stream editors Screen editors Word processors Structure editors Line editors and Stream editors: The scope of edit operations in a line editor is limited to a line of text. The line is designated positionally, e.g. by specifying its serial number in the text, or contextually, e.g. by specifying a context which uniquely identifies it. The primary advantage of line editors is their simplicity. A stream editor views the entire text as a stream of characters. These permits edit operations to cross line boundaries.

EDITORS Cont… Screen editors: A line or stream editor does not display the text in the manner it would appear if printed. A screen editor uses the what-you-see-is-what-you-get principle in editor design. The user can move the cursor over the screen, position it at the point where he desires to perform some editing and proceed with the editing directly. Thus it is possible to see the effect of an edit operation on the screen. This is very useful while formatting the text to produce printed documents.

EDITORS Cont… Word Processors : Word processors are basically document editors with additional features to produce well formatted hard copy output. Essential features of word processors are commands for moving sections of text from one place to another, merging of text, and searching and replacement of words. Many word processors support a spell-check option and some more functions.

EDITORS Cont… Structure editor: A structure editor incorporates an awareness of the structure of a document. For e.g., if a programmer wishes to edit a specific function in a program file. The structure is specified by the user while creating or modifying the documents. A special class of structure editors, called syntax directed editors are used in programming languages.

DEBUG MONITORS Debug monitors provide the following facilities for dynamic debugging: Setting breakpoints in the program Initiating a debug conversation when control reaches a breakpoint Displaying values of variables Assigning new values to variables Testing user defined assertions and predicates involving program variables

DEBUG MONITORS At any time during execution the programmer can interrupt program execution and enter into the debugging mode or return to the editor (by setting breakpoint). Multiple breakpoint is also possible in the same program. In the later case, he can modify the program and resume or restart its execution.

PROGRAMMING ENVIRONMENT A programming environment is a software system that provides integrated facilities for program creation, editing, execution, testing and debugging. It consists of the following components: A syntax directed editor (which is structure editor) A language processor – a compiler, interpreter, or both A debug monitor A dialog monitor

PROGRAMMING ENVIRONMENT The syntax directed editor incorporates a front end for the programming languages. As user types in his program, the editor performs syntax analysis and converts it into an Intermediate Representation (IR). The compiler or interpreter and debug monitor share the IR. At any time during execution the programmer can interrupt program execution and enter the debug mode or return to the editor. The main simplification for the user is the easy accessibility of all functions through the dialog monitor.

USER INTERFACE A user interface (UI) plays a vital role in simplifying the interaction of user with an application. UI has two important aspects: Issuing of command, and Exchange of data A UI consist of two components: Dialog manager: Manages the conversation between the user and the application. This involves prompting the user for a command and transmitting the command to the application. Presentation manager: Manages and display data produced by the application in an appropriate manner on the user’s display.

USER INTERFACE Structure of user interface is depicted in the below figure. Application Code Presentation Manager Dialog Manager User Interface Graphics packages User

USER INTERFACE Above figure shows a UI schematic using standard graphics package. UI consist of two main components: presentation manager and dialog manager. The presentation manager is responsible for managing the user’s screen and accepting data and presenting result. The dialog manager is responsible for interpreting user commands and implementing them in application code. Dialog manger is also responsible for error message and on line help functions.