1 Lecture Preview In this lecture, we will study: Systems Software Application Software How...

Preview:

Citation preview

1

Lecture Preview

In this lecture, we will study:Systems SoftwareApplication SoftwareHow software applications are

developedHow software has evolved and where

it’s headedSoftware for the enterprise

2

The Software Crisis

New software applications cannot be developed fast enough to: Keep up with dynamic

business environment Keep pace with rapid

hardware advances

Lag in software development limits IS capabilities

Computer System

Hardware Software

3

The Software Crisis (continued)

In addition to new application development, existing software must also be maintained (80% IT personnel effort towards maintenance).

Increasing complexity leads to the increased potential for “bugs.”

Testing and “debugging” software is expensive and time-consuming.

4

Software FundamentalsSome basic terms…

Computer programs - sequences of instructions for the computer

Stored program concept – instructions written in programs are stored and executed by CPU when needed

Programming - process of writing (or coding) programs

Programmers - individuals who perform programming

5

Software Fundamentals (continued)

Systems Software Instructions that

manage the hardware resources

Application Software Instructions that

perform specific user tasks

Computer Software

SystemsSoftware

ApplicationSoftware

Makes the computer function

Does somethin

g interestin

g

6

System Software

System software is software that:Controls and supports the computer

system’s activitiesSupports application software by

directing the computer’s basic functionsFacilitates program development,

testing, and debuggingIs independent of any specific type of

application

7

Systems Software (continued)

System Control ProgramsControl use of all

system resources (hardware, software, data); operating system

System Support ProgramsSpecialized

support capabilities

Systems Software

SystemControl

Programs

SystemsSupport

Programs

8

System Control Programs

Operating System - main system control programsupervises the overall operation of the

computerallocates CPU time and main memory

to programs running on the computerprovides an interface between the

user and the hardware

9

Operating System ServicesProcess management – manage program(s)

running on processorMultitasking or Multiprogramming - managing

two or more tasks, or programs, running on the computer system at the same time

Multithreading – type of multitasking; run two or more tasks from the same application simultaneously

Timesharing - many users share same CPU, each using a different input/output terminal

Multiprocessing – simultaneous processing with multiple CPUs

10

Operating System Services (continued)

Virtual memory - simulates more main memory than actually exists in the computer system

File management and security - managing the arrangement of, and access to, files held in secondary storage

Fault tolerance - system can produce correct results and continue to operate even in the presence of faults or errors

User interface - allows users to have direct control of visible objects (icons) and actions that replace complex command syntax

11

Major Desktop Operating Systems

Types of Operating Systems

MS-DOS

Windows 95 Windows 98Windows NTWindows 2000

Microsoft Products:

Windows XP

Windows ME

Macintosh Operating System

UNIX

Java Operating System (JavaOS)

Other Products: Linux

IBM O/S 2

12

Departmental Server Operating SystemsSupport hundreds of concurrent usersUNIX, Linux, Windows 2000, Windows XP,

Novell NetWareEnterprise Operating Systems

Support thousands of concurrent users; millions of transactions per day

IBM’s OS/390, IBM’s VM (Virtual Machine), IBM’s VSE (Virtual Storage Extended), and IBM’s OS/400

Types of Operating Systems (continued)

13

Support the operations, management, and users of a computer system

Examples:System Utilities

• Perform common tasks: sorting records, checking disk integrity, creating directories and subdirectories, restoring accidentally erased files, locating stored files, managing memory usage, and redirecting output.

System Support Programs

14

Examples (continued)

Performance monitors• monitor job processing• produce statistical reports on system

resource usage

Security monitors• monitor the use of a computer system to

protect it and its resources from unauthorized use, fraud, or destruction

System Support Programs (continued)

15

Application Software

Programs performing specific information processing activities and user functionality

Types of Application SoftwareProprietary application software

• Addresses a specific or unique business need for a company

Off-the-shelf application software• Vendor developed programs sold to many

organizations

• May be standard package or may be customizable

16

Application Software (continued)

SpreadsheetsData managementWord processingDesktop publishingGraphics

Presentation; Analysis; CAD

MultimediaCommunicationSpeech-

recognitionGroupware

Personal Application Software - off-the-shelf application programs supporting general types of processing

17

Software Issues

Software Evaluation and SelectionSelection factors

• Size and location of the user base• System administration tools• Initial and subsequent costs• Current and future system capabilities• Existing computing environment• In-house technical skills

18

Software LicensingCopyright - exclusive legal right to

reproduce, publish, and sell the softwareLicenses - permission granted under the law

to engage in an activity otherwise unlawfulSoftware Upgrades

May or may not offer valuable enhancements

Risk that revised software may contain bugsUpgrading in a large organization is a major

undertaking, so must assess the merits of the new release

Software Issues (continued)

19

Open SystemsA model of computing products that work

togetherEmpower designers to choose the best

computer hardware, operating system, and application software without compatibility concerns

Open Source SoftwareSoftware code offered freely to

developers

Software Issues (continued)

20

Programming Languages

Various programming languages enable people to tell computers what to do

Foundation for developing applications

21

How are Programs Understood by the Computer?

(The Language Translation Process)

Program written in programming language (source code)

Translator program Assembl

er Compiler Interpret

er

Program written in machine language (object code)

Processed

By CPU

22

Programming LanguagesMachine Language (first generation of programming

languages)

The computer’s ‘native language’Composed of binary digits (0s, 1s)The only language that computers understand

Assembly Language (second generation of programming languages)

One-to-one correspondence to machine languageSomewhat more user-friendly than machine

language (mnemonic rather than binary digits)Assembler – program that translates an assembly

language program into machine language

23

Procedural Languages (third generation languages)One instruction translates into many machine

language instructionsPrograms describe the computer’s processing

step-by-step Closer to natural language; uses common

words rather than abbreviated mnemonicsExamples: Cobol, C, Fortran, QuickBasicCompiler - translates the entire program at

once Interpreter - translates and executes one

source program statement at a time

Programming Languages (continued …)

24

Nonprocedural Language (fourth generation languages)Allows the user to specify the desired result

without having to specify the detailed procedures needed for achieving the result

Example – data base query language - SQLCan be used by non technical users

Natural Language Programming Languages (fifth generation (intelligent) languages)Translates natural languages into a

structured, machine-readable formAre extremely complex and experimental

Programming Languages (continued)

25

Visual Programming LanguagesUsed within a graphical environmentExample : Visual Basic and Visual C++Popular to non technical users

Hypertext Markup Language (HTML)standard language used in World Wide

Webcontains text, images, and other types of

information such as data files, audio, video, and executable computer programs

Current Programming Languages

26

Extensible Markup Language (XML)Improved on web document

functionalityComponentware

Software components that may be assembled by developer as needed

“Plug and Play” software development

Current Programming Languages

27

Virtual Reality Modeling Language (VRML)a file format for describing three-dimensional

interactive worlds and objectscan be used with the World Wide Web

Object-Oriented Programming Languages (OOP)based on objects – packaging data and the

instructions about what to do with that data together

Examples: Java, C++Unified Modeling Language (UML)- modeling

tool for object-oriented systems

Current Programming Languages (continued)

28

Enterprise Software Problem faced in many organizations…

Competitive pressures require change in organizational procedures, however

all the different types of software and hardware in use cause so much complexity that change is difficult

Solution options Software packages with integrated functional modules

(i.e., human resource, operations, marketing, finance, accounting, etc.)

Use of middleware to link disparate applications Enterprise software that manages all organizational

operations

29

Lecture Summary Software can be broadly categorized as Systems

software and Applications software Systems software provides an interface between

the hardware and the application software Application software performs specific business

functions Programming languages provide the means for

humans to give computers instructions Organizations seek enterprise wide software

solutions to provide integrated organizational systems

Recommended