MANAGINGMANAGINGINFORMATIONINFORMATIONTECHNOLOGYTECHNOLOGY
CHAPTER 3
COMPUTER SOFTWARE
1. Machine language (1GL) Each instruction must be expressed in unique form for a particular computer Complete program consists of thousands of instructions Programming was tedious, time-consuming process
2. Assembly languages (2GL) Use computer itself to perform many aspects of the programming Create a machine language program as output, that is then used by the
computer’s control unit
First and Second Generation Languages
EVOLUTION OF COMPUTER PROGRAMMING
First and Second Generation Languages
EVOLUTION OF COMPUTER PROGRAMMING
SOURCEPROGRAM
OBJECTPROGRAM
(which can be directly executed
on computer)
3. Procedural Languages (3GL) Generally are machine independent. Express a step-by-step procedure developed by programmer Must be compiled or interpreted (translated into machine
language) Include FORTRAN, COBOL, BASIC, PL/1, PASCAL, ADA,
and C
Third and Fourth Generation Languages
EVOLUTION OF COMPUTER PROGRAMMING
Figure 3.2 Compiling and Running a Procedural Language Program
SOURCEPROGRAM
OBJECTPROGRAM
Figure 3.3 Interpreting and Running an Interpretive Language Program
SOURCEPROGRAM
4. Nonprocedural Languages (4GL) Also referred to as productivity languages Use more English-like statements for program instructions Easier to use, write, and less error-prone Use a built-in interpreter to convert to machine language Take much longer to execute than 3GLs Include FOCUS, CA-Ramis, IFPS, and SAS
Third and Fourth Generation Languages
EVOLUTION OF COMPUTER PROGRAMMING
Object-Oriented (Visual) Languages 3GLs with some 4GL features Built on idea of embedding procedures (methods) in
objects, and putting objects together to create an application
Include Smalltalk, C++, Java, and Visual Basic
Third and Fourth Generation Languages
EVOLUTION OF COMPUTER PROGRAMMING
1. Applications software
2. Support software
KEY TYPES OF SOFTWARE
Figure 3.4 The Software Iceberg
Spheres of Influence & Application Software
Personal
Workgroup
Enterprise
• programs that serve the needs of an individual user• word processing, spreadsheets, databases, e-mail
• programs that support the firm in its interaction with its environment• order entry, billing
• Two or more people who work together to achieve a common goal• Systems that support information sharing, group scheduling, group decision making, and conferencing
Programs written to accomplish particular tasks Diverse … some general-purpose and some specific Examples include:
General ledger accounting Portfolio management Sales forecasting Material requirements planning (MRP) Electronic mail Desktop publishing
APPLICATIONS SOFTWARE
Peachtree Accounting Complete Commercial accounting package for smaller businesses Includes general ledger, accounts receivable, accounts payable,
inventory, payroll, time and billing, job costing, fixed asset accounting, and analysis and reporting tools
$300 for single-user version
APPLICATIONS SOFTWAREExamples of Applications Packages
Figure 3.5 “My Business Page” from Peachtree Complete Accounting
Word processing Spreadsheets Presentation graphics Electronic mail and groupware Database management systems Desktop publishing Web browsers Statistical packages
APPLICATIONS SOFTWAREPersonal Productivity Software
Word processing Used to create documents for printing Most popular is Microsoft Word Others are Corel WordPerfect, Lotus Word Pro, and Sun’s StarOffice
Writer All employ WYSIWYG
APPLICATIONS SOFTWAREPersonal Productivity Software
Spreadsheets Used to create applications that fit a row-column format Most popular is Microsoft Excel Others are Lotus 1-2-3 and Corel Quattro Pro All employ rows, columns, cells, formulas, “what-if” analysis
APPLICATIONS SOFTWAREPersonal Productivity Software
Database Management Systems Used to create databases similar to those on larger machines Most popular is Microsoft Access Others are FileMaker Pro, Corel Paradox, and Lotus Approach All employ a relational data model
APPLICATIONS SOFTWAREPersonal Productivity Software
Presentation Graphics Used to create largely textual business presentations Most popular is Microsoft PowerPoint Others are Corel Presentations and Lotus Freelance Graphics All allow embedding of clip art, photos, graphs, and other media
APPLICATIONS SOFTWAREPersonal Productivity Software
World Wide Web Browsers Used to access information on the Web Requires ISP service to link PC to Internet Create documents for printing Most popular are Internet Explorer and Netscape Navigator … both free! Both employ standard hypertext-based approach (way to link text and media objects to each other) Use pull technology – browser requests a Web page before it is sent to desktop Use push technology – data sent to client without requesting it (such as e-mail)
APPLICATIONS SOFTWAREPersonal Productivity Software
Electronic Mail Preferred way of communicating in business today Easy to use and precise
Groupware Incorporates e-mail and other productivity features, such as calendaring,
scheduling, and document sharing
APPLICATIONS SOFTWAREPersonal Productivity Software
Office Suites Popular software applications bundled together and sold as a single package
(suite) Used for home or office Most popular is Microsoft Office Others are Corel WordPerfect Office, Lotus SmartSuite, and Sun StarOffice
APPLICATIONS SOFTWAREPersonal Productivity Software
APPLICATIONS SOFTWAREPersonal Productivity Software
Microsoft Office 2003
Edition Applications Purpose Retail price
Standard Word
Excel
PowerPoint
Outlook
Word processing
Spreadsheets
Presentation graphics
E-mail, scheduling
$399
Small Business
Adds:
Publisher Desktop publishing
$449
Professional Adds:
Access Database management
$499
User communicates with operating system software to control hardware and software resources
Communication made easier with a graphical user interface (GUI) feature
SUPPORT SOFTWAREThe Operating System
Operating system – complex program that controls operation of computer hardware and coordinates other software
SUPPORT SOFTWAREThe Operating System
Job Control Language (JCL) – keyed instructions from the computer user to communicate with the operating system
SUPPORT SOFTWAREThe Operating System
Multiprogramming – employed on larger machines to overlap input and output operations with processing time, keeping the CPU busy and speeding up execution
Multitasking – similar to multiprogramming, but employed on microcomputers
Virtual Memory Concerned with management of main memory Makes it appear more memory available than actually is Used only on larger computers Permits multiprogramming to operate more efficiently
SUPPORT SOFTWAREThe Operating System
SUPPORT SOFTWAREThe Operating System
Multiprocessing – work that takes place when two or more CPUs are installed on same computer system
Sources of Operating Systems
Microcomputers: Windows XP; Windows Vista; Mac OS X Midrange systems: OS/400 Large systems: VM and MVS
SUPPORT SOFTWAREThe Operating System
Proprietary systems – most popular type of operating systems, written for a particular computer hardware configuration
Sources of Operating Systems
Examples: UNIX and Linux
SUPPORT SOFTWAREThe Operating System
Open systems – not tied to any particular computer system or hardware manufacturer – will run on virtually any computer system
Sources of Operating Systems
Enhanced operating system to allow for sharing disk drives and printers handling server side of client/server applications
SUPPORT SOFTWAREThe Operating System
Network operating systems (NOS) – software running on a server that manages network resources and controls the operation of a network
Sources of Operating Systems
Major players include: UNIX and Linux Microsoft Windows NT, 2000 Server, 2003 Server Novell NetWare
SUPPORT SOFTWAREThe Operating System
Network operating systems (NOS) – software running on a server that manages network resources and controls the operation of a network
Procedural languages (3GL) Require logical thinking Entail development of a detailed step-by-step procedure Can be developed using structured programming
SUPPORT SOFTWAREThird Generation Languages
Advantages: Program logic easier to follow Maintenance and correction easier and faster Do not use GO TO logic
SUPPORT SOFTWAREThird Generation Languages
Structured programs – divided into modules, where each has one entry and one exit point
SUPPORT SOFTWAREThird Generation Languages
Table 3.1 Stages in the Program Development Process
Most popular procedural languages: BASIC C COBOL
SUPPORT SOFTWAREThird Generation Languages
Figure 3.9 BASIC Program
Figure 3.10 C Program
Figure 3.11 COBOL Program
Figure 3.11 COBOL Program
Figure 3.11 COBOL Program
Other procedural languages: FORTRAN PL/1 PASCAL ADA
SUPPORT SOFTWAREThird Generation Languages
Nonprocedural languages: Use very high-level instructions Require fewer instructions Easier to write, modify, understand
Example: FOCUS
SUPPORT SOFTWAREFourth Generation Languages
Figure 3.12 FOCUS Program and Output
Most popular: HTML: used to create Web pages XML: used to facilitate data interchange
among Web applications
SUPPORT SOFTWAREMarkup Languages
Requires more computing power Has built-in GUI Neither 3GL nor 4GL … new paradigm Creates objects only once and stores for reuse Object examples:
Text box, check box, entity in an organization Languages:
Smalltalk, C++, Java, Visual Basic.NET
SUPPORT SOFTWAREObject-Oriented Programming
Figure 3.13A Visual Basic Program
Figure 3.13B Visual Basic Screen Layout
HTML XML Server-side programming languages:
Perl Java Servlets and Java Server Pages Microsoft Active Server Pages (ASP, ASP.NET) ColdFusion
SUPPORT SOFTWARELanguages for Developing Web Applications
Figure 3.17 Grocery Store HTML Form
Figure 3.17
HTML and ASP.NET codeto accompany Grocery Store HTML Form
Figure 3.18
Program to Process Data from Grocery Store HTML Form
Figure 3.19 Grocery Store Confirmation Web Page
Figure 3.19
Code to Generate Confirmation Web Page
DBMS – support software used to create, manage, and protect organizational data
Database – shared collection of logically related data organized to meet organizational needs
Relational DBMS Most common type Data arranged in simple tables Records related by storing common data in each
associated table Examples: Microsoft Access and SQL Server, Paradox,
DB2, and Ingres
SUPPORT SOFTWAREDatabase Management Systems
Sequential – arranges records physically adjacent and in order by some (usually unique) sort key
Direct – uses key for records placed so that they are rapidly accessed from DASDs
SUPPORT SOFTWAREFile Organization
Figure 3.20 File Organizations
SUPPORT SOFTWARE
Indexed Compromise between
sequential and direct
Record keys only arranged in sequence in a separate table, along with location of rest of data associated with that key
Popular types include ISAM and VSAM
File Organization
Figure 3.20 File Organizations
Figure 3.21 Relationship Schemes
Relational DBMSs use this scheme
Growth slower than anticipated Radically changed nature of systems analyst and
programmer jobs
SUPPORT SOFTWARECASE Tools
Computer-aided software engineering (CASE) – collection of software tools to help automate all phases of the software development life cycle
Large computers need to control workstations and terminals Example software: IBM’s CICS, TSO, and CMS
LANs and WANs Need to connect to the Internet Web browsers Telenet File Transfer Protocol (FTP)
SUPPORT SOFTWARECommunications Interface Software
More complexity of hardware/software arrangements Less concern with machine efficiency More purchased applications More programming using object-oriented and visual languages More emphasis on applications that run on intranets and the Internet More user development More use of personal productivity software
THE CHANGING NATURE OF SOFTWARE
More complexity of hardware/software arrangements Less concern with machine efficiency More purchased applications More programming using object-oriented and visual languages More emphasis on applications that run on intranets and the Internet
Page 92
THE SOFTWARE COMPONENT OF THE INFORMATION SYSTEMS INDUSTRY
Trends in Computer Software
User-written programsMachine languages
Packaged programsSymbolic languages
Operating systemsHigh-level languages
DBMS Fourth-generation languagesMicrocomputer packages
Natural & object- oriented languagesMultipurpose graphic-interface network-enabled expert-assisted packages
Trend: Toward Easy-to-Use Multipurpose Network-EnabledApplication Packages for Productivity and Collaboration
Trend: Toward Visual or Conversational Programming Languages and Tools
UAL was the first airline to offer a competitiveadvantage with its frequent flyer mileage
Customer self-service software on the Internet from FedEx was an example of first-mover advantages