Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 1 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Power Point Lectures to accompany Tomorrow’s Technology and You, 9e.

Similar presentations


Presentation on theme: "Slide 1 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Power Point Lectures to accompany Tomorrow’s Technology and You, 9e."— Presentation transcript:

1 Slide 1 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Power Point Lectures to accompany Tomorrow’s Technology and You, 9e

2 Slide 2 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

3 Tomorrow’s Technology and You 9/e Chapter 14 Systems Design and Development Slide 3 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

4 Tomorrow’s Technology and You 9/e Chapter 14 Objectives Describe the process of designing, programming, and debugging a computer program Explain why there are many different programming languages and give examples of several Explain why computer languages are built into applications, operating systems, and utilities Outline the steps in the life cycle of an information system and explain the purpose of program maintenance Slide 4 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

5 Tomorrow’s Technology and You 9/e Chapter 14 Objectives (cont.) Explain the relationship between computer programming and computer science Describe the problems faced by software engineers in trying to produce reliable large systems Explain why software companies provide only limited warranties for their products Slide 5 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

6 Tomorrow’s Technology and You 9/e Chapter 14 Grace Murray Hopper Sails on Software Grace Murray Hopper helped chart the course of the computer industry from its earliest days. Hopper earned a Ph.D. from Yale University in 1928 and taught math for 10 years at Vassar College before joining the U.S. Naval Reserve in 1943. The Navy assigned her to the Bureau of Ordnance Computation at Harvard University, where she worked with Howard Aiken’s Mark I, the first large- scale digital computer.  Hopper wrote programs and operating manuals for the Mark I, Mark II, and Mark III. Slide 6 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

7 Tomorrow’s Technology and You 9/e Chapter 14 Grace Murray Hopper Sails on Software After World War II, Hopper left Harvard to work on the UNIVAC I, the first general purpose commercial computer as well as other commercial computers.  She played central roles in the development of the first compiler (a type of computer language translator that makes most of today’s software possible) and COBOL, the first computer language designed for developing business software. Hopper’s greatest impact was probably the result of her tireless crusade against the “We’ve always done it that way” mind-set.  In the early days of computing, she worked to persuade businesses to embrace new technology.  In later years, she campaigned to shift the Pentagon and industry away from mainframes and toward networks of smaller computers. Slide 7 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

8 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs Programming is a specialized form of problem solving. Problem solving typically involves four steps:  Understanding the problem  This is the most important step in the problem-solving process.  Devising a plan for solving the problem  What resources are available,and how might they be put to work to solve the problem?  Carrying out the plan  This often overlaps with the previous step.  Evaluating the solution  Is the problem solved correctly?  Is this solution applicable to other problems? Slide 8 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

9 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs The programming process can also be described as another four- step process, although in practice these steps often overlap:  Defining the problem  Devising a plan for solving the problem  Writing the program  Testing and debugging the program Slide 9 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

10 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From idea to algorithm  Start with a statement of the problem: Slide 10 A schoolteacher needs a program that is a number-guessing game so students can learn to develop logical strategies and practice their arithmetic. In this game, the computer picks a number between 1 and 100 and gives the player seven turns to guess the number. After each incorrect try, the computer tells the player whether the guess is too high or too low. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

11 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From idea to algorithm (cont.)  The next refinement fills in a few details for each part: Slide 11 1.Begin Game Display instructions. Pick a number between 1 and 100. 2. Repeat Turn Until Number Is Guessed Input guess from user. Respond to guess. End repeat. 3.End Game Display end message. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

12 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From idea to algorithm (cont.)  Stepwise refinement  Initially, a problem can be divided into three parts: a beginning, a middle, and an end.  Each of these parts represents a smaller programming problem to solve. Slide 12 Begin Game Repeat Return Until Number Is Guessed End Game Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

13 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From idea to algorithm (cont.)  Control structures  Control structures—logical structures that control the order in which instructions are carried out. Three basic control structures:  Sequence: group of instructions followed in order from first to last  Selection: choosing between alternative courses of action depending on certain conditions  Repetition: allowing a group of steps to be repeated several times, usually until some condition is satisfied Slide 13 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

14 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs Slide 14 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 A sequence control structure A selection control structure A repetition control structure Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall From idea to algorithm (cont.)

15 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From idea to algorithm (cont.)  Testing the algorithm  This round of testing is designed to check the logic of the algorithm.  Test the algorithm by following the instructions using different sets of numbers. Slide 15 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

16 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From algorithm to program  A simple program  A simple program contains: – The program heading – The declarations and definition – The body  The programmer defines the words number, guess, and counter. – Each of these words represents a variable—a named portion of the computer’s memory. – Variables become part of the program’s vocabulary. – The program can examine and change variables. Slide 16 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

17 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From algorithm to program (cont.)  Into the computer  A text editor is an application used to enter and save a program.  Either a translator or a compiler is used to translate a program into machine language.  Translation software (or a translator), called an interpreter, translates a high-level program to machine language one statement at a time during execution. Slide 17 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

18 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From algorithm to program (cont.)  Into the computer (cont.)  A compiler translates an entire high-level program to machine language before executing the program.  A typical compiler is an integrated programming environment, containing: – A text editor – A compiler – A debugger to simplify the process of locating and correcting errors – A variety of other programming utilities Slide 18 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

19 Tomorrow’s Technology and You 9/e Chapter 14 How People Make Programs From algorithm to program (cont.)  Into the computer (cont.)  Syntax errors—violations of the grammar rules of a programming language – Often flagged automatically as soon as they’re typed into the editor  Logic errors—problems with the logical structure of a program – Cause differences between what the program is supposed to do and what it actually does – Not always as easy to detect Slide 19 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

20 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies Machine language and assembly language  Machine language: the native language of a computer  Instructions for the four basic arithmetic operations, for comparing pairs of numbers, and for repeating instructions, etc., are all binary.  Instructions, memory locations, numbers, and characters are all represented by strings of zeros and ones.  Assembly language: functionally equivalent to machine language but easier for people to read, write, and understand Slide 20 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

21 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies Machine language and assembly language  An assembler translates each statement of assembly language into a corresponding machine language statement. Slide 21 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

22 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies High-level languages  High-level languages fall somewhere between natural human languages and precise machine languages.  Examples: C, C++, Visual J++, Basic, FORTRAN, COBOL, Python, Pascal, LISP, ADA, PROLOG, LOGO  These languages are easier to write and debug and are transportable between machines. Slide 22 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

23 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies Structured programming  Structured programming is a technique that makes the programming process easier and more productive.  A program is well-structured if:  It is made up of logically cohesive modules  The modules are arranged in a hierarchy  It is straightforward and readable Slide 23 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

24 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies Object-oriented programming  In OOP (object-oriented programming), a program is not just a collection of step-by-step instructions or procedures, but a collection of objects.  Objects contain both data and instructions and can send and receive messages.  C++, Java, and C# are today’s most popular object-oriented languages. Slide 24 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

25 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies Object-oriented programming  With OOP technology, programmers can build programs from prefabricated objects in the same way builders construct houses from prefabricated walls.  Example: An object that sorts addresses in alphabetical order in a mailing list database can also be used in a program that sorts hotel reservations alphabetically. Slide 25 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

26 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies Visual programming  Visual programming tools enable programmers to create large portions of their programs by drawing pictures and pointing to on-screen objects.  The process eliminates much of the tedious coding of traditional programming.  Microsoft’s Visual BASIC includes many of the ideas and tools of object-oriented programming. Slide 26 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

27 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies Languages for users  Macro languages (also called scripting languages) allow users to create programs, called macros, that automate repetitive tasks.  Microsoft Office includes a scripting variation of Visual Basic called Visual Basic for Applications (VBA).  Fourth-generation languages (4GL) use English-like phrases and sentences to issue instructions.  Called nonprocedural languages.  Focus on what needs to be done, not how to do it.  4GL example: the query language that enables a user to request information from a database.  SQL is the standard query language for most database applications today. Slide 27 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

28 Tomorrow’s Technology and You 9/e Chapter 14 Programming Languages and Methodologies Component software  Component software makes it possible to construct small custom applications from software components.  It is the logical extension of object-oriented languages.  Customization is possible only if applications are programmed to allow it.  More and more software programs, including operating systems, are designed with extensibility in mind.  Such software may soon reach a level where users and managers can build their own applications. Slide 28 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

29 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Systems development  Systems development: a problem-solving process of:  Investigating a situation  Designing a system solution to improve the situation  Acquiring the resources to implement the solution  Evaluating the success of the solution  A steering committee may be formed to decide which projects should be considered first.  Made up of people from each functional area in the organization Slide 29 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

30 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Systems development  A business organization may choose to contract, or outsource, a systems analyst from an outside consulting firm.  A systems analyst is an IT professional primarily responsible for developing and managing a system.  Outsourcing avoids the need for permanent in-house staff.  It allows an organization to hire talent for selected activities on a contract basis.  End user development allows end users to create applications.  End users need access to and training in the use of Web site development tools, spreadsheet and database management packages, and fourth-generation languages. Slide 30 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

31 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Slide 31 Investigation Analysis Design Development Implementation Maintenance Retirement SDLC (the systems development life cycle)  The graphical “waterfall” model of the SDLC shows a basic sequential flow from identifying the “right things to do” to making sure that “things are done right.” Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

32 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Slide 32 Investigation Define the problem: Identify the information needs of the organization Examine the current system Determine how well it meets the needs of the organization Study the feasibility of changing or replacing the current system Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall SDLC (the systems development life cycle) (cont.)

33 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Slide 33 Analysis During the analysis phase, the systems analyst: Gathers documents Interviews users of the current system Observes the system in action Generally gathers and analyzes data to understand the current system and identify new requirements Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall SDLC (the systems development life cycle) (cont.)

34 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Slide 34 Prototyping is an interactive methodology in which the prototype is continually modified and improved until it meets the needs of the end user. Identify requirements Develop working model of the system Use prototype Evaluate features of prototype Develop application, install prototype for evaluation by end users, begin new prototype, or abandon application Make any necessary changes to prototype Design Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall SDLC (the systems development life cycle) (cont.)

35 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Slide 35 The systems analyst must carefully plan and schedule activities in the development phase of the SDLC because they can overlap and occur simultaneously. Development Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall SDLC (the systems development life cycle) (cont.)

36 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Slide 36 Implementation Direct cutover approach Parallel systems approach Phase-in approach Pilot approach Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall SDLC (the systems development life cycle) (cont.)

37 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Slide 37 Maintenance The maintenance phase involves monitoring, evaluating, repairing, and enhancing the system throughout the lifetime of the system. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall SDLC (the systems development life cycle) (cont.)

38 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Slide 38 Retirement Systems are often used for many years; but at some point in the life of a system, ongoing maintenance is not enough. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall SDLC (the systems development life cycle) (cont.)

39 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Systems development tools and techniques  Data collection techniques:  Review  Interviews  Questionnaires  Observation  Sampling Slide 39 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

40 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Systems development tools and techniques (cont.)  Modeling tools  Modeling tools are graphic representations of systems.  System flowcharts, DFD (data flow diagrams), data dictionaries, and decision tables are the most widely used modeling tools. Slide 40 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

41 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Systems development tools and techniques (cont.)  CASE (computer-aided systems engineering) tools include:  Charting and diagramming tools to draw system flowcharts and data flow diagrams  A centralized data dictionary containing detailed information about all the system components  A user interface generator to create and evaluate many different interface designs  Code generators that automate much of the computer programming to create a new system or application Slide 41 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

42 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Systems development tools and techniques (cont.)  CASE (computer-aided systems engineering) tools include:  Some CASE software packages contain tools that apply primarily to the analysis and design phases of the systems development life cycle.  Others contain tools that automate the later phases of systems development, implementation, and maintenance.  Integrated CASE tools incorporate the whole spectrum of tools to support the entire systems development life cycle. Slide 42 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

43 Tomorrow’s Technology and You 9/e Chapter 14 Programs in Perspective: Systems Analysis and the Systems Life Cycle Working wisdom: avoiding information technology project failures  Here are six tips for information workers on how to prevent the failure of IT projects:  IT projects need executive sponsorship.  IT projects need user input.  IT projects need specifications.  IT projects need realistic expectations.  IT projects need cooperative business partners.  IT projects need open and honest communication. Slide 43 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

44 Tomorrow’s Technology and You 9/e Chapter 14 The Science of Computing Many computer scientists prefer to call their field computing science because it focuses on the process of computing rather than on computer hardware. Computer science includes a number of focus areas:  Computer theory  Algorithms  Data structures  Programming concepts and languages  Computer architecture  Management information systems  Software engineering Slide 44 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

45 Tomorrow’s Technology and You 9/e Chapter 14 The State of Software Software problems  Software errors are difficult to locate and more difficult to remove:  Errors of omission  Syntax errors  Logic errors  Clerical errors  Capacity errors  Judgment errors Slide 45 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

46 Tomorrow’s Technology and You 9/e Chapter 14 The State of Software Software solutions  Computer scientists and software engineers are responding to reliability and cost problems on five main fronts:  Programming techniques  Programming environments  Program verification  Clean-room programming  Human management Slide 46 The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair. – Douglas Adams, in Mostly Harmless Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

47 Tomorrow’s Technology and You 9/e Chapter 14 The State of Software Software warranties  In the past, consumer software manufacturers provided no warranties for their products.  Today some manufacturers will give your money back if the software cannot be installed on the computer.  No software manufacturer will accept liability for harm caused to you or your business by errors in the software.  Why? – Additional precautions needed to make the software work better would inflate the cost and extend the time needed for development. – Only large companies would be able to sustain the pressure of such a scenario. Slide 47 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

48 Tomorrow’s Technology and You 9/e Chapter 14 The State of Software The future of programming?  Programming languages will continue to evolve in the direction of natural languages, like English.  The line between programmer and user is likely to grow hazy.  Computers will play an ever-increasing role in programming themselves.  Future programming tools will have little in common with today’s languages.  When future computer historians look back, they’ll marvel at how difficult it was for us to instruct computers to perform even the simplest actions. Slide 48 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

49 Tomorrow’s Technology and You 9/e Chapter 14 Lesson Summary Computer programming is a specialized form of problem solving that involves developing an algorithm for solving a problem. Most programmers use stepwise refinement to repeatedly break a problem into smaller, more easily solvable problems. Computer languages have evolved through several generations, with each generation easier to use and more powerful than the one that came before. Most modern languages encourage structured programming. Slide 49 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

50 Tomorrow’s Technology and You 9/e Chapter 14 Lesson Summary (cont.) Many applications contain built-in macro languages, scripting languages, and query languages that give programming power to users. OOP (object-oriented programming) tools enable programmers to construct programs from objects with properties and provide the ability to send messages back and forth; many believe that OOP represents the future of programming. Programs are part of larger information systems. Slide 50 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall

51 Tomorrow’s Technology and You 9/e Chapter 14 Lesson Summary (cont.) Computer scientists are responsible for the software tools and concepts that make all other software development possible. One of the most challenging problems facing computer science is the problem of software reliability. As more and more human institutions rely on computer systems, it is becoming increasingly important for computer scientists to find ways to make software that people can trust. Slide 51 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall


Download ppt "Slide 1 Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Power Point Lectures to accompany Tomorrow’s Technology and You, 9e."

Similar presentations


Ads by Google