What is Software?
Definition:• Various kinds of programs used to operate
computers and related devices
Case #1: Writing Software for Processes
Microsoft’s Business Solutions Division:• Teams formed for different industries
• Injected industry-specific codes directly into its core software platforms
• Hired business technology professionals steeped in sector-specific knowledge
Case #1: Writing Software for Processes
Microsoft’s New Strategy:• Creating accelerators aimed at business processes
common to companies in a given industry
• Inserting industry-enabling layers to serve the needs of a broad base of companies in a particular sector
• Seeking partnerships with vendors that have deep industry roots
Case #1: Writing Software for Processes
1. 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 www.microsoft.com and review its broad range of software products and services to help with your answer.
Case #1: Writing Software for Processes
2. How successful will Microsoft be in competing with software vendors who specialize in vertical market applications like health care, retail, and specialty services? Why?
3. 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.
Case #1: Writing Software for Processes
4. Does Microsoft’s entry into industry-specific applications signal the end for smaller industry-specific software developers? What changes in strategy by such developers are necessary to compete with Microsoft?
Types of Software
Types of Software
• Application Software - performs information processing tasks for end users
• System Software – manages and supports operations of computer systems and networks
Application Software
• General-Purpose – programs that perform common information processing jobs for end users
• Application-Specific – support specific applications of end users in business and other fields
How is Software Developed?
• Custom Software – software applications that are developed within an organization for use by that organization
• Commercial Off-the-shelf (COTS) Software – software that is developed by a software developer with the intention of selling the software in multiple copies
General-Purpose Application Software
• Software Suites• Web Browsers• Electronic Mail• Word Processing• Spreadsheets• Database Managers• Presentation Graphics• Personal Information Managers• Groupware
Software Suites
Integrated Packages
Definition:• Combine some of the functions of several
programs into one software package
Graphical User Interface (GUI)
Definition:• Icons, tool and status bars, menus, and so on,
which gives an application its look and feel
Web Browser
Definition:• Software interface used to point and click
through the hyperlinked resources of the Internet
Web Browser
Electronic Mail & Instant Messaging
• Electronic Mail – software used to send and receive electronic messages and file attachments via the Internet, intranets or extranets
• Instant Messaging (IM) – software used to send and receive electronic messages instantly to facilitate real time communication and collaboration
Word Processing & Desktop Publishing
• Word Processing – software that supports the creation, editing, revision and printing of documents
• Desktop Publishing (DTP) – software that supports the production of materials that look professionally published
Word Processing
Electronic Spreadsheets
Definition:• Software that supports the development of
electronic worksheets consisting of rows and columns used for business analysis, planning and modeling
Spreadsheets
Presentation Graphics
Definition:• Software that helps convert numeric data into
graphics displays and prepare multimedia presentations including graphics, photos, animation, and video clips
Presentation Software
Graphics Software
Video Software
Personal Information Manager (PIM)
Definition:• Software for end user productivity and
collaboration
Groupware
Definition:• Software that helps workgroups and teams
work together to accomplish group assignments
Software Alternatives
• Purchase Commercial Off-The-Shelf software
• Application Service Providers – companies that own, operate, and maintain application software and the computer system resources required to offer the use of the application software for a fee as a service over the Internet
Software Licensing
• Purchasing the right to use specific software under the terms of the software licensing agreement
• Protects the vendor’s intellectual property right
Case #2: New Face of Web Services
Web Services:• Provide third-party programmers and business
partners with access to some data and basic website functionality
• Independent developers can build applications to satisfy market niches that customers want
C Case #2: New Face of Web Services
eBay:• 40% of items listed for sale on eBay come through its API
Amazon:• Product Details• Search Capabilities• Customer Reviews• Sales Rankings• Wish Lists• Registries
Case #2: New Face of Web Services
1. What are the purpose and business value of Web services?
2. What are the benefits of Web services to Amazon, eBay and their developer partners?
3. What are the business challenges of Web services? Visit the Web services websites of IBM and Microsoft to help with your answer.
4. What can be done to improve the business use of Web services today?
System Software
• System Management Programs – programs that manage the hardware, software, network, and data resources of computer systems during the execution of various information processing jobs of end users
• System Development Programs – programs that help users develop information system programs and procedures and prepare user programs for computer processing
Operating System
Definition:• An integrated system of programs that
manages the operations of the CPU, controls the input/output and storage resources and activities of the computer system, and provides various support services as the computer executes the application programs of users
Operating System Functions
User Interface
Definition:• The part of the operating system that allows
you to communicate with it so you can load programs, access files, and accomplish other tasks
Types of User Interfaces
• Command-Driven
• Menu-Driven
• Graphical User Interfaces
Resource Management
Definition:• Programs to manage the hardware and
networking resources of a computer system, including its CPU, memory, secondary storage devices, telecommunications processors, and input/output peripherals
File Management
Definition:• Programs that control the creation, deletion,
and access of files of data and programs as well as keeping track of the physical location of files on magnetic disks and other secondary storage devices
Task Management
Definition:• Programs that control which task gets access
to the CPU and for how much time
• Multitasking – approach that allows for several computing tasks to be performed in a seemingly simultaneous fashion
Popular Operating Systems
• Microsoft Windows
• UNIX
• Linux
• Mac OS X
Other System Management Programs
• Performance Monitors – programs that monitor and adjust the performance and usage of one or more computer systems to keep them running efficiently
• Security Monitors – programs that monitor and control the use of computer systems and provide warning messages and record evidence of unauthorized use of computer resources
Application Servers
Definition:• Software which provides an interface between
an operating system and application programs of users
• Middleware – software that helps diverse software applications and networked computer systems exchange data and work together more efficiently
Programming Language
Programming Languages
Machine Languages
• All program instructions had to be written using binary codes unique to each computer
• Programmers had to have a detailed knowledge of the internal operations of the specific type of CPU
Assembler Languages
• Alphabetic abbreviations and symbols are used to represent operation codes and storage locations
• Language translator programs are required to convert the instructions into machine instructions
High-Level Languages
• Instructions that use brief statements or arithmetic expressions
• Each statement generates several machine instructions when translated by compilers or interpreters
Fourth-Generation Languages
• Nonprocedural – programmers specify results while computer determines the sequence of instructions that will accomplish those results
• Natural Language – very close to human language
Object-Oriented Languages• Ties together data
element and the procedures or actions that will be performed upon them
Web Languages
• HTML – a page description language that creates hypertext or hypermedia documents
• XML – describes the contents of Web pages by applying identifying tags or contextual labels to the data in Web documents
• Java – an object-oriented programming language that is simple, secure and platform independent
HTML
Web Services
Definition:• Software components that are based on a
framework of Web and object-oriented standards and technologies for using the Web to electronically link the applications of different user and different computing platforms
Web Services
Language Translator Programs
• Assembler – translates the symbolic instruction codes of programs written in an assembler language into machine language instructions
• Compiler – translates high-level language statements
• Interpreter – compiler that translates and executes each statement in a program one at a time
Programming Tools
• Graphical Programming Interfaces
• Programming Editors
• Debuggers
• CASE tools
Case #3: Growth of Linux in Business
Statistics:• Linux runs almost 15% of all servers
• Growing at 23% per year
• Over 10% of IBM mainframe sales run Linux
• Only 1% of PCs use Linux but 30% of chief technologists were considering moving their companies’ PCs to Linux
Case #3: Growth of Linux in Business
How did Linux get into the mainstream?• Low-cost alternative in sagging economy
• Intel loosened its relationship with Microsoft
• IBM made an effort to be Linux-compatible
• Fear of Microsoft gaining a stranglehold on corporate customers
Case #3: Growth of Linux in Business
Open Source:• Free• Stable• Easily fixed if bugs appear
Case #3: Growth of Linux in Business
1. Should businesses continue to switch to the Linux operating system on servers and mainframes? Why or why not?
2. Should business and consumer PC users switch to Linux PC operating systems like Lindows and software suites like Sun’s Star Office? Why or why not?
Case #3: Growth of Linux in Business
3. Should the IT departments of companies like Merrill Lynch contribute their software improvements to the open-source community for products like Linux? Explain your reasoning.
Case #4: Using Java in Business
Benefits:• Java can run on any hardware or operating
systems• Easy to modify code as needs expand• Networking capabilities reduce the need for
remote servers• Easy to integrate with middleware and
databases
Case #4: Using Java in Business
1. What are the benefits of Java as a programming language for retail POS applications compared to other programming languages?
2. What are the benefits of Java for the development of e-commerce portals for customers and suppliers like PartsEdge?
3. Why do companies like Mark’s Work Wearhouse frequently team Java with the Linux operating system?
Summary
• Computer software consists of applications software that directs the performance of a particular use of computers to meet the information processing needs of users, and system software that controls and supports the operations of a computer system as it performs various information processing tasks.
Summary
• Application software includes general-purpose and application-specific categories.
• General-purpose application programs perform common information processing jobs for end users.
• Application-specific programs accomplish information processing tasks that support specific business functions.
Summary• System software can be subdivided into system
management programs and system development programs.
• System management programs manage the hardware, software, network, and data resources of a computer system during its execution of information processing jobs.
• System development programs help IS specialists develop computer programs to support business processes.
Summary
• An operating system is an integrated system of programs that supervises the operation of the CPU, controls the input/output and storage functions of the computer system, and provides various support services.
Summary
• Programming languages require the use of a variety of programming packages to help programmers develop computer programs, and language translator programs to convert programming language instructions into machine language instruction codes.