Académique Documents
Professionnel Documents
Culture Documents
Computer Software
McGraw-Hill/Irwin
Learning Objectives
1. Describe several important trends occurring in computer software. 2. Give examples of major types of application and system software. 3. Explain the purpose of several popular software packages for end user productivity and collaborative computing. 4. Define and describe the functions of an operating system.
4- 2
Learning Objectives
5. Describe the main uses of computer programming software, tools, and languages.
4- 3
Types of software
4- 4
Software types
Application software
Performs information processing tasks for end users
System software
Manages and supports operations of computer systems and networks
4- 5
Application software
General purpose
Programs that perform common information processing jobs for end users E.g., word processing, spreadsheet, etc. Also called productivity packages
Application-specific
Programs that support specific applications of end users E.g., electronic commerce, customer relationship management, etc.
4- 6
Software classifications
Classify based on how it was developed Custom software
Software applications that are developed within an organization for use by that organization
COTS software
Commercial Off-the-shelf (COTS) Software developed with the intention of selling the software in multiple copies
Why would you choose Custom over COTS? Why would you choose COTS over Custom?
4- 7
Software Suites
4- 8
Software Suites
Software suites integrate software packages
Advantages:
Cost less than buying individual packages All have a similar GUI Work together well
Disadvantages
Features not used by all users Take a lot of disk space
4- 9
Integrated Packages
Integrated packages
Combine the functions of several programs into one package E.g., Microsoft Works, AppleWorks Advantages:
Many functions for lower price and smaller disk space
Disadvantage
Limited functionality
4- 10
Web Browser
Software applications that support navigation through the point-and-click resources of the Web Surfing the web Becoming a universal software platform for Internet-based applications Microsoft Explorer, Netscape Navigator, Firefox, Opera or Mozilla
4- 11
Weblog or blog
A personal website in dated log format Updated with new information about a subject or range of subjects
4- 12
Desktop Publishing
Produce printed materials that look professionally published E.g., Adobe PageMaker, Microsoft Publisher and QuarkXPress
4- 13
Presentation Graphics
Convert numeric data into graphics displays Prepare multimedia presentations including graphics, photos, animation, and video clips E.g., Microsoft PowerPoint, Lotus Freelance, Corel Presentations
4- 14
Groupware
Software that helps workgroups collaborate on group assignments E-mail, discussion groups, databases, videoconferencing E.g., Lotus Notes, Novell GroupWise, Microsoft Exchange
4- 15
Software alternatives
Outsourcing development and maintenance of software Application service providers (ASPs)
Companies that own, operate and maintain application software and computer system resources Use the application for a fee over the Internet Pay-as-you-go
4- 16
Software Licensing
All software (COTS, ASP) is licensed You dont buy software: you buy a license to use the software under the terms of the licensing agreement Licensed to protect the vendors property rights
4- 17
System software
Software that manages and supports a computer system System management programs
Programs that manage hardware, software, network, and data resources E.g., operating systems, network management programs, database management systems, systems utilities
Operating System
Integrated system of programs that
Manages the operations of the CPU Controls the input/output and storage resources and activities of the computer system Provides support services as computer executes applications programs
4- 19
4- 20
User Interface
Part of the operating system that allows you to communicate with it Three main types:
Command-driven Menu-driven Graphical user interfaces (GUI)
4- 21
Resource management
Part of operating system that manages the hardware and networking resources of a computer system
Includes CPU, memory, secondary storage device, telecommunications, and input/output peripherals
Virtual memory
Swapping parts of programs and data between memory and magnetic disks
4- 22
File management
Part of the operating system that controls the creation, deletion, and access of files of data and programs
4- 23
Task Management
Part of the operating system that manages the accomplishment of computing tasks of the end users Multitasking
Task management approach that allows for several tasks to be performed in a seemingly simultaneous fashion
Assigns only one task to CPU but switches between tasks so quickly looks like executing all programs at once
Unix
Multitasking, multiuser, network-managing Portable can run on mainframes, midrange and PCs
Linux
Low-cost, powerful reliable Unix-like operating system Open-source
MAC OS X
Apple operating system for the iMac GUI, multitasking, multimedia
4- 25
4- 26
Performance monitors
Programs that monitor and adjust computer system to keep them running efficiently
Security monitors
Programs that monitor and control use of computer systems to prevent unauthorized use of resources
4- 27
Application servers
Provide an interface between an operating system and the application programs of users Middleware
Software that helps diverse software applications exchange data and work together more efficiently
4- 28
Programming Languages
4- 29
Machine Languages
First-generation languages All program instructions had to be written using binary codes unique to each computer Programmers had to know the internal operations of the specific type of CPU
4- 30
Assembler Languages
Second-generation languages Symbols are used to represent operation codes and storage locations Need language translator programs to convert the instructions into machine instructions Used by systems programmers (who program system software)
4- 31
High-Level Languages
Third-generation languages Instructions that use brief statements or arithmetic expressions Macroinstructions: each statement generates several machine instructions when translated by compilers or interpreters Easier to learn than assembler Machine independent Less efficient than assembler
4- 32
Fourth-Generation Languages
Variety of programming languages that are nonprocedural and conversational Nonprocedural users specify results they want while computer determines the sequence of instructions that will accomplish those results Natural Language very close to English or other human language
4- 33
Object-Oriented Languages
Combine data elements and the procedures that will be performed upon them into Objects E.g., an object could be data about a bank account and the procedures performed on it such as interest calculations
4- 34
Object-Oriented Languages
Most widely used software development languages today Easier to use and more efficient for graphicsoriented user interfaces Reusable: can use an object from one application in another application E.g., Visual Basic, C++, Java
4- 35
Web Languages
HTML
A page description language that creates hypertext documents for the Web
XML
Describes the contents of Web pages by applying identifying tags or contextual labels to the data in Web documents
Java
Object-oriented programming language that is simple, secure and platform independent Java applets can be executed on any computer
4- 36
4- 37
Web Services
Software components based on a framework of Web and objectoriented standards and technologies for using the Web to electronically link the applications of different users and different computing platforms
4- 38
Source: Adapted from Bala Iyer, Jim Freedman, Mark Gaynor and George Wyner, Web Services: Enabling Dynamic Business Networks, Communications of the Association for Information Systems, Volume11, 2003, p. 543. 4- 39
Compiler
translates high-level language statements
Interpreter
compiler that translates and executes each statement in a program one at a time Java is interpreted
4- 40
Programming Tools
Help programmers identify and minimize errors while they are programming
Graphical Programming Interfaces Programming Editors Debuggers
CASE tools
A combination of many programming tools into a single application with a common interface Used in different stages of the systems development process
4- 41
Case 1: Wolf Peak International: Failure and Success in Application Software for the Smallto-Medium Enterprise
Wolf Peak International is a small company which designs and manufactures eyewear for the safety, sporting, driving, and fashion industries. The company outgrew the capabilities of QuickBooks which handled its accounting functions. The company spent a lot of money to implement a new accounting system, but nobody knew how to extract financial or operational data used to make critical business decisions. The company successfully implemented SAP Business One software replacing the failed accounting system.
4- 42
4- 43
4- 44
4- 45
Case 2: Google, Microsoft, and Others: Transforming the Desktop with Webtop Software Applications
Today productivity and business software applications are becoming browser-based. Todays Web-based apps can run almost as seamlessly as programs used on the desktop, with embedded audio, video, and drag-and-drop ease of use. Some webtop applications are: Writely, a free online word processor; Zimbra, an online e-mail application; and Tracker, an online spreadsheet package.
4- 46
2.
3.
4- 47
4- 48
4- 49
Case 3: Microsoft and Others: Developing Software for How Companies do Business
Microsoft, IBM, and other companies are pursuing vertical strategy. Microsoft is assessing business process needs of specific industries and developing software applications to support them. Microsofts strategy is to sell customized applications to small and medium sized companies via its Business Solutions division while serving larger companies through partnerships with other technology companies.
4- 50
2.
3.
4- 52
4- 53