Information systems softwarePresentation Transcript
Chapter 7 Information Systems Software
What is software?
A software program is a series of statements or instructions to the computer. A program is loaded into memory (RAM). Its execution is referred to as a process.
A program is analogous to a recipe.
Example: Read (“Your age in years :”) to A
A = A * 12
PRINT (“Your are ” & str(A) & “ months old”)
Framework for Software
manages the resources of the computer
resources can be CPU, RAM, secondary storage, printers, communication devices…
performs a specific task on the computer
examples include word processing, spreadsheets, program languages, games ...
Relationship between Software and Hardware
Relationships between User, Software and Hardware Print on screen, Read keyboard entries, Write files on disk,... Surf Web, Format document, Play games,... Hardware System Software Application Software User
What is an operating system?
System Software: Generalized programs that manage the resources of the computer, such as the central processor, communications links, and peripheral devices.
The Operating System (OS) is the one program that manages and controls the activities of the computer:
Communicates with peripherals
Allocates and assigns resources to the CPU (memory management,...)
Schedules jobs executed by the CPU (priorities,…)
Monitors activities of the computer (security, hacking,...)
OS must always be resident in memory (RAM)
OS Design Objectives
Must take advantage of the characteristics of the Microprocessor (Word size, Instruction set,…)
Optimize resources to maximize CPU utilization (Spooling, Virtual Memory,…)
Facilitate communication with programmers, operators and users (JCL, GUI,...)
Operating Systems - Continued
Multiprogramming: A method of executing two or more programs concurrently using the same computer. The CPU executes only one program but can service the input/output needs of others at the same time.
Multitasking: The multiprogramming capability of primarily single-user operating systems, such as those for older PCs.
Memory management strategy which consists of multiple programs loaded simultaneously into RAM
OS Word Unused OS Word Unused Netscape PowerPoint Traditional Memory Allocation Multiprogramming Memory Allocation
Virtual storage: A way of handling programs more efficiently by the computer by dividing the programs into small fixed- or variable length portions with only a small portion stored in primary memory at one time.
Allows large programs to be executed by only loading a small portion of the program into RAM.
Paging: divides program into small, fixed length segments called pages .
Swapping: refers to the process of continually moving pages in and out of RAM.
Thrashing: The law of diminishing returns Throughput (CPU Utilization) Degree of Multitasking Thrashing
Time sharing: The sharing of computer resources by many users simultaneously by having the CPU spend a fixed amount of time on each user's program before proceeding to the next.
Multiprocessing: An operating system feature for executing two or more instructions simultaneously in a single computer system by using multiple central processing units.
Popular Operating Systems
Popular Operating Systems
Utility program: System software consisting of programs for routine, repetitive tasks, which can be shared by many users.
Graphical user interface (GUI) The part of an operating system users interact with that uses graphic icons and the computer mouse to issue commands and make selections.
Linux Reliable and compactly designed operating system that is an offshoot of UNIX which can run on many different hardware platforms and is available free or at very low cost. Used as alternative to UNIX and Windows NT.
Open-source software Software that provides free access to its program code, al lowing users to modify the program code to make improvements or fix errors.
Primarily concerned with accomplishing specific tasks for the end-user
Three types of application software:
Development tools: to create new software (programming languages)
Utilities - Management tools: to manage programs and data on the computer (backup, screen savers,.)
Special / general purpose applications: what the computer is used for (word processing, games,…)
Development tools: 4 generations of programming languages
Machine language (before 1950s): instructions entered as 0s and 1s
Assembly language (1950s): use languagelike acronyms: Add, Load,… Requires a compiler to translate English into 0s and 1s
High-level languages (1970s): one instruction generates multiple machine-language instructions (A=B+C). Examples: COBOL, FORTRAN, JAVA, C++,...
Fourth generation languages (1990s): Tell the computer what to do, not how. Accessible to end-users. Example: Query languages, report generators,..
Source Code: Program instructions written in a high-level language that must be translated into machine language to be executed by the computer.
Compiler: Special system software that translates a high-level language into machine language for execution by the computer.
Object code: Program instructions that have been translated into machine language so that they can be executed by the computer.
The Language Translation Process
Fourth-generation language: A programming language that can be employed directly by end users or less-skilled programmers to develop computer applications more rapidly than conventional programming languages.
Query language A high-level computer language used to retrieve specific information from databases or files.
Report generator Software that creates customized reports in a wide range of formats that are not routinely produced by an information system.
Graphics language: A computer language that displays data from files or databases in graphic format.
Application generator: Software that can generate entire information system applications; the user needs only to specify what needs to be done, and the application generator creates the appropriate program code.
Very high-level programming language: A programming language that uses fewer instructions than conventional languages. Used primarily as a professional programmer productivity tool.
PC Software Tools
Data management software
Integrated software packages
Electronic mail (e-mail): The computer-to-computer exchange of messages.
Web browser: An easy-to-use software tool for accessing the World Wide Web and the Internet.
Groupware: Software that provides functions and services that support the collaborative activities of work groups.
Group writing and commenting
Electronic mail distribution
Scheduling meetings and appointments
Shared files and databases
Shared time lines and plans
Electronic meetings and conferences
Thread: A series of messages in on-line discussions on a specified topic that have been posted as replies to each other. Each message in a thread can be read to see how a discussion has evolved.
Object-oriented programming: An approach to software development that combines data and procedures into a single object.
Class: The feature of object oriented programming meaning all objects belonging to a certain class have all of the features of that class.
Inheritance: The feature of object oriented programming in which a specific class of objects receives the features of a more general class.
Data encapsulation: Keeping the data of an object in the object
Object Oriented Concepts
Class, subclasses, inheritance, and overriding
OO language geared for network computing
Applet: Small java programs downloaded from the network
Fewer copies to license- a network copy is shared
Inexpensive, less powerful hardware
Less dependence on IT standards
Better control over data & software
Smaller programs with the needed functionality only
Distribution channel is eliminated
Hypertext Markup Language
Hypertext Markup Language (HTML) Page description language for creating Web pages and other hypermedia documents.
XML (eXtensible Markup Language) General-purpose language that describes the structure of a document and supports links to multiple documents, allowing data to be manipulated. Used for both Web and non-Web applications.
Trends In Software Capabilities
More interactive: GUI-graphical user interface, natural language, voice recognition, touch or other gestures
Use of software packages, fourth generation languages, object oriented tools
End user computing: data access
Middleware: Software that allows two different applications to exchange data
Integrated programming to support organizational needs, ERP