Chapter 1 Introduction to Structured Design. Introduction  System  A combination of people, equipment, and procedures that work together to perform.

Slides:



Advertisements
Similar presentations
System Development Life Cycle (SDLC)
Advertisements

COMPUTER PROGRAMMING I Understand Problem Solving Tools to Design Programming Solutions.
CHAPTER 1: AN OVERVIEW OF COMPUTERS AND LOGIC. Objectives 2  Understand computer components and operations  Describe the steps involved in the programming.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
ITEC113 Algorithms and Programming Techniques
Chapter 2- Visual Basic Schneider
Chapter 9 Describing Process Specifications and Structured Decisions
System Design and Analysis
Chapter 2: Input, Processing, and Output
Computers: Tools for an Information Age
Chapter 1 Principles of Programming and Software Engineering.
Program Development and Programming Languages
Chapter 2: Developing a Program Extended and Concise Prelude to Programming Concepts and Design Copyright © 2003 Scott/Jones, Inc.. All rights reserved.
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
COBOL for the 21 st Century Stern, Stern, Ley Chapter 1 INTRODUCTION TO STRUCTURED PROGRAM DESIGN IN COBOL.
Chapter 1 Program Design
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
Chapter 3 Planning Your Solution
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
Introduction to Systems Analysis and Design Trisha Cummings.
Introduction 01_intro.ppt
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Structured COBOL Programming, Stern & Stern, 9th edition
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
Simple Program Design Third Edition A Step-by-Step Approach
Chapter 2: Beginning the Problem-Solving Process
PROGRAMMING LANGUAGES Prof. Lani Cantonjos. PROGRAM - set of step-by-step instructions that tells or directs the computer what to do. PROGRAMMING LANGUAGE.
Chapter 10 Information Systems Analysis and Design
Designing and Debugging Batch and Interactive COBOL Programs Chapter 5.
Programming Concepts Chapter 3.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
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.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Algorithms & Flowchart
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
1 Program Planning and Design Important stages before actual program is written.
© 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.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
Evolution of C and C++ n C was developed by Dennis Ritchie at Bell Labs (early 1970s) as a systems programming language n C later evolved into a general-purpose.
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.
Microsoft Visual Basic 2012: Reloaded Fifth Edition Chapter One An Introduction to Visual Basic 2012.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
An Introduction to Programming with C++1 Beginning the Problem- Solving Process Tutorial 2.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
 Problem Analysis  Coding  Debugging  Testing.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Chapter 2: Input, Processing, and Output
Chapter 2- Visual Basic Schneider
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
Designing and Debugging Batch and Interactive COBOL Programs
Unit# 9: Computer Program Development
Introduction to Systems Analysis and Design
Chapter 2- Visual Basic Schneider
Chapter 2- Visual Basic Schneider
Chapter 11 Describing Process Specifications and Structured Decisions
ICT Gaming Lesson 2.
Chapter 2: Input, Processing, and Output
Basic Concepts of Algorithm
Programming Logic and Design Eighth Edition
Presentation transcript:

Chapter 1 Introduction to Structured Design

Introduction  System  A combination of people, equipment, and procedures that work together to perform a specific function.  Manually operated  Computer assisted  Computer-Based Information System  A system in which some of the procedures are performed by a computer.

System Development Life Cycle  System Development Life Cycle (SDLC)  A series of well-designed steps that should be followed when a system is created or changed.

Analyze the Current System  System Analysts  Study every aspect of the existing system to get a clear understanding of what things are done and how.  Identifies any problems associated with the system.  Most effective technique is to talk to users of the system.  Users  People who are directly involved with the system in their day-today activities.

Define the New System Requirements  Specify what needs to be done, not how to do it.  Which changes are necessary to eliminate the problems identified in the initial analysis.  After the analyst works out all the requirements, prepare a report outlining these requirements for management.

Design the New System  System Designer  uses the requirements defined in the preceding step as a basis for designing the new or modified system.  System Flowchart  shows all the major inputs and outputs.  No detail is given as to how the program actually works.

Design the New System  Computer-Assisted Software Engineering (CASE)  The automation of tools, methods, and procedures for system development.

Develop the New System  Each of the programs called for in the system design is constructed.  Program Development Cycle (PDC)

Develop the New System  Review the Program Requirements  If anything is unclear at this point, the programmer asks for more information from the system analyst who wrote the original requirement, from the system designer, or even from a future user of the program.

Develop the New System  Develop the Program Logic  The actual processing steps within each program in the system are developed.  Two common tools:  Program flowcharts  Use symbols graphically depict the problem-solving logic within a program.  Pseudocode  Use English-language statements that describe the processing steps.

Program Flowchart and Pseudocode

Program Flowchart and Pseudocode cont.

Develop the New System  Hierarchy Chart or Structure Chart  Shows the relationships among parts of a program.  Each program part is called a module.

Structure Chart

Develop the New System  Class diagrams are expressed in the Unified Modeling Language, or UML.

Sample Input Screen (Not User Friendly)

Sample Input Screen (User- Friendly)

Develop the New System  Graphical User Interface (GUI)  Presents information in an easy-to-use point-and-click fashion.  A programmer must be able to understand the steps in the design if modifications are required.  The person modifying the program may not be the one who wrote it originally.  The program logic must be clear and easy to follow.

Develop the New System  Write the Program.  Procedure-oriented languages  Focus on the specific steps in the problem-solving process.  Fourth-generation languages (4GLs) has become common.  Nonprocedural languages defines what needs to be done, not how.  Packages contain programming statements that can be used alone or in combination (macros and programs) to accomplish a task more efficiently.

Develop the New System  Event-driven program  Designed to respond to actions that occur when the program is executing.  The actions can be initiated by the computer or by a user.  Object-oriented languages  Deal with classes and objects, which are instances of those classes.  Java and C++  CASE tools include basic tutorials and online help systems designed to help users, analyst, designers, and programmers use the applications and tools effectively.

Develop the New System  Test and Debug the Program  Check for errors (bugs) and test with sample data to see if actual results match expected results.  Syntax errors  The programmer does not follow the language rules.  Logic error  Occurs when a step in the program logic is incorrect.  Every possible condition should be tested if feasible.  Needs to be designed to handle invalid input data.

Develop the New System  Unit Testing  Programs, modules, or classes that make up a system should first be tested individually.  System Testing, or Integration  Programs, modules, or classes should be tested together as a system.

Develop the New System  Complete the Program Documentation  Documentation occurs throughout the program development cycle.  Technical reference needs to be created.  User guides need to be created.  Good documentation cannot be overemphasized in its importance.

Develop the New System  Implement the New System  Users are trained, and operating procedures are defined.  System documentation is reviewed, revised as necessary, and prepared in its final form.  New systems may be run concurrently with the existing (old) systems; the new system may completely replace the old system; or the new system may be phased in gradually.

Develop the New System  Evaluate the New System  Is it meeting the required objectives?  Parts of the system may have to be modified.

Structured Programming  Structured programming  A technique that has proven to be very effective in solving problems as well as in modifying solutions.  Control structures  The ability to express a problem solution using only three basic patterns of logic.  A paper by C. Bohm and B. Jacopini, in 1965, is proof that the three structures are sufficient for programming.

Structured Programming  Basic Control Structures  SIMPLE SEQUENCE Control Structure  Execute instructions in a step-by-step, sequential manner.

Structured Programming  IFTHENELSE Control Structure  The computer's ability to make a decision.

Structured Programming  DOWHILE Control Structure  The computer's ability to repeat a series of instructions.  A series of repeated instructions is a loop.

Structured Programming  Infinite Loop - there is no way out.  Every loop must include a statement that defines how many times to execute the loop steps or under what condition to continue or to stop the looping process.

Chapter 2 SIMPLE SEQUENCE Control Structure

Introduction  Algorithm  A step-by-step procedure to solve a problem.  Requirements:  Use operations from only a given set of basic operations.  Produce the problem solution, or answer, in a finite number of such operations.

Introduction  Program Flowchart  Rectangles represent the process symbol.  Ellipse symbols are called terminal interrupt symbols.  All symbols are connected by flowlines.  Arrowheads show the direction of the flow.

Wake-Up Algorithm

Introduction  Information Processing  Another name for paperwork.  A series of planned actions and operations upon data to achieve a desired result.  Information-processing system elements:  The source data, or input, entering the system.  The orderly, planned processing within the system.  The end result, or output, from the system.

Data Hierarchy  Data Hierarchy  FILE  A collection of related data or facts.  RECORD  A collection of data, about a single entity in the file.  FIELD  Any single piece of data, about an entity (record) in a file.  CHARACTER  A letter (A-Z, a-z), number (0-9), or special character (. or ? or %, and so on).

Data Hierarchy

Sales Application Example  The sales operations of a large department store.  A system flowchart is often created to show more general information about the application.

Sales Application Example  The leftmost symbol is the general input/output (I/O) symbol, the parallelogram.  The rectangular symbol is a general-purpose symbol indicating, collectively, all processing steps within the sales program.  Represents an action or series of actions performed with computer help.  Flowcharts aid in problem analysis and solution planning.

Sales Application Example  The American National Standards Institute (ANSI) coordinated the development of a standard set of flowcharting symbols and associated meanings.  A system flowchart shows the data, flow of work, and workstations within an information-processing system.

Sales Application Example  Sales Application Program Flowchart  In the program flowchart, the detailed steps needed to process the data about one person's sales must be specified.  To major actions with any problem-solving task:  Define the problem to be solved.  Develop a solution algorithm—steps to be taken to solve the problem.

Sales Problem (Problem Flowchart)

Sales Application Example  Variables  Data items whose values may change, or vary, during processing.  Defined Value  When a variable is used in conjunction with a READ statement, we can assume that the value of the variable is now known to the computer.  Data Independence  The program will perform the required processing steps on any set of input data.

Sales Application Example  Memory Diagram:  Left is a list of all the variable names referenced.  Right represents the actual values.

Sales Application Example  Assignment Statement  Only a single variable name may appear to the left of the assignment symbol, which in our example is =.  Only a single variable name, constant, or expression may appear to the right of the =.  Everything to the right of the = must be known (defined) to the computer.  Constant  A value that never changes.

Sales Problem—Memory Diagram 2

Sales Problem—Memory Diagram 3

Sales Problem—Memory Diagram 4

Sales Application Example  Choose descriptive variable names.  Descriptive variable names make the algorithm much more self-documenting and easier to read.

Design Verification  The solution algorithm should be verified.  Prevent errors from occurring.  Detect and eliminate errors as soon as possible.  A program can be written correctly, so that it executes properly the first time it is run.  Careful, early verification of the program design, or solution algorithm, is an essential step in achieving this objective.