Lecture Notes


Published on

  • Be the first to comment

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

No notes for slide

Lecture Notes

  2. 2. Learning Objectives <ul><li>Differentiate between the two major types of software </li></ul><ul><li>Describe the general functions of the operating system </li></ul><ul><li>Differentiate among the three types of operating systems and describe each type </li></ul><ul><li>Identify three methods for developing application software </li></ul><ul><li>Describe the major types of application software </li></ul><ul><li>Explain how software has evolved and its future evolution </li></ul><ul><li>Describe enterprise software </li></ul>
  3. 3. Chapter Overview Software History and Significance <ul><li>The Software </li></ul><ul><li>Crisis </li></ul><ul><li>Software </li></ul><ul><li>Fundamentals </li></ul>Systems Software <ul><li>System Control </li></ul><ul><li>Programs </li></ul><ul><li>System Support </li></ul><ul><li>Programs </li></ul>Application Software <ul><li>Types of Application Software </li></ul><ul><li>Types of Personal Application </li></ul><ul><li>Software </li></ul><ul><li>Software Suites </li></ul>Software Issues <ul><li>Software </li></ul><ul><li>evaluation and </li></ul><ul><li>Selection </li></ul><ul><li>Software Licensing </li></ul><ul><li>Software Upgrades </li></ul><ul><li>Shareware, </li></ul><ul><li>Freeware, and </li></ul><ul><li>Cheapware </li></ul><ul><li>Open Systems </li></ul>Programming Languages <ul><li>Machine Language </li></ul><ul><li>Assembly Language </li></ul><ul><li>Procedural Languages </li></ul><ul><li>Nonprocedural Languages </li></ul><ul><li>Natural Programming Language </li></ul><ul><li>Visual Programming Language </li></ul><ul><li>Hypertext Markup Language </li></ul><ul><li>Virtual Reality Modelling Language </li></ul><ul><li>Object-Oriented Programming </li></ul><ul><li>Language </li></ul>Enterprise Software <ul><li>Streamlining </li></ul><ul><li>Organizational </li></ul><ul><li>Software </li></ul><ul><li>SAP </li></ul>
  4. 4. <ul><li>The Problem </li></ul><ul><ul><li>Y2K problem has resulted from the high cost of mainframe computations and data storage in the 1950s and 1960s </li></ul></ul>Case: The IRS and the Millennium Bug <ul><ul><li>complex structure makes it almost impossible for the IRS to be Y2K compliant in time </li></ul></ul><ul><ul><li>agency changed its software in response to changes in the tax code </li></ul></ul>
  5. 5. Case (continued…) <ul><ul><li>IRS has spent more than $4 billion over the past decade to modernize its computer systems </li></ul></ul><ul><ul><li>the agency has $1 billion dollars and 600 people dedicated to the Y2K project </li></ul></ul><ul><li>The Solution </li></ul><ul><li>The Results </li></ul><ul><ul><li>no one will know until well into the year 2000 </li></ul></ul>
  6. 6. <ul><li>What have we learned from this case?? </li></ul>Case (continued…) <ul><ul><li>Failure to budget for continuing maintenance of software programs can have devastating results </li></ul></ul><ul><ul><li>One programmer cannot begin with his portion of the problem until he receives another completed portion form someone else, as this other part or “module” may define the inputs or outputs that his own part must deal with </li></ul></ul>
  7. 7. Software History and Significance <ul><li>When the first applications of computers in business were introduced in the early 1950s, software was less important (and less costly) in computer systems </li></ul><ul><li>Today, software comprises a much larger percentage of the cost of modern computer systems </li></ul><ul><li>The Software Crisis </li></ul><ul><ul><li>no software applications fast enough to keep up with rapidly changing business conditions and rapidly evolving technologies </li></ul></ul><ul><ul><li>not only must new applications be developed quickly, but existing software must also be maintained </li></ul></ul><ul><ul><li>increasing complexity, leads to the increased potential for “bugs” </li></ul></ul><ul><ul><li>testing and “debugging” software is expensive and time-consuming </li></ul></ul>
  8. 8. Software History and Significance (continued …) <ul><li>Software Fundamentals </li></ul><ul><ul><li>computer programs - sequences of instructions for the computer </li></ul></ul><ul><ul><li>programming - process of writing (or coding) programs </li></ul></ul><ul><ul><li>programmers - individuals who perform programming </li></ul></ul>
  9. 9. System Software <ul><li>System software </li></ul><ul><ul><li>the class of programs that control and support the computer system and its information processing activities </li></ul></ul><ul><ul><li>facilitates the programming, testing, and debugging of computer programs </li></ul></ul><ul><ul><li>usually independent of any specific type of application </li></ul></ul><ul><ul><li>support application software by directing the basic functions of the computer </li></ul></ul>
  10. 10. System Software (continued …) <ul><li>System Control Program </li></ul><ul><ul><li>programs that control the use of the hardware, software and data resources of a computer system </li></ul></ul><ul><ul><li>operating system (main system control program) </li></ul></ul><ul><ul><ul><li>supervises the overall operation of the computer, including monitoring the computer’s status and scheduling operations, which include controlling the input and output processes </li></ul></ul></ul><ul><ul><ul><li>allocates CPU time and main memory to programs running on the computer, and also provides an interface between the user and the hardware </li></ul></ul></ul>
  11. 11. <ul><li>System Control Program (continued …) </li></ul><ul><ul><li>Process management </li></ul></ul><ul><ul><ul><li>managing the program or programs running on the processor at a given time </li></ul></ul></ul><ul><ul><li>Multitasking (or multiprogramming) </li></ul></ul><ul><ul><ul><li>managing two or more tasks, programs, running on the computer system at the same time </li></ul></ul></ul><ul><ul><li>Time-sharing </li></ul></ul><ul><ul><ul><li>a number of users operate on-line with the same CPU, but each uses a different input/output terminal </li></ul></ul></ul>System Software (continued …)
  12. 12. <ul><li>System Control Program (continued …) </li></ul><ul><ul><li>Multithreading </li></ul></ul><ul><ul><ul><li>a form of multitasking that focuses on running multiple tasks within a single application simultaneously </li></ul></ul></ul><ul><ul><li>Multiprocessing </li></ul></ul><ul><ul><ul><li>a computer system with two or more processors that can run more than one program or thread at a given time by assigning them to different processors </li></ul></ul></ul><ul><ul><li>Virtual memory </li></ul></ul><ul><ul><ul><li>simulates more main memory than actually exists in the computer system </li></ul></ul></ul>System Software (continued …)
  13. 13. <ul><li>System Control Program (continued …) </li></ul><ul><ul><li>File Management and Security </li></ul></ul><ul><ul><ul><li>managing the arrangement of, and access to, files held in secondary storage </li></ul></ul></ul><ul><ul><li>Fault Tolerance </li></ul></ul><ul><ul><ul><li>the ability of a system to produce correct results and continue to operate even in the presence of faults or errors </li></ul></ul></ul><ul><ul><li>Graphical User Interface (GUI) </li></ul></ul><ul><ul><ul><li>allows users to have direct control of visible objects and actions that replace complex command syntax </li></ul></ul></ul>System Software (continued …)
  14. 14. <ul><li>System Control Program (continued …) </li></ul><ul><ul><li>Major Desktop Operating Systems </li></ul></ul>System Software (continued …) MS-DOS Windows 3.xx Windows 95 Windows 98 Windows NT Windows 2000 Windows CE IBM’s OS/2 Macintosh Operating System UNIX Java Operating System (JavaOS)
  15. 15. <ul><li>System Control Program (continued …) </li></ul><ul><ul><li>Major Departmental Sever Operating System </li></ul></ul><ul><ul><ul><li>UNIX, Windows NT Server, IBM’s OS/2 Warp Server, Novell NetWare, and IBM’s OS/400 </li></ul></ul></ul><ul><ul><li>Major Enterprise Operating Systems </li></ul></ul><ul><ul><ul><li>IBM’s MVS (Multiple Virtual Storage), IBM’s VM (Virtual Machine), IBM’s VSE (Virtual Storage Extended), and Digital Open VMS (Virtual machine System) </li></ul></ul></ul>System Software (continued …)
  16. 16. <ul><li>System Support Programs </li></ul><ul><ul><li>System support programs </li></ul></ul><ul><ul><ul><li>support the operations, management, and users of a computer system </li></ul></ul></ul><ul><ul><li>System utility programs </li></ul></ul><ul><ul><ul><li>accomplish common tasks such as sorting records, checking the integrity of diskettes, creating directories and subdirectories, restoring accidentally erased files, locating files within the directory structure, managing memory usage, and redirecting output </li></ul></ul></ul>System Software (continued …)
  17. 17. <ul><li>System Support Programs (continued …) </li></ul><ul><ul><li>System performance monitors </li></ul></ul><ul><ul><ul><li>monitor the processing of jobs on a computer system and produce reports containing detailed statistics concerning the use of system resources </li></ul></ul></ul><ul><ul><li>System security monitors </li></ul></ul><ul><ul><ul><li>monitor the use of a computer system to protect it and its resources from unauthorized use, fraud, or destruction </li></ul></ul></ul>System Software (continued …)
  18. 18. Application Software <ul><li>Application Software </li></ul><ul><ul><li>instructions that direct a computer system to perform specific information processing activities and provide functionality for users </li></ul></ul><ul><li>Types of Application Software </li></ul><ul><ul><li>Proprietary application software </li></ul></ul><ul><ul><ul><li>addresses a specific or unique business need for a company </li></ul></ul></ul><ul><ul><li>Off-the-shelf application software </li></ul></ul><ul><ul><ul><li>developed programs sold to many organizations </li></ul></ul></ul><ul><ul><ul><li>may be customizable or may be standard package </li></ul></ul></ul>
  19. 19. <ul><li>Personal Application Software </li></ul><ul><ul><li>one of the off-the-shelf application programs that are not linked to any specific business function, but instead support general types of processing </li></ul></ul>Application Software (continued …) Encompassing spreadsheet Data management Word processing Desktop publishing Publishing Graphics Multimedia Communications Speech recognition software GroupWare
  20. 20. <ul><li>Software Suites </li></ul><ul><ul><li>collections of application software packages that integrate the functions of the packages </li></ul></ul><ul><ul><li>examples : Microsoft Office, Novell Perfect Office, and Lotus SmartSuite </li></ul></ul><ul><ul><li>generally include : a spreadsheet program, word processor, database program, and graphics package with the ability to move document, data. And diagrams among them </li></ul></ul>Application Software (continued …)
  21. 21. Software Issues <ul><li>Software Selection </li></ul><ul><ul><li>Selection factors </li></ul></ul><ul><ul><ul><li>size and location of the current and future user base </li></ul></ul></ul><ul><ul><ul><li>system administration tools </li></ul></ul></ul><ul><ul><ul><li>initial and subsequent costs </li></ul></ul></ul><ul><ul><ul><li>current and future system capabilities </li></ul></ul></ul><ul><ul><ul><li>existing computing environment </li></ul></ul></ul><ul><ul><ul><li>in-house technical skills </li></ul></ul></ul>
  22. 22. <ul><li>Software Evaluation </li></ul><ul><ul><li>evaluation checklist </li></ul></ul><ul><ul><ul><li>ease of use in development </li></ul></ul></ul>Software Issues (continued …) <ul><ul><ul><li>learning </li></ul></ul></ul><ul><ul><ul><li>maintenance </li></ul></ul></ul><ul><ul><ul><li>reporting capability </li></ul></ul></ul><ul><ul><ul><li>graphic presentation </li></ul></ul></ul><ul><ul><ul><li>general functionality </li></ul></ul></ul><ul><ul><ul><li>data handling </li></ul></ul></ul><ul><ul><ul><li>output options </li></ul></ul></ul><ul><ul><ul><li>performance </li></ul></ul></ul><ul><ul><ul><li>security </li></ul></ul></ul><ul><ul><ul><li>environments and hardware </li></ul></ul></ul><ul><ul><ul><li>documentation </li></ul></ul></ul><ul><ul><ul><li>vendor support </li></ul></ul></ul>
  23. 23. <ul><li>Software Licensing </li></ul><ul><ul><li>copyright - exclusive legal right to reproduce, publish, and sell the software </li></ul></ul><ul><ul><li>licenses - permission granted under the law to engage in an activity otherwise unlawful </li></ul></ul><ul><li>Software Upgrades </li></ul><ul><ul><li>revised software may offer valuable enhancements but may offer little in terms of additional capabilities </li></ul></ul><ul><ul><li>revised software may contain bugs </li></ul></ul>Software Issues (continued …)
  24. 24. <ul><li>Shareware, Freeware, and Cheapware </li></ul><ul><ul><li>Shareware - low price software </li></ul></ul><ul><ul><li>Freeware - free copyrighted software </li></ul></ul><ul><ul><li>Cheapware - free public-domain software </li></ul></ul><ul><li>Open Systems </li></ul><ul><ul><li>a paradigm of computing products that work together </li></ul></ul><ul><ul><li>use the same operating system with compatible software on all the different computers in a system </li></ul></ul><ul><ul><li>to empower designers to choose the best computer hardware, operating system, and application software </li></ul></ul>Software Issues (continued …)
  25. 25. Programming Languages <ul><li>Machine Language (first generation of programming languages) </li></ul><ul><ul><li>the lowest level computer language </li></ul></ul><ul><ul><li>composed of binary digits </li></ul></ul><ul><ul><li>all other languages are translated into machine language before the computer can run the instructions </li></ul></ul><ul><li>Assembly Language (second generation of computer languages) </li></ul><ul><ul><li>a lower-level but more user-friendly language </li></ul></ul><ul><ul><li>assembler - translates an assembly language program into machine language </li></ul></ul>… .. ……
  26. 26. <ul><li>Procedural Languages (third generation languages) </li></ul><ul><ul><li>much closer to natural language </li></ul></ul><ul><ul><li>use common words rather than abbreviated mnemonics </li></ul></ul><ul><ul><li>compiler - translates the entire program at once </li></ul></ul><ul><ul><li>interpreter - translates and executes one source program statement at a time </li></ul></ul>Programming Languages (continued …)
  27. 27. <ul><li>Nonprocedural Language (fourth generation languages) </li></ul><ul><ul><li>a high-level language </li></ul></ul><ul><ul><li>allows the user to specify the desired result without having to specify the detailed procedures needed for achieving the result </li></ul></ul><ul><ul><li>can be used by non technical users </li></ul></ul><ul><li>Natural Language programming Languages (fifth generation languages) </li></ul><ul><ul><li>translates natural languages into a structured, machine-readable from are extremely complex </li></ul></ul>Programming Languages (continued …)
  28. 28. <ul><li>Visual Programming Languages </li></ul><ul><ul><li>used within a graphical environment </li></ul></ul><ul><ul><li>example : Visual Basic and Visual C++ </li></ul></ul><ul><ul><li>popular to non technical users </li></ul></ul><ul><li>Hypertext Markup Language (HTML) </li></ul><ul><ul><li>standard language used in World Wide Web </li></ul></ul><ul><ul><li>contains text, images, and other types of information such as data files, audio, video, and executable computer programs </li></ul></ul>Programming Languages (continued …)
  29. 29. <ul><li>Virtual Reality Modeling Language (VRML) </li></ul><ul><ul><li>a file format for describing three-dimensional interactive worlds and objects </li></ul></ul><ul><ul><li>can be used with the World Wide Web </li></ul></ul><ul><li>Object-Oriented Programming Languages (OOP) </li></ul><ul><ul><li>based on the idea of taking a small amount of data and the instructions about what to do with that data and putting both of these together into what is called an object </li></ul></ul>Programming Languages (continued …)
  30. 30. Enterprise Software <ul><li>Difficulty in Most Organizations </li></ul><ul><ul><li>the sheer complexity that arises from all the different types of hardware and software that they use </li></ul></ul><ul><li>Package Wanted by an Organization </li></ul><ul><ul><li>support integration between functional (i.e., human resource, operations, marketing, finance, accounting, etc.) modules </li></ul></ul><ul><ul><li>be quickly changed or enhanced </li></ul></ul><ul><ul><li>present a common graphical look-and-feel </li></ul></ul><ul><ul><li>help to reduce training and operation costs </li></ul></ul>
  31. 31. <ul><li>Enterprise Software </li></ul><ul><ul><li>manages a company’s vital operations, such as supply chain management (movement of raw material from suppliers through shipment of finished goods to customers), inventory replenishment, ordering, logistics coordination, human resource management, manufacturing, operations, accounting, and financial management </li></ul></ul>Enterprise Software (continued …)
  32. 32. <ul><li>System Anwendung Produket (SAP) </li></ul><ul><ul><li>one of the largest vendors (holds 30% of the enterprise software market) </li></ul></ul><ul><ul><li>strength :  high degree of integration  support for multi-site, multi-currency operations </li></ul></ul><ul><ul><li>R / 3 - flagship client/server product </li></ul></ul><ul><ul><ul><li>has a high degree of functional integration across the enterprise </li></ul></ul></ul><ul><ul><ul><li>criticism : complex, time-consuming and expensive to install and integrate with other systems </li></ul></ul></ul><ul><ul><ul><li>decoupling the models of R/3 into separate components, each with its own database </li></ul></ul></ul>Enterprise Software (continued …)