mcgraw-hill 10-1. 10 mcgraw-hill systems analysis & programming

43
McGraw-Hill 10-1

Upload: hannah-oneal

Post on 24-Dec-2015

299 views

Category:

Documents


0 download

TRANSCRIPT

McGraw-Hill

10-1

10

McGraw-Hill

Systems Analysis & Programming

McGraw-Hill

10-3

McGraw-Hill

10.1 Systems Development

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-4

McGraw-Hill

10.1 Systems Development

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-5

McGraw-Hill

10.1 Systems Development

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-6

McGraw-Hill

10.1 Systems Development

Systems Development Life Cycle (Six Phases):1. Preliminary investigation

2. Systems analysis

3. Systems design

4. Systems development

5. Systems implementation

6. Systems maintenance Information systems are frequently revised and

upgraded Steps in the cycle often overlap

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-7

McGraw-Hill

10.1 Systems Development

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-8

McGraw-Hill

10.1 Systems Development

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-9

McGraw-Hill

10.1 Systems Development

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-10

McGraw-Hill

10.1 Systems Development

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 phase© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-11

McGraw-Hill

10.1 Systems Development

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-12

McGraw-Hill

10.1 Systems Development

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 users

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-13

McGraw-Hill

10.1 Systems Development

Phase 6: Maintain 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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-14

McGraw-Hill

10.2 Programming: A Five-Step Procedure

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 problem

2. Design the program

3. Code the program

4. Test the program

5. Document and maintain the program

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-15

McGraw-Hill

10.2 Programming: A Five-Step Procedure

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-16

McGraw-Hill

10.2 Programming: A Five-Step Procedure

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)

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-17

10.2 Programming: A Five-Step Procedure

Pseudocode

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-18

10.2 Programming: A Five-Step Procedure

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-19

McGraw-Hill

10.2 Programming: A Five-Step Procedure

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-20

10.2 Programming: A Five-Step Procedure

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-21

McGraw-Hill

10.2 Programming: A Five-Step Procedure

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-22

McGraw-Hill

10.2 Programming: A Five-Step Procedure

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-23

McGraw-Hill

10.2 Programming: A Five-Step Procedure

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-24

McGraw-Hill

10.3 Five Generations of Programming Languages

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-25

McGraw-Hill

10.3 Five Generations of Programming Languages

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-26

McGraw-Hill

10.3 Five Generations of Programming Languages

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-27

McGraw-Hill

10.3 Five Generations of Programming Languages

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-28

McGraw-Hill

10.3 Five Generations of Programming Languages

Fifth Generation: Natural Languages Programming languages that use human language to

give people a more natural connection with computers Part of the field of artificial intelligence (AI; Chapter 8)

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-29

McGraw-Hill

10.4 Programming Languages Used Today

FORTAN 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 mainframe computers A machine-independent procedural language

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-30

McGraw-Hill

10.4 Programming Languages Used Today

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-31

McGraw-Hill

10.4 Programming Languages Used Today

C General-purpose machine-independent compiled

language developed for mid-range computers Used to write the Unix operating system Widely used for writing common software applications

and is necessary for programmers to know Doesn’t handle math as well as FORTRAN

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-32

McGraw-Hill

10.4 Programming Languages Used Today

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

programs

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-33

McGraw-Hill

10.5 Object-Oriented & Visual Programming

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 action

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-34

McGraw-Hill

10.5 Object-Oriented & Visual Programming

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© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-35

McGraw-Hill

10.5 Object-Oriented & Visual Programming

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)

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-36

McGraw-Hill

10.5 Object-Oriented & Visual Programming

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-37

McGraw-Hill

10.6 Markup & Scripting Languages

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-38

McGraw-Hill

10.6 Markup & Scripting Languages

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-39

McGraw-Hill

10.6 Markup & Scripting Languages

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-40

McGraw-Hill

10.6 Markup & Scripting Languages

ActiveX Developed by Microsoft as an alternative to Java for creating

interactive web pages A 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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-41

McGraw-Hill

10.6 Markup & Scripting Languages

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

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-42

McGraw-Hill

10.6 Markup & Scripting Languages

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 TCL (Tool Command Language)

Created for the Unix platform Interpreted script language Comparable to JavaScript and Visual BASIC

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.

McGraw-Hill

10-43

McGraw-Hill

10.6 Markup & Scripting Languages

Ruby Basic and completely object-oriented scripting language Open-source language Can be compiled and run on most operating systems

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

databases Normally found on Linux servers with MySQL databases General-purpose scripting language R used in data mining

© 2011 The McGraw-Hill Companies, Inc. All rights reserved.