Technology in Action. Chapter Topics (cont.) Chapter Topics. Reasons for Software Programming. Information Systems 10/29/2010

Similar documents
Technology in Action. Chapter Topics. Scope creep occurs when: 3/20/2013. Information Systems include all EXCEPT the following:

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Tenth Edition. Copyright 2014 Pearson Education, Inc. Publishing as Prentice Hall

Discovering Computers Chapter 13 Programming Languages and Program Development

Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

Programming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102

Low-Level Languages. Computer Programs and Programming Languages

Chapter 11 Program Development and Programming Languages

Planning and Designing Your Site p. 109 Design Concepts p. 116 Summary p. 118 Defining Your Site p. 119 The Files Panel p. 119 Accessing Your Remote

Lesson 12: JavaScript and AJAX

ITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University

Objective: To learn meaning and concepts of programming. Outcome: By the end of this students should be able to describe the meaning of programming

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)

Cleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing

Introduction to Computers and Visual Basic.Net Pearson Education, Inc. All rights reserved.

Chapter 1: Why Program? Main Hardware Component Categories 8/23/2014. Main Hardware Component Categories: Why Program?

Certified Selenium Professional VS-1083

Chapter 1: Why Program? Computers and Programming. Why Program?

Chapter 1: Introduction to Computers and Programming

Introduction to Programming: Variables and Objects. HORT Lecture 7 Instructor: Kranthi Varala

Discovering Computers Living in a Digital World

CHAPTER 1 Introduction to Computers and Java

DAVID M. KROENKE and DAVID J. AUER. DATABASE CONCEPTS, 7 th Edition. Chapter Seven. Database Processing Applications. Chapter Objectives

Introducing Computer Programming

CGT 456 Lecture 1. Introduction to Computers & Programming

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

CTI Short Learning Programme in Internet Development Specialist

C H A P T E R 1. Introduction to Computers and Programming

In this third unit about jobs in the Information Technology field we will speak about software development

Job Ready Assessment Blueprint. Computer Programming. Test Code: 3023 / Version: 01

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS. INTRODUCTION TO INTERNET SOFTWARE DEVELOPMENT CSIT 2230 (formerly CSIT 2645)

CTI Higher Certificate in Information Systems (Internet Development)

Topics. From UI prototype... About user interfaces. ... via design to implementation. Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 6

Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (Swift, Apps, Javascript, PHP, Python, Sql, HTML) By Os Swift

Appendix A: Objectives and Courseware Locations

Introduction to Engineering Using Robotics Experiments. Dr. Yinong Chen

Part II IT Infrastructure (Computer Software)

Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 2

Information Systems Software

1 The Catholic University of Eastern Africa P.o Box , Nairobi Kenya Edward Kioko 2013

Discovering Computers 2008

Adobe Web Authoring using Adobe Dreamweaver Exam and objectives

Software Development. Integrated Software Environment

Computer Languages, Algorithms and Program Development. How do computers know what we want them to do?

Compilation I. Hwansoo Han

Chapter Twelve. Systems Design and Development

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

WebDev. Web Design COMBINES A NUMBER OF DISCIPLINES. Web Development Process DESIGN DEVELOPMENT CONTENT MULTIMEDIA

Tutorial Point Servlets Pdf

Dynamic Languages Toolkit. Presented by Andrey Tarantsov

Introduction to Information Technology Turban, Rainer and Potter John Wiley & Sons, Inc. Copyright 2005

Graphics Design and Applied Arts บทท 6 การออกแบบเว บเบ องต น

1. Setup a root folder for the website 2. Create a wireframe 3. Add content 4. Create hyperlinks between pages and to external websites

Tutorial Point On Html5 Pdf

9/11/08 (c) 2008 Matthew J. Rutherford Class (c) 2008 Matthew J. Rutherford Class

CS240: Programming in C

Objectives Definition iti of terms Importance of data modeling Write good names and definitions for entities, relationships, and attributes Distinguis

CHAPTER 1: INTRODUCTION TO COMPUTERS AND PROGRAMMING. 1 Muhalim Mohamed Amin Faculty of

Appendix F Course codes, descriptions, units, lecture/lab

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

PASCO SHERIFF S OFFICE POSITION DESCRIPTION

Principles in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2014 Euiseong Seo

Programming/Network Programming

Principles in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2015 Euiseong Seo

Connecting with Computer Science Chapter 5 Review: Chapter Summary:

2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

Introduction to Computers and Java

Strand CS Standard Aligned Standard Aligned Standard

CPET 581 E-Commerce & Business Technologies. Topics

Visual Basic Scripting

INFS 214: Introduction to Computing

Computing and compilers

Introduction to Computers and Java

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

DIABLO VALLEY COLLEGE CATALOG

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1

MP5: Hypermedia Integration- Dreamweaver

Atlantic Technical College Web Development Program Syllabus Instructor Office Hours:

Syllabus Course Number: CS 412 Course Title: Web and Database Programming

LECTURE 2. Compilers and Interpreters

Java and Software Design

USER GUIDE. MADCAP FLARE 2017 r3. Accessibility

Agenda. INTRODUCTION TO WEB DEVELOPMENT AND HTML <Lecture 1> 1/20/2013. What is a Web Developer? Rommel Anthony Palomino Spring

Chapter 1. Introduction to Programming and Visual Basic Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of

COP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

General Concepts. Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design

Test Bank for Prelude to Programming Chapter 0

Languages in WEB. E-Business Technologies. Summer Semester Submitted to. Prof. Dr. Eduard Heindl. Prepared by

Web Development for Dinosaurs An Introduction to Modern Web Development

E-commerce. business. technology. society. Kenneth C. Laudon Carol Guercio Traver. Sixth Edition

SCSP Programming Technique C

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

Job Ready Assessment Blueprint. Computer Programming. Test Code: 4023 / Version: 01

Interview Questions And Answers For Experienced Candidates In Php Mysql

1Site Development Foundations Objectives and Locations

Transcription:

Technology in Action Chapter 10 Behind the Scenes: Building Applications 1 2 Chapter Topics System development life cycle Life cycle of a program Problem statement Algorithms Moving from algorithm to code Chapter Topics (cont.) Moving from code to machine language Testing programs Completing a program Selecting the right programming language Most popular programming languages 3 4 Information Systems System A collection of pieces working together to achieve a common goal An information system includes Data People Procedures Hardware and software Reasons for Software Programming Some types of tasks are candidates for automation as a software program Routine Repetitive Work with electronic data Follow a series of clear steps A new software program can be created when existing programs do not suffice. 5 6 1

System Development Life Cycle Problem and Opportunity Identification The existing system is evaluated Problems are defined New proposals are reviewed Decisions are made to proceed with the projects The process is documented Relevant problems and opportunities are defined 7 8 Analysis A program specification (goals and objectives of the project) is developed A feasibility assessment is performed User requirements are defined Analysts recommend a plan of action Design A detailed plan for programmers is developed Flowcharts and data-flow diagrams are used for the current and proposed system Data-flow diagram Flowchart 9 10 Development and Documentation Actual programming takes place First phase of the program development life cycle (PDLC) Development is documented User documentation is created Testing and Installation Program is tested for proper operation Program is installed for use Testing and results are documented 11 12 2

Maintenance and Evaluation Ethics in IT Performance of the system is monitored Corrections and modifications to the program are made Maintenance procedures and results are documented 13 The Association of Computing Machinery (ACM) and the Institute of Electrical and Electronic Engineers (IEEE) have established eight principles for ethical software engineering practices: 1. Public 2. Client and Employer 3. Product 4. Judgment 14 Ethics in IT Ethical software engineering practices (cont.): 5. Management 6. Profession 7. Colleagues 8. Self Joint Application Development (JAD) Helps designers adapt to changes in program specifications Includes customer involvement No communication delays Also referred to as: Accelerated design Facilitated team technique 15 16 The Life Cycle of a Program Programming is the process of translating a task into a series of commands a computer will use to perform that task Programming involves Identifying the parts of a task the computer can perform Describing tasks in a specific and complete manner Translating the tasks into a language understood by the computer s CPU Program Development Life Cycle 17 18 3

Step 1: Describing the Problem The problem statement: Is the starting point of programming Describes tasks the program is to accomplish Describes how the program will execute the tasks Is created through interaction between the programmer and the user Includes error handling, a testing plan, and output values Parking Garage Example Program Goal: To compute the total pay for a fixed number of hours worked at a parking garage. Inputs: Number of Hours Worked... a positive number Outputs: Total Pay Earned... a positive number Process: The Total Pay Earned is computed as $7.50 per hour for the first eight hours worked each day. Any hours worked beyond the first eight are billed at $11.25 per hour. Error Handling: The input Number of Hours Worked must be a positive real number. If it is a negative number or other non-acceptable character, the program will force the user to re-enter the information. Testing Plan: INPUT OUTPUT NOTES 8 8*7.50 Testing positive input 3 3*7.50 Testing positive input 12 8*7.50 + 4*11.25 Testing overtime input 6 Error message/ask user to Handling error reenter value 19 20 Step 2: Developing an Algorithm Flowchart and Pseudocode Algorithm development A set of specific, sequential steps that describe what the program must do Complex algorithms include decision points Binary (yes/no) Loop (repeating actions) Visual tools used to track algorithm and decision points Flowchart Pseudocode Bold terms show actions that are common in programming, such as reading data, making decisions, printing, and so on. 1. Ask the user how many hours they worked today 2. If the number of hours worked < = 8, compute total pay without overtime otherwise, compute total pay with overtime pay 3. Print total pay Underlined words are information items that appear repeatedly in the algorithm. 21 22 Top-Down Design Problem is divided into a series of high-level tasks Detailed subtasks are created from high-level tasks Object-Oriented Analysis Classes (categories of inputs) are identified Classes are defined by information (data) and actions (methods or behaviors) Reusability is key 24 4

Step 3: Coding Coding is translating an algorithm into a programming language Generations of programming languages 1GL: Machine 2GL: Assembly 3GL: FORTRAN, BASIC, C, Java 4GL: SQL 5GL: PROLOG Compilation Compilation is the process of converting code into machine language The compiler reads the source code and translates it into machine language After compilation, programmers have an executable program 25 26 Interpreter Some programming languages do not have a compiler but use an interpreter instead The interpreter translates source code into a line-by-line intermediate form Each line is executed before the next line is compiled Programmers do not have to wait for the entire program to be recompiled each time they make a change Programmers can immediately see the results of changes as they are making them 27 Coding Tools: Integrated Development Environments Editor: Special tool that helps programmers as they enter the code Debugging: Removal of errors in code Syntax error: Mistake in use of the language Logic error (runtime error): Mistake in the algorithm 28 Step 4: Debugging Running a program to find errors is known as debugging Sample inputs are used to determine runtime (logic) errors Debugger: Tool that helps programmers locate runtime errors 29 Step 5: Finishing the Project Users test the program (internal testing) Beta version released Information collected about errors before final revision Software updates (service packs) Problems found after commercial release Documentation created User manuals User training 30 5

Popularity of Programming Languages C/C++ and Java are among the most popular programming languages. Programming Languages Selecting the right language Space available Speed required Organizational resources available Type of target application 31 32 Windows Applications: Visual Basic 2008 Used to build Windows applications Object-oriented language Visual Basic 2008 is the current version C and C++ C Developed for system programmers Combines high- and low-level programming features Modern operating systems are written in C C++ Uses the same features as C Includes object-oriented design 33 34 Java Object-oriented features Large set of existing classes Architecture neutral Java applets: Small Java-based programs Web Applications HTML/XHTML HyperText Markup Language/eXtensible HyperText Markup Language Not a true programming language Uses special symbols (tags) to control how Web pages are viewed extensible Markup Language (XML) Enables computers to efficiently transfer information between Web sites 35 36 6

Web Applications Scripting languages: Limited to performing a specific set of specialized tasks JavaScript: Used to make Web pages more visually appealing and interactive VBScript: Subset of VB used to add interactivity to Web pages PHP: Another scripting language gaining in popularity Dynamic decision making Web page can display content based on user choices 37 HTML/XHTML Editors Popular tools for creating Web pages Adobe Dreamweaver Microsoft Expression Web No programming is required. 38 Web Applications Active Server Pages (ASP), Java Server Pages (JSP), and PHP Add interactivity to Web pages Translate user information into a request for more information from a company s computer XML Enables designers to define their own databased tags Adobe Flash and Microsoft SilverLight Flash Used to develop Web-based multimedia Includes its own scripting language, ActionScript SilverLight Supports development of multimedia and interactive Web applications 39 40 AJAX The Next Great Language AJAX (Asynchronous JavaScript And XML) Uses a combination of existing technologies like JavaScript, CSS, and XML Allows for information updates without a page refresh Allows for a more responsive user experience Large projects may take 30 minutes to compile Interpreted languages might become more important Python Ruby Smalltalk 41 42 7

Blender Video game development tool Open source Built-in game engine Built-in physics engine Uses logic bricks to simplify programming What is a system development life cycle, and what are the phases in the cycle? 43 44 What is the life cycle of a program? What role does a problem statement play in programming? 45 46 How do programmers create algorithms? How do programmers move from algorithm to code, and what categories of language might they code in? 47 48 8

How does a programmer move from code in a programming language to the 1s and 0s the CPU can understand? How is a program tested? 49 50 What steps are involved in completing the program? How do programmers select the right programming language for a specific task? 51 52 What are the most popular Windows and Web applications? All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 53 Chapter 10 54 9