61
Computer Programming How Can You Create Your Own Software? Chapter 13

Computer Programming How Can You Create Your Own Software? Chapter 13

Embed Size (px)

Citation preview

Page 1: Computer Programming How Can You Create Your Own Software? Chapter 13

Computer Programming

How Can You Create Your Own Software?

Chapter 13

Page 2: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Student Learning Outcomes

1. Understand how programmers investigate, analyze, and design software solutions to solve problems

2. Identify the basic coding control structures used in programming

3. Identify various common coding errors

4. Understand how programmers test, implement, and maintain software

Page 3: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Student Learning Outcomes

5. Discuss programming language generations and characteristics

6. Understand object-oriented programming concepts

7. Discuss programming frameworks, such as Sun Microsystems’s Java Platform Technologies and Microsoft’s .NET

Page 4: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Introduction

Although you may never write a computer program, you may need a programmer to write or modify one for you. Thus, you should understand how programmers develop programs in order to meet your information requirements.

Page 5: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

13.1 A Programmer's View of Investigation, Analysis, and Design

Investigation

Analysis

Preliminary phases of the systems

development process

Design

Page 6: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Programmer’s Point of View

• Systems Investigation– Lay the foundation for a new system– Define the problem/opportunity

• Systems Analysis– Focus on information and processing– Develop logical specifications

• Systems Design– Convert logical descriptions– Focus on physical characteristics

Page 7: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Systems Investigation

p. 13.391 - Fig. 13.1

Page 8: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Systems Analysis

2. How the software will process the information

1. What information will go into the software

3. What information the software will generate

Page 9: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Program

Flowcharts

Program

Flowcharts

Programmer’s Tools

PseudocodePseudocode

Programmer’sTools Used In

Systems Analysis

Page 10: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Pseudocode

• Pseudocode– Outline of necessary steps

(algorithm)

• Use simple English• One command per line• Boldface important words• Start at top• Form modules using

spaces

p. 13.392 - Fig. 13.2

Page 11: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Program Flowcharts

• Program Flowcharts– Graphical depiction of

the detailed steps that software will perform

– Plots software’s algorithm

– Uses symbols to outline steps

p. 13.393 - Fig. 13.3

Page 12: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Systems Design

Input – is information thatcomes from an external source and enters the

software

Input – is information thatcomes from an external source and enters the

softwareProcessing - manages

information according tothe software’s logic

Processing - manages information according to

the software’s logic Output – is the information software produces

after it has processedinput

Output – is the information software produces

after it has processedinput

Page 13: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Input-Process-Output Tables

• Convert logical descriptions into software specifications

p. 13.395 - Fig. 13.4

Page 14: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

13.2 Writing Computer Software

How do I Explain My Algorithm to the Computer?-Use a programming language to write (code) the softwareprogram

How Do I Tell the Computer How to Read My Algorithm?-Sequential execution is when a computer performs eachline of software code in the order it appears

Page 15: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Control Structures

Control Structures

Repetition Control

Structure

Sequence ControlStructure

Selection Control Structure

Page 16: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Control Structures

• Sequential execution – code is executed in order it appears

• Control structures – you specify order in which code is executed

– Sequence control structures– Selection control structures– Repetition control structures

Page 17: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Sequence Control Structure

• Executes software from top to bottom, left to right

• Enforces sequential execution

• Present in most programming languages

p. 13.397 - Fig. 13.6

Page 18: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Selection Control Structure

• Tests a condition to decide how a computer will execute software code

• Uses an existing condition to decide how a computer will execute software

• Makes a decision based on a condition

p. 13.398 - Fig. 13.7

Page 19: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Selection Control StructuresIf-Then-Else Statement

• If-then-else statement tests a condition in software code that results in a true or a false

p. 13.398 - Fig. 13.8

Page 20: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Selection Control Structures

• Case control statement tests a condition that can result in more than a true or false answer

p. 13.399 - Fig. 13.9

Page 21: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Repetition Control Structure

• Instructs a piece of software to repeat a series of instructions until it fulfills a condition or while a condition exists

• Called iteration control or loop

p. 13.400 - Fig. 13.10

Page 22: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Do-While StatementDo-While Statement

Repetition Control Structures

Do-Until StatementDo-Until Statement

For-Next StatementFor-Next Statement

Page 23: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Repetition Control Structures

Do-while statement repeats a portion of code as long as a certain condition exists

Do-until statement repeats a portion of code as long as a certain condition doesn’t exist (it’s false)

For-next statement repeats a portion of code a precise number of times

Page 24: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

13.3 Testing, Implementing, and Maintaining Software

• Systems Development Life Cycle Phases Construction - phase #4 Implementation - phase #5 Support - phase #6

• Phases correspond to programming steps Testing Implementation Maintenance

Page 25: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Testing Software

• Debugging Process of finding errors Bugs – common name for software errors

• Types of errors:

Syntax Errors

Syntax Errors

Logic Errors

Logic Errors

Run-timeErrors

Run-timeErrors

Page 26: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Syntax Errors – Common Causes

• Mistakes in a software code’s grammar

• Misspelling a command word

• Forgetting to close a module

Page 27: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Run-Time Errors

• Mistakes that occur when you run code– Not displaying a window correctly– Not matching variables in a calculation– Adding a number and a letter is a good

example

Page 28: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Logic Errors

• Check for logic errors when you design an algorithm

• Logic error is a mistake in the way algorithm solves a problem

p. 13.402 - Fig. 13.11

Page 29: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

End User Testing

• Users must test software to make sure it meets their needs

• Acceptance testing - “sign off” that software works correctly

Page 30: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Software Development Environment

How Do I Find Errors and Manage My Code?How Do I Find Errors and Manage My Code?

How Can I Make Sure There’s a Smooth Transition?How Can I Make Sure There’s a Smooth Transition?

How Do I Keep Software Fresh?How Do I Keep Software Fresh?

Page 31: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Software Development Environment

• Code can be written in a simple text editor such as Notepad

• Software development environment is an application that provides programming tools– Used to debug software– Manages software programs

• Powerful programming features• Rapid application development (RAD)• Computer-aided software engineering tools (CASE)

Page 32: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Managing Development

CASE tool – software CASE tool – software applications that help prepare applications that help prepare

reports, draw program reports, draw program flowcharts, and generate flowcharts, and generate

software code for prototypessoftware code for prototypes

RAD – uses prototypes to RAD – uses prototypes to test software components test software components

until they meet until they meet specificationsspecifications

CVS – is an open source CVS – is an open source software tool that tracks software tool that tracks all changes to a project’s all changes to a project’s

CodeCode

Page 33: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Implementing Software

CommentsComments

ProgramManual

ProgramManualDocumentationDocumentation

User Manual

User Manual

Page 34: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Maintaining software

• Software Patches– Small fix to a program problem– Uses a piece of software code

• Software upgrades– Used when patches are no longer enough– Substantial revision of existing software– Example – MS Office 2003 is an upgrade to

MS Office XP

Page 35: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

13.4 Programming Language

• Machine language Machine-dependent & low level language Uses binary code

• Assembly language Machine-dependent & low level language Uses words and abbreviations

SimNet Concepts Support CD: “Programming Languages”

Page 36: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Programming Languages

Page 37: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Programming Language Progression

Machine Machine LanguageLanguage

AssemblyAssemblyLanguageLanguage

Third-GenerationThird-GenerationLanguagesLanguages

Fourth-Generation Fourth-Generation LanguagesLanguages

Page 38: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Machine Language

• Machine-dependent language is a programming language that works on a specific computer system and its components

• A low-level language requires programmers to code at a basic level that a computer can understand

• Machine-language is a machine-dependent, low-level language that uses binary code to interact with a specific computer system

Page 39: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Assembly Language

• Assembly language is a machine-dependent, low-level language that uses words instead of binary numbers to program a specific computer system

• An assembler is utility program that converts assembly language into machine language that a computer can use to run software

Page 40: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Assembly Language Program

p. 13.406 - Fig. 13.13

Page 41: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Third-Generation Languages

• Third-Generation Language: Machine-independent & high-level language Uses human words and symbols Procedural language Examples

COBOL C++ Fortran Java

Page 42: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Fourth-Generation Languages

• Fourth-Generation Language: Machine-independent High-level language Non procedural Uses human words and symbols Example - SQL

Page 43: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Programming Language Characteristics

Event-Driven

Interpreted

Scripted

Compiled

Page 44: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Programming Language Characteristics

• Compiled– Compiler– Source code & object code– C++ and Java

• Interpreted– Interpreter– JavaScript and VBScript

Page 45: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Programming Language Characteristics

• Scripted– Interpreted language that works within

another application– Visual Basic for Applications (VBA)– Macro

• Event-driven– Responds to actions users perform on the

program

Page 46: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

VBA in Microsoft Excel

p. 13.408 - Fig. 13.14

Page 47: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

13.5 Programming Frameworks

• Programming framework is a collection of software tools used to create a complete business solution

• Two most important programming frameworks:

Sun’s Java PlatformTechnologies

Sun’s Java PlatformTechnologies Microsoft’s .NETMicrosoft’s .NET

Page 48: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Object-Oriented Programming

• Objects– Object property– Object method

• Object class• Object instance

SimNet Concepts Support CD: “Object-Oriented and Visual Programming”

Page 49: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Java Platform Technologies

• Java is an object-oriented 3GL programming language developed by Sun Microsystems

• Sun developed Java to work on all computer operating systems that can use the Java Virtual Machine

• Sun has created programming frameworks to help programmers create software solutions for:– Business applications– Enterprise software – Mobile devices

Page 50: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Java Platform Technologies

Java ProgrammingFrameworks

Java ProgrammingFrameworks

J2SEJ2SE J2EEJ2EE J2MEJ2ME

Page 51: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Microsoft .NET

• .NET is the next generation of development environments

• .NET will allow businesses to create applications and systems that work almost anywhere

• .NET uses a combination of development tools, servers, XML Web services, and smart client software

Page 52: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Microsoft .NET

• Visual Studio .NET is a software development environment that allows programmers to write code in Visual Basic, C++, or C# for the .NET framework

Page 53: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Page 54: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

13.6 Key Terms

• Algorithm• Assembly language• Bug• Business logic• Computer aided

software engineering (CASE)

• Coding

• Compiler• Control structure• Concurrent Versions

System (CVS)• Documentation• Event-driven language• Fourth generation

language• input

Page 55: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

13.6 Key Terms

• Integrated development environment (IDE)

• Interpreter• Input-process-output

table (IPO)• Logic error• Machine language• Object class• Object code

• Object instance• Object method• Object property• Object-oriented

programming (OOP)• Output• Processing• Program flowchart• Programming

framework

Page 56: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

13.6 Key Terms

• Programming language

• Pseudocode• Repetition control

structure• Run-time error• Selection control

structure• Sequence control

structure

• Software development environment

• Software patch• Software upgrade• Source code• Syntax error• Technical writer• Third generation

language• User manual

Page 57: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Review of Concepts

1. Developing Pseudocode to Solve a Business Process How to sell event tickets

2. Creating the Correct Control Structure

3. Debugging a Software Program Working with macros

Page 58: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Hands On ProjectsE-Commerce

1. Exploring Technical Certifications

2. Buying a Car Would you buy without first driving one?

3. Renting a Car

Page 59: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Hands On ProjectsEthics, Security & Privacy

1. How Secure Is Your Software? Do you have bugs?

2. To Install or Not to Install: That’s the Question

What’s your ethical position?

Page 60: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Hands On Projectson the Web

1. Exploring Programming Frameworks

2. Finding a Programming Job Online

3. Exploring Programming Resources

4. Finding Code on the Web

Page 61: Computer Programming How Can You Create Your Own Software? Chapter 13

©2003 The McGraw-Hill Companies

Hands On ProjectsGroup Activities

1. Investigating and Designing Solutions

2. Exploring Programming Majors

3. Interviewing a Programmer

4. Deciding on Proprietary versus Open Source Software