Systems Design and Development 12.  2001 Prentice Hall12.2 Chapter Outline How People Make Programs Programming Languages and Methodologies Programs.

Slides:



Advertisements
Similar presentations
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Advertisements

Computers Are Your Future
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Programming and Languages Chapter 13.
Chapter 13 Programming Languages and Program Development
Programming Creating programs that run on your PC
Computers Are Your Future © 2006 Prentice Hall, Inc.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Computers: Tools for an Information Age
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
S/W Programming & Languages Chapter 10 Where Your Software Comes From © The McGraw-Hill Companies, Inc., 2000.
Objectives Overview Define system development and list the system development phases Identify the guidelines for system development Discuss the importance.
Chapter 1 Program Design
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
UNIT 21 Software Engineering.
Your Interactive Guide to the Digital World Discovering Computers 2012.
CS102 Introduction to Computer Programming
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Chapter 13 Programming Languages and Program Development 1.
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Program development & programming languages Chapter 13.
 2002 Prentice Hall Chapter 13 Systems Design & Development.
Chapter 2: Approaches to System Development
Computers Are Your Future Eleventh Edition
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.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming (CS 102) C++ Programminhg.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Slide 1 Computer Confluence 7/e © 2006 Prentice-Hall, Inc.
Slide 1 © 2008 Prentice-Hall, Inc.. Systems Design and Development Slide 2 © 2008 Prentice-Hall, Inc.
Slide 1 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Power Point Lectures to accompany Tomorrow’s Technology and You, 9e.
1 UNIT 20 Software Engineering Lecturer: Ghadah Aldehim.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
CHAPTER FOUR COMPUTER SOFTWARE.
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
 2002 Prentice Hall Chapter 13 Systems Design & Development.
Chapter 15 Program Development and Programming Languages.
Chapter Fifteen Systems Design and Development.  1999 Addison Wesley Longman15.2 Chapter Outline How People Make Programs The Language of Computers How.
1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Copyright © Prentice Hall Programming and Languages Chapter 14 Telling the Computer What to Do.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Programming and Languages
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Programming Languages © 2005 Prentice Hall, Inc. CXC IT Unit 2: Intro. to Programming.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
CHAPTER ELEVEN Information System Development and Programming Languages Copyright © Cengage Learning. All rights reserved.
CSCI-235 Micro-Computer Applications
Introduction of Programming Languages
Developing Applications
Chapter 12 Programming Concepts and Languages.
The Programming Process
and Program Development
Presentation transcript:

Systems Design and Development 12

 2001 Prentice Hall12.2 Chapter Outline How People Make Programs Programming Languages and Methodologies Programs in Perspective: Systems Analysis and the System Life Cycle The Science of Computing The State of Software “If one character, one pause, of the incantation is not strictly in proper form, the magic doesn’t work.” Frederick Brooks

 2001 Prentice Hall12.3 How People Make Programs Programming is a specialized form of the age-old process of problem solving

 2001 Prentice Hall12.4 How People Make Programs –Understanding the problem –Devising a plan for solving the problem –Carrying out the plan –Evaluating the solution Problem solving involves:

 2001 Prentice Hall12.5 How People Make Programs –Defining the problem –Devising, refining and testing the algorithm –Writing the program –Testing and debugging the program Programming involves:

 2001 Prentice Hall12.6 From Idea to Algorithm Stepwise Refinement: breaking a problem into small sections Control Structures: controlling the order in which instructions are to be followed Testing the Algorithm: checking the logic

 2001 Prentice Hall12.7 Stepwise Refinement A complex problem must be broken into three parts: beginning- middle - end For example: begin the game repeat player’s turn until the player guesses right answer or seven turns are completed end the game Further refinement can be added for more detail

 2001 Prentice Hall12.8 Control Structures Sequence: instructions are followed in the order given Display instructions pick a number between 1 and 100 set counter to 0 if guess < number, then say guess is too small; else say guess is too big Selection: instructions are based on logical decisions

 2001 Prentice Hall12.9 Control Structures Repetition: instructions are repeated until some condition is satisfied. repeat turn until number is guessed or counter = 7 input guess from user add 1 to counter end repeat

 2001 Prentice Hall12.10 From Algorithm to Program If the logic of the algorithm tests accurately, it can then be written into a program. Writing a program is called coding.

 2001 Prentice Hall12.11 From Algorithm to Program –Program heading contains the name of the program and data files –Declarations and definitions of variables and other programmer-defined items –Body contains the instructions the computer will follow The program will have three parts:

 2001 Prentice Hall12.12 Into the Computer Entering the program into the computer using a text editor Saving it to a disk It is then translated into machine language by an interpreter or compiler Next steps include:

 2001 Prentice Hall12.13 Interpreters and Compilers Interpreter: each instruction is translated individually Compiler: the entire program is translated into machine language.

 2001 Prentice Hall12.14 Programming Languages and Methodologies Machine language is binary, thus making it hard to write, read, and debug Assembly language uses alphabetic codes and is easier to read, write, and understand Every computer has a native language - a machine language

 2001 Prentice Hall12.15 The Languages of Computers –English-like vocabulary –Allows programmers to think about the overall logic of the program –Interpreters and compilers translate high-level languages into machine language High-level Languages: “ Computer programming is an art form, like the creation of poetry or music.” Donald E. Knuth.

 2001 Prentice Hall12.16 High-Level Languages Well known high-level programming languages include: –FORTRAN (Formula Translation): the first commercial high-level language –COBOL (Common Business Oriented Language): developed for business data processing problems

 2001 Prentice Hall12.17 High Level Languages –LISP (List Processing): developed to process non-numeric data like characters, words, and other symbols –BASIC (Beginners All-purpose Symbolic Instruction Code): developed as an easy- to-learn language for beginners

 2001 Prentice Hall12.18 High-Level Languages Pascal: designed to encourage structured programming C: developed as a tool for programming operating systems such as UNIX

 2001 Prentice Hall12.19 High-Level Languages C++: a variation of C that uses object- oriented programming Java: similar to C++ but simpler to learn and use – it excels at producing Web-based applications

 2001 Prentice Hall12.20 High-Level Languages Ada: a massive language developed for the US Government PROLOG: designed for working with logical relationships between facts LOGO: is a dialect of LISP specially designed for children.

 2001 Prentice Hall12.21 Structured Programming makes programming easier and more productive by writing many small programs Structured Programming

 2001 Prentice Hall12.22 Structured Programming A program is well structured if it is: –made up of logically cohesive modules –arranged in a hierarchy –straightforward and readable

 2001 Prentice Hall12.23 Object-Oriented Programming OOP is a collection of interactive objects that contain both data and instructions

 2001 Prentice Hall12.24 Visual Programming Visual Programming allows programmers to write programs by drawing pictures and pointing to objects on the screen

 2001 Prentice Hall12.25 Languages for Users Macro or scripting languages used to automate repetitive tasks –Some macro languages require you to design each macro as if you were writing a program –Other macro makers memorize actions and automatically create the macro for you Languages designed to meet the needs of most computer users include:

 2001 Prentice Hall12.26 Languages for Users Fourth-generation languages (4GLs) are easier to use and more like natural language –They allow users to focus on what needs to be done, not on how to do it (nonprocedural) –They increase productivity because 4GLs take care of how-to details –Querying a database with a query language is one type of 4GL

 2001 Prentice Hall12.27 Component Software Component Software allows users to construct small custom applications from software components –Plug-ins for Netscape Communicator and Internet Explorer allow you customization options –They are now made available through the Internet so new features can quickly be added

 2001 Prentice Hall12.28 Programming for the Web HTML instructs Web browsers how to arrange text, graphics, and multimedia elements on Web pages JavaScript is an interpreted scripting language for enhancing HTML code Java is a full-featured object oriented language used to create Web applets

 2001 Prentice Hall12.29 Programming for the Web Perl allows you to write scripts to process text such as complex Web forms XML is a powerful markup language that overcomes many of the HTML limitations

 2001 Prentice Hall12.30 The Future of Programming? Trends: –Natural languages and artificial intelligence will provide users with programming tools that will understand the language of the user –The distinction between user and programmer will begin to fade. Users won’t need to master complicated programming languages to construct applications

 2001 Prentice Hall12.31 Systems Analysis and the Systems Life Cycle a collections of people, machines, data, and methods organized to accomplish specific functions and to solve a problem. machines methods people data Information Systems

 2001 Prentice Hall12.32 Systems Analysis and the Systems Life Cycle System Life Cycle - a sequence of steps or phases the cycle passes through between the time the system is conceived and the time it is phased out Systems analyst - a computer professional primarily responsible for developing and managing a system as it progresses through these phases

 2001 Prentice Hall12.33 The Systems Development Life Cycle The systems development life cycle is a sequence of steps followed by a project team –Investigation: “Why is there a problem?” –Analysis: “What is the problem?” –Design: “How can the problem be solved?”

 2001 Prentice Hall12.34 The Systems Development Life Cycle –Development: teams of programmers and others begin developing the various parts of the system –Implementation: the system is put to work –Maintenance: ongoing upgrades –Retirement: phasing out the system

 2001 Prentice Hall12.35 Investigation defines the problem identifies the information needs of the organization examines the current system, needs of organization, studies feasibility of changing systems (this phase produces a feasibility study)

 2001 Prentice Hall12.36 Analysis gathers documents interviews users observes the system in action generally gathers and analyzes data to understand current system

 2001 Prentice Hall12.37 Design focuses on how system requirements will be met a system flowchart is created to show relationships among programs, files, input, and output

 2001 Prentice Hall12.38 Development The development phase is a process of turning the design specifications into a real working system. The initial testing of the system is known as alpha testing and potential users do beta testing after the bugs are worked out.

 2001 Prentice Hall12.39 Development Includes a mix of: –Scheduling –Hardware –Software –Communications –Purchasing –documentation and programming

 2001 Prentice Hall12.40 Implementation This phase may involve extensive training and technical user support. Implementation includes user education and training, equipment replacement, file conversion, and careful monitoring of the new system for problems.

 2001 Prentice Hall12.41 Maintenance Involves a combination of: –Monitoring –Evaluating –Repairing –Enhancing the system throughout the life cycle

 2001 Prentice Hall12.42 Retirement At some point in the life of a system, on-going maintenance is not enough. The needs of an organization change, users’ expectations change, and there is always new technology available.

 2001 Prentice Hall12.43 The Science of Computing Computer theory applies concepts of theoretical mathematics to computational problems Algorithms are logical underpinnings of computer programs Data structures define the logical structure of data “ Telescopes are to astronomy as computers are to computer science.” Edgar Dykstra

 2001 Prentice Hall12.44 The Science of Computing Programming concepts and languages have evolved through generations Computer architecture deals with the way hardware and software work together

 2001 Prentice Hall12.45 The Science of Computing Management information systems (MIS) is part computer science, part business –MIS specialists focus on developing systems in timely, reliable, and useful information to managers in business –MIS applies theoretical concepts of computer science to real-world problems

 2001 Prentice Hall12.46 The Science of Computing Software engineering is a relatively new branch of computer science that attempts to apply engineering principles and techniques to the less- than-concrete world of computer software

 2001 Prentice Hall12.47 The State of Software The problems faced by software engineers affect all of us Two inherent problems in software development are cost and reliability

 2001 Prentice Hall12.48 Software Problems Cost: –The cost of hardware has dropped but the cost of developing software has continued to rise Reliability: –Software errors include errors of omission, syntax, logic, clerical, capacity, and judgment

 2001 Prentice Hall12.49 Software Solutions Responding to the cost and reliability issues, computer scientists are working to improve: –Programming Techniques –Programming Environments –Program Verification –Clean Room Programming –Human Management