180 likes | 353 Views
Chapter 4:. Software: Systems and Application Software. Agenda. What is Software Overview of Software Operating Systems Popular Operating Systems Utility Programs Types of Application Software Proprietary Application Software Off-the-shelf Application Software
E N D
Chapter 4: Software: Systems and Application Software
Agenda • What is Software • Overview of Software • Operating Systems • Popular Operating Systems • Utility Programs • Types of Application Software • Proprietary Application Software • Off-the-shelf Application Software • Standard Off-the-shelf Application Software • Software Issues and Trends • Programming Languages • Object Oriented Programming Languages • Programming Language Selection • Language Translators
What is Software • Software consists of the computer programs that coordinate the workings of the computer hardware (statements to the computer) and the program documentation for explaining the operations of the programs to the user.
Overview of Software There are two basic types of software: • SystemsSoftware is a set of programs to support the computer system by coordinating the activities of the hardware and the applications. Systems software is written for a specific set of hardware, most particularly the CPU. • ApplicationSoftware is a set of programs that solve specific user-oriented problems.
Operating Systems • An Operating System is a set of computer programs that control the computer hardware and act as an interface with application programs. • Operating System Activities: • Perform common computer hardware functions like storing data on disk • Provide the user interface like the Windows XP Graphical User Interface or command-based user interface • Provide hardware independence by serving as the interface between the application program and the hardware • Manage system memory to control how memory is accessed and used • Manage processing tasks like enabling the user to run more than one application (multitasking or time-sharing) • Provide network capability to link users • Control access to system resources by providing functions like password protection • Manage files tracking where each file is stored and where is located
Popular Operating Systems • Consumer Appliance Operating Systems • Windows CE.Net/Windows XP/Handheld PC/Pocket PC • Palm OS • PC Operating Systems • MS Windows 95/98/2000/XP • Mac OS X • Linux • Network (workgroup) Operating Systems • Windows 2000 Server • Unix • Netware • Red Hat Linux • Mac OS X Server • Enterprise Operating Systems • OS/390 • Linux
Utility Programs • Utilityprograms are used to perform important functions like merging and sorting sets of data, keeping track of computer jobs and compressing files before they are stored. • Examples of Utility programs: • DriveSpace compresses the hard drive increasing its storage capacity (Windows 95/98). • Disk Defragmenter speeds up disk access by rearranging the files and free space on the computer (Windows 95/98) • DFSORT sorts and merges data files (MVS) • TestDrive allows trying the software before purchasing it and deleting the software from the hard drive after the trial period. • Screen Saver • Virus Detection
Proprietary Application Software • ApplicationSoftware gives organizations the ability to solve problems and perform specific activities and tasks. • Proprietary application software solves a unique or specific problem. • Proprietary application software can be In-house developed or developed by external vendors in which case is called contract software. • Advantages of proprietary application software: • Software usually meets the user requirements • Provides flexibility in making modifications • Offers more control over the results • Disadvantages of proprietary application software: • Can take a long time and significant resources to develop (costly) • Has more risk concerning the features and performance
Off-the-shelf Application Software • Off-the-shelf application software may be purchased, leased, or rented from a software company. Off-the-shelf application software can be customized to better fit company specific needs. • Advantages of Off-the-shelf application software: • Lower initial cost • Lower risk that the software will fail • Higher quality usually without bugs and well tested • Disadvantages Off-the-shelf application software: • May pay for features never used • May lack important features • May not match current work processes
Standard Off-the-shelf Application Software • Personal Application Software • Word processing • Spreadsheet analysis • Database applications • Graphics programs • On-line information services • Software suites • Workgroup Application Software • Lotus Notes • Group scheduling • Enterprise Application Software
Enterprise Resource Planning (ERP) • ERP software: a set of integrated programs that manage a company’s critical business operations • ERP software can support global operations – so it must support many languages, legal entities, and currencies • Examples • SAP • PeopleSoft • Benefits • Eliminate inefficient systems • Improved data access for decision making • Facilitate the adoption of improved work processes • Supply chain management • Costs • Costly • Changed business processes • Employee resistance
Software Issues and Trends • Software bugs and the costs associated with them • Open Source Software can save you money but be aware of hidden costs • Software Licensing • Usage-based License • Capacity-based License • Software-as-a-network service • Subscription Licensing • Lack of tracking software licenses can cost the organization: • Software Publishers Association (SPA) can fine the organization $100,000 or more if it is caught with illegal software • Software upgrades should be carefully evaluated • Software support should be carefully evaluated • Shareware and Freeware can save you money: • Shareware is the software where a user is expected to pay the author a modest amount • Freeware is free software
Programming Languages • All software programs, both systems software and application software are written using programming languages • The first generation: Machine language (low level language) • Written in binary code (0 and 1) • Machine language is the language of the CPU • The second generation: Assembly language • Replaces binary code with symbols understood by humans • The third generation: High-level languages (i.e. BASIC and COBOL) • Translate each statement to many machine language instructions • English-like, appropriate for certain types of applications • Hardware independent • The fourth generation: 4GLs • 4GLs have query and database abilities • 4GLs have code-generation and graphics abilities • Fifth generation • Visual or graphical development interface to create source language
Object Oriented Programming Languages • Object-Oriented programming languages put data and action in an object and use message to allow the interaction between objects. • Smalltalk (popular object-oriented language) • C++ (enhancement of C to use the object-oriented approach) • Java (allows programmers to develop applications that work across the Internet). Java code is embedded into the home page.
Programming Language Selection • Selecting the best programming language to use for a particular program involves balancing the functional characteristics of the language with cost, control and complexity issues.
Language Translators • Machine language is the only language capable of directly instructing the CPU. Every non machine language program instruction must be translated into machine language prior to execution. Language Translators convert high-level code into machine language. • Interpreters translate one program statement at a time, as the program is running. • Compilers translate a complete program into machine language, then the machine language is executed as needed. Because compiled programs run faster than programs that are translated line by line by an interpreter, programmers usually choose compilers to translate frequently run business programs.
Points to Remember • What is Software • Overview of Software • Operating Systems • Popular Operating Systems • Utility Programs • Types of Application Software • Proprietary Application Software • Off-the-shelf Application Software • Standard Off-the-shelf Application Software • Software Issues and Trends • Programming Languages • Object Oriented Programming Languages • Programming Language Selection • Language Translators