29
1 Lecture Preview In this lecture, we will study: Systems Software Application Software How software applications are developed How software has evolved and where it’s headed Software for the enterprise

1 Lecture Preview In this lecture, we will study: Systems Software Application Software How software applications are developed How software

  • View
    217

  • Download
    2

Embed Size (px)

Citation preview

Page 1: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 2: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 3: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How 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.

Page 4: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 5: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 6: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 7: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 8: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 9: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 10: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 11: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 12: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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)

Page 13: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 14: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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)

Page 15: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 16: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 17: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 18: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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)

Page 19: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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)

Page 20: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

20

Programming Languages

Various programming languages enable people to tell computers what to do

Foundation for developing applications

Page 21: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 22: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 23: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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 …)

Page 24: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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)

Page 25: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 26: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 27: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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)

Page 28: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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

Page 29: 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software

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