chapter 4 - software – part 2 dr. v.t. raja oregon state university

30
Chapter 4 - Software Part 2 Dr. V.T. Raja Oregon State University

Post on 19-Dec-2015

227 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Chapter 4 - Software – Part 2

Dr. V.T. Raja

Oregon State University

Page 2: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

IS Software - Outline

Introduction Some details on System Software Application Software Selecting an OS Evolution of Software Recent past and current trends

Page 3: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Introduction Why study about software?

To make use of hardware effectively To improve productivity of individual employees To facilitate, sustain or improve competitive advantage of

organization; To help meet strategic goals of organization To be aware of and to understand business implications of:

Current software developments/trends Software crisis situations

Relatively higher investments in software (compared to investments in hardware) by businesses in the United States 1960-70: Hardware costs: 75%; Software costs: 25% 1990-00: Hardware costs: 25%; Software costs: 75% Why this change?

Page 4: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Why higher investments in software? Advances in hardware technology have

drastically reduced hardware costs Software has become increasingly complex and

error prone Testing software is difficult and costly.

High demand for skilled IS/CS professionals Employees from every functional area often are

involved in testing software products for bugs because they are experts in the area and can spot functional area specific bugs even more quickly than IT programmers can.

Page 5: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Introduction

Software program; Programming; Programmer Application Software and System Software What is system software? Examples/types of system software?

Page 6: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

System Software

System Software Programs that manage computer resources such

as the processor, communications links, and peripheral devices

Types of System Software: Operating Systems Utility Programs Language Translators

Page 7: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Utility Programs

Programs that perform common, routine, repetitive tasks Examples:

Utility programs are stored in system libraries where they can be shared by

all users of computer system

Page 8: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Operating Systems (OS)

OS - System software that manages and controls the activities of the computer

Example functions of an OS? Examples of OS?

Page 9: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

OS - Examples DOS (Disk Operating Systems) OS/2; OS/400;Z/OS (IBM environment) Unix (Portable to different models of h/w) Linux (Free OS; Open Source Software) Mac OS (OS for the Macintosh computer) Novell Netware Microsoft Windows OS

Windows 95/98/NT/Me/CE Windows 2003; 2000; Windows XP

Lindows

Page 10: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Is selecting/upgrading an OS a technical or a managerial/non-technical decision?

Non-technical issues Single-user/networked environment? (Licensing Issue); Budget/Cost:

Upgrade; Development; Maintenance (Affordable downtime?); Training How easy is it to learn and use? Availability of system support;

Why the upgrade? Platform/hardware independence vs. Standardization Security issues Enterprise-wide involvement; Suitable for satisfying business

needs; Compatibility with appropriate application software

Page 11: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Is selecting an OS a technical or a managerial/non-technical decision?

Technical issues:What kind of computer hardware is required?How much processing power and storage capacity are required?Speed of OS: More memory - Better performanceWhat application software programs does it support? Functions supported by OS

Page 12: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Some OS Terminologies/Functions

Graphical User Interface (Pull down menus, icons etc.) Social Interface (animated characters used for displaying

info on screen/used for narrating commands) Multithreading Multitasking Multiprocessing Virtual Storage Time Sharing PnP capability

Page 13: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Multithreading vs. Multitasking

Multithreading: Ability of an OS to run multiple tasks within a same application program simultaneously Example: MS Word : User prints one document and spell checks

another document while the first document is being printed.

Multitasking: Method of executing 2 or more programs concurrently. Allows user to display and work with 2 or more programs simultaneously. Example: Sales rep., searches database (MS Access) for all clients in a

certain city; While the computer is processing this database request, the sales rep., uses MS Word for typing a letter to a client.

Page 14: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Multiprocessing

Use of two or more CPUs linked together to work in parallel.

Two or more CPUs may be assigned to execute different instructions from the same program simultaneously.

OS is responsible for scheduling and coordinating the tasks of the various processors.

Page 15: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Virtual Storage

Programs divided into small fixed- or variable-length portions with only a small portion stored in primary memory at one time.

Fixed-length portion - e.g., 4kbytes - Page Variable-length portion - Segment Pages/Segments are stored in secondary storage

and shuttled into and out of main memory as needed for processing.

Page 16: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Virtual Storage (Continued)

CPU executes the instructions from each page, then moves on, either to the next page of the program or to a page from a different program.

Advantages:

CPU can process different parts of different programs - better utilization of CPU.

Large programs can be run on smaller computers.

Page 17: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Time-Sharing

Enables many users to share computer resources simultaneously.

Each user is allocated a fixed amount of time.

Computer performs whatever operations it can for that user in the allocated time and then releases the next slot of time for the next user.

Page 18: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Plug and Play (PnP) Capability

Ability to automatically install and configure different computer components without having to perform any technical procedures

Page 19: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Evolution of software Generations of software

First Generation: Machine language Second Generation: Assembly language Third Generation: High-level languages Fourth Generation: Outcome-oriented languages Fifth Generation: Natural languages Visual, Markup, and Object Oriented languages

Page 20: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Evolution of software Machine languages: Used only bits (0;1) Assembly language: Symbols used (e.g.,Add/Subtract) High-level language: Used English-like sentences;

Instructed the computer the desired outcome, and on how to achieve the desired outcome.

Outcome-oriented language: Used English-like sentences: Instructed the computer - what was the desired outcome; Does not necessarily specify the detailed procedures needed for achieving the result.

Natural language: AI-based applications.

Page 21: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Language Translators

Translate high-level language programs into machine language so that they can be executed by the computer.Program statements in the high-level language are called source code, and the machine language version is called object code.

Compiler: Translates entire high-level language program into machine language.

Interpreter: Translates each source code statement one at a time into machine code.

Page 22: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Recent/Current Trends in Software

Object Oriented Programming Java; Small talk; C++

Other Trends Visual and Markup Languages ASP Model

Page 23: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Object Oriented Programming Encapsulation

The process of grouping variables, procedures and data into objects (Classes) is called encapsulation.

Inheritance Child objects inherit from parent object

Reusability of code (Advantage) UML – Unified Modeling Language:

A language for modeling a complex object-oriented software system – think of it as a blueprint (for the entire system) that documents the objects, variables, and the relationship between different objects.

Page 24: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Object Oriented ProgrammingEmployee (Object/Class)

Name (Variable)ID (Variable)Pay (Method)

Non-Salaried Employee (Subclass of employee)Name (Inherited variable)

ID (Inherited variable)Hourly rate (variable)

Pay (Method Adaptation/Override)

Page 25: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Java Benefits of Java:

Platform independent; Microprocessor independent Suitable for creating applications that can run on both

internal and external networks Interactive capabilities for Web pages (Java applets) Robust (can handle text, data, graphics, sound, video

– all within one program if needed) Disadvantage

Runs slower than native programs written for a particular OS

Needs to be standardized further.

Page 26: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Other Trends Visual Programming Languages

Examples: Visual Basic, Visual C++

Markup Languages Examples: HTML and XML

Page 27: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

HTML and XML XML is a language for representing contents

(compare with HTML which is a language for representing formatting instructions).

HTML example: <title>this is an example</title> <h3>this is a header of level three</h3> <b>this is in bold</b> <i>this is in italics</i> <b><i>this is in bold italics</i></b>

Page 28: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

XML XML example: This is a person, whose first name is 'Joe,' and whose

last name 'Smith.' This person is a teacher. <person>

<name> <first>Joe</first> <last>Smith</last>

</name> <profession>teacher</profession> </person>

Note how the syntax of HTML and XML are similar. XML is meant to represent contents. Therefore you can define your

own tags. Easier to transfer data between different systems – because it is text

based content

Page 29: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Other Trends Integration of hardware, software and telecommunications

Examples: Car navigation systems Smart Cards

Enterprise Software Software that manage and integrate vital operations of an enterprise

(e.g., Integrate Operations, Inventory Replenishment, Outbound Logistics, Customer Service)

Examples: SAP R/3; PeopleSoft; Oracle

Application Service Provider (ASP) Model

Open Source Software – Refer to Guest Lecture Notes

Page 30: Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University

Selecting software for an organizationSome factors to consider: Business need satisfied? Platform independence/compatibility (Open Systems; middleware tools) Availability of documentation support Cost/Budget?

End-user training Maintenance/Upgrades Shareware/Freeware?

Reliability Vendor Support Open Source/Proprietary Off-the-shelf/Custom software ASP Model