What is software? Processor needs instructions that tell it what to do

Slides:



Advertisements
Similar presentations
Lecture 1: Overview of Computers & Programming
Advertisements

Computers Are Your Future
Managing Software Assets Chapter Six. SoftwareInformation Systems for Management2 Software Software: Detailed instructions that control the operation.
Software: Systems and Application Software
מחשבים ומערכות מידע – יסמין ויערה יובל דן-גור הרצאה 6 יסמין ויערה n חלק 1: חזרה מהירה – מה למדנו בהרצאה 5? n חלק 2: קבצים ובסיסי נתונים. n חלק 3:
Computers: Tools for an Information Age
Software: Systems & Application Software Chapter 4.
Tuesday, January 25, Management of Information Systems: Mini-3 Spring 2000.
© Prentice Hall CHAPTER 3 Computer Software.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
Technology Guide 2 Software.
Chapter 3 Software Two major types of software
Computer Software.
Computer for Health Sciences
CS102 Introduction to Computer Programming
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Lesson 6 Operating Systems and Software
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.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
7. INFORMATION SYSTEMS SOFTWARE 7.1. INFORMATION SYSTEM INFORMATIONSYSTEM BUSINESSCHALLENGE BUSINESSSOLUTIONS MANAGEMENTINFORMATIONTECHNOLOGYORGANIZATION.
7.1. LEARNING OBJECTIVES DESCRIBE MAJOR TYPES OF SOFTWAREDESCRIBE MAJOR TYPES OF SOFTWARE EXAMINE SYSTEM SOFTWARE & OPERATING SYSTEMSEXAMINE SYSTEM SOFTWARE.
Learning Objectives DESCRIBE MAJOR TYPES OF SOFTWAREDESCRIBE MAJOR TYPES OF SOFTWARE EXAMINE SYSTEM SOFTWARE & OPERATING SYSTEMSEXAMINE SYSTEM SOFTWARE.
CHAPTER FOUR COMPUTER SOFTWARE.
L Ch5: Software Review Learning Objectives
Introduction to Interactive Media Interactive Media Tools: Software.
Chapter 1 The Big Picture.
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
© 2005 By Prentic Hall1 1 University Of Palestine Essentials of Management Information Systems Kenneth C. Laudon, Jane P. Laudon Instructor: Mr. Ahmed.
Visual C++ Programming: Concepts and Projects
1 Introduction to Information Systems Essentials for the Internetworked E-Business Enterprise C h a p t e r Computer Software 1.
Chapter 3: Computer Software. Stored Program Concept v The concept of preparing a precise list of exactly what the computer is to do (this list is called.
Software program: Series of statements or instructions to the computerSoftware program: Series of statements or instructions to the computer System software:
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
MANAGING SOFTWARE ASSETS ~ pertemuan 6 ~ Oleh: Ir. Abdul Hayat, MTI 1[Abdul Hayat, SIM, Semester Genap 2007/2008]
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
Chapter 5 Information Systems in Business 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.
B. Managing Information System Software 6.1. SOFTWARE DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATION PROGRAM: SET OF INSTRUCTIONS TO THE COMPUTERPROGRAM:
5.1 DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATION PROGRAM: SET OF INSTRUCTIONS TO THE COMPUTERPROGRAM: SET OF INSTRUCTIONS TO THE COMPUTER STORED:
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Beginning Snapshots Chapter 0. C++ An Introduction to Computing, 3rd ed. 2 Objectives Give an overview of computer science Show its breadth Provide context.
Principles of Information Systems, Sixth Edition Software: Systems and Application Software Chapter 4.
Principles of Information Systems, Sixth Edition Software: Systems and Application Software Chapter 4.
1 of 42 System Software Pertemuan IV Magister Teknik Elektro September 2008.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Slide 6-1 Chapter 6 System Software Considerations Introduction to Information Systems Judith C. Simon.
Lally School of M&T Pindaro Demertzoglou 1 Computer Software.
Software: Systems and Applications Software. The Importance of Software in Business time 1950today $ Software Hardware High Low.
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
Computer software: There are at least six step developmental procedures the programmer: Define problem Make or buy decision Design program Code program.
Principles of Information Systems, Sixth Edition 1 Software: Systems and Application Software Chapter 4.
Computer Software Lecturer: Dr Mohammad Nabil Almunawar.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني Computer Software.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
CSCI-235 Micro-Computer Applications
Chapter 4 Computer Software.
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
מחשבים ומערכות מידע – יסמין ויערה
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
and Program Development
Principles of Programming Languages
SOFTWARE TECHNOLOGIES
Presentation transcript:

What is software? Processor needs instructions that tell it what to do these instructions are called software When NOT in use, almost all software stored on mass storage devices (e.g., a floppy or hard disk) How does it get there? When IN use, software stored in processor’s memory (in RAM) 39 19 19

Software is costly Businesses typically spend more on software than on hardware This trend is too easy to miss

SOFTWARE DETAILED INSTRUCTIONS TO CONTROL COMPUTER OPERATION PROGRAM: SET OF INSTRUCTIONS TO THE COMPUTER STORED: PROGRAM MUST BE IN PRIMARY STORAGE SYSTEM SOFTWARE: MANAGES COMPUTER RESOURCES APPLICATION SOFTWARE: SPECIFIC BUSINESS APPLICATION *

SOFTWARE OPERATING SYSTEM: APPLICATION SOFTWARE OPERATING SYSTEM: SCHEDULED COMPUTER EVENTS ALLOCATES COMPUTER RESOURCES MONITORS EVENTS LANGUAGE TRANSLATORS: INTERPRETERS COMPILERS UTILITY PROGRAMS: ROUTINE OPERATIONS MANAGE DATA SYSTEM SOFTWARE HARDWARE

SOFTWARE OPERATING SYSTEM: APPLICATION SOFTWARE OPERATING SYSTEM: SCHEDULED COMPUTER EVENTS ALLOCATES COMPUTER RESOURCES MONITORS EVENTS LANGUAGE TRANSLATORS: INTERPRETERS COMPILERS UTILITY PROGRAMS: ROUTINE OPERATIONS MANAGE DATA SYSTEM SOFTWARE HARDWARE PROGRAMMING LANGUAGES: ASSEMBLY LANGUAGE; FORTRAN; COBOL; PL / 1; QBASIC; PASCAL; C; C++; “FOURTH GENERATION” LANGUAGES

HTML is not a programming language, neither is XML

A play: Scene 1 ? ! 9

What’s on that disk? … p := x + y; write(‘dfile.dat’, p); ... 10 10

Scene 2 : Act 1 … p := x + y; write(‘dfile.dat’, p); ... Machine instructions Compiler 11

Compilers vs. interpreters translates the whole program into machine language at one time will run faster Interpreter translates and executes the program one statement at a time generally easier and faster program development may be easier to debug 13

Scene 2 : Act 2 Saved to Machine instructions 13

Scene 2 : Act 3 Use the program 14

Scene 3 Machine instructions Copied to RAM Begins to execute 15

Programming Languages Specialized Fortran - Science & Engineering (1957) LISP - Artificial Intelligence (1958) COBOL - Business (1959) Generalized PL/I - developed by IBM (1964) C - developed by AT&T (1972) Teaching 10

Generations of programming languages Machine language (1st) Assembler language (2nd) High-level languages (3rd) Ada, BASIC, C, C++, COBOL, FORTRAN, LISP, Pascal, PL/1, etc. Java, Visual BASIC, C#, etc. Fourth- and fifth-generation SQL, Prolog, query languages, etc. 11

GENERATIONS OF PROGRAMMING LANGUAGES 1st. Since 1940s. MACHINE LANGUAGE: binary code 2nd. Since early ’50s. ASSEMBLY LANGUAGE: mnemonics for numeric code 3rd. Since mid ‘50s. HIGH-LEVEL LANGUAGES 4th. Since late ‘70s. MODERN APPLICATION PACKAGES *

Which level is for me? Lower level Higher level more control over how program works can be more efficient Higher level easier and faster to develop and debug programs Clear trend to higher levels (3 or up) 12

FOURTH GENERATION LANGUAGES (4GL) CAN BE EMPLOYED BY END USERS NONPROCEDURAL CAN DEVELOP APPLICATIONS QUICKLY NATURAL LANGUAGES SIX CATEGORIES *

FOURTH GENERATION LANGUAGES (4GL) 1. QUERY LANGUAGES: RAPIDLY RETRIEVE DATA INTERACTIVE ON-LINE SUPPORT SPECIAL REQUESTS FOR DATA FROM RELATIONAL DATABASES *

FOURTH GENERATION LANGUAGES (4GL) 2. REPORT GENERATORS: CREATE CUSTOMIZED REPORTS WIDE RANGE OF FORMATS 3. GRAPHICS LANGUAGES: CAN MANIPULATE DRAWINGS, GRAPHS, PHOTOS, VIDEOS PRESENTATION MANAGERS *

FOURTH GENERATION LANGUAGES (4GL) 4. APPLICATION GENERATORS: USER SPECIFIES COMPUTER NEEDS GENERATOR CREATES LOGIC AND CODE FOR APPLICATION GREATLY REDUCES DEVELOPMENT TIME *

FOURTH GENERATION LANGUAGES (4GL) 5. VERY HIGH-LEVEL PROGRAMMING LANGUAGES: PROFESSIONAL PROGRAMMER PRODUCTIVITY TOOL USES FEWER INSTRUCTIONS REDUCES DEVELOPMENT TIME *

FOURTH GENERATION LANGUAGES (4GL) 6. SOFTWARE PACKAGE: COMMERCIALLY AVAILABLE SET OF PROGRAMS... WORD PROCESSING SPREADSHEETS DATA MANAGEMENT PRESENTATION MANAGEMENT INTEGRATED SOFTWARE PACKAGES NOW COMBINE THESE TO SIMPLIFY LEARNING AND USE *

Types of software Applications software Systems software satisfies specific user need Systems software Operating system makes hardware more usable Language translators translates human readable to machine language Utilities 40 20 20

Operating system functions (1/2) Manage resources memory implement “virtual memory” which allows a computer to pretend that it has more memory than it actually does (see next slide) 41 21 21

Example: Memory management Heavy line–actual RAM, thin–perceived memory, dotted–one program Single space Partitions Virtual memory Task 1 Task 1 Task 4 Task 5 Task 2 Task 2 Task 1 Task 6 Task 3 Task 3 Task 7 42 22 22

Operating system functions (2/2) Coordinator for application programs Manage resources memory devices Coordinate activities Manage files User interface (GUI) 43 23 23

Why do operating systems matter? They provide different features e.g., memory management, GUI Programs are written for an O/S choose applications, then choose O/S O/S used to be proprietary choice of O/S dictated choice of hardware 46 25 25

Trends in operating systems Multi-programming Multi-processing Virtual memory Interprocess communications More features new kinds of I/O supported better integration of programs Require more powerful hardware Cathedrals vs. Bazaars… 47 26 26

Types of user interfaces Command-oriented interfaces prompt the user to type in a command that is translated into an instruction for the program to follow Menu-driven interfaces offer a list of choices or options, called a menu, as a way of letting a user choose from several different commands or functions Graphical User Interfaces (GUI’s) use pictures and graphic symbols to represent commands, choices or actions Natural Language interfaces allow the user to input simple English statements that are translated into commands by the program. 45 24 24

Object Linking & Embedding Object Linking & Embedding (OLE) allows user to copy text/graphics from one document to another or to embed text/graphics from one program into another program/document Server Application supplies objects user places in other applications Client application accepts objects from other applications Copy copies data from one application & places it in another Link is used when user wants changes made to the server object to appear automatically in all linked client objects Embed is used when user wants an object to become part of the client document

OBJECT-ORIENTED PROGRAMMING COMBINES DATA & PROCEDURES INTO A SINGLE OBJECT PROGRAM SENDS MESSAGE TO OBJECT TO PERFORM EMBEDDED PROCEDURE OBJECT’S DATA ENCAPSULATED FROM REST OF SYSTEM CREATES REUSABLE CODE REDUCES TIME AND COST OF WRITING SOFTWARE *

OBJECT-ORIENTED PROGRAMMING VISUAL PROGRAMMING: SELECT AND ARRANGE OBJECTS RATHER THAN WRITE CODE CLASS: ALL OBJECTS OF A CLASS HAVE ALL FEATURES OF THAT CLASS INHERITANCE: SPECIFIC CLASS RECEIVES FEATURES OF A MORE GENERAL CLASS OVERRIDE: SUBCLASS MAY OVEERRIDE INHERITED METHOD (e.g.: Printout of an HOURLY worker Pay Check may differ from that of a WEEKLY worker *

OBJECT-ORIENTED PROGRAMMING JAVA: Sun Microsystems OBJECT-ORIENTED PROGRAMMING LANGUAGE APPLET: TINY PROGRAM TO EXECUTE SMALL FUNCTION APPLETS DOWNLOADED FROM NETWORK RUN ON ANY COMPUTER & OPERATING SYSTEM RESULT SAVED ON NETWORK, NOT ON PC ONLY NETWORK VERSION OF SOFTWARE NEEDS UPGRADE *

JAVA Write Once Run Anywhere (!?) Object Oriented Programming Language Using applets allows: elimination of need for large & expensive hardware elimination of lots of storage and maintenance overhead

JAVA (what we will still see...) It IS neither entirely compiled nor entirely interpreted (BYTECODE) It IS comparatively easy to learn It IS capturing everyone’s attention Will it be (a) standard? Will it be secure? Will it be fast enough? WHAT ABOUT C#?

.NET (dot Net) .NET is Microsoft's next-generation Visual Studio development environment, yet another new programming language (C#), and a new data-exchange and messaging framework, based on XML and SOAP. While java promises platform portability, .NET promises language portability.

Multi-programming, tasking… Multiprogramming: groups of programs take turns Multitasking: single user, numerous uses Time sharing: fixed-time multiprogramming Multiprocessing: parallel, multiple processors.

TRADITIONAL SINGLE-PROGRAM SYSTEM MULTIPROGRAMMING TRADITIONAL SINGLE-PROGRAM SYSTEM OPERATING SYSTEM UNUSED MEMORY PROGRAM 1

TRADITIONAL SINGLE-PROGRAM SYSTEM MULTIPROGRAMMING ENVIRONMENT OPERATING SYSTEM UNUSED MEMORY OPERATING SYSTEM UNUSED MEMORY PROGRAM 1 PROGRAM 2 PROGRAM 1 PROGRAM 3

MULTITASKING MULTIPROGRAMMING ON A SINGLE-USER SYSTEM SUCH AS A MICROCOMPUTER *

VIRTUAL STORAGE METHOD OF HANDLING SEVERAL PROGRAMS IN PRIMARY STORAGE: PROGRAM DIVIDED INTO FIXED LENGTH PORTIONS (PAGES) OR VARIABLE LENGTH (SEGMENTS) CURRENT PORTIONS RESIDE IN PRIMARY STORAGE PORTIONS SWAPPED OUT WHEN DONE *

TIME SHARING MANY USERS SHARE LARGE CPU: TIME IN CPU DIVIDED INTO SLICES (e.g.: 2 MILLISECONDS) EACH USER HAS ACCESS TO CPU DURING SLICE SINCE CPU IS FAST, CAN DO MUCH DURING TIME SLICE USER’S JOB SWAPPED OUT AT END OF SLICE *

MULTIPROCESSING TWO OR MORE PARALLEL PROCESSORS IN SYSTEM PROGRAM CAN BE DIVIDED TO BE PROCESSED BY MULTIPLE CPUs CAN PROCESS LARGE PROGRAMS MORE RAPIDLY *

Applications

Groupware

ASP – application service providers

Web Services A group of closely related, emerging technologies that describe a service-oriented, component-based application architecture that is based on an open, Internet-centric infrastructure. Web services represent a model in which discrete tasks within e-business processes are distributed widely throughout a value net. Not a specific technology, but rather a group of established and emerging communication protocols that include HTTP, XML, Simple Object Application Protocol (SOAP), Universal Description Discovery and Integration (UDDI), and Web Services Description Language (WSDL). A web service can be developed on any computer platform and in any development environment, as long as it can communicate with other web services using these common protocols.

The Generic Web Service Architecture Web Services The Generic Web Service Architecture

Web Services Although ASPs and web services both implement the concept of "software as a service," the similarities end there. ASPs deliver entire applications from a central hosting location, while web services are distributed components. ASPs form a closed "black box," while web services are inherently extensible. ASPs are as much business model as technology solution; web services may enable new forms of business models, but are fundamentally a technology solution. IBM and Microsoft have taken the early leadership mantle in establishing the web services stack. Hewlett-Packard, an early proponent of a proprietary services model, now is reorienting towards web services (NetAction). Oracle, Sun (ONE), and a host of smaller companies (e.g. BEA, Bowstreet, and others) have also put hats into the ring.

Summary Many features of a computer determine how fast it actually is Computers are very fast and are getting faster for the foreseeable future An operating system can make it easier to create more powerful and easy-to-use programs 49 27 27