1 / 42

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.

adara
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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!

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

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

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

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

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

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

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

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

  11. Systems Development • Phase 6: Maintain the system • Perform periodic evaluations • Make changes to the system based on new conditions • Document those changes

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

  13. 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/

  14. Programming: A Five-Step Procedure • A hierarchy chart

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

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

  17. Programming: A Five-Step Procedure • Iteration and sequence control structures

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

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

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

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

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

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

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

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

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

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

  28. 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#

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

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

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

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

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

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

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

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

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

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

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

  40. 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!

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

More Related