Download presentation
Presentation is loading. Please wait.
1
Application Software System Software
3 Chapter Computer Software Application Software System Software
2
Learning Objectives Describe several important trends occurring in computer software. Give examples of major types of application and system software. Explain the purpose of several popular software packages for end user productivity and collaborative computing. Define and describe the functions of an operating system.
3
Learning Objectives Describe the main uses of computer programming software, tools, and languages.
4
Case 1: Microsoft is looking at how companies do business
Microsoft has started focusing on different industries and writing software products to support them Examples, financial services, communications, government, education, automotive, retail and hospitality, health care, manufacturing, media Vertical segments: a specific industry Accelerators: software add-ons aimed at business processes common to a given industry Software layers: software that serves the needs of a broad base of companies in a particular sector inserted into enterprise applications
5
Case Study Questions A common phrase among IT professionals is “The world views its data through Windows.” Why does Microsoft dominate the desktop and networked software market? Visit its website at and review its broad range of software products and services to help with your answer. How successful will Microsoft be in competing with software vendors who specialize in specific market applications like health care, retail and other specialty services? Why? Possible reasons could include: 1- A competitive advantage from being the first company to achieve massive acceptance of its operating system, which leads into significant switching costs for the installed base 2- Sheer magnitude of financial and technical resources available for marketing and development 3- Aggressive marketing tactics designed to forestall or absorb the competition 4- All in all, its products are easy to use and increasingly stable and efficient
6
Case Study Questions Do you agree with Microsoft’s strategy to develop industry-specific partners to capitalize on opportunities in both large and small business sectors? Is there an advantage or a disadvantage to being one of Microsoft’s partners in this type of relationship? Explain.
7
Real World Internet Activity
Industry-specific software applications are everywhere. Despite this, many industries still do not have a wide variety of software applications to meet their needs. Using the Internet, See if you can find one example of an industry that has a wide variety of vertical applications, One industry that does not have a variety of software solutions to choose from.
8
Types of software
9
Software types Application software System software
Performs information processing tasks for end users System software Manages and supports operations of computer systems and networks
10
Application software General purpose Application-specific
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.
11
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? Custom software: organization has full control on specifications, functionality, ownership COTS: generally no control Software is sold, leased or licensed
12
Software Suites The basic program components of the top four software suites
13
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
14
Integrated Packages Integrated packages
Combine the functions of several programs into one package E.g., Microsoft Works, AppleWorks, Lotus eSuite and workplace Advantages: Many functions for lower price and smaller disk space Disadvantage Limited functionality
15
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
16
E-mail, Instant Messaging and Weblogs
Software to communicate by sending and receiving messages and attachments via the Internet, intranet or extranet Instant messaging (IM) Receive electronic messages instantly Weblog or blog A personal website in dated log format Updated with new information about a subject or range of subjects
17
Word processing and Desktop publishing
Create, edit, revise and print documents E.g., Microsoft Word, Lotus WordPro and Corel WordPerfect Desktop Publishing Produce printed materials that look professionally published E.g., Adobe PageMaker, Microsoft Publisher and QuarkXPress
18
Electronic Spreadsheets and Presentation Graphics
Worksheet of rows and columns Used for calculations and charts E.g., Lotus 1-2-3, Microsoft Excel, Corel QuattroPro 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
19
Personal Information Manager and Groupware
Personal Information Manager (PIM) Software for end user productivity and collaboration Store information about clients, schedules, manage appointments, manage tasks E.g., Lotus Organizer, Microsoft Outlook Groupware Software that helps workgroups collaborate on group assignments , discussion groups, databases, videoconferencing E.g., Lotus Notes, Novell GroupWise, Microsoft Exchange Collaborative capabilities are also being added to other software to give it groupware like features. For example, in the Microsoft Office software suite, Microsoft Word keeps track of who made revisions to each document, Excel tracks all changes made to a spreadsheet, and Outlook lets you keep track of tasks you delegate to other team members. Recently, Microsoft Office suite has included functions that allow multiple people to work on and edit the same document at the same time. Using this feature, any changes made by one team member will become visible to all team members as they are being made.
20
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 Many large companies are outsourcing the development and maintenance of software they need to contract programming firms and other software development companies, including the use of offshore software developers in foreign countries, and using the Internet to communicate, collaborate, 9 and manage their software development projects.
21
Software Licensing All software (COTS, ASP) is licensed
You don’t buy software: you buy a license to use the software under the terms of the licensing agreement Licensed to protect the vendor’s property rights
22
Case 2: Open-Source Software
Also referred to as free software Software can be modified Typically acquired with a license License grant you the right to run the software, own the source code, modify the source code and distribute copies of the software Free but have to pay for training, support, documentation Examples: Linux, Apache Web server, Sendmail, Perl scripting language The open-source license generally grants the right to run the program, own a copy of the program’s source code, modify the program’s source code, and distribute copies of the programs you build using the open-source code. The only thing you usually can’t do is fold an open-source program into a program you’re licensing under a proprietary license.
23
Case Study Questions What are the business benefits of adopting open-source software? What are the risks associated with open-source software? How can these risks be addressed? Do you see open-source software eventually replacing the current proprietary software model? Explain your answer. Benefits include: reduced cost of purchase, less chance of obsolescence, broader access to technical support, lower cost of upgrade. Risks include: potential abandonment of standard, loss of liability shift to software vendor, lack of quality technical support. Answers will vary to the questions but many will see a strong benefit to the open source model.
24
Real World Internet Activity
A wide variety of organizations have been formed to advance the open-source initiative. Using the Internet, See if you can find information on these open-source advocate organizations. A good place to start is
25
Real World Group Activity
Supporters as well as detractors of open-source operating systems such as Linux are quite passionate about their feelings. In small groups, Discuss the advantages and disadvantages of open-source applications. If any of your classmates have experience with systems such as Linux, ask them to explain their feelings and experiences.
26
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 Systems development programs Programs that help users develop information system programs
27
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
28
Operating System basic functions
29
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) The trend is to GUI interfaces.
30
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 For example, memory management programs keep track of where data and programs are stored. They may also subdivide memory into a number of sections and swap parts of programs and data between memory and magnetic disks or other secondary storage devices. This can provide a computer system with a virtual memory capability that is significantly larger than the real memory capacity of its primary storage circuits.
31
File management Part of the operating system that controls the creation, deletion, and access of files of data and programs. File management also involves keeping track of the physical location of files on magnetic disks and other secondary storage devices. File management also involves keeping track of the physical location of files on magnetic disks and other secondary storage devices. So operating systems maintain directories of information about the location and characteristics of files stored on a computer system’s secondary storage devices.
32
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 Also called multiprogramming or time-sharing The programs control which task gets access to the CPU and for how much time. The task management functions can allocate a specific slice of CPU time to a particular task and interrupt the CPU at any time to substitute a higher priority task. There are two basic types of multitasking: preemptive and cooperative. In preemptive multitasking, the task management functions parcel out CPU time slices to each program. In contrast, cooperative multitasking allows each program to control the CPU for as long as it needs it. If a program is not using the CPU, however, it can allow another program to use it temporarily. Most Windows- and Unix-based operating systems use the preemptive approach, while most Macintosh-style platforms use cooperative multitasking. Although the terms multitasking and multiprocessing are often used interchangeably, they are actually different concepts based on the number of CPUs being used. In multiprocessing, more than one CPU is being accessed, but in multitasking, only one CPU is in operation. Most computers make use of some sort of multitasking. On modern microcomputers, multitasking is made possible by the development of powerful processors and their ability to directly address much larger memory capacities. This allows primary storage to be subdivided into several large partitions, each of which is being used by a different software application.
33
Popular Operating Systems
Windows GUI, multitasking, networking, multimedia Microsoft’s operating system Different versions manage servers 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 Windows 95 operating system, featuring a graphical user interface, true multitasking, networking, multimedia, and many other capabilities. Windows NT (New Technology) operating system in Windows NT is a powerful, multitasking, multiuser operating system that was installed on many network servers to manage PCs with high-performance computing requirements. Linux was developed as free or low-cost shareware or open-source software over the Internet in the 1990s by Linus Torvald of Finland and millions of programmers around the world. Linux is still being enhanced in this way, but is sold with extra features and support services by software vendors such as Red Hat, Caldera, and SUSE Linux. PC versions, which support office software suites, Web browsers, and other application software, are also available.
34
Other types of system software
35
Other system software Utilities Performance monitors Security monitors
Miscellaneous housekeeping and file conversion functions Example, Norton utilities includes data backup, virus protection, data compression, data recovery, and file defragmentation, etc. 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 A recent trend is to merge both types of programs (performance and security) into operating systems like Microsoft’s Windows 2003 Datacenter Server, or into system management software like Computer Associates’s CA-Unicenter, which can manage both mainframe systems and servers in a data center.
36
Application Servers Provide an interface between an operating system and the application programs of users Middleware Software that helps diverse software applications and networked computer systems exchange data and work together more efficiently Examples include application servers, Web servers, and enterprise application integration (EAI) software. Thus, for example, application servers like BEA’s WebLogic and IBM’s WebSphere help Web-based e-business and e-commerce applications run much faster and more efficiently on computers using Windows, UNIX, and other operating systems.
37
Programming Languages
38
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 Programming in machine language requires specifying the storage locations for every instruction and item of data used. Instructions must be included for every switch and indicator used by the program. These requirements make machine language programming a difficult and error-prone task.
39
Assembler Languages Second-generation languages
Symbols are used to represent operation codes and storage locations Need language translator programs (assemblers) to convert the instructions into machine instructions Convenient alphabetic abbreviations called mnemonics (memory aids) and other symbols represent operation codes, storage locations, and data elements. Used by systems programmers (who program system software) Most computer manufacturers provide an assembler language that reflects the unique machine language instruction set of a particular line of computers. This feature is particularly desirable to system programmers, who program system software (as opposed to application programmers, who program application software), since it provides them with greater control and flexibility in designing a program for a particular computer. They can then produce more efficient software, that is, programs that require a minimum of instructions, storage, and CPU time to perform a specific processing assignment.
40
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 The syntax and the semantics (meanings) of statements do not reflect the internal code of any particular computer So, it is machine independent Less efficient than assembler High-level language statements resemble the phrases or mathematical expressions required to express the problem or procedure being programmed. The syntax (vocabulary, punctuation, and grammatical rules) and the semantics (meanings) of such statements do not reflect the internal code of any particular computer.
41
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 Research and development activity in artificial intelligence (AI) is developing programming languages that are as easy to use as ordinary conversation in one’s native tongue. For example, INTELLECT, a natural language, would use a statement like “What are the average exam scores in MIS 200?” to program a simple average exam score task.
42
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 In procedural languages, a program consists of procedures to perform actions on each data element. However, in object-oriented systems, objects tell other objects to perform actions on themselves. For example, to open a window on a computer video display, a beginning menu object could send a window object a message to open, and a window would appear on the screen. That’s because the window object contains the program code for opening itself.
43
Object-Oriented Languages
Most widely used software development languages today Easier to use and more efficient for graphics-oriented user interfaces Reusable: can use an object from one application in another application E.g., Visual Basic, C++, Java reusability of objects is a major benefit of object-oriented programming. For example, programmers can construct a user interface for a new program by assembling standard objects such as windows, bars, boxes, buttons, and icons. Therefore, most object-oriented programming packages provide a GUI that supports a point-and-click, drag-and-drop visual assembly of objects known as visual programming.
44
Web Languages HTML (HyperText Markup Language) a page description language that creates hypertext documents for the Web XML (eXtensible Markup Language) 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 is also specifically designed for real-time, interactive, Web-based network applications. Java applets can be executed on any computer HTML inserts control codes within a document at points you can specify that create links (hyperlinks) to other parts of the document or to other documents anywhere on the World Wide Web. HTML embeds control codes in the ASCII text of a document that designate titles, headings, graphics, and multimedia components, as well as hyperlinks within the document. Several of the programs in the top software suites will automatically convert documents into HTML formats. These include Web browsers, word processing and spreadsheet programs, database managers, and presentation graphics packages. These and other specialized Web publishing programs like Microsoft FrontPage, Lotus FastSite, and Macromedia’s DreamWeaver provide a range of features to help you design and create multimedia Web pages without formal HTML programming. An example for XML use, a travel agency Web page with airline names and flight times would use hidden XML tags like “airline name” and “flight time” to categorize each of the airline flight times on that page. Or product inventory data available at a website could be labeled with tags like “brand,” “price,” and “size.” By classifying data in this way, XML makes website information much more searchable, easier to sort, and much easier to analyze. For example, XML-enabled search software could easily find the exact product you specify if the product data at a website had been labeled with identifying XML tags. And a website that used XML could more easily determine what Web page features its customers used and what products they investigated. Thus, XML promises to make electronic business and commerce processes a lot easier and more efficient by supporting the automatic electronic exchange of business data between companies and their customers, suppliers, and other business partners.
45
Microsoft’s .NET Microsoft’s .NET is a collection of programming support for what are known as Web services, the ability to use the Web rather than your own computer for various services .NET provide individual and business users with Web-enabled interface for applications and computing devices and make computing activities increasingly Web browser–oriented. The .NET platform is expected to enable the entire range of computing devices to work together and to have user information automatically updated and synchronized on all of them.
46
J2EE versus .Net Programming support for Web services
Java2EE: Java Enterprise Edition
47
Web Services Software components
based on a framework of Web and object-oriented standards and technologies for using the Web to electronically link the applications of different users and different computing platforms Thus, Web services can link key business functions for the exchange of data in real time within the Web-based applications a business might share with its customers, suppliers, and other business partners. For example, Web services would enable the purchasing application of a business to use the Web to quickly check the inventory of a supplier before placing a large order, while the sales application of the supplier could use Web services to automatically check the credit rating of the business with a credit-reporting agency before approving the purchase.
48
How web services work UDDI: Universal Description and Discovery Integration SOAP (Simple Object Access Protocol)
49
Language Translator Programs
Translate instructions written in programming languages into machine language Assembler translates assembler language statements Compiler translates high-level language statements Interpreter compiler that translates and executes each statement in a program one at a time Java is interpreted Assemblers and Compilers translate an entire program at once. Java applets can be interpreted and executed on-the-fly
50
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 CASE: Computer-Aided Software Engineering
51
Case 3: Amazon and eBay New Face of Web Services
Amazon provides access to some of its data and website functionality eBay opened up e-commerce software Opened to programmers and any company interested in e-commerce
52
Case Study Questions What are the purpose and business value of Web services? What are the benefits of Web services to Amazon, eBay, and their developer partners? What are the business challenges of Web services? Visit the Web services websites of IBM ( and Microsoft ( to help with your answer. 1- Web Services provide a standard way to package pieces of the business logic and make them accessible to something else (another database, device or partner). Using standard protocols Web Services make integration across platform possible without recreating interfaces for every new project. 2- Benefits to Amazon and eBay would include: Increased number of listings and transactions happening through their platform. Reinforces their strategic positions in industries where the size of the associated network of partners and users is critical to its success. Benefits to partners would include: Partners can display information and offer capabilities that are tested and popular with minimum additional investment. Partners can provide additional value that supports their main value proposition but that would be cost-prohibitive to develop themselves. 3- Some possible challenges would include: Deciding on the boundaries and depth of information and services to be provided, i.e. giving out enough so that is attractive, but not as much as to present a risk to the organization. Drafting agreements with partners as to what can then be done with the data and services provided. Even tough Web Services are intended to provide standard ways of communicating and sharing information and services, there are still a number of technical issues to be worked out in both sides (host organization and partners).
53
Real World Internet Activity
The concept of Web services and the opportunities they provide are growing everyday. Using the Internet, See if you can find ways in which companies are using Web services beyond those listed in the case.
54
Real World Group Activity
Being able to integrate one organization’s website with another’s poses some interesting questions of privacy, intellectual property protection and technical challenges. In small groups, Discuss privacy, intellectual property protection and technical challenges issues. Do you think there is any risk associated with this type of cooperation?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.