Information systems software


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Information systems software

  1. 1. Chapter 7 Information Systems Software
  2. 2. What is software? <ul><li>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. </li></ul><ul><li>A program is analogous to a recipe. </li></ul><ul><li>Example: Read (“Your age in years :”) to A </li></ul><ul><li>A = A * 12 </li></ul><ul><li>PRINT (“Your are ” & str(A) & “ months old”) </li></ul>
  3. 3. Framework for Software <ul><li>System Software </li></ul><ul><ul><li>manages the resources of the computer </li></ul></ul><ul><ul><li>resources can be CPU, RAM, secondary storage, printers, communication devices… </li></ul></ul><ul><li>Application Software </li></ul><ul><ul><li>performs a specific task on the computer </li></ul></ul><ul><ul><li>examples include word processing, spreadsheets, program languages, games ... </li></ul></ul>
  4. 4. Relationship between Software and Hardware
  5. 5. 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
  6. 6. What is an operating system? <ul><li>System Software: Generalized programs that manage the resources of the computer, such as the central processor, communications links, and peripheral devices. </li></ul><ul><li>The Operating System (OS) is the one program that manages and controls the activities of the computer: </li></ul><ul><ul><li>Communicates with peripherals </li></ul></ul><ul><ul><li>Allocates and assigns resources to the CPU (memory management,...) </li></ul></ul><ul><ul><li>Schedules jobs executed by the CPU (priorities,…) </li></ul></ul><ul><ul><li>Monitors activities of the computer (security, hacking,...) </li></ul></ul><ul><li>OS must always be resident in memory (RAM) </li></ul>
  7. 7. OS Design Objectives <ul><li>Must take advantage of the characteristics of the Microprocessor (Word size, Instruction set,…) </li></ul><ul><li>Optimize resources to maximize CPU utilization (Spooling, Virtual Memory,…) </li></ul><ul><li>Facilitate communication with programmers, operators and users (JCL, GUI,...) </li></ul>
  8. 8. Operating Systems - Continued <ul><li>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. </li></ul><ul><li>Multitasking: The multiprogramming capability of primarily single-user operating systems, such as those for older PCs. </li></ul>
  9. 9. Multiprogramming <ul><li>Memory management strategy which consists of multiple programs loaded simultaneously into RAM </li></ul>OS Word Unused OS Word Unused Netscape PowerPoint Traditional Memory Allocation Multiprogramming Memory Allocation
  10. 10. Virtual Memory <ul><li>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. </li></ul><ul><li>Allows large programs to be executed by only loading a small portion of the program into RAM. </li></ul><ul><li>Paging: divides program into small, fixed length segments called pages . </li></ul><ul><li>Swapping: refers to the process of continually moving pages in and out of RAM. </li></ul>
  11. 11. Thrashing: The law of diminishing returns Throughput (CPU Utilization) Degree of Multitasking Thrashing
  12. 12. <ul><li>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. </li></ul><ul><li>Multiprocessing: An operating system feature for executing two or more instructions simultaneously in a single computer system by using multiple central processing units. </li></ul>
  13. 13. Popular Operating Systems <ul><li>Microcomputer </li></ul><ul><ul><li>DOS </li></ul></ul><ul><ul><li>Windows 98 </li></ul></ul><ul><ul><li>Windows NT </li></ul></ul><ul><ul><li>OS/2 </li></ul></ul><ul><ul><li>Mac OS </li></ul></ul><ul><ul><li>Linux </li></ul></ul><ul><li>Mainframe </li></ul><ul><ul><li>UNIX </li></ul></ul><ul><ul><li>VMS </li></ul></ul>
  14. 14. Popular Operating Systems <ul><li>Utility program: System software consisting of programs for routine, repetitive tasks, which can be shared by many users. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul>
  15. 15. Application Software <ul><li>Primarily concerned with accomplishing specific tasks for the end-user </li></ul><ul><li>Three types of application software: </li></ul><ul><ul><li>Development tools: to create new software (programming languages) </li></ul></ul><ul><ul><li>Utilities - Management tools: to manage programs and data on the computer (backup, screen savers,.) </li></ul></ul><ul><ul><li>Special / general purpose applications: what the computer is used for (word processing, games,…) </li></ul></ul>
  16. 16. Development tools: 4 generations of programming languages <ul><li>Machine language (before 1950s): instructions entered as 0s and 1s </li></ul><ul><li>Assembly language (1950s): use languagelike acronyms: Add, Load,… Requires a compiler to translate English into 0s and 1s </li></ul><ul><li>High-level languages (1970s): one instruction generates multiple machine-language instructions (A=B+C). Examples: COBOL, FORTRAN, JAVA, C++,... </li></ul><ul><li>Fourth generation languages (1990s): Tell the computer what to do, not how. Accessible to end-users. Example: Query languages, report generators,.. </li></ul>
  17. 17. Language Translation <ul><li>Source Code: Program instructions written in a high-level language that must be translated into machine language to be executed by the computer. </li></ul><ul><li>Compiler: Special system software that translates a high-level language into machine language for execution by the computer. </li></ul><ul><li>Object code: Program instructions that have been translated into machine language so that they can be executed by the computer. </li></ul>
  18. 18. The Language Translation Process
  19. 19. Fourth-generation Languages <ul><li>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. </li></ul><ul><li>Query language A high-level computer language used to retrieve specific information from databases or files. </li></ul><ul><li>Report generator Software that creates customized reports in a wide range of formats that are not routinely produced by an information system. </li></ul><ul><li>Graphics language: A computer language that displays data from files or databases in graphic format. </li></ul>
  20. 20. <ul><li>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. </li></ul><ul><li>Very high-level programming language: A programming language that uses fewer instructions than conventional languages. Used primarily as a professional programmer productivity tool. </li></ul>
  21. 21. Fourth-generation languages
  22. 22. PC Software Tools <ul><li>Word processing </li></ul><ul><li>Spreadsheets </li></ul><ul><li>Data management software </li></ul><ul><li>Presentation graphics </li></ul><ul><li>Integrated software packages </li></ul>
  23. 23. <ul><li>Electronic mail (e-mail): The computer-to-computer exchange of messages. </li></ul><ul><li>Web browser: An easy-to-use software tool for accessing the World Wide Web and the Internet. </li></ul><ul><li>Groupware: Software that provides functions and services that support the collaborative activities of work groups. </li></ul><ul><li>Groupware Capabilities </li></ul><ul><ul><li>Group writing and commenting </li></ul></ul><ul><ul><li>Electronic mail distribution </li></ul></ul><ul><ul><li>Scheduling meetings and appointments </li></ul></ul><ul><ul><li>Shared files and databases </li></ul></ul><ul><ul><li>Shared time lines and plans </li></ul></ul><ul><ul><li>Electronic meetings and conferences </li></ul></ul><ul><li>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. </li></ul>
  24. 24. Object-oriented programming <ul><li>Object-oriented programming: An approach to software development that combines data and procedures into a single object. </li></ul><ul><li>Class: The feature of object oriented programming meaning all objects belonging to a certain class have all of the features of that class. </li></ul><ul><li>Inheritance: The feature of object oriented programming in which a specific class of objects receives the features of a more general class. </li></ul><ul><li>Method </li></ul><ul><li>Data encapsulation: Keeping the data of an object in the object </li></ul>
  25. 25. Object Oriented Concepts
  26. 27. Class, subclasses, inheritance, and overriding
  27. 28. JAVA <ul><li>OO language geared for network computing </li></ul><ul><li>JAVA programs: </li></ul><ul><ul><li>Standalone </li></ul></ul><ul><ul><li>Applet: Small java programs downloaded from the network </li></ul></ul><ul><li>Advantages: </li></ul><ul><ul><li>Fewer copies to license- a network copy is shared </li></ul></ul><ul><ul><li>Inexpensive, less powerful hardware </li></ul></ul><ul><ul><li>Less dependence on IT standards </li></ul></ul><ul><ul><li>Better control over data & software </li></ul></ul>
  28. 29. Changes Ahead <ul><li>Platform independent </li></ul><ul><li>Smaller programs with the needed functionality only </li></ul><ul><li>Distribution channel is eliminated </li></ul>
  29. 30. Hypertext Markup Language <ul><li>Hypertext Markup Language (HTML) Page description language for creating Web pages and other hypermedia documents. </li></ul><ul><li>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. </li></ul>
  30. 31. Trends In Software Capabilities <ul><li>More interactive: GUI-graphical user interface, natural language, voice recognition, touch or other gestures </li></ul><ul><li>Use of software packages, fourth generation languages, object oriented tools </li></ul><ul><li>End user computing: data access </li></ul><ul><li>Client/server model </li></ul><ul><ul><li>Middleware: Software that allows two different applications to exchange data </li></ul></ul><ul><li>Integrated programming to support organizational needs, ERP </li></ul>
  31. 32. How to Choose Software <ul><li>Appropriateness </li></ul><ul><li>Sophistication </li></ul><ul><li>Organizational considerations </li></ul><ul><li>Support </li></ul><ul><li>Efficiency </li></ul>
  32. 33. Challenges <ul><li>Increasing complexity-software errors </li></ul><ul><li>The application backlog </li></ul>
  33. 34. FREEWARE <ul><li> </li></ul><ul><li>Free software foundation </li></ul><ul><li>LINUX </li></ul><ul><li>Apache Server (for Web) </li></ul><ul><li>Red Hat </li></ul><ul><li>Dehion </li></ul><ul><li>Caldera-support </li></ul><ul><li>O’Reilly & Associates-books </li></ul>