Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University."— Presentation transcript:

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

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

3 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?

4 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.

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

6 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

7 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

8 Operating Systems (OS) OS - System software that manages and controls the activities of the computer Example functions of an OS? Examples of OS?

9 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

10 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

11 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 performance What application software programs does it support? Functions supported by OS

12 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

13 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.

14 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.

15 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.

16 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.

17 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.

18 Plug and Play (PnP) Capability Ability to automatically install and configure different computer components without having to perform any technical procedures

19 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

20 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.

21 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.

22 Recent/Current Trends in Software Object Oriented Programming Java; Small talk; C++ Other Trends Visual and Markup Languages ASP Model

23 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.

24 Object Oriented Programming Employee (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)

25 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.

26 Other Trends Visual Programming Languages Examples: Visual Basic, Visual C++ Markup Languages Examples: HTML and XML

27 HTML and XML XML is a language for representing contents (compare with HTML which is a language for representing formatting instructions). HTML example: this is an example this is a header of level three this is in bold this is in italics this is in bold italics

28 XML XML example: This is a person, whose first name is 'Joe,' and whose last name 'Smith.' This person is a teacher. Joe Smith teacher 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

29 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

30 Selecting software for an organization Some 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


Download ppt "Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University."

Similar presentations


Ads by Google