Chapter Fifteen Systems Design and Development.  1999 Addison Wesley Longman15.2 Chapter Outline How People Make Programs The Language of Computers How.

Slides:



Advertisements
Similar presentations
Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
Advertisements

Computers Are Your Future
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2 - Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 2 - Problem Solving
Systems Design and Development 12.  2001 Prentice Hall12.2 Chapter Outline How People Make Programs Programming Languages and Methodologies Programs.
1 Senn, Information Technology, 3 rd Edition © 2004 Pearson Prentice Hall James A. Senn’s Information Technology, 3 rd Edition Chapter 11 Creating Enterprise.
Computers: Tools for an Information Age
Program Development and Programming Languages
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
Objectives Overview Define system development and list the system development phases Identify the guidelines for system development Discuss the importance.
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.
1414 CHAPTER PROGRAMMING AND LANGUAGES. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved Competencies Describe the six steps of programming.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
PRE-PROGRAMMING PHASE
Welcome to CMPE003 Personal Computer Concepts: Hardware and Software Winter 2003 UC Santa Cruz Instructor: Guy Cox.
Approaches to System Development Chapter 3. Methodologies, Models, Tools and Techniques A system development methodology –provides guidelines to follow.
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.
Systems Analysis and Design: The Big Picture
Program development & programming languages Chapter 13.
 2002 Prentice Hall Chapter 13 Systems Design & Development.
Succeeding with Technology Systems Development An Overview of Systems Development Tools and Techniques for Systems Development Systems Investigation Systems.
Chapter 2: Approaches to System Development
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
LESSON 8 Booklet Sections: 12 & 13 Systems Analysis.
Managing the development and purchase of information systems (Part 1)
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.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
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.
 2002 Prentice Hall Chapter 13 Systems Design & Development.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Programming and Languages
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Chapter 12 Information Systems and Program Development Discovering Computers Technology in a World of Computers, Mobile Devices, and the Internet.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 2 - VB 2005 by Schneider- modified by S. Jane '081 Chapter 2 - Problem Solving 2.1 Program Development Cycle 2.2 Programming Tools.
Chapter 11  2000 by Prentice Hall System Analysis and Design: Methodologies and Tools Uma Gupta Introduction to Information Systems.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
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.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Software Design and Development Development Methodoligies Computing Science.
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.
Systems Analysis and Design
Developing Applications
Chapter 1 Introduction(1.1)
The Programming Process
Programming Logic and Design Eighth Edition
Presentation transcript:

Chapter Fifteen Systems Design and Development

 1999 Addison Wesley Longman15.2 Chapter Outline How People Make Programs The Language of Computers How People Make Systems The State of Software Planning for Information Technologies

 1999 Addison Wesley Longman15.3 How People Make Programs Problem solving process involves: –Understanding the problem –Devising a plan for solving the problem –Carry out the plan –Evaluating the solution

 1999 Addison Wesley Longman15.4 How People Make Programs Programs are solutions to problems. Programming is a specialized form of problem solving.

 1999 Addison Wesley Longman15.5 Four-Step Process to Programming Define the problem Devise, refine, and test the algorithm Write the program Test and debug the program

 1999 Addison Wesley Longman15.6 From Idea to Algorithm Stepwise refinement: complex problems will need to be broken into smaller problems. Control structures: logical structures that control the order in which the instructions the computer is to follow. Testing the algorithm: check the logic.

 1999 Addison Wesley Longman15.7 Stepwise Refinement A complex problem like writing a computer game needs to be broken into three parts: a beginning, a middle, and an end. Further refinement adds more detail to each part. For example: Begin the game. Repeat player’s turn until the player guesses right answer or seven turns are completed. End the game.

 1999 Addison Wesley Longman15.8 Control Structures Sequence: instructions are followed in the order given. Selection: instructions are based on logical decisions. Repetition: instructions are repeated until some condition is satisfied. 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 repeat turn until number is guessed or counter = 7 input guess from user add 1 to counter end repeat

 1999 Addison Wesley Longman15.9 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.

 1999 Addison Wesley Longman15.10 From Algorithm to Program The program will have three parts: 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.

 1999 Addison Wesley Longman15.11 Into the Computer Next, the program needs to be entered into the computer using a text editor. Once typed into a text editor, it can be saved to disk. To run or execute the program, it must be translated into machine language by means of an interpreter or compiler.

 1999 Addison Wesley Longman15.12 Interpreters and Compilers Interpreter: each instruction is translated individually. Compiler: the entire program is translated into machine language.

 1999 Addison Wesley Longman15.13 The Languages of Computers Every computer has a native language - a machine language. Machine language and assembly language: –Difficult to learn and use –Examples include add, sub, jump

 1999 Addison Wesley Longman15.14 The Languages of Computers High-level languages: –English-like vocabulary –Transportable –Examples include C++, LOGO, and BASIC

 1999 Addison Wesley Longman15.15 Multilingual Machines 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. LISP (List Processing): developed to process non- numeric data like characters, words, and other symbols. BASIC (Beginners All-purpose Symbolic Instruction Code): an easy-to-learn language for beginners.

 1999 Addison Wesley Longman15.16 Multilingual Machines Pascal: designed to encourage structured programming. C: developed as a tool for programming operating systems such as UNIX.

 1999 Addison Wesley Longman15.17 Multilingual Machines Ada: is 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.

 1999 Addison Wesley Longman15.18 Programming Methodologies Structured Programming: a technique to make the programming process easier and more productive by writing many small programs.

 1999 Addison Wesley Longman15.19 Programming Methodologies A program is well structured if it is: –Made up of logically cohesive modules –Arranged in a hierarchy –Straightforward and readable

 1999 Addison Wesley Longman15.20 Programming Methodologies Object-oriented Programming: the program is a collection of interacting objects that contain both data and instructions.

 1999 Addison Wesley Longman15.21 Programming Methodologies Visual Programming: programmers write programs by drawing pictures and connecting objects on the screen.

 1999 Addison Wesley Longman15.22 Languages for Users Languages designed to meet the needs of most computer users include: Macro or scripting languages: used in automating a repetitive task.

 1999 Addison Wesley Longman15.23 Languages for Users Fourth-generation languages (4GLs): easier to use and more like natural language. Characteristics include: - English-like phrases - Non-procedural - Increases productivity Querying a database with a query language is one example.

 1999 Addison Wesley Longman15.24 Languages for Users Component Software: users construct small custom applications from software components. –Plug-ins for Netscape Navigator and Internet Explorer –JavaScript

 1999 Addison Wesley Longman15.25 The Future of Programming Natural languages and artificial intelligence will provide programming tools that understand the user’s own language. The distinction between user and programmer will begin to fade. Programs will program themselves based on simple descriptions provided by the user.

 1999 Addison Wesley Longman15.26 Systems Development Systems development is the process of investigating a situation, designing a system solution to improve the situation, and acquiring the human, financial, and technological resources to implement the solution.

 1999 Addison Wesley Longman15.27 Systems Development Systems analyst - a computer professional primarily responsible for developing and managing a system as it progresses through these phases. End user development - a process by which end-users develop a system without the direct involvement of a professional systems analyst

 1999 Addison Wesley Longman15.28 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?”

 1999 Addison Wesley Longman15.29 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 current system.

 1999 Addison Wesley Longman15.30 Investigation Systems investigation involves defining the problem - identifying the information needs of the organization, examining the current system, needs of organization, and studying feasibility of changing systems. This phase produces a feasibility study.

 1999 Addison Wesley Longman15.31 Analysis The systems analyst gathers documents, interviews users, observes the system in action, and generally gathers and analyses data to understand the current system.

 1999 Addison Wesley Longman15.32 Design In the design phase, the systems analyst develops the system specifications that describe how exactly the system requirements will be met.

 1999 Addison Wesley Longman15.33 Design The systems analyst considers: –user interface design. –database design. –process design.

 1999 Addison Wesley Longman15.34 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.

 1999 Addison Wesley Longman15.35 Development Development includes a complex mix of scheduling; hardware, software, and communications purchasing; documentation; and programming.

 1999 Addison Wesley Longman15.36 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.

 1999 Addison Wesley Longman15.37 Maintenance The maintenance phase involves monitoring, evaluating, repairing, and enhancing the system throughout the life cycle.

 1999 Addison Wesley Longman15.38 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.

 1999 Addison Wesley Longman15.39 Systems Development Tools and Techniques Data Collection Techniques Document Review Interview Questionnaire Observation Sampling

 1999 Addison Wesley Longman15.40 Systems Development Tools and Techniques Modeling Tools System flowchart Data flow diagram (DFD) Data dictionary Decision table

 1999 Addison Wesley Longman15.41 Systems Development Tools and Techniques Computer-Aided Systems Engineering (CASE). Most include: Charting and diagramming tools Centralized data dictionary and system repository User interface generator Code generators

 1999 Addison Wesley Longman15.42 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 judgement.

 1999 Addison Wesley Longman15.43 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

 1999 Addison Wesley Longman15.44 Planning for Information Technologies Managers must plan how information technology will be used within the context of the overall missions and goals of their organization.

 1999 Addison Wesley Longman15.45 Planning As top managers consider new uses of information technology, they work in four phases: –Aligning the IT plan with the overall business plan of the organization –Describing the firm’s IT infrastructure –Allocating resources to specific information systems and projects –Planning specific information system projects

 1999 Addison Wesley Longman15.46 Managerial and Ethical Issues Management issues Managers use conceptual frameworks as guidelines for coping with the uncertainties of information systems. Ethical issues Those involved in the development of a system have a professional duty to set realistic expectations by being honest in their representations about its capabilities.

 1999 Addison Wesley Longman15.47 After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer system Explain why there are many different programming languages and give examples of several

 1999 Addison Wesley Longman15.48 After reading this chapter, you should be able to: Explain why computer languages are built into applications, operating systems, and utilities Explain the motivation to develop new information systems Outline the steps in the life cycle of an information system

 1999 Addison Wesley Longman15.49 After reading this chapter, you should be able to: Describe several system development approaches, including prototyping, end- user development, and outsourcing Describe several systems analysis tools and techniques Describe the problems faced by software engineers in trying to produce reliable large systems

 1999 Addison Wesley Longman15.50 After reading this chapter, you should be able to: Outline the major phases of planning for information technology in a business organization Describe several ethical issues related to developing an information system