4 Software Basics The Ghost in the Machine Chapter Outline “All experience shows technological changes profoundly transform political and social relationships.” John von Neumann 2001 Prentice Hall • Processing with Programs • Software Applications: Tools for Users • System Software: The Hardware-Software Connection • The User Interface: The HumanMachine Connection • Tomorrow’s User Interfaces 4.2 Processing with Programs Software programs are: – stored in memory – a set of instructions that tell a computer what to do – designed to solve problems 2001 Prentice Hall 4.3 Food for Thought Suzanne’s French Toast Fantastique: 1. Combine 2 slightly beaten eggs with 1 tsp vanilla extract, ½ tsp cinnamon, cup milk 2. Dip 6 slices of bread in mixture 3. Fry in small amount of butter until golden brown 4. Serve bread with maple syrup, sugar, or tart jelly 2001 Prentice Hall 4.4 A Fast, Stupid Machine Computers: – Have limited capabilities – Can only do basic mathematics and logical comparisons – Must be instructed with programs what to do 2001 Prentice Hall 4.5 The Language of Computers • Programmers begin with an algorithm, which is: – A set of step-by-step instructions (written in a natural language, e.g., English) • Algorithms are ambiguous, error-prone generalities • Algorithms are translated into the vocabulary of a programming language 2001 Prentice Hall 4.6 Programming Languages Bridge the gap Human language Numeric code COBOL, BASIC, and C++ 2001 Prentice Hall 4.7 Software Applications: Tools for Users Software applications include: – Consumer software – Integrated software – Vertical-market and custom software 2001 Prentice Hall 4.8 Consumer Applications • Consumer software differs from other types (music CDs, videos, etc.) based on: – Documentation – Upgrade options – Compatibility – Warranty – Extent of ownership/license 2001 Prentice Hall 4.9 Documentation Documentation includes: – Printed tutorial and reference manuals that explain how to use the software – On-line manuals and help screens which offer immediate help to the user 2001 Prentice Hall 4.10 Upgrades • Upgrades allow you to pay a fee to get the latest software version • Newer releases often have additional features and fewer bugs 2001 Prentice Hall 4.11 Compatibility • Compatibility allows software to function properly with the hardware, operating system, and peripherals 2001 Prentice Hall • Programs written for one type of computer system may not work on another 4.12 Warranty Buyer Beware! • Software manufacturers limit their liability for software problems by selling their software “as is” • Error-free software does not exist 2001 Prentice Hall 4.13 Ownership/Licensing • Three categories: – Purchased software grants you a license to use the software as the software company tells you – Shareware software is free for the trying, but a nominal fee is to be paid to the programmer if you continue to use it – Public domain software is legally free and cannot be owned or licensed 2001 Prentice Hall 4.14 Integrated Applications and Suites: Software Bundles • Multipurpose software includes most of these modules: – Word processing – Database – Spreadsheet – Graphics – Telecommunications 2001 Prentice Hall 4.15 Integrated Software: Advantages • Costs less than buying the applications individually • Data is easily transferred between modules • Commands used in each module are usually the same • Usually there is a seamless integration of the modules 2001 Prentice Hall 4.16 Vertical-Market and Custom Software • Job-specific software: - Medical billings - Library cataloging - Restaurant management - Single-client software needs 2001 Prentice Hall 4.17 What the Operating System Does • The operating system controls: – Communication with peripherals – Coordination of concurrent processing – Memory management – Monitoring of resources and security – Management of programs and data – Coordinating network communications 2001 Prentice Hall 4.18 Utility Programs Utility software controls tasks such as: – repairing damaged files – making it easy for users to copy files from one storage device to another – translating files so different software can read them – guarding against viruses 2001 Prentice Hall 4.19 Where the Operating System Lives • Some computers store their operating system in ROM • Others include only part of it in ROM – The remaining system is loaded into memory (booting) • Most of the time it works behind the scenes 2001 Prentice Hall 4.20 The User Interface: The Human-Machine Connection The user interface is what the user sees on the screen Two major user interface types: – Character-based interface – Graphical user interface (GUI) 2001 Prentice Hall 4.21 A Character-Based Interface: MS-DOS • This is a disk operating system in which the user interacts using characters – letters – numbers – symbols 2001 Prentice Hall 4.22 A Character-Based User Interface: MS-DOS • MS-DOS™ is the most widely used general-purpose operating system • Features include: – Command-line interface (commands are typed) – Menu-driven interface (commands are chosen from on-screen lists) 2001 Prentice Hall 4.23 Graphical User Interfaces: Macintosh • This is a disk operating system in which the user interacts with the computer by using a pointing device (e.g. a mouse) • As early as 1984, the Macintosh™ computer was designed with this interface in mind 2001 Prentice Hall 4.24 Graphical User Interfaces: Windows • Windows 95 and 98 are similar in many ways to the Mac OS • Several versions of Windows exist for business and home users 2001 Prentice Hall 4.25 Why WIMP Won Windows, Icons, Menus, and Pointing devices • They’re intuitive • They’re consistent • They’re forgiving • They’re protective • They’re flexible 2001 Prentice Hall 4.26 Multiple User Operating Systems: UNIX and Linux • UNIX was developed at Bell Labs before personal computers were available • Linux was created by Linus Torvalds and continues to be a work-in-progress – Linux is free for anyone to use or improve 2001 Prentice Hall 4.27 Multiple User Operating Systems: UNIX and Linux • UNIX remains a dominant Internet operating system for Internet servers. • These systems allow a timesharing computer to communicate with several other computers or terminals at once. 2001 Prentice Hall 4.28 Hardware & Software Platforms • Windows 9x(ME) • IBM’s OS/2 • Windows 2000 • Mac OS/9 • Windows CE • Mac OS/X • Palm OS • UNIX & Linux • BeOS 2001 Prentice Hall 4.29 Rules of Thumb Consumer Concepts Before you buy: – Determine what you can afford – Allow for “extras” – Join a user group or talk with other computer and software owners 2001 Prentice Hall 4.30 Rules of Thumb: Consumer Concepts Consider: • What kind of tasks you will be doing • If the processor can handle your demands • If your computer can be customized to fit your needs (such as video editing) • If you will be able to upgrade • How much computer power you need 2001 Prentice Hall 4.31 Rules of Thumb: Consumer Concepts Consider: • If you need a highspeed modem or network connection • If you should have the same machine as those you work with • Whether portability or permanent connection of peripherals is important • If you are buying from a reputable company • Which kind of user interface will help you do your work easier 2001 Prentice Hall • What kind of support is available 4.32 Tomorrow’s User Interfaces Future interfaces will probably: – Make individual applications obsolete – Support natural languages (talk to the machine and it talks back) – Include artificial intelligence and agents that fit our needs – Be based on virtual reality (data in three-dimensional physical space) 2001 Prentice Hall 4.33