Lecture Preview In this lecture, we will study:


Published on

Published in: Technology, Business
1 Comment
  • Thanks, For Great help for me
    Are you sure you want to  Yes  No
    Your message goes here
  • 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
  • Operating System- supervises the overall operation of the computer, including monitoring the computer’s status and scheduling operations, which include controlling the input and output processes allocates CPU time and main memory to programs running on the computer, and also provides an interface between the user and the hardware
  • 24 22 25 25
  • 24 22 25 25
  • Who and where are the current users? Any changes in the future? Usage monitors, security, and user authorization. Initial licensing and ongoing maintenance fees; costs of upgrades; cost of add’l licenses. Current and future user needs. Compatible with existing infrastructure (HW, OS, etc.) Can in-house staff develop, or must off-the-shelf be purchased?
  • Lecture Preview In this lecture, we will study:

    1. 1. Lecture Preview <ul><li>In this lecture, we will study: </li></ul><ul><ul><li>Systems Software </li></ul></ul><ul><ul><li>Application Software </li></ul></ul><ul><ul><li>How software applications are developed </li></ul></ul><ul><ul><li>How software has evolved and where it’s headed </li></ul></ul><ul><ul><li>Software for the enterprise </li></ul></ul>
    2. 2. The Software Crisis <ul><li>New software applications cannot be developed fast enough to: </li></ul><ul><ul><li>Keep up with dynamic business environment </li></ul></ul><ul><ul><li>Keep pace with rapid hardware advances </li></ul></ul><ul><li>Lag in software development limits IS capabilities </li></ul>Computer System Hardware Software
    3. 3. The Software Crisis (continued) <ul><li>In addition to new application development, existing software must also be maintained (80% IT personnel effort towards maintenance). </li></ul><ul><li>Increasing complexity leads to the increased potential for “bugs.” </li></ul><ul><li>Testing and “debugging” software is expensive and time-consuming. </li></ul>
    4. 4. Software Fundamentals <ul><li>Some basic terms… </li></ul><ul><ul><li>Computer programs - sequences of instructions for the computer </li></ul></ul><ul><ul><li>Stored program concept – instructions written in programs are stored and executed by CPU when needed </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>
    5. 5. Software Fundamentals (continued) <ul><li>Systems Software </li></ul><ul><ul><li>Instructions that manage the hardware resources </li></ul></ul><ul><li>Application Software </li></ul><ul><ul><li>Instructions that perform specific user tasks </li></ul></ul>Computer Software Systems Software Application Software Makes the computer function Does something interesting
    6. 6. System Software <ul><li>System software is software that: </li></ul><ul><ul><li>Controls and supports the computer system’s activities </li></ul></ul><ul><ul><li>Supports application software by directing the computer’s basic functions </li></ul></ul><ul><ul><li>Facilitates program development, testing, and debugging </li></ul></ul><ul><ul><li>Is independent of any specific type of application </li></ul></ul>
    7. 7. Systems Software (continued) <ul><li>System Control Programs </li></ul><ul><ul><li>Control use of all system resources (hardware, software, data); operating system </li></ul></ul><ul><li>System Support Programs </li></ul><ul><ul><li>Specialized support capabilities </li></ul></ul>Systems Software System Control Programs Systems Support Programs
    8. 8. System Control Programs <ul><li>Operating System - main system control program </li></ul><ul><ul><li>supervises the overall operation of the computer </li></ul></ul><ul><ul><li>allocates CPU time and main memory to programs running on the computer </li></ul></ul><ul><ul><li>provides an interface between the user and the hardware </li></ul></ul>
    9. 9. Operating System Services <ul><li>Process management – manage program(s) running on processor </li></ul><ul><ul><li>Multitasking or Multiprogramming - managing two or more tasks, or programs, running on the computer system at the same time </li></ul></ul><ul><ul><li>Multithreading – type of multitasking; run two or more tasks from the same application simultaneously </li></ul></ul><ul><ul><li>Timesharing - many users share same CPU, each using a different input/output terminal </li></ul></ul><ul><ul><li>Multiprocessing – simultaneous processing with multiple CPUs </li></ul></ul>
    10. 10. Operating System Services (continued) <ul><li>Virtual memory - simulates more main memory than actually exists in the computer system </li></ul><ul><li>File management and security - managing the arrangement of, and access to, files held in secondary storage </li></ul><ul><li>Fault tolerance - system can produce correct results and continue to operate even in the presence of faults or errors </li></ul><ul><li>User interface - allows users to have direct control of visible objects (icons) and actions that replace complex command syntax </li></ul>
    11. 11. <ul><li>Major Desktop Operating Systems </li></ul>Types of Operating Systems MS-DOS Windows 95 Windows 98 Windows NT Windows 2000 Microsoft Products: Windows XP Windows ME Macintosh Operating System UNIX Java Operating System (JavaOS) Other Products: Linux IBM O/S 2
    12. 12. <ul><li>Departmental Server Operating Systems </li></ul><ul><ul><li>Support hundreds of concurrent users </li></ul></ul><ul><ul><li>UNIX, Linux, Windows 2000, Windows XP, Novell NetWare </li></ul></ul><ul><li>Enterprise Operating Systems </li></ul><ul><ul><li>Support thousands of concurrent users; millions of transactions per day </li></ul></ul><ul><ul><li>IBM’s OS/390, IBM’s VM (Virtual Machine), IBM’s VSE (Virtual Storage Extended), and IBM’s OS/400 </li></ul></ul>Types of Operating Systems (continued)
    13. 13. <ul><li>Support the operations, management, and users of a computer system </li></ul><ul><li>Examples: </li></ul><ul><ul><li>System Utilities </li></ul></ul><ul><ul><ul><li>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. </li></ul></ul></ul>System Support Programs
    14. 14. <ul><li>Examples (continued) </li></ul><ul><ul><li>Performance monitors </li></ul></ul><ul><ul><ul><li>monitor job processing </li></ul></ul></ul><ul><ul><ul><li>produce statistical reports on system resource usage </li></ul></ul></ul><ul><ul><li>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 Support Programs (continued)
    15. 15. Application Software <ul><li>Programs performing specific information processing activities and user functionality </li></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>Vendor developed programs sold to many organizations </li></ul></ul></ul><ul><ul><ul><li>May be standard package or may be customizable </li></ul></ul></ul>
    16. 16. Application Software (continued) <ul><li>Spreadsheets </li></ul><ul><li>Data management </li></ul><ul><li>Word processing </li></ul><ul><li>Desktop publishing </li></ul><ul><li>Graphics </li></ul><ul><ul><li>Presentation; Analysis; CAD </li></ul></ul><ul><li>Multimedia </li></ul><ul><li>Communication </li></ul><ul><li>Speech-recognition </li></ul><ul><li>Groupware </li></ul><ul><li>Personal Application Software - off-the-shelf application programs supporting general types of processing </li></ul>
    17. 17. Software Issues <ul><li>Software Evaluation and Selection </li></ul><ul><ul><li>Selection factors </li></ul></ul><ul><ul><ul><li>Size and location of the 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>
    18. 18. <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>May or may not offer valuable enhancements </li></ul></ul><ul><ul><li>Risk that revised software may contain bugs </li></ul></ul><ul><ul><li>Upgrading in a large organization is a major undertaking, so must assess the merits of the new release </li></ul></ul>Software Issues (continued)
    19. 19. <ul><li>Open Systems </li></ul><ul><ul><li>A model of computing products that work together </li></ul></ul><ul><ul><li>Empower designers to choose the best computer hardware, operating system, and application software without compatibility concerns </li></ul></ul><ul><li>Open Source Software </li></ul><ul><ul><li>Software code offered freely to developers </li></ul></ul>Software Issues (continued)
    20. 20. Programming Languages <ul><li>Various programming languages enable people to tell computers what to do </li></ul><ul><li>Foundation for developing applications </li></ul>
    21. 21. How are Programs Understood by the Computer? (The Language Translation Process) Program written in programming language ( source code ) Translator program <ul><li>Assembler </li></ul><ul><li>Compiler </li></ul><ul><li>Interpreter </li></ul>Program written in machine language ( object code ) Processed By CPU
    22. 22. Programming Languages <ul><li>Machine Language (first generation of programming languages) </li></ul><ul><ul><li>The computer’s ‘native language’ </li></ul></ul><ul><ul><li>Composed of binary digits (0s, 1s) </li></ul></ul><ul><ul><li>The only language that computers understand </li></ul></ul><ul><li>Assembly Language (second generation of programming languages) </li></ul><ul><ul><li>One-to-one correspondence to machine language </li></ul></ul><ul><ul><li>Somewhat more user-friendly than machine language (mnemonic rather than binary digits) </li></ul></ul><ul><ul><li>Assembler – program that translates an assembly language program into machine language </li></ul></ul>
    23. 23. <ul><li>Procedural Languages (third generation languages) </li></ul><ul><ul><li>One instruction translates into many machine language instructions </li></ul></ul><ul><ul><li>Programs describe the computer’s processing step-by-step </li></ul></ul><ul><ul><li>Closer to natural language; uses common words rather than abbreviated mnemonics </li></ul></ul><ul><ul><li>Examples: Cobol, C, Fortran, QuickBasic </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 …)
    24. 24. <ul><li>Nonprocedural Language (fourth generation languages) </li></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>Example – data base query language - SQL </li></ul></ul><ul><ul><li>Can be used by non technical users </li></ul></ul><ul><li>Natural Language Programming Languages (fifth generation (intelligent) languages) </li></ul><ul><ul><li>Translates natural languages into a structured, machine-readable form </li></ul></ul><ul><ul><li>Are extremely complex and experimental </li></ul></ul>Programming Languages (continued)
    25. 25. <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>Current Programming Languages
    26. 26. <ul><li>Extensible Markup Language (XML) </li></ul><ul><ul><li>Improved on web document functionality </li></ul></ul><ul><li>Componentware </li></ul><ul><ul><li>Software components that may be assembled by developer as needed </li></ul></ul><ul><ul><li>“ Plug and Play” software development </li></ul></ul>Current Programming Languages
    27. 27. <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 objects – packaging data and the instructions about what to do with that data together </li></ul></ul><ul><ul><li>Examples: Java, C++ </li></ul></ul><ul><ul><li>Unified Modeling Language (UML)- modeling tool for object-oriented systems </li></ul></ul>Current Programming Languages (continued)
    28. 28. Enterprise Software <ul><li>Problem faced in many organizations… </li></ul><ul><ul><li>Competitive pressures require change in organizational procedures, however </li></ul></ul><ul><ul><li>all the different types of software and hardware in use cause so much complexity that change is difficult </li></ul></ul><ul><li>Solution options </li></ul><ul><ul><li>Software packages with integrated functional modules (i.e., human resource, operations, marketing, finance, accounting, etc.) </li></ul></ul><ul><ul><li>Use of middleware to link disparate applications </li></ul></ul><ul><ul><li>Enterprise software that manages all organizational operations </li></ul></ul>
    29. 29. Lecture Summary <ul><li>Software can be broadly categorized as Systems software and Applications software </li></ul><ul><li>Systems software provides an interface between the hardware and the application software </li></ul><ul><li>Application software performs specific business functions </li></ul><ul><li>Programming languages provide the means for humans to give computers instructions </li></ul><ul><li>Organizations seek enterprise wide software solutions to provide integrated organizational systems </li></ul>