Systems Analysis & Programming

Slides:



Advertisements
Similar presentations
Systems Analysis & Programming
Advertisements

Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Computers Are Your Future
Programming System development life cycle Life cycle of a program
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Computers: Tools for an Information Age
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Objectives Overview Define system development and list the system development phases Identify the guidelines for system development Discuss the importance.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
CSE 1301 J Lecture 2 Intro to Java Programming Richard Gesick.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
UNIT 21 Software Engineering.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Pages.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Chapter 13 Programming Languages and Program Development 1.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Programming Languages: Telling the Computers What to Do Chapter 16.
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
CC111 Lec#5: Program Development 1 Program Development and Programming Languages Lecture 4 Reference :Understanding Computers Chapter 13.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
1 UNIT 20 Software Engineering Lecturer: Ghadah Aldehim.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
1 Pertemuan 26 Bahasa-bahasa Pemrograman (Lanjutan) Matakuliah: T0604-Pengantar Teknologi Informasi Tahun: 2008 Versi: 2.0/0.0 Williams, B.K, Stacy C.
CMPE13Cyrus Bazeghi 1 Programming Languages Telling computers what to do.
Visual C++ Programming: Concepts and Projects
1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
Software Development Programming & Languages. Programming: A Five-Step Procedure Define the problem Design a solution Code the program Test the program.
1 Pertemuan 25 Bahasa-bahasa Pemrograman Matakuliah: T0604-Pengantar Teknologi Informasi Tahun: 2008 Versi: 2.0/0.0 Williams, B.K, Stacy C. Sawyer (2007).
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
1 Bahasa-bahasa Pemrograman Williams, B.K, Stacy C. Sawyer (2007). Using Information Technology: A Practical Introduction to Computers & Communications.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
1 Pengembangan Sistem Informasi Williams, B.K, Stacy C. Sawyer (2007). Using Information Technology: A Practical Introduction to Computers & Communications.
Systems Analysis & Programming 10.1 Systems Development 10.2 Programming: A Five-Step Procedure Generations of Programming Languages 10.4 Programming.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
CHAPTER ELEVEN Information System Development and Programming Languages Copyright © Cengage Learning. All rights reserved.
Lecture 1 Introduction Richard Gesick.
CSCI-235 Micro-Computer Applications
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Bahasa-bahasa Pemrograman
Introduction to Computers and Java
Objectives Overview Differentiate between machine and assembly languages Identify and discuss the purpose of procedural programming languages, and describe.
Unit# 8: Introduction to Computer Programming
Chapter 12 Programming Concepts and Languages.
Building Systems & Applications Software Development, Programming, & Languages 10 Chapter.
Pengembangan Sistem Informasi
Bahasa-bahasa Pemrograman
Chapter 1 Introduction(1.1)
The Programming Process
Pengembangan Sistem Informasi
and Program Development
Principles of Programming Languages
SOFTWARE TECHNOLOGIES
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Database & Information Systems
Programming Logic and Design Eighth Edition
Presentation transcript:

Systems Analysis & Programming 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 McGraw-Hill/Irwin © 2007 The McGraw-Hill Companies, Inc. All rights reserved.

Systems Development A system 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 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 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 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 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 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 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 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 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 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 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 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 Procedure A hierarchy chart

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 ENDIF Print out invoice END DO END

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 Procedure Iteration and sequence control structures

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

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

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 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 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 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 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 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 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 Programming Example of Inheritance Hierarchy with Specialization Actions performed by a door The “Door” class 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 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 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 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 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 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 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 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