Top-Down Design & JSP Skill Area Part D

Slides:



Advertisements
Similar presentations
Modular Design Using Subroutines (functions later)
Advertisements

Programming Logic and Design Fourth Edition, Introductory
Systems Analysis and Design 8th Edition
© Copyright 2011 John Wiley & Sons, Inc.
Structured Programming structured programming: A technique for organizing and coding computer programs in which a hierarchy of modules is used, each having.
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
Chapter 2: Developing a Program Extended and Concise Prelude to Programming Concepts and Design Copyright © 2003 Scott/Jones, Inc.. All rights reserved.
Programming Fundamentals (750113) Ch1. Problem Solving
1-1 © Prentice Hall, 2007 Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, C++ Version, Fourth Edition.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Data Structures and Programming.  John Edgar2.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
COMP An Introduction to Computer Programming : University of the West Indies COMP6015 An Introduction to Computer Programming Lecture 02.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Simple Program Design Third Edition A Step-by-Step Approach
Jackson Structured Diagrams
Top-Down Design and Modular Development
Program Design CMSC 201. Motivation We’ve talked a lot about certain ‘good habits’ we’d like you guys to get in while writing code. There are two main.
The Program Development Cycle
1-1 © Prentice Hall, 2007 Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
Programming Concepts Chapter 3.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Flowcharts.
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.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Top-Down Design and Modular Development. The process of developing methods for objects is mostly a process of developing algorithms; each method is an.
Systems Analysis & Design 7 th Edition Chapter 5.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
Design & Analysis of Algorithms Lecture 1 Introduction.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
Introduction to OOP CPS235: Introduction.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Chapter 2 Principles of Programming and Software Engineering.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
 Problem Analysis  Coding  Debugging  Testing.
Principles of Programming & Software Engineering
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Algorithms and Problem Solving
Visit for more Learning Resources
Coupling and Cohesion Rajni Bhalla.
CMSC201 Computer Science I for Majors Lecture 15 – Program Design
System Design and Modeling
Software Engineering (LECT 1)
CMSC201 Computer Science I for Majors Lecture 15 – Program Design
Principles of Programming and Software Engineering
CMSC201 Computer Science I for Majors Lecture 11 – Program Design
Starting Out with Programming Logic & Design
Problem Solving Techniques
Chapter 4 void Functions
Programming Fundamentals (750113) Ch1. Problem Solving
Need for the subject.
Problem Solving: Structure Charts
Chapter 7 Writing the Programs Shari L. Pfleeger Joann M. Atlee 4th Edition.
Problem Solving Skill Area 305.1
Programming Fundamentals (750113) Ch1. Problem Solving
Starting Out with Programming Logic & Design
Programming Fundamentals (750113) Ch1. Problem Solving
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer Low level programming language: A programming.
Unit 1: Principles of Computer Science
Chapter 5.
Basic Concepts of Algorithm
CMSC201 Computer Science I for Majors Lecture 12 – Program Design
Presentation transcript:

Top-Down Design & JSP Skill Area Part D Materials Prepared by Dhimas Ruswanto, BMm

Lecture Overview Top-Down Design Modular Development JSP Program Documentation

Top-down design

Big Problems It is easier to solve small problems than it is to solve big ones It’s hard to solve big problems Computer programmers use a divide and conquer approach to problem solving: a problem is broken into parts those parts are solved individually the smaller solutions are assembled into a big solution These techniques are known as top-down design and modular development.

Top-down Design Top-down design is the process of designing a solution to a problem by systematically breaking a problem into smaller, more manageable parts.

Top-down Design First, start with a clear statement of the problem or concept – a single big idea.

Top-down Design Next, break it down into several parts.

Top-down Design Next, break it down into several parts. If any of those parts can be further broken down, then the process continues…

Top-down Design Next, break it down into several parts. If any of those parts can be further broken down, then the process continues… …and so on

Top-down Design The final design might look something like this organizational chart, showing the overall structure of separate units that form a single complex entity.

Top-down Design An organizational chart is like an upside down tree, with nodes representing each process.

Top-down Design An organizational chart is like an upside down tree, with nodes representing each process. The leaf nodes are those at the end of each branch of the tree.

Top-down Design The leaf nodes represent modules that need to be developed and then recombined to create the overall solution to the original problem. Top-down design leads to modular development.

Modular Development Modular development is the process of developing software modules individually…

Modular Development Modular development is the process of developing software modules individually… …then combining the modules to form a solution to an overall problem.

Modular Development Advantages Modular development of computer software: makes a large project more manageable is faster for large projects leads to a higher quality product makes it easier to find and correct errors increases the reusability of solutions

Modular Development Advantages … makes a large project more manageable. Smaller and less complex tasks are easier to understand than larger ones and are less demanding of resources.

Modular Development Advantages … is faster for large projects. Different people can work on different modules, and then put their work together. This means that different modules can be developed at the same time, which speeds up the overall project.

Modular Development Advantages …leads to a higher quality product. Programmers with knowledge and skills in a specific area, such as graphics, accounting, or data communications, can be assigned to the parts of the project that require those skills.

Modular Development Advantages …makes it easier to find and correct errors. Often, the hardest part of correcting an error in computer software is finding out exactly what is causing the error. Modular development makes it easier to isolate the part of the software that is causing trouble.

Modular Development Advantages … increases the reusability of solutions. Solutions to smaller problems are more likely to be useful elsewhere than solutions to bigger problems. They are more likely to be reusable code.

Jackson Structured Programming

Jackson Structure Diagram Another Top-down design leads is Jackson Structure Diagram The Jackson Structure Diagram is a notation used in JSP (Jackson Structured Programming),

Jackson Structured Programming JSP was developed in the 1970’s by Michael Jackson. A JSP is used to explain the inner workings of a program. There are three types of “box” notations used to represent the workings of a program:

JSP Sequence

JSP Sequence (Examples)

JSP Selection

JSP Selection (Examples)

JSP Selection (Examples)

JSP Iteration

JSP Iteration (Examples)

Program Documentation

Program Documentation Why is program documentation important? To describe the design of you program. To tell other programmers what the program does and how it works Can help programmer who is making the modifications understand another programmer’s code

Essential Elements of Program Documentation For an individual module: Who has written the module When the module was written or modified Why the module was written or modified How the module interacts with other modules What special algorithms were used Acknowledge outside sources for ideas and algorithms

Essential Elements of Program Documentation For data structures: What data structure is used Why a particular structure was used What data is contained in the structure How the data structure is implemented

SUMMARY Top-down design is the process of designing a solution to a problem by systematically breaking a problem into smaller, more manageable parts. Modular development is the process of developing software modules individually then combining the modules to form a solution to an overall problem. A JSP is used to explain the inner workings of a program. Why is program documentation important? To describe the design of you program. To tell other programmers what the program does and how it works Can help programmer who is making the modifications understand another programmer’s code