Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software.

Similar presentations


Presentation on theme: "1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software."— Presentation transcript:

1 1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software has evolved and where it’s headed  Software for the enterprise

2 2 The Software Crisis  New software applications cannot be developed fast enough to:  Keep up with dynamic business environment  Keep pace with rapid hardware advances  Lag in software development limits IS capabilities Computer System HardwareSoftware

3 3 The Software Crisis (continued)  In addition to new application development, existing software must also be maintained (80% IT personnel effort towards maintenance).  Increasing complexity leads to the increased potential for “bugs.”  Testing and “debugging” software is expensive and time-consuming.

4 4 Software Fundamentals  Some basic terms…  Computer programs - sequences of instructions for the computer  Stored program concept – instructions written in programs are stored and executed by CPU when needed  Programming - process of writing (or coding) programs  Programmers - individuals who perform programming

5 5 Software Fundamentals (continued)  Systems Software  Instructions that manage the hardware resources  Application Software  Instructions that perform specific user tasks Computer Software Systems Software Application Software Makes the computer function Does something interesting

6 6 System Software  System software is software that:  Controls and supports the computer system’s activities  Supports application software by directing the computer’s basic functions  Facilitates program development, testing, and debugging  Is independent of any specific type of application

7 7 Systems Software (continued)  System Control Programs  Control use of all system resources (hardware, software, data); operating system  System Support Programs  Specialized support capabilities Systems Software System Control Programs Systems Support Programs

8 8 System Control Programs  Operating System - main system control program  supervises the overall operation of the computer  allocates CPU time and main memory to programs running on the computer  provides an interface between the user and the hardware

9 9 Operating System Services  Process management – manage program(s) running on processor  Multitasking or Multiprogramming - managing two or more tasks, or programs, running on the computer system at the same time  Multithreading – type of multitasking; run two or more tasks from the same application simultaneously  Timesharing - many users share same CPU, each using a different input/output terminal  Multiprocessing – simultaneous processing with multiple CPUs

10 10 Operating System Services (continued)  Virtual memory - simulates more main memory than actually exists in the computer system  File management and security - managing the arrangement of, and access to, files held in secondary storage  Fault tolerance - system can produce correct results and continue to operate even in the presence of faults or errors  User interface - allows users to have direct control of visible objects (icons) and actions that replace complex command syntax

11 11  Major Desktop Operating Systems Types of Operating Systems MS-DOS Windows 95Windows 98 Windows NTWindows 2000 Microsoft Products: Windows XP Windows ME Macintosh Operating System UNIX Java Operating System (JavaOS) Other Products: Linux IBM O/S 2

12 12  Departmental Server Operating Systems  Support hundreds of concurrent users  UNIX, Linux, Windows 2000, Windows XP, Novell NetWare  Enterprise Operating Systems  Support thousands of concurrent users; millions of transactions per day  IBM’s OS/390, IBM’s VM (Virtual Machine), IBM’s VSE (Virtual Storage Extended), and IBM’s OS/400 Types of Operating Systems (continued)

13 13  Support the operations, management, and users of a computer system  Examples:  System Utilities 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. System Support Programs

14 14  Examples (continued)  Performance monitors monitor job processing produce statistical reports on system resource usage  Security monitors monitor the use of a computer system to protect it and its resources from unauthorized use, fraud, or destruction System Support Programs (continued)

15 15 Application Software  Programs performing specific information processing activities and user functionality  Types of Application Software  Proprietary application software Addresses a specific or unique business need for a company  Off-the-shelf application software Vendor developed programs sold to many organizations May be standard package or may be customizable

16 16 Application Software (continued)  Spreadsheets  Data management  Word processing  Desktop publishing  Graphics  Presentation; Analysis; CAD  Multimedia  Communication  Speech-recognition  Groupware  Personal Application Software - off-the-shelf application programs supporting general types of processing

17 17 Software Issues  Software Evaluation and Selection  Selection factors Size and location of the user base System administration tools Initial and subsequent costs Current and future system capabilities Existing computing environment In-house technical skills

18 18  Software Licensing  Copyright - exclusive legal right to reproduce, publish, and sell the software  Licenses - permission granted under the law to engage in an activity otherwise unlawful  Software Upgrades  May or may not offer valuable enhancements  Risk that revised software may contain bugs  Upgrading in a large organization is a major undertaking, so must assess the merits of the new release Software Issues (continued)

19 19  Open Systems  A model of computing products that work together  Empower designers to choose the best computer hardware, operating system, and application software without compatibility concerns  Open Source Software  Software code offered freely to developers Software Issues (continued)

20 20 Programming Languages  Various programming languages enable people to tell computers what to do  Foundation for developing applications

21 21 How are Programs Understood by the Computer? (The Language Translation Process) Program written in programming language (source code) Translator program  Assembler  Compiler  Interpreter Program written in machine language (object code) Processed By CPU

22 22 Programming Languages  Machine Language (first generation of programming languages)  The computer’s ‘native language’  Composed of binary digits (0s, 1s)  The only language that computers understand  Assembly Language (second generation of programming languages)  One-to-one correspondence to machine language  Somewhat more user-friendly than machine language (mnemonic rather than binary digits)  Assembler – program that translates an assembly language program into machine language

23 23  Procedural Languages (third generation languages)  One instruction translates into many machine language instructions  Programs describe the computer’s processing step-by- step  Closer to natural language; uses common words rather than abbreviated mnemonics  Examples: Cobol, C, Fortran, QuickBasic  Compiler - translates the entire program at once  Interpreter - translates and executes one source program statement at a time Programming Languages (continued …)

24 24  Nonprocedural Language (fourth generation languages)  Allows the user to specify the desired result without having to specify the detailed procedures needed for achieving the result  Example – data base query language - SQL  Can be used by non technical users  Natural Language Programming Languages (fifth generation (intelligent) languages)  Translates natural languages into a structured, machine-readable form  Are extremely complex and experimental Programming Languages (continued)

25 25  Visual Programming Languages  Used within a graphical environment  Example : Visual Basic and Visual C++  Popular to non technical users  Hypertext Markup Language (HTML)  standard language used in World Wide Web  contains text, images, and other types of information such as data files, audio, video, and executable computer programs Current Programming Languages

26 26  Extensible Markup Language (XML)  Improved on web document functionality  Componentware  Software components that may be assembled by developer as needed  “Plug and Play” software development Current Programming Languages

27 27  Virtual Reality Modeling Language (VRML)  a file format for describing three-dimensional interactive worlds and objects  can be used with the World Wide Web  Object-Oriented Programming Languages (OOP)  based on objects – packaging data and the instructions about what to do with that data together  Examples: Java, C++  Unified Modeling Language (UML)- modeling tool for object-oriented systems Current Programming Languages (continued)

28 28 Enterprise Software  Problem faced in many organizations…  Competitive pressures require change in organizational procedures, however  all the different types of software and hardware in use cause so much complexity that change is difficult  Solution options  Software packages with integrated functional modules (i.e., human resource, operations, marketing, finance, accounting, etc.)  Use of middleware to link disparate applications  Enterprise software that manages all organizational operations

29 29 Lecture Summary  Software can be broadly categorized as Systems software and Applications software  Systems software provides an interface between the hardware and the application software  Application software performs specific business functions  Programming languages provide the means for humans to give computers instructions  Organizations seek enterprise wide software solutions to provide integrated organizational systems


Download ppt "1 Lecture Preview  In this lecture, we will study:  Systems Software  Application Software  How software applications are developed  How software."

Similar presentations


Ads by Google