building systems & applications software development, programming, & languages

66
Introduction to Information Technology: Your Digital World © 2013 The McGraw-Hill Companies, Inc. All rights reserved. Using Information Technology, 10e © 2013 The McGraw-Hill Companies, Inc. All rights reserved. Using Information Technology, 10e 10

Upload: nigel-tillman

Post on 31-Dec-2015

38 views

Category:

Documents


1 download

DESCRIPTION

Building Systems & Applications Software Development, Programming, & Languages. 10. Chapter. Chapter Topics. 10.1 Systems Development & the Life Cycle of a Software Project 10.2 Programming: Traditionally a Five-Step Procedure - PowerPoint PPT Presentation

TRANSCRIPT

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e © 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

10

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

2

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

3

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Purpose of a System• A system is a collection of related components that

interact to perform a task in order to accomplish a goal

• A computer-based system consists of hardware, software, people, procedures, and data, as well as communications setups

4

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• How It Starts, Who’s Involved• Users: The new system must ALWAYS be developed in

consultation with the people who will be using the completed system

• Management: Managers within an organization should be consulted about the system, because they control the budget and resources

• Technical staff: The Information Systems or IT staff must be involved, because they will have to execute the project or work with the people who do

• Systems Analyst: Information specialist who performs systems analysis, design, and implementation

5

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Six Phases of Systems Analysis and Design• Systems analysis and design is a six-phase problem-

solving procedure for examining an information systems and improving it

• The systems development life cycle (SDLC) is the particular step-by-step process followed during systems analysis and design

6

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Systems Development Life Cycle (Six Phases):1. Preliminary investigation2. Systems analysis3. Systems design4. Systems development5. Systems implementation6. Systems maintenance

• Information systems are frequently revised and upgraded• Steps in the cycle often overlap

7

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

8

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• SDLC Phase 1: Conduct a Preliminary Investigation• Conduct a preliminary analysis• Propose alternative solutions

• Interview people within the organization• Study what competitors are doing• Decide to leave the system as is, improve it, or develop a new

system

• Describe costs and benefits• Submit a preliminary plan with recommendations

• This should be a written report• Get management approvals for next phase

9

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

10

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• SDLC Phase 2: Analyze the System• Gather data

• Interview employees and managers• Develop, distribute, analyze questionnaires• Review current written documents• Observe people and processes at work

• Analyze the data• Use modeling tools, such as CASE tools• Create a data flow diagram to show how data flows

through the system

11

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Phase 2: Analyze the System (continued)

• Write a report• Document how the current system works• Document problems with the current system• Describe the requirements for the new system• Recommend what to do next

• Get management approval to proceed

12

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

13

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

14

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• SDLC Phase 3: Design the System• Do a preliminary design

• Often involves prototyping and continued use of CASE tools

• Do a detail design, showing:• Output requirements• Input requirements• Storage requirements• Processing requirements• System controls• Backup

• Write a report and get approval for next phase15

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

16

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• SDLC Phase 4: Develop the System• Develop or acquire the software

• Make-or-buy decision• If creating own system, programming (coding must be

done)

• Acquire or upgrade the hardware• Test the system

• Unit testing: performance of system’s individual parts tested

• System testing: parts are linked and tested to see if they work together properly; real data may be used

17

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

18

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Phase 5: Implement the System• Choose a strategy to convert to the new system

• Direct implementation: quit the old and start using the new

• Parallel implementation: use both the old and the new side by side, until the new system has been proved reliable

• Phased implementation: phase in parts of new in gradually as parts of old are phased out

• Pilot implementation: have the new system tried out by a few users

• Train the users19

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

20

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• SDLC Phase 6: Maintain & Update the System• Perform system audits and periodic evaluations• Make changes to the system based on new

conditions• Finalize documentation

• Note that documentation should have been continuously maintained during the entire SDLC

21

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

22

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

23

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• A program is a list of instructions that the computer must follow to process data into information• Programming is done during phase 4 of the SDLC• The five steps:

1. Clarify/define the problem2. Design the program3. Code the program4. Test the program5. Document and maintain the program

24

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Programming Step 1: Clarify the Programming Needs• Clarify objectives & users• Clarify desired outputs• Clarify desired inputs• Clarify the desired processing• Double-check the feasibility of implementing the

program• Document the analysis

25

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

26

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Programming Step 2: Design the Program• Create an algorithm, or set of clear steps, to solve

the problem• Use structured programming approach• Determine program logic using top-down approach and

modules, using a hierarchy chart (graphic form) and pseudocode (narrative form)

27

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

28

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

29

The taxi algorithm:Go to the taxi stand.Get in a taxi.Give the driver my address.

The call-me algorithm:When your plane arrives, call my cellphone.Meet me outside baggage claim.

The rent-a-car algorithm:Take the shuttle to the rental car place.Rent a car.Follow the directions to get to my house.

The bus algorithm:Outside baggage claim, catch bus number 70.Transfer to bus 14 on Main Street.Get off on Elm street.Walk two blocks north to my house.

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

30

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

31

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Step 2: Design the Program (continued)

• Structured programming• Use control structures:

• Sequence: one statement follows another in logical order• Selection: IF-THEN-ELSE• Iteration (loop): DO UNTIL / DO WHILE

32

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

33

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

34

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Programming Step 3: Code the Program• Translate the logic requirement from flowcharts and

pseudocode into a programming language• Select a programming language (set of rules that

tells the computer what operations to do)• Each programming language has a syntax, or set of

grammatical rules to follow to write valid expressions• Syntax rules must be followed or there will be syntax errors• Computers don’t understand what you want, only what

you type in

35

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

36

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Programming Step 4: Test the Program• Desk checking is reading through, or checking, the

program for syntax errors and logic errors• Debugging is the process of detecting, locating, and

removing all syntax errors and logic errors in a computer program

• Beta testing is the process of testing the program using real data• One phase of testing uses correct data• Once the program works, the next phase of testing uses

invalid data and untrained users to root out hidden errors

37

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Programming Step 5: Document and Maintain the Program• Documentation is written descriptions of what a

program is and how to fix it; should be done through all 5 steps• User documentation – for the people who will use the

program (e.g., user manual – hardcopy or CD, and online)• Operator documentation – for the computer operators, so

they know what to do if the program or hardware malfunctions

• Programmer documentation – for the next programmer who must modify and maintain what has been written

• Maintain the program – keep everything in working condition

38

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

39

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

40

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

41

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• First Generation: Machine Language• The basic language of the computer – all 0s and 1s• Each CPU model has its own machine language, thus

machine language is machine dependent• Not convenient for people to read and use• Evolution of languages started in 1945

42

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Second Generation: Assembly Language• Low-level mnemonic version of machine language;

uses abbreviations and simple words• Faster to program in than machine language• Is also machine dependent• Assembler program needed to translate assembly

language into machine language

43

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

44

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Third Generation: High-level Languages (Procedural Languages)• These languages resemble human language (e.g.,

English) and are portable (not machine dependent)• Examples are FORTRAN, COBOL, BASIC, Pascal, C• The programmer writes the source code, then uses a

translator program to interpret or compile the code into machine language (object code)• Interpreter translates and executes immediately• Compiler translates and saves the code as an entire

unit to be executed later

45

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

46

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Fourth Generation: Very-High-Level or Problem-Oriented Languages• Easier to program in than third-generation

languages• Three types:

• Report generators (RPGIII)• Query languages (SQL)• Application generators (NOMAD, FOCUS)—used to

create parts for other programs

47

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Fifth Generation: Natural Languages• Used mainly for artificial intelligence (AI) and

neural networks• Use regular human languages

48

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

49

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

50

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• FORTRAN• The language of mathematics• The first high-level language written• A machine-independent procedural language

• COBOL• The most-frequently used language for business

legacy applications on large computers• A machine-independent procedural language

51

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• BASIC• Designed to be an easy language to use and learn

programming with• Usually run from an interpreter, but can be compiled• Procedural language• Supplanted by Microsoft’s Visual Basic for

commercial/business use

• Pascal• Designed to be a language to teach programming• Structured, compiled language• Not used in business or commercial companies

52

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• C• General-purpose machine-independent compiled

language developed for mid-range computers• Used for portability, operating systems. And scientific

use• Used to write the Unix operating system• Widely used for writing common software

applications and is necessary for programmers to know

• C++• Enhanced object-oriented version of C; used for Microsoft system

software and many web applications53

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• LISP: For Artificial Intelligence Programs• Third-generation language• Used to control AI programs• Used to write expert systems and natural language

programs

54

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

55

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• In object-oriented programming (OOP), data and processing instructions are combined into a self-sufficient object that can be reused• Object

• Self-contained module consisting of reusable code

• Message• The instruction received by the object indicating it is time

to perform an action

• Method• The processing instructions within the object to perform

the specified action56

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Three basic concepts of OOP• Encapsulation

• One object contains (encapsulates) both data and relevant processing instructions

• Inheritance• One object can be used as the foundation for other objects• Objects can be arranged in hierarchies – classes and

subclasses• Objects can inherit actions and attributes from one another

• Polymorphism• Allows a single definition to be used with different data types

and different functions• Means a message produces different results depending on

the object it is sent to

57

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Examples of OOP languages• C++

• Object-oriented language that was developed after C• Often used to write computer games and CPU- and

graphics-intensive applications

• Java• Developed at Sun Microsystems in early 1990s• Derivative of C++ with simpler memory management and

syntax• Used to develop Java applets to be downloaded into web

browsers to make websites interactive and more attractive (e.g., with animations)

58

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Visual programming is a method of creating programs in which the programmer makes connections by clicking on objects, diagrams, and icons and by interacting with flowcharts• Using a mouse, the programmer drags and drops

objects on screen• This makes it fast and easy to build prototype user

interfaces and get end-user approval before doing a lot of programming• Visual BASIC is an example of visual programming

59

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

60

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• A markup language is a kind of coding (“tags”) inserted into text that embeds details about the structure and appearance of the text• HTML is a markup language (Internet use)

• Has codes for indicating layout and styling (such as boldface, italics, paragraphs, insertion of graphics, etc.)

• SGML: improved markup language• Specifies a syntax for including the markup in documents• Allows users to create and use any markup they wish

• Script: short list of self-executing commands embedded in a web page that perform a specified function or routine

61

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• HTML • Hypertext markup language• Used to create 2-D web pages• Also lets you insert hypertext links in web pages

• VRML• Virtual Reality Modeling (Markup) Language is used

to create 3-D web pages, including interactive animation

• Requires special VRML browser to view VRML pages• Used by web designers, along with HTML

62

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• XML• eXtensible Markup Language is a metalanguage

written in SGML that allows one to facilitate easy document interchange on the Internet

• XML lets you create your own tags (“extensible”)• XML statements define data content

• JavaScript• Not the same language as Java• An object-oriented scripting language that adds

interactive functions to HTML web pages

63

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• Flash• Browser add-on that uses Adobe Flash to support animation,

streaming audio and video, and games on the Internet• ActiveX

• Developed by Microsoft as an alternative to Java for creating interactive web pages

• Set of controls or components that enable programs or content of almost any type to be embedded in a web page; comprises reusable components that can be plugged into other applications

• ActiveX controls are written in C, C++, Visual BASIC, and Java• Often used by crackers to propagate viruses and/or Trojans;

before you allow an ActiveX component to download from your browser to your computer, make sure you trust that website

64

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• CGI (Common Gateway Interface)• Standard protocol for interfacing external application

software with a web server• Manages the exchange of information and makes web

pages more interactive

• Perl• A general-purpose programming language developed for

text manipulation.• Used for web development, network programming,

system administration, GUI development, other tasks• Widely used for web server programs to perform

automatic tasks such as updating user accounts and newsgroup postings

65

Introduction to Information Technology: Your Digital World

© 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e

• PHP (Personal Home Page, or PHP Hypertext Preprocessor)• Allows creation of dynamic content that interacts

with databases• Normally found on Linux servers with MySQL

databases• General-purpose scripting language

66