technology in actionmccc.edu/~okikeq/documents/chapter8behindthescenes... · – easier for website...

71
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Copyright © 2015 Pearson Education, Inc.

Upload: others

Post on 22-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Technology in Action

Alan Evans • Kendall Martin

Mary Anne Poatsy

Eleventh Edition

Copyright © 2015 Pearson Education, Inc.

Page 2: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Technology in Action

Chapter 8 Behind the Scenes: Software Programming

Copyright © 2015 Pearson Education, Inc.

Page 3: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Topics

• Understanding Software Programming – The Importance of Programming – The Life Cycle of an Information System – The Life Cycle of a Program

• Programming Languages – Many Languages for Many Projects – Exploring Programming Languages

2 Copyright © 2015 Pearson Education, Inc.

Page 4: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Understanding Software Programming

• Importance of Programming • Life Cycle of an Information System • Life Cycle of a Program

Copyright © 2015 Pearson Education, Inc.

Page 5: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Understanding Software Programming

• Some tasks are complex – Requires creative thought – Requires human touch

• Some tasks are candidates for automation – Repetitive – Works with electronic information – Follows a series of clear steps

4 Copyright © 2015 Pearson Education, Inc.

Page 6: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

The Importance of Programming

• A career in programming offers – Plentiful jobs – Strong salaries – Telecommuting is often easy to arrange

• Computer programs exist for many tasks • Programming necessary when no existing

software for task

5 Copyright © 2015 Pearson Education, Inc.

Page 7: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

The Importance of Programming

• Basic knowledge of programming – Add features that support personal needs – Create miniprograms (macros) – Add custom commands – Create custom applications – Successfully complete projects

6 Copyright © 2015 Pearson Education, Inc.

Page 8: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System

• System – Collection of pieces working to achieve

common goal

• An information system includes: – Data – People – Procedures – Hardware – Software

7 Copyright © 2015 Pearson Education, Inc.

Page 9: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System SDLC

8 Copyright © 2015 Pearson Education, Inc.

Page 10: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System Problem Identification

• Corporations form a development committee – Evaluates systems-development proposals – Decide which projects to take forward based

on resources

9 Copyright © 2015 Pearson Education, Inc.

Page 11: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System

Analysis • Analysts explore problem/need in depth • Develop program specifications • Feasibility assessment is performed • User requirements are defined • Plan of action is recommended

10 Copyright © 2015 Pearson Education, Inc.

Page 12: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System

Design Generates detailed plan for programmers Flowcharts and data-flow diagrams

– Flowcharts are visual diagrams of a process

– Data-flow diagrams trace data from point it enters system to final place

11 Copyright © 2015 Pearson Education, Inc.

Page 13: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System

Design

12 Copyright © 2015 Pearson Education, Inc.

Data-flow diagram

Page 14: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System

Development

• Actual programming takes place • First phase of program development life

cycle (PDLC)

13 Copyright © 2015 Pearson Education, Inc.

Page 15: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System Testing and Installation

• Program tested to ensure it works properly • Program is installed for official use

14 Copyright © 2015 Pearson Education, Inc.

Page 16: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of an Information System Maintenance and Evaluation

• Program performance monitored • Corrections and modifications made • Additional enhancements evaluated • Appropriate modifications made • Scope creep is set of requests for

additional features

15 Copyright © 2015 Pearson Education, Inc.

Page 17: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of a Program

• Programming – Translating task into commands used to

perform task – Identifying parts of performable tasks – Describing tasks in specific, complete manner – Translating description into language

understood by CPU

16 Copyright © 2015 Pearson Education, Inc.

Page 18: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Program Development Life Cycle

17 Copyright © 2015 Pearson Education, Inc.

Page 19: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of a Program Problem Statement

• Necessary to solve problems • Interact with users • Programmers handle bad inputs through

error handling • Problem statement includes testing plan

– Does not cover every possible input but patterns of inputs

18 Copyright © 2015 Pearson Education, Inc.

Page 20: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of a Program Algorithm Development

• Developing detailed algorithm − Set of specific sequential steps − Describe in natural language what program

must do

• Algorithms are limited

19 Copyright © 2015 Pearson Education, Inc.

Page 21: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of a Program Algorithm Development

• Algorithms represented through flowcharts – Provides a visual

representation of patterns

20 Copyright © 2015 Pearson Education, Inc.

Page 22: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of a Program Algorithm Development

• Algorithms also represented through Pseudocode – Text-based approach – Words describe actions – Organized like an outline – Combination of common and special words

21 Copyright © 2015 Pearson Education, Inc.

Page 23: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Life Cycle of a Program Decision Making and Design

• Programmers handle complex algorithms – List of choices – Decision points

• Binary decisions

• Loops

• Programmers create algorithms using: – Top-down design – Object-oriented analysis

22 Copyright © 2015 Pearson Education, Inc.

Page 24: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

23 Copyright © 2015 Pearson Education, Inc.

Developing the Algorithm Decision Making

Decision Points Flowchart Symbols

Page 25: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

24 Copyright © 2015 Pearson Education, Inc.

Developing the Algorithm Decision Making

Page 26: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Top-Down Design

• Problem is broken into series of high-level tasks

• Detailed subtasks created from high-level tasks

• Continue until steps are close to programming language commands

25 Copyright © 2015 Pearson Education, Inc.

Page 27: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Top-Down Design

• How top-down design is used in programming

26 Copyright © 2015 Pearson Education, Inc.

Page 28: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Object-Oriented Analysis

• Programmers identify categories of inputs – Classes (categories of inputs) identified – Classes defined by information (data) and

actions (methods) – Algorithm enables objects to interact

• Object-oriented often chosen over top-down design – Takes advantage of reusability

27 Copyright © 2015 Pearson Education, Inc.

Page 29: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Object-Oriented Analysis

28 Copyright © 2015 Pearson Education, Inc.

Page 30: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Coding

• Coding: Translating an algorithm into CPU instructions

• Highly precise format – few keywords – consistent structure

29 Copyright © 2015 Pearson Education, Inc.

Page 31: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Coding

• Programmers move from algorithm to code by: – Identifying key pieces of information – Identifying flow of each step – Converting algorithm into specific

programming language

30 Copyright © 2015 Pearson Education, Inc.

Page 32: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Coding

• Programming language – A“code” for instructions CPU knows how to

perform – Languages use special words and strict rules – Allows control of CPU without knowing

hardware details

31 Copyright © 2015 Pearson Education, Inc.

Page 33: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Coding

32 Copyright © 2015 Pearson Education, Inc.

Page 34: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Coding

• Program Structure – Each variables is announced early in program – Memory space is set aside for inputs and

outputs – Programmers can leave notes inside a

program (comments)

33 Copyright © 2015 Pearson Education, Inc.

Page 35: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Coding

34 Copyright © 2015 Pearson Education, Inc.

Page 36: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Coding

• Modularity in code – “Containers” : sections that can be used

repeatedly – Referred to as functions, methods,

procedures, subroutines, modules, or packages

35 Copyright © 2015 Pearson Education, Inc.

Page 37: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Compilation

• Code must be converted to 1s and 0s • Compiler creates an executable program • Some languages use an interpreter

36 Copyright © 2015 Pearson Education, Inc.

Page 38: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Coding Tools Integrated Development Environments

• IDE makes coding process easier

• Provides editor • debugger

37 Copyright © 2015 Pearson Education, Inc.

Page 39: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Debugging

• Debugging – Finding and

correcting errors

38 Copyright © 2015 Pearson Education, Inc.

Page 40: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Debugging

• Testing plan helps programmers know program has solved the problem

• Compilation errors – Improper syntax

• Logical errors – Program runs but executes incorrectly

39 Copyright © 2015 Pearson Education, Inc.

Page 41: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Testing and Documentation

Internal testing Group in company uses program every way

possible

External testing Eventual users work with program Beta version – release to pubic

40 Copyright © 2015 Pearson Education, Inc.

Page 42: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Testing and Documentation

• Solving problems after beta testing

– Manufacturer makes changes before final release

– Release to manufacturers (RTM) – After RTM, product is in general availability

(GA) – Problems addressed in updates or service

packs

41 Copyright © 2015 Pearson Education, Inc.

Page 43: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Testing and Documentation

• Finishing the project

– Technical writers produce internal documentation

– User documentation is produced – Software trainers teach others how to use

program

42 Copyright © 2015 Pearson Education, Inc.

Page 44: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Programming Languages

• Many Languages for Many Projects • Exploring Programming Languages

Copyright © 2015 Pearson Education, Inc.

Page 45: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Many Languages for Many Projects

• Programming languages have been developed to balance conflicting goals

44 Copyright © 2015 Pearson Education, Inc.

Page 46: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Visual Basic

45 Copyright © 2015 Pearson Education, Inc.

Page 47: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Visual Basic

• Advantages of Visual Basic – Prototyping is form of rapid application

development (RAD) – Developers create prototype then generate

system documents – RAD is alternative to waterfall approach – Used to build Windows applications

• MS .NET Framework

46 Copyright © 2015 Pearson Education, Inc.

Page 48: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

C and C++

• Provides higher-level programming features

• Allows direct manipulation of system memory and CPU registers

47 Copyright © 2015 Pearson Education, Inc.

Page 49: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

C and C++

• Code runs fast and uses small amount of memory

• Basic components are common to many languages

48 Copyright © 2015 Pearson Education, Inc.

Page 50: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Java

• Java is object-oriented language • Java applications work on many types of

computers

49 Copyright © 2015 Pearson Education, Inc.

Page 51: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Java

50 Copyright © 2015 Pearson Education, Inc.

Compile once and run on many platforms

Page 52: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Objective C • Most popular language for writing Mac OS

X applications

51 Copyright © 2015 Pearson Education, Inc.

Page 53: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

HTML

• HTML - markup language for web page design

52 Copyright © 2015 Pearson Education, Inc.

Page 54: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

JavaScript and VBScript

Scripting languages – Allows decisions and calculations – Adds interactivity to web pages

53 Copyright © 2015 Pearson Education, Inc.

Page 55: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

ASP, JSP, and PHP

• Interactive web pages

54 Copyright © 2015 Pearson Education, Inc.

Page 56: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Flash, AJAX, and XML

• Creating web page that includes sophisticated animation – Adobe Flash: Web-based multimedia – Microsoft Silverlight: Supports rich

multimedia and interactive applications – Can update information without requiring

page refresh

55 Copyright © 2015 Pearson Education, Inc.

Page 57: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Flash, AJAX, and XML

• XML helps websites gather information from other sites – eXtensible Markup Language (XML) enables

designers to define data-based tags – Easier for website to transfer key information – Formatting controls is important – Groups agree on standard system of tags

56 Copyright © 2015 Pearson Education, Inc.

Page 58: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Programming Languages

57 Copyright © 2015 Pearson Education, Inc.

Page 59: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Mobile Applications

58 Copyright © 2015 Pearson Education, Inc.

Page 60: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Mobile Applications

• Tools for building apps for Android devices – Android software development kit (SDK) is

required – Uses well-known IDEs with special plug-ins

• Build iOS apps (iPhone, iPad)

• Objective C language

59 Copyright © 2015 Pearson Education, Inc.

Page 61: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Mobile Applications

Corona and Magmito support several different devices and save time for simple applications For specific features and ultimate performance, custom programming is still required.

60 Copyright © 2015 Pearson Education, Inc.

Page 62: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

The Next Great Language

Learn “how to learn” new languages • always changing

61 Copyright © 2015 Pearson Education, Inc.

Page 63: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Check Your Understanding 1. Why do I need to understand how to

create software?

62 Copyright © 2015 Pearson Education, Inc.

• Programming skills allow you to customize existing software products to accomplish required tasks. • A beginning-level knowledge of programming will let you create macros, customized mini-programs that speed up redundant tasks.

Page 64: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Check Your Understanding 2. What is a system development life cycle,

and what are the phases in the cycle?

63 Copyright © 2015 Pearson Education, Inc.

• System Development Life Cycle (SDLC) has six phases: 1. A problem or opportunity is identified.

2. The problem is analyzed, 3. A detailed plan is designed using flowcharts and data-flow diagrams. 4. Programmers develop the program, and then document. 5. The program is tested. 6. Ongoing maintenance and evaluation ensure a working product.

Page 65: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Check Your Understanding 3. What is the life cycle of a program?

64 Copyright © 2015 Pearson Education, Inc.

• The problem statement identifies the task to be computerized • An algorithm specifies the sequence of steps that the program must take to complete the work. • The algorithm is then translated into programming code. • The code goes through debugging, finding and repairing errors • Testing is performed. • The results of the entire project are documented

Page 66: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Check Your Understanding 4. What role does a problem statement play

in programming?

65 Copyright © 2015 Pearson Education, Inc.

• The problem statement is a description of what tasks the computer program must accomplish and how the program will execute these tasks. • It describes the input data that users will have at the start of the job, the output that the program will produce, and the exact processing that converts these inputs to outputs. • The problem statement identifies potential errors and plans to address these errors.

Page 67: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Check Your Understanding 5. How do programmers create algorithms

and move from algorithm to code?

66 Copyright © 2015 Pearson Education, Inc.

• Programmers create an algorithm by converting a problem statement into a list of steps.

• Yes/no binary decisions are common • Algorithms are documented in the form of a flowchart or in

pseudocode. • Programmers use either top-down or object-oriented analysis • Programming languages are classified in several major groupings,

sometimes referred to as generations • Compilation is the process by which code is converted into machine

language • Each programming language has its own compiler.

Page 68: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Check Your Understanding 6. What steps are involved in completing the

program?

67 Copyright © 2015 Pearson Education, Inc.

• Debugging detects all the code errors • Before its commercial release, software is often provided at a reduced cost or at no cost in a beta version • Technical writers create internal documentation for the program and external documentation that will be provided to users of the program. • User training, which begins once the software is distributed,

teaches the user community how to use the software efficiently.

Page 69: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Check Your Understanding 7. How do programmers select the right

programming language for a task?

68 Copyright © 2015 Pearson Education, Inc.

• Certain languages are best used for certain problems. • The target language should be well matched to the amount of space available for the final program. • Some projects require the selection of a language that can produce code that executes the fastest • Selecting a language with which the programmers are familiar is also helpful.

Page 70: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

Check Your Understanding 8. What are the most popular programming

languages?

69 Copyright © 2015 Pearson Education, Inc.

• Visual Basic, C/C++, and Java are popular languages • Objective C is a language used in programming applications for

mobile devices using iOS • Programmers use HTML tags to structure web pages. HTML5 includes more advanced tags like <video>. • Scripting programs such as JavaScript, PHP, and VBScript are popular • AJAX is a programming solution that uses a combination of echnologies to create websites that can update without the user refreshing the page. • XML and JSON allow web pages to exchange information, not just formatting details.

Page 71: Technology in Actionmccc.edu/~okikeq/documents/Chapter8BehindtheScenes... · – Easier for website to transfer key information ... Mobile Applications • Tools for building apps

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 © 2015 Pearson Education, Inc.