Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.



Similar documents
Software: Systems and Application Software

Chap-02, Hardware and Software. Hardware Model

Chapter 12 Programming Concepts and Languages

AS/400 System Overview

Chapter 13: Program Development and Programming Languages

Ch. 10 Software Development. (Computer Programming)

Computers: Tools for an Information Age

DIABLO VALLEY COLLEGE CATALOG

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

How To Understand Programming Languages And Programming Languages

Chapter 5: System Software: Operating Systems and Utility Programs

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Computer Layers. Hardware BOOT. Operating System. Applications

Operating Systems 4 th Class

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Rocket AS v6.3. Benefits of upgrading

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. CIV 112 Computer Programming Lecture Notes (1)

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Lecture 6: Operating Systems and Utility Programs

White Paper: 5GL RAD Development

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Specifications of Paradox for Windows

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Click to view Web Link, click Chapter 8, Click Web Link from left navigation, then click BIOS below Chapter 8 p. 395 Fig. 8-4.

Applications Software: Getting the Work Done. Chapter 2

CSCA0101 Computing Basics CSCA0101 COMPUTING BASICS. Chapter 7 Software

Building Applications Using Micro Focus COBOL

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

The IBM Cognos Platform for Enterprise Business Intelligence

International Engineering Journal For Research & Development

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

Operating System Structures

OPC COMMUNICATION IN REAL TIME

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

I/A Series Information Suite AIM*DataLink

Lesson 06: Basics of Software Development (W02D2

SOFTWARE UNIT 1 PART B C O M P U T E R T E C H N O L O G Y ( S 1 O B J A N D O B J 3-2)

OPERATING SYSTEMS Software in the Background. Chapter 2

Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION

Chapter 13: Program Development and Programming Languages

A single user ran a single program ran on a single computer there was no need for Page 1 of 6 Copyright Virtual University of Pakistan

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

The First Suite of OPC-Based Automation Software Components

Remote Desktop Services

Overview and History of Operating Systems

Outline: Operating Systems

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program

1 File Processing Systems

Chapter 4 IT Infrastructure: Hardware and Software

System Structures. Services Interface Structure

Chapter 3. Operating Systems

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Chapter 15 Windows Operating Systems

1/20/2016 INTRODUCTION

Asta Powerproject Enterprise

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

System Requirements Table of contents

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP

Cache Database: Introduction to a New Generation Database

ADOS 6.1. ADOS version 6.1 ADOS 6.1. Effective information archive and retrieval. Security and compliance. Return on investment.

EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL

Introduction: Database management system

All can damage or destroy your company s computers along with the data and applications you rely on to run your business.

Windows Embedded Security and Surveillance Solutions

Introducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child

Learning Objectives. Chapter 1: Networking with Microsoft Windows 2000 Server. Basic Network Concepts. Learning Objectives (continued)

Operating System Software

A Real Time, Object Oriented Fieldbus Management System

Systems Software. Introduction to Information System Components. Chapter 1 Part 2 of 4 CA M S Mehta, FCA

Chapter 8 Operating Systems and Utility Programs

BIT Course Description

1/5/2013. Technology in Action

In Memory Accelerator for MongoDB

Data processing goes big

A Comparison of Enterprise Reporting Tools

Discovering Computers

OPERATING SYSTEM SERVICES

3 SOFTWARE AND PROGRAMMING LANGUAGES

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

FACULTY OF COMPUTER SCIENCE AND ENGINEERING CURRICULUM FOR POSTGRADUATE PROGRAMMES. (Master in Information Technology)

Comparison of Enterprise Reporting Tools

SOFTWARE TECHNOLOGIES

8/25/2008. Chapter Objectives PART 3. Concepts in Enterprise Resource Planning 2 nd Edition

ASHTON-TATE SHIPS dbase IV VERSION 1.1. announced that it shipped version 1.1 of its flagship product,

Effective Java Programming. efficient software development

1.1 Electronic Computers Then and Now

McGraw-Hill The McGraw-Hill Companies, Inc.,

Example of Standard API

Deltek Vision 7.0 LA. Technical Readiness Guide

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

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Selection Criteria for ZigBee Development Kits

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

SQLBase. Starter Guide

Turning ClearPath MCP Data into Information with Business Information Server. White Paper

End-to-end Service Level Monitoring with Synthetic Transactions

Transcription:

C H A P T E R 4 Software: Systems and Application Software Software and Hardware Software can represent 75% or more of the total cost of an IS. Less costly hdwr. More complex sftwr. Expensive developers Software vs. Hardware Costs Types of Software Systems Software Programs that coordinate the activities and functions of the hardware and various other programs. Application Software Programs that help users solve particular computing problems.

Information Systems Spheres of Influence Personal Individual users (personal productivity) Workgroup Two or more people who work together to achieve a common goal Enterprise An entire company interacting with customers, suppliers, government, etc. Software by Sphere of Influence Personal Workgroup Enterprise Systems Software Application Software PC and workst n operating systems WP, DB, Sprdsheet, graphics (Pers Prod) Network operating systems E-Mail, Group Scheduling, Workflow Midrange and mainframe OS Accounting Order entry, Payroll, HR Software Issues and Trends Software Licensing Protection by software vendors to prevent unauthorized use. Software keys Multi-user licenses Software Publishing Association Software bugs: program defects that prevent proper performance Open source software: freely available and modifiable

Software Piracy SIIA (SPA) Settles Suit Against Pirate Selling Software Via Internet Auctions Came on the heels of an SIIA sting operation designed to search for, and to enter into transactions with sellers offering illegal copies of software on popular auction sites such as e-bay and Yahoo Auctions Liable for up to $150,000 per violation Software Issues and Trends Software Upgrades A revised version of software that usually includes fixes of known problems, plus enhancements to existing capabilities Costly? Risky? Covered by maintenance agreements? Risk of discontinued support SYSTEMS SOFTWARE

Role of Systems Software Operating Systems Control the computer hardware and act as an interface with applications programs. Operating System Functions Operating System Functions Perform common computer hardware functions (e.g. I/O) Provide a user interface Provide a degree of hardware independence Manage system memory Manage processing tasks Provide networking capability Control access to system resources Manage files User Interface A function of the operating system that allows individuals to access and command the computer. Text-Based User Interface (e.g. DOS) Requires text commands be given to the computer to perform basic activities. Graphical User Interface (GUI) Uses pictures (icons) and menus displayed on the screen to send commands to the computer system.

GUI Advantages? Hardware Independence Provides a layer between the application software and the hardware. Application Program Interface (API) Same software can be used on various hardware; the OS makes adjustments Changes in hardware may not require a change in application software Memory Management Controls how memory is accessed and maximizes available memory and storage. Translates logical addresses to physical addresses Protects memory used for OS Provides virtual memory

Virtual Memory Virtual Memory Memory that allocates space in secondary storage to supplement the immediate, functional memory capacity of RAM. Paging A function of virtual memory that allows the computer to store currently needed pages in RAM while the rest of these programs wait in secondary storage. Invalid Page Fault The operating system cannot find the data requested Processing Tasks Multitasking A processing activity that allows a user to run more than one application at the same time. Multithreading The ability of a program to manage its use by more than one user at a time without having to have multiple copies of the program. Time-sharing Multiple users simultaneously using the resources of a single processor (scalability). Multitasking Spreadsheet Application Web Browser Application Operating System Word Processing Application

Multi-User Tasks Network capability Aids in connecting the computer to a network. Access to system resources Provides security for unauthorized access. File management Ensures that files in secondary storage are available when needed, and they are protected against unauthorized usage. PC Operating Systems Examples? Network Operating Systems Windows NT Server Windows 2000 Server Up to 32 processors Novell Netware

Utility Programs Utility Programs Programs used to merge and sort sets of data, keep track of computer jobs being run, compress files of data before they are stored or transmitted over a network, check for viruses, and perform other important tasks. (Examples?) APPLICATION SOFTWARE Types of Application Software Proprietary Software Designed to solve a unique and specific problem. In-House Developed or Contract Off-The-Shelf Software An existing software program that can be used without considerable changes expected.

Types of Application Software Customized Package Blend of off-the-shelf software and internal/contract software development. Application Service Provider Source Code? Pros & Cons of Proprietary PROS CONS Pros & Cons of Off-the-Shelf PROS CONS

Personal Application Software Examples? Object Linking and Embedding (OLE) A software feature that allows you to copy, link or embed objects between one program and another program or document. Server application supplies Client application accepts Object = picture, graph, text, spreadsheet, etc. 32 Object Linking and Embedding (OLE) Copy Copy data from server application and place it in client application. Data must be changed on server application and re-copied. 33

Object Linking and Embedding (OLE) Link Create a link in the client application to an object in the server application. Changes must be made in server application. Any changes made to the server object will automatically appear in all linked client objects. Object Linking and Embedding (OLE) Embed An embedded object becomes part of the client document Double-clicking opens server application The server document is no longer needed. Dynamic Data Exchange (DDE) Enables DDE-compatible Windows applications to share data easily with other compatible applications

Workgroup Application Software GroupWare Software that helps groups of people work together more efficiently and effectively E-Mail Group Scheduling (PIMs) Contact Management Lotus Notes (workflow, threaded discussions) 35 E&Y Three C s for Groupware Convenient If it s hard to use, it doesn t get used Content Constant stream of rich, relevant and personalized content Coverage Accessible any time from anywhere Enterprise Application Software Software that benefits the entire organization. Accounts receivable Accounts payable Cash-flow analysis Manufacturing controltable 4.8 General Ledger Sales ordering Order entry Check processing Receiving Retail Operations 36

Enterprise Resource Planning (ERP) Enterprise Application programs that aim to improve the cooperation and interaction between all departments such as product planning, purchasing, manufacturing, sales and customer service Often industry-specific SAP, Oracle, PeopleSoft, Baan 38 Benefits of Enterprise Resource Planning Eliminate inefficient systems Improved data access for decision making Facilitate the adoption of improved work processes Supply chain management 38 Downside of Enterprise Resource Planning Costly Changed business processes Employee resistance 38

PROGRAMMING Algorithms Computers are fast, but not intelligent They need algorithms A precise set of instructions that describes how to perform a specific task. Describes the environment and the steps e.g. A recipe The algorithms must be provided in a language the computer can understand Programming Languages Coding schemes used to write both systems and application software. Function is to provide instructions (algorithms) that the computer system can understand so that it can perform a processing activity (execute). A variety of languages Basic, Cobol, C++, Perl, Java

Program A set of algorithms written using a programming language (source code) Must be translated into something the computer can understand (execute) Language Translators Systems software that converts a programmer s source code into its equivalent in machine language (object code) and detects syntax errors. Interpreters translate one program statement at a time as a program is running Compilers (assemblers) convert a complete program into machine language that the computer can process in its entirety Interpreter Program Statement Interpreter Machine Language Statement Statement Execution

Compiler High- Level Language Compiler Machine Language Program Compiled Program Program Execution Programming 1. Algorithm a. Get two numbers b. Add them c. Display the result 3. Executable Code 011101010 01001010010 010001010 01110100010 001110010 01010001100 Programmer 2. Source Code a. INPUT A,B b. C=A+B c. PRINT C Compiler Syntax All languages have a syntax The grammar, structure, or order of the elements in a language statement Syntax can be extremely rigid as in the case of most assembler languages or less rigid in others

1GL - Machine Language Machine code is the elemental (low-level) language of computers, consisting of a stream of 0's and 1's (binary code) Machine Language The computer's processor reads in and processes a certain number of 0's and 1's at a time. 1 statement = 1 instruction. A 32-bit processor reads in 32 bits at a time To make machine language easier to read, one hexadecimal can represent four binary digits. Two hexadecimal digits can represent eight binary digits, or a byte (e.g. 1111 0111=F7=247). 2GL Assembly Language Uses symbols rather than binary digits to communicate instructions Then converted into machine code by a program called an assembler e.g. L 8,3000 = load the value at memory location 3000 into register 8 Programmers still had to keep track of where everything was stored in memory.

3GLs Basic, COBOL, C, C++, Fortran Use English-like commands One or two keywords (macros) replaced 5-7 assembly instructions e.g. READ HOURS_WORKED Labels replaced memory locations The keywords and labels are converted into machine codes 4GLs More English-like than 3GLs Non-procedural Programmers do not have to give step by step instructions to perform a function e.g. for every worker if hours are greater than 40 multiply overtime by 1.5 Each statement in a 4GL language can be converted to 30 to 50 assembly instructions 4GLs Structured Query Language (SQL) A standardized language often used to perform database queries and manipulations. Oracle, Powerhouse, FOCUS, 4GL

Object Oriented Languages A revolutionary concept that changed the rules in computer programming Organized around objects Modeled after real-world objects (e.g. houses) Object Oriented Languages Polymorphism: One procedure can work with multiple objects. Inheritance: an object in a particular class gets attributes of that class Lower costs Reduced testing Faster implementation Visual Programming Languages Languages that use a mouse, icons, or symbols on the screen and pull-down menus to develop programs. Easy to use; intuitive Tend to run slowly Poor connectivity features Lack power and flexibility Visual Basic, VBA, Visual C++

Fifth-Generation Languages Knowledge-based programming An approach to the development of computer programs in which you do not tell a computer how to do a job, but what you want it to do. Natural Language, Artificial Intelligence No programming experience required Prolog, LISP Selecting a Language Trade offs of language characteristics, cost, control & complexity Assembly language programs are fast & efficient & offer the programmer control over the hardware Third- and fourth- generation languages are easier to learn & use