490 likes | 625 Views
Managing Information Technology. CHAPTER 3 COMPUTER SOFTWARE. EVOLUTION OF COMPUTER PROGRAMMING. First and Second Generation Languages. Machine language (1GL) Each instruction must be expressed in unique form for a particular computer Complete program consists of thousands of instructions
E N D
Managing Information Technology CHAPTER 3COMPUTER SOFTWARE
EVOLUTION OF COMPUTER PROGRAMMING First and Second Generation Languages • Machine language (1GL) • Each instruction must be expressed in unique form for a particular computer • Complete program consists of thousands of instructions • Programming is a tedious, time-consuming process • Assembly languages (2GL) • Easily remembered mnemonic operation codes substituted for machine language operation codes • Assembler used to convert mnemonic codes to machine language
EVOLUTION OF COMPUTER PROGRAMMING First and Second Generation Languages
EVOLUTION OF COMPUTER PROGRAMMING Third and Fourth Generation Languages • Procedural languages (3GL) • Typically machine independent • Express a step-by-step procedure devised by the programmer • Must be compiled or interpreted (translated into machine language) • Include FORTRAN, COBOL, BASIC, PL/1, PASCAL, ADA, and C
EVOLUTION OF COMPUTER PROGRAMMING Third and Fourth Generation Languages
EVOLUTION OF COMPUTER PROGRAMMING Third and Fourth Generation Languages • 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
EVOLUTION OF COMPUTER PROGRAMMING Third and Fourth Generation Languages
EVOLUTION OF COMPUTER PROGRAMMING Third and Fourth Generation Languages • Object-oriented 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
KEY TYPES OF SOFTWARE • Applications software • Support software
APPLICATIONS SOFTWARE • Programs written to accomplish particular tasks • Many different types of applications software • Standard applications products generally purchased from an outside source • Applications unique to the organization generally developed internally • Personal productivity software most important to managers
APPLICATIONS SOFTWARE Examples of Application Software • Peachtree accounting software • 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 • $500 for single-user version
APPLICATIONS SOFTWARE Examples of Application Software • Sage Accpac 200 ERP • Modular financial management systems for midsized businesses • Web-based, so only a Web browser is needed to access the application • System Manager module manages security, ensures data integrity, handles bank reconciliation and tax processing, and allows for customized reports • Several other modules available as well
APPLICATIONS SOFTWARE Personal Productivity Software • Word processing • Used to create documents for printing • Most popular is Microsoft Word • Others include Corel WordPerfect, Lotus WordPro, and Sun’s StarOffice Writer • All employ WYSIWYG
APPLICATIONS SOFTWARE Personal Productivity Software • Spreadsheets • Used to create applications that fit a row-column format • Most popular is Microsoft Excel • Others include Lotus 1-2-3 and Corel Quattro Pro • All employ rows, columns, cells, formulas, and “what-if” analysis
APPLICATIONS SOFTWARE Personal Productivity Software • Database management systems • Used to create databases similar to those on larger machines • Most popular is Microsoft Access • Others include FileMaker Pro, Corel Paradox, and Lotus Approach • All employ a relational data model
APPLICATIONS SOFTWARE Personal Productivity Software • Presentation graphics • Used to create largely textual business presentations • Most popular is Microsoft PowerPoint • Others include Corel Presentations and Lotus Freelance Graphics • All allow embedding of clip art, photos, graphs, and other media
APPLICATIONS SOFTWARE Personal Productivity Software • 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 Firefox… both free! • Both employ standard hypertext-based approach (way to link text and media objects to each other) • Pull technology: browser requests a Web page before it is sent to desktop • Push technology: data sent to client without requesting it (such as e-mail)
APPLICATIONS SOFTWARE Personal 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
SUPPORT SOFTWARE • Provides computing environment that is easy and efficient for humans to use • Enables applications programs to be carried out • Ensures that computer hardware and software are used efficiently • Almost always purchased from a hardware vendor or software house
SUPPORT SOFTWARE Operating System • Most important type of support software • Complex program that controls operation of computer hardware and coordinates other software • User communicates with operating system software to control hardware and software resources • Communication made easier with a graphical user interface (GUI) feature
SUPPORT SOFTWARE Operating System
SUPPORT SOFTWARE Operating System • Job control language (JCL): keyed instructions from the computer user to communicate with the 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 • Multithreading: similar to multitasking, but multiple threads within the same program are overlapped
SUPPORT SOFTWARE Operating System • Virtual Memory: • Concerned with management of main memory • Makes it appear that an unlimited amount of memory is available • Permits multiprogramming to operate more efficiently • Multiprocessing: work that takes place when two or more CPUs are installed on same computer system
SUPPORT SOFTWARE Operating System • Sources of operating systems • Proprietary systems: most popular type of operating systems, written for a particular computer hardware configuration • Microcomputers: MS-DOS, PC-DOS, Windows XP • Midrange systems: OS/400 • Large systems: VM and MVS • Open systems: not tied to any particular computer system or hardware manufacturer – will run on virtually any computer system • Examples: UNIX and Linux
SUPPORT SOFTWARE Operating System • Network operating systems (NOS) • Software running on a server that manages network resources and controls the operation of a network • Enhanced operating system that allows for: • Sharing disk drives and printers • Handling server side of client/server applications • Major players include: • UNIX and Linux • Microsoft Windows NT, 2000 Server, 2003 Server • Novell NetWare
SUPPORT SOFTWARE Third Generation Languages • Procedural languages (3GL) • Require logical thinking • Entail development of a detailed step-by-step procedure • Can be developed using structured programming
SUPPORT SOFTWARE Third Generation Languages
SUPPORT SOFTWARE Third Generation Languages • Structured programs • Divided into modules, where each has one entry and one exit point • Advantages • Program logic easier to follow • Maintenance and correction easier and faster • Do not use GO TO logic
SUPPORT SOFTWARE Third Generation Languages • Most popular procedural languages • BASIC • C • COBOL • Other procedural languages • FORTRAN • PL/1 • PASCAL • ADA
SUPPORT SOFTWARE Third Generation Languages - BASIC
SUPPORT SOFTWARE Third Generation Languages - COBOL
SUPPORT SOFTWARE Fourth Generation Languages • Nonprocedural languages • Use very high-level instructions • Require fewer instructions • Easier to write, modify, and understand • Example: FOCUS
SUPPORT SOFTWARE Fourth Generation Languages - FOCUS
SUPPORT SOFTWARE Markup Languages • Employ tags to “mark up” documents • HTML • Used to create Web pages • Consists of special tags that tell the Web browser how to display various elements on a Web page (e.g., bold-faced or italic text, image location, links to other Web pages) • XML • Used to facilitate data interchange among Web applications • Metalanguage consisting of tags that identify particular data elements
SUPPORT SOFTWARE Object-Oriented Programming • 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 SOFTWARE Object-Oriented Programming - Java
SUPPORT SOFTWARE Languages for Developing Web Applications • HTML form is the most common user interface encountered by users • Server-side programming languages include: • Perl • Java Servlets and Java Server Pages • Microsoft Active Server Pages (ASP, ASP.NET) • ColdFusion
SUPPORT SOFTWARE Languages for Developing Web Applications
SUPPORT SOFTWARE Database Management Systems • Support software used to create, manage, and protect organizational data • Database: shared collection of logically related data organized to meet organizational needs • Five basic architectures: • Hierarchical • Data are arranged in a top-down organization chart fashion • Example: IBM Information Management System (IMS)
SUPPORT SOFTWARE Database Management Systems • Five basic architectures: • Network • Data are arranged like cities on a highway system, often with several paths from one piece of data to another • Example: Computer Associates Advantage CA-IDMS • Relational • 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 SOFTWARE Database Management Systems • Five basic architectures: • Object-oriented • Data can be graphics, video, and sound as well as simpler data types • Attributes and methods are encapsulated in object classes, and relationships between classes can be shown by nesting one class within another • Examples: Versant Object Database, Progress ObjectStore, and Objectivity/DB • Object-relational • Hybrid approach that can handle complex data types with the simplicity of the relational model • Examples: Oracle, IBM’s DB2 and Cloudscape, and FFE Software’s FirstSQL/J
SUPPORT SOFTWARE File Organizations • 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 SOFTWARE File Organizations • 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
SUPPORT SOFTWARE CASE Tools • Computer-aided software engineering (CASE) • Collection of software tools to help automate all phases of the software development life cycle • Growth slower than anticipated • Radically changed nature of systems analyst and programmer jobs
SUPPORT SOFTWARE CASE Tools • Recent surge in CASE tools for Unified Modeling Language (UML) • UML is a general-purpose notational language for specifying and visualizing complex software, especially large, object-oriented projects • Examples of UML-base CASE tools • IBM’s Rational Rose • Borland’s Together • Sybase’s PowerDesigner
SUPPORT SOFTWARE Communications Interface Software • Large computers • Need to control workstations and terminals • Example software: IBM’s CICS, TSO, and CMS • Increasingly important with growth of LANs and WANs • Web browsers: enable users to look around, or “browse,” the Internet • Telnet: permits user to log into remote computer • File Transfer Protocol (FTP): used to transfer files from one computer system to another
THE CHANGING NATURE OF SOFTWARE • Less concern with machine efficiency • More purchased applications, and, conversely, more use of open source support software, such as Linux • More programming using object-oriented languages • More emphasis on applications that run on intranets and the Internet • More user development • More use of personal productivity software on microcomputers
THE SOFTWARE COMPONENT OF THE INFORMATION SYSTEMS INDUSTRY Major Groups • Hardware manufacturers • IBM, Hewlett-Packard, Sun Microsystems, Hitachi, and Fujitsu • Software houses • Microsoft, Oracle, SAP, Computer Associates, and Symantec • Consulting firms • PricewaterhouseCoopers Consulting (bought by IBM)