+ All Categories
Home > Documents > 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step...

10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step...

Date post: 26-Mar-2015
Category:
Upload: alexandra-caldwell
View: 218 times
Download: 0 times
Share this document with a friend
Popular Tags:
42
10-1
Transcript
Page 1: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-1

Page 2: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

Systems Analysis & Systems Analysis & ProgrammingProgramming

10.1 Systems Development

10.2 Programming: A Five-Step Procedure

10.3 5 Generations of Programming Languages

10.4 Programming Languages Used Today

10.5 Object-Oriented & Visual Programming

10.6 Markup & Scripting Languages

Chapte

r1010

McGraw-Hill/Irwin © 2007 The McGraw-Hill Companies, Inc. All rights reserved.

Page 3: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-3

Systems DevelopmentSystems DevelopmentOrganizations can make mistakes, and big organizations can

make really big mistakesMurphy’s Law: Whatever can go wrong, will go wrong, and at the worst possible time

A system A collection of related components that interact to

perform a task in order to accomplish a goalSystems Development

6-phase process of gathering information about system requirements and using that to develop a new system that improves productivity

Warning! Road Out!

Page 4: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-4

Systems DevelopmentSystems Development

The three kinds of users of a project are: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, as they control the budget and resourcesTechnical staff

The Information Systems or IT staff must be involved so they can make sure the technology is there

Page 5: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-5

Systems DevelopmentSystems Development

Systems AnalystAn information specialist who performs systems

analysis, design, and implementation

His or her job is to study the information and communications needs of an organization and determine what changes are needed to deliver better information to the people who need it

Page 6: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-6

Systems DevelopmentSystems Development

The 6 phases of systems analysis & design are: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

Page 7: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-7

Systems DevelopmentSystems Development

Phase 1: Conduct a preliminary investigationConduct a preliminary analysisPropose 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 systemDescribe costs and benefitsSubmit a preliminary plan with recommendations

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

Page 8: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-8

Systems DevelopmentSystems DevelopmentPhase 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 system modeling tools, such as CASE tools Create a data flow diagram to show how data flows through the

system Write a report and get approvals for next phase

Document how the current system works Document problems with the current system Describe the requirements for the new system

Page 9: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-9

Systems DevelopmentSystems DevelopmentPhase 3: Design the system

Notice that you don’t design the new system until you have done phase 2 since that establishes the requirements it must meet!

Do a preliminary design Often involves prototyping

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

Write a report and get approvals for next phase

Page 10: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-10

Systems DevelopmentSystems Development

Phase 4: Develop the systemDevelop or acquire the softwareAcquire and integrate the hardwareTest the system

Unit testing Systems testing with both analysts and end-users End-user testing is critical, as they don’t know the software

and will show the developers where they forgot something

Page 11: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-11

Systems DevelopmentSystems Development

Phase 5: Implement the systemChoose a strategy to convert to the new system

Direct implementation Parallel implementation Phased implementation Pilot implementation

Train the users Document the system Give classes or train the trainers

Page 12: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-12

Systems DevelopmentSystems Development

Phase 6: Maintain the systemPerform periodic evaluationsMake changes to the system based on new conditionsDocument those changes

Page 13: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-13

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

A program is a list of instructions that the computer must follow to process data into information

The five steps are1. Clarify/define the problem

a. Clarify the program objectives & usersb. Clarify outputsc. Clarify inputsd. Clarify processing taskse. Study the feasibility of the programf. Document the analysis

2. Design the program3. Code the program4. Test the program5. Document and maintain the program

Page 14: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-14

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

Step 2: Design the programCreate an algorithm or set of steps to solve the problem

Traditional structured programming approach Determine program logic using top-down approach & modules Design details using pseudocode or flow charts

Alternative object-oriented approach Use “Use Case” approach to determine program objects, object

inheritance, and actions or functions each object can perform Identify major program components and organize related

functions and associated data into object classes This is the approach used by object-oriented languages such

as Java, C#, Lisp, Visual Basic, and C++ For more information on object-oriented programming, visit

http://oopweb.com/ or http://java.sun.com/docs/books/tutorial/java/concepts/

Page 15: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-15

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

A hierarchy chart

Page 16: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-16

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

Panel 10.13Pseudocode

START

DO WHILE (SO LONG AS) THERE ARE RECORDS

Read a customer billing account record

IF today’s date is greater than 30 days from

date of last customer payment

Calculate total amount due

Calculate 5% interest on amount due

Add interest to total amount due to calculate

Grand total

Print on invoice overdue amount

ELSE

Calculate total amount due

ENDIF

Print out invoice

END DO

END

Page 17: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-17

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

● PANEL 10.14Example of a programflowchart andexplanation offlowchart symbolsThis example represents aflowchart for a payrollprogram.

Page 18: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-18

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

Iteration and sequence

control structures

Page 19: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-19

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

Step 3: Code the programTranslate the logic requirements into a programming

languageProgramming language is a set of rules that tells the

computer what operations to doEach 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

Page 20: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-20

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

Step 4: Test the programDesk checking is done by the programmer who checks

for syntax errors and logic errorsDebugging is the process of detecting, locating, and

removing all errors in a computer programBeta 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

Page 21: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-21

Programming: A Five-Step Programming: A Five-Step ProcedureProcedure

Step 5: Document & Maintain the program Documentation is written descriptions of what a program is and

how to fix it There are several types of documentation that should be

written User documentation – for the people who will use your program Operator documentation – for the people who run the large

computers the program runs on – so they know what to do if the program or computer malfunctions

Programmer documentation – for the next programmer who must modify and maintain what you have written

Maintain the program Fix any errors that are noticed once the program is in production Update the program to reflect new requirements

Page 22: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-22

55 Generations of Programming Generations of Programming LanguagesLanguages

1945 – 1st Generation – Machine Language The basic language of the computer – all zeros and ones Each CPU architecture had a different machine language

Mid-1950s – 2nd Generation – Assembly LanguageMid-1950s to 60s – 3rd Generation – High-level Languages

(procedural languages) such as FORTRAN, COBOL, BASIC, CEarly 1970s – 4th Generation – Problem-oriented Languages such

as Intellect, NOMAD, FOCUSEarly 1980s – 5th Generation – Natural Languages

Page 23: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-23

55 Generations of Programming Generations of Programming LanguagesLanguages

1945 – 1st Generation – Machine LanguageMid-1950s – 2nd Generation – Assembly Language

Mnemonic version of machine language Faster to program in than machine language Each CPU architecture had a different assembler

Mid-1950s to 60s – 3rd Generation – High-level Languages (procedural languages) such as FORTRAN, COBOL, BASIC, C

Early 1970s – 4th Generation – Problem-oriented Languages such as Intellect, NOMAD, FOCUS

Early 1980s – 5th Generation – Natural Languages

Page 24: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-24

55 Generations of Programming Generations of Programming LanguagesLanguages

1945 – 1st Generation – Machine LanguageMid-1950s – 2nd Generation – Assembly LanguageMid-1950s to 60s – 3rd Generation – High-level Languages

(procedural languages) such as FORTRAN, COBOL, BASIC, C These languages are portable (the same across all CPUs) The programmer writes, then interprets or compiles the

programs The compiler or interpreter translates the code into the CPU-

specific assemblerEarly 1970s – 4th Generation – Problem-oriented Languages such

as Intellect, NOMAD, FOCUSEarly 1980s – 5th Generation – Natural Languages

Page 25: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-25

55 Generations of Programming Generations of Programming LanguagesLanguages

1945 – 1st Generation – Machine LanguageMid-1950s – 2nd Generation – Assembly LanguageMid-1950s to 60s – 3rd Generation – High-level Languages

(procedural languages) such as FORTRAN, COBOL, BASIC, CEarly 1970s – 4th Generation – Problem-oriented Languages such

as Intellect, NOMAD, FOCUS Easier to program in than 3rd generation languages Three types are:

Report generators Query languages Application generators

Early 1980s – 5th Generation – Natural Languages

Page 26: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-26

55 Generations of Programming Generations of Programming LanguagesLanguages

1945 – 1st Generation – Machine LanguageMid-1950s – 2nd Generation – Assembly LanguageMid-1950s to 60s – 3rd Generation – High-level Languages

(procedural languages) such as FORTRAN, COBOL, BASIC, CEarly 1970s – 4th Generation – Problem-oriented Languages such

as Intellect, NOMAD, FOCUSEarly 1980s – 5th 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

Page 27: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-27

Programming Languages Used Programming Languages Used TodayToday

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 Writing COBOL is like writing an outline

Has 4 divisions: Identification, Environment, Data, and Procedure A machine-independent procedural language

Page 28: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-28

Programming Languages Used Programming Languages Used TodayToday

BASICDesigned to be an easy language to useUsually run from an interpreter, but can be compiledProcedural languageSupplanted by Microsoft’s Visual Basic for

commercial/business use Pascal

Designed to be a language to teach programmingStructured, compiled languageNot used in business or commercial companies

Page 29: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-29

Programming Languages Used Programming Languages Used TodayToday

C General-purpose machine-independent compiled language The language used to write the Unix operating system The precursor to C++ and C# Permits very efficient coding and low memory utilization

through direct allocation and manipulation of computer memoryC++

Object-oriented language that was developed after C Permits encapsulation, object inheritance, and object reuse Often used to write computer games and CPU- and graphics-

intensive applications Tougher to program in than Visual Basic, Java, or C#

Page 30: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-30

Programming Languages Used Programming Languages Used TodayToday

Java Object-oriented programming language developed at Sun

Microsystems by James Gosling and colleagues in the early 1990s Derivative of C++ with simpler memory management and syntax Is platform-independent, but is licensed by Sun Microsystems, which

owns development rights to Java Used in many US businesses

C# Microsoft’s answer to losing the Java licensing agreement

infringement lawsuit to Sun Contains a similar syntax to Java, but with additional C++ and Visual

Basic-like features Used in many U.S. businesses – one of the hottest languages for

“Help Wanted” ads in www.monster.com

Page 31: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-31

Programming Languages Used Programming Languages Used TodayToday

LISP Stands for LISt Processor Developed by Prof. John McCarthy of the Massachusetts

Institute of Technology To develop an algebraic list processing language for Artificial

Intelligence work Macsyma is a renowned LISP application

Macsyma allows users to type in an algebraic equation such as (a x a x a) x b / (a x a) + 3 = c

Macsyma then manipulates the equation and simplifies it while keeping it in its algebraic form to derive the solution, which would be c = a x b + 3

This is very different from most programs that allow you to enter numbers and produce numeric solutions but can’t show you what the simplified algebraic equation looks like

http://www.scientek.com/macsyma/main.htm

Page 32: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-32

Object-Oriented & Visual Object-Oriented & Visual ProgrammingProgramming

In Object oriented Programming (OOP) data and processing instructions are combined into an object that can be reusedObject

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

Page 33: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-33

Object-Oriented & Visual Object-Oriented & Visual ProgrammingProgramming

Black Box Objects are like a black box in that the

actions and the objects are specified, but

the methods used are internal to the object This means the programmer that uses an object does not need to

know how the program inside the object does what it does For example, Microsoft Excel is like an object

Most of us use Excel without understanding what the programmers at Microsoft did to make Excel work

If we had to know that, it would take a lot longer to learn how to use Excel! Programmers who use objects can write programs a lot faster, because

objects save so much work

Page 34: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-34

Object-Oriented & Visual Object-Oriented & Visual ProgrammingProgramming

3 basic concepts of OOP Encapsulation

One object contains (encapsulates) both Data 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 each other

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

Page 35: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-35

Object-Oriented & Visual Object-Oriented & Visual ProgrammingProgramming

DoorsHave a Handle

openclose

Patio doorsHave a slider

slide openslide closed

Front doorsHave locks

Car doorsHave locks

Have windows

The “Door” classActions

performed by a door Subclasses of

doors inherit from the door class, but also have their own unique actions and attributes

Notice we only list the actions & attributes when

they differ from those of class

Example of Inheritance Hierarchy with Specialization

Page 36: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-36

Object-Oriented & Visual Object-Oriented & Visual ProgrammingProgramming

Visual Basic is an example of visual programmingUsing a mouse, the programmer drags and drops objects

on screenThe objects are arranged to make up the graphical user

interface for the program being writtenBy double-clicking on those objects, the programmer can

get into a coding window and write the programs to control the actions and behaviors of those objects

This makes it fast and easy to build prototype user interfaces and get end-user approval before doing a lot of programming

If you have Visual Basic installed on your school’s computers, this would be a great time to try it out.

Page 37: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-37

Markup & Scripting LanguagesMarkup & Scripting Languages

A markup language is a kind of coding or “tags” inserted into text that embeds details about the structure and appearance of the text.

Open up a text editor such as Notepad or Wordpad, and enter the following text:

Then save the file on your desktop. Name it sample.htmNow open your internet browser and view it by clicking “file open”

and navigating to your desktop

<body bgcolor = "yellow"><h2> <p>My name is </h2><b><i><font color=“red”>your name</font></i></b></p>And I <b><h1>love</h1></b> this class!!!</body>

Page 38: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-38

Markup & Scripting LanguagesMarkup & Scripting Languages

So how did thisTurn into this?

By HTML tags

<body bgcolor = "yellow"><h2> <p>My name is </h2><b><i><font color=“red”>your name</font></i></b></p>And I <b><h1>love</h1></b> this class!!! </body>

My name is your name

And I

lovethis class!!!

The <body bgcolor = “”> tag defines the page color

The <h2> tag means a heading of size 2

The <h1> tag means a heading of size 1

The <i> tag means to italicize the text

The <b> tag means to bold the text

The <p> tag means to start a new paragraph

And the / inside a tag means to end that format

There are a LOT of other HTML tags

Page 39: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-39

Markup & Scripting LanguagesMarkup & Scripting Languages

HTML Hypertext markup languageUsed to create web pagesAlso lets you insert a hypertext link in a web page

VRMLVirtual Reality Modeling for Markup Language is used to

create three-dimensional web pages including interactive animation

Requires special VRML browser to view those pages

Page 40: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-40

Markup & Scripting LanguagesMarkup & Scripting Languages

XMLeXtensible 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 tagsXML statements define data content

JavaScriptNot the same language as JavaAn object-oriented scripting language that adds

interactive functions to web pages

Page 41: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-41

Markup & Scripting LanguagesMarkup & Scripting Languages

ActiveXDeveloped by Microsoft as an alternative to Java for

creating interactivity on web pagesA set of controls or components that enable programs or

content of almost any type to be embedded in a web page

Often used by crackers to propagate viruses and/or trojans

Before you allow an ActiveX component to download from your browser to your PC, make sure you trust that website!

Page 42: 10-1. Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure 10.3 5 Generations of Programming Languages 10.4.

10-42

Markup & Scripting LanguagesMarkup & Scripting Languages

PerlA general-purpose programming language developed for

text manipulation.Developed in 1987 by Larry WallNow used for web development, network programming,

system administration, GUI development, other tasksWidely used for web server programs to perform

automatic tasks such as updating user accounts and newsgroup postings


Recommended