Slide1 l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 42

Systems Analysis & Programming PowerPoint PPT Presentation


  • 62 Views
  • Uploaded on
  • Presentation posted in: General

10. Chapter. Systems Analysis & Programming. 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.

Download Presentation

Systems Analysis & Programming

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Systems analysis programming l.jpg

10

Chapter

Systems Analysis & Programming

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

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

McGraw-Hill/Irwin


Systems development l.jpg

Systems Development

  • Organizations can make mistakes, and big organizations can make really big mistakes

  • Murphy’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 goal

  • Systems Development

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

Warning! Road Out!


Systems development4 l.jpg

Systems 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 resources

    • Technical staff

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


Systems development5 l.jpg

Systems Development

  • Systems Analyst

    • An 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


Systems development6 l.jpg

Systems Development

  • The 6 phases of systems analysis & design are:

    • Preliminary investigation

    • Systems analysis

    • Systems design

    • Systems development

    • Systems implementation

    • Systems maintenance

  • Information systems are frequently revised and upgraded

  • Steps in the cycle often overlap


Systems development7 l.jpg

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


Systems development8 l.jpg

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 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


Systems development9 l.jpg

Systems Development

  • Phase 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


Systems development10 l.jpg

Systems Development

  • Phase 4: Develop the system

    • Develop or acquire the software

    • Acquire and integrate the hardware

    • Test 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


Systems development11 l.jpg

Systems Development

  • Phase 5: Implement the system

    • Choose 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


Systems development12 l.jpg

Systems Development

  • Phase 6: Maintain the system

    • Perform periodic evaluations

    • Make changes to the system based on new conditions

    • Document those changes


Programming a five step procedure l.jpg

Programming: A Five-Step Procedure

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

  • The five steps are

    • Clarify/define the problem

      • Clarify the program objectives & users

      • Clarify outputs

      • Clarify inputs

      • Clarify processing tasks

      • Study the feasibility of the program

      • Document the analysis

    • Design the program

    • Code the program

    • Test the program

    • Document and maintain the program


Programming a five step procedure14 l.jpg

Programming: A Five-Step Procedure

  • Step 2: Design the program

    • Create 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/


Programming a five step procedure15 l.jpg

Programming: A Five-Step Procedure

  • A hierarchy chart


Programming a five step procedure16 l.jpg

Programming: A Five-Step Procedure

  • Panel 10.13

  • Pseudocode

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


Programming a five step procedure17 l.jpg

Programming: A Five-Step Procedure

● PANEL 10.14

Example of a program

flowchart and

explanation of

flowchart symbols

This example represents a

flowchart for a payroll

program.


Programming a five step procedure18 l.jpg

Programming: A Five-Step Procedure

  • Iteration and sequence

    control structures


Programming a five step procedure19 l.jpg

Programming: A Five-Step Procedure

  • Step 3: Code the program

    • Translate the logic requirements into a programming language

    • Programming language is a 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


Programming a five step procedure20 l.jpg

Programming: A Five-Step Procedure

  • Step 4: Test the program

    • Desk checking is done by the programmer who checks for syntax errors and logic errors

    • Debugging is the process of detecting, locating, and removing all 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


Programming a five step procedure21 l.jpg

Programming: A Five-Step Procedure

  • 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


5 generations of programming languages l.jpg

5 Generations of Programming Languages

  • 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 Language

  • 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


5 generations of programming languages23 l.jpg

5 Generations of Programming Languages

  • 1945 – 1st Generation – Machine Language

  • Mid-1950s – 2nd Generation – Assembly Language

    • Mnemonic version of machine language

    • Faster to program in than machine language

    • Each CPU architecture had a differentassembler

  • 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


5 generations of programming languages24 l.jpg

5 Generations of Programming Languages

  • 1945 – 1st Generation – Machine Language

  • Mid-1950s – 2nd Generation – Assembly Language

  • Mid-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 assembler

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

  • Early 1980s – 5th Generation – Natural Languages


5 generations of programming languages25 l.jpg

5 Generations of Programming Languages

  • 1945 – 1st Generation – Machine Language

  • Mid-1950s – 2nd Generation – Assembly Language

  • 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

    • Easier to program in than 3rd generation languages

    • Three types are:

      • Report generators

      • Query languages

      • Application generators

  • Early 1980s – 5th Generation – Natural Languages


5 generations of programming languages26 l.jpg

5 Generations of Programming Languages

  • 1945 – 1st Generation – Machine Language

  • Mid-1950s – 2nd Generation – Assembly Language

  • 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

    • Programming languages that use human language to give people a more natural connection with computers

    • Part of the field of artificial intelligence


Programming languages used today l.jpg

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

    • Writing COBOL is like writing an outline

      • Has 4 divisions: Identification, Environment, Data, and Procedure

    • A machine-independent procedural language


Programming languages used today28 l.jpg

Programming Languages Used Today

  • BASIC

    • Designed to be an easy language to use

    • 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


Programming languages used today29 l.jpg

Programming Languages Used Today

  • 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 memory

  • C++

    • 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#


Programming languages used today30 l.jpg

Programming Languages Used Today

  • 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


Programming languages used today31 l.jpg

Programming Languages Used Today

  • 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


Object oriented visual programming l.jpg

Object-Oriented & Visual Programming

  • In Object oriented Programming (OOP) data and processing instructions are combined into an 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


Object oriented visual programming33 l.jpg

Object-Oriented & Visual Programming

  • 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


Object oriented visual programming34 l.jpg

Object-Oriented & Visual Programming

  • 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


Object oriented visual programming35 l.jpg

Object-Oriented & Visual Programming

Example of Inheritance Hierarchy with Specialization

The “Door” class

Actions 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


Object oriented visual programming36 l.jpg

Object-Oriented & Visual Programming

  • Visual Basic is an example of visual programming

    • Using a mouse, the programmer drags and drops objects on screen

    • The objects are arranged to make up the graphical user interface for the program being written

    • By 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.


Markup scripting languages l.jpg

Markup & 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.htm

  • Now 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>


Markup scripting languages38 l.jpg

Markup & Scripting Languages

  • So how did this

  • Turn 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

love

this 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


Markup scripting languages39 l.jpg

Markup & Scripting Languages

  • HTML

    • Hypertext markup language

    • Used to create web pages

    • Also lets you insert a hypertext link in a web page

  • VRML

    • Virtual Reality Modeling for Markup Language is used to create three-dimensional web pages including interactive animation

    • Requires special VRML browser to view those pages


Markup scripting languages40 l.jpg

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

    • XML statements define data content

  • JavaScript

    • Not the same language as Java

    • An object-oriented scripting language that adds interactive functions to web pages


Markup scripting languages41 l.jpg

Markup & Scripting Languages

  • ActiveX

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

    • A 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!


Markup scripting languages42 l.jpg

Markup & Scripting Languages

  • Perl

    • A general-purpose programming language developed for text manipulation.

    • Developed in 1987 by Larry Wall

    • Now 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


  • Login