Conventional design Identifies functions and data structures as separate entities Identifies functions and data structures as separate entities Then Defines.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

System Development Life Cycle (SDLC)
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Chapter 1 - An Introduction to Computers and Problem Solving
Welcome to CMPE003 Personal Computer Concepts: Hardware and Software Winter 2003 UC Santa Cruz Instructor: Guy Cox.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
System Design and Analysis
CIS105 Chapter 1 Theory Review. Page 2 Hardware and Software are the two major components o any computer system Hardware is the set of physical devices.
Computers: Tools for an Information Age
Program Flow Charting How to tackle the beginning stage a program design.
Program Flow Charting How to tackle the beginning stage a program design.
Computers: Tools for an Information Age
Program Development and Programming Languages
Programming Fundamentals (750113) Ch1. Problem Solving
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.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
PRE-PROGRAMMING PHASE
Welcome to CMPE003 Personal Computer Concepts: Hardware and Software Winter 2003 UC Santa Cruz Instructor: Guy Cox.
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.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Chapter 22 Systems Design, Implementation, and Operation Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 22-1.
Introduction to Systems Analysis and Design Trisha Cummings.
Systems Analysis and Design: The Big Picture
Programming Languages: Telling the Computers What to Do Chapter 16.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
Structured COBOL Programming, Stern & Stern, 9th edition
1 Shawlands Academy Higher Computing Software Development Unit.
CC111 Lec#5: Program Development 1 Program Development and Programming Languages Lecture 4 Reference :Understanding Computers Chapter 13.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
PROGRAMMING LANGUAGES Prof. Lani Cantonjos. PROGRAM - set of step-by-step instructions that tells or directs the computer what to do. PROGRAMMING LANGUAGE.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
CMPE13Cyrus Bazeghi 1 Programming Languages Telling computers what to do.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Fundamentals of Information Systems, Third Edition1 Systems Design Answers the question “How will the information system do what it must do to solve a.
1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.
© 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.
Copyright © 1998 Prentice Hall Systems Analysis and Design Chapter 15 The Big Picture.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
Copyright © Prentice Hall Programming and Languages Chapter 14 Telling the Computer What to Do.
ALGORITHM List of instructions for carrying out some process step by step. A sequence of instructions which has a clear meaning and can performed with.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
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.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Program Development Cycle
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
GCSE ICT 3 rd Edition The system life cycle 18 The system life cycle is a series of stages that are worked through during the development of a new information.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Information Systems Development
CSCI-235 Micro-Computer Applications
Information Systems Development
Unit# 9: Computer Program Development
Introduction to Systems Analysis and Design
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Logic and Design Eighth Edition
Presentation transcript:

Conventional design Identifies functions and data structures as separate entities Identifies functions and data structures as separate entities Then Defines those functions in more and more detail down to the level of algorithms Then Defines those functions in more and more detail down to the level of algorithms And defines data structures like relational entities And defines data structures like relational entities

Object-Oriented Design – another paradigm Object-oriented design is based on objects and their attributes. Object-oriented design is based on objects and their attributes.

Object Classes An object is a self-contained unit that contains both data and related facts and functions. An object is a self-contained unit that contains both data and related facts and functions. Objects are arranged hierarchically in classes and subclasses based on their dominant characteristics. Objects are arranged hierarchically in classes and subclasses based on their dominant characteristics. Attributes and Methods Facts related to an object are called attributes. Facts related to an object are called attributes. Methods are the instructions that tell the data what to do. Methods are the instructions that tell the data what to do.

Object Inheritance An object in a subclass automatically possesses all the characteristics of the class from which it is derived. An object in a subclass automatically possesses all the characteristics of the class from which it is derived. A cat is a mammal so it has the properties of mammals A cat is a mammal so it has the properties of mammals  We do not need to say that a cat has hair because mammals have hair A mammal is an animal and has the properties of animal A mammal is an animal and has the properties of animal  We do not need to say that a cat can breed because:  a cat is a mammal and a mammal is an animal  So a cat is an animal  And all animals can breed so a cat can breed  (unless it’s a liger, of course)

Step 4. Systems Development Up until this point, we have not used any programmers at all. Up until this point, we have not used any programmers at all. Programmers and database specialist are given the specifications and models produced in the earlier phases and must build the system Programmers and database specialist are given the specifications and models produced in the earlier phases and must build the system This can be done using programming languages (3GLs) like C, Cobol, PL1, Java, etc This can be done using programming languages (3GLs) like C, Cobol, PL1, Java, etc or using “drag and drop” development interfaces (4GLs) like Access, Oracle etc. or using “drag and drop” development interfaces (4GLs) like Access, Oracle etc.

System development includes: Scheduling Scheduling Programming Programming Testing Testing

Scheduling Scheduling deadlines and milestones is another task of a systems project manager. Scheduling deadlines and milestones is another task of a systems project manager. Scheduling involves determining the allocation of people and resources, monitoring schedules, and producing status reports. Scheduling involves determining the allocation of people and resources, monitoring schedules, and producing status reports.

Programming At this point in systems development, programmers are given program design specifications and they begin to write code.

The Programming Process The steps involved in developing a program include: The steps involved in developing a program include: Define the problem Define the problem Plan the solution Plan the solution Code the program Code the program Test the program Test the program Document the program Document the program

Define the Problem The task of defining the problem consists of identifying what it is you know and what it is you want to obtain. The task of defining the problem consists of identifying what it is you know and what it is you want to obtain.

Plan the Solution Planning the solution may involve drawing a flowchart or writing pseudocode, or both. Planning the solution may involve drawing a flowchart or writing pseudocode, or both.

Flowcharts A flowchart is a pictorial representation of a step-by-step solution to a problem. A flowchart is a pictorial representation of a step-by-step solution to a problem.

Flowchart Basics A flowchart consists of arrows to represent direction the program takes and boxes and symbols to represent actions. A flowchart consists of arrows to represent direction the program takes and boxes and symbols to represent actions.

Flowchart Symbols ProcessStart/Stop Input/Output Decision Connector Flow direction

Flowchart Symbols Show message Start Deposit Get amount Valid ? Add balance & amt No Show new balance 22 Yes

Pseudocode Pseudocode is an English-like nonstandard language. Pseudocode is an English-like nonstandard language. It allows programmers to focus on the program logic without being concerned about the particulars of a formal programming language. It allows programmers to focus on the program logic without being concerned about the particulars of a formal programming language.

Code the Program Coding a program means to translate the logic from a flowchart of pseudocode into a programming language. Coding a program means to translate the logic from a flowchart of pseudocode into a programming language. The rules of computer languages are called syntax. These rules must be followed precisely. The rules of computer languages are called syntax. These rules must be followed precisely.

Test the Program as we go During coding, tests must be performed to make sure the steps are correct and render the desired results. During coding, tests must be performed to make sure the steps are correct and render the desired results. Testing includes: Testing includes:  Desk-checking  Translating  Debugging

Desk-checking This form of testing involves mentally checking the logic of the program to ensure that it is error-free and workable. This form of testing involves mentally checking the logic of the program to ensure that it is error-free and workable.

Translating Programs are commonly translated by a compiler which checks for syntax errors and converts the program into a form the computer understands. Programs are commonly translated by a compiler which checks for syntax errors and converts the program into a form the computer understands.

Debugging Debugging means to detect, locate, and correct mistakes in the program. Debugging means to detect, locate, and correct mistakes in the program. To find errors, you must test every part of the program under various conditions. To find errors, you must test every part of the program under various conditions.

Document the Program A programmer must document the various stages the program has gone through as well as other specific facts about the program. A programmer must document the various stages the program has gone through as well as other specific facts about the program.

Validation and Testing At every step in analysis, design and development, we MUST check with the client and users that we understand exactly what they want.This can be done using: At every step in analysis, design and development, we MUST check with the client and users that we understand exactly what they want.This can be done using:  prototypes,  structured walk-throughs,  design models Once we have a working prototype, we carry out FORMAL testing Once we have a working prototype, we carry out FORMAL testing

Testing Testing cannot be an ad hoc process. We must make a test plan, identifying all the components we intend to test and how we intend to test them Testing cannot be an ad hoc process. We must make a test plan, identifying all the components we intend to test and how we intend to test them Ideally, the system is tested with large quantities of typical data. This takes time to generate. Ideally, the system is tested with large quantities of typical data. This takes time to generate. Test case scenarios are then carried out and the results recorded. If the results do not agree with the expected results, the process should be repeated. If the results still do not agree, we have detected a problem in the system - back to coding Test case scenarios are then carried out and the results recorded. If the results do not agree with the expected results, the process should be repeated. If the results still do not agree, we have detected a problem in the system - back to coding If all the functional testing is OK we move on to user testing to see if users will do unexpected things with the system that will cause errors If all the functional testing is OK we move on to user testing to see if users will do unexpected things with the system that will cause errors

Step 5. Implementation For the implementation phase to be successful, the following activities are required: For the implementation phase to be successful, the following activities are required: Training Training Equipment conversion Equipment conversion File conversion File conversion System conversion System conversion AuditingAuditing Evaluation Evaluation Maintenance Maintenance

Training A system will only be as good as the people who use it. Therefore, training the users is very important. A system will only be as good as the people who use it. Therefore, training the users is very important.

Equipment Conversion Implementing a system requires that consideration has been given to how best to convert to the new system. Implementing a system requires that consideration has been given to how best to convert to the new system. Issues of availability of space, accessibility, and cleanliness of the work area cannot be overlooked. Issues of availability of space, accessibility, and cleanliness of the work area cannot be overlooked.

File Conversion Converting old file structures to that needed by the new system can take a long time. Converting old file structures to that needed by the new system can take a long time. Care must be taken to not corrupt old files, lose files, or disrupt normal operations of the client organization during this conversion. Care must be taken to not corrupt old files, lose files, or disrupt normal operations of the client organization during this conversion. System Conversion A systems analyst will need to determine the timing and staging of the conversion from the from the old system to the new one. A systems analyst will need to determine the timing and staging of the conversion from the from the old system to the new one.

Auditing To guard against deliberate or unintentional violations in security, the systems analyst designs an audit trail. To guard against deliberate or unintentional violations in security, the systems analyst designs an audit trail. Evaluation Evaluation is needed to determine if the system is: Evaluation is needed to determine if the system is:  working  meeting the organizational requirements  meeting the original budget limitations

Maintenance Maintenance is an ongoing activity and includes monitoring and making revisions throughout the life cycle of the system. Maintenance is an ongoing activity and includes monitoring and making revisions throughout the life cycle of the system.

There is a group project due on Monday 7 Oct. WEEK 10 There is a group project due on Monday 7 Oct. WEEK 10 Unfortunately this is a public holiday so there will be no tutorial on that Monday. Unfortunately this is a public holiday so there will be no tutorial on that Monday. The group project willbe submitted to GENE at her office on Tuesday 8 Oct. instead. The group project willbe submitted to GENE at her office on Tuesday 8 Oct. instead.