Describe several important trends occurring in computer
software.
Give examples of several major types of application and system software.
Explain the purpose of several popular software packages for end user productivity and collaborative computing.
Outline the functions of an operating system.
Describe the main uses of high-level, fourth-generation, object-oriented, and Web-oriented programming languages and tools. Objectives Categories of Computer Software General- Purpose Programs Application- Specific Programs System Management Programs System Development Programs Application Software Computer Software System Software Development Tools Special Applications Hardware Operating System Graphics User Interface Database Management Software Databases Games Functions of an Operating System Resource Management Task Management User Interface File Management Utilities and Other Functions Trends in Computer Software First Generation Second Generation Third Generation Fourth Generation Fifth Generation User-Written Programs Machine Languages Packaged Programs Symbolic Languages Operating Systems High-Level Languages DBMS Fourth-Generation Languages Microcomputer Packages Natural & Object-Oriented Languages Multipurpose Graphic- Interface Network-Enabled Expert-Assisted Packages
Trend: Toward Easy-to-Use Multipurpose Network-Enabled Application Packages for Productivity and Collaboration
Trend: Toward Visual or Conversational Programming Languages and Tools Categories of Programming Languages Machine Languages Use binary coded instructions 1001 1001 1100 1101 High Level Languages Use brief statements Compute X = Y + Z Markup Languages Use embedded control codes Assembler Languages Use symbolic coded instructions LOD Y ADD Z Fourth Generation Languages Use natural statements Object-Oriented Languages Define objects that contain data and actions Document.write (Hi There) <H1>First heading</H> <!ELEMENT Product (#Item | manuf)> SUM THE FOLLOWING NUMBERS
Programming Language Translation Language Translation Process Source Program Machine Language Object Program Written in BASIC, COBOL, etc. Language Translator Program Compiler Interpreter Assembler IF A := B THEN 1001101 1110101 0010110 Why do I want the source code? Categories of Programming Languages Machine Languages Use binary coded instructions 1001 1001 1100 1101 High Level Languages Use brief statements Compute X = Y + Z Markup Languages Use embedded control codes Assembler Languages Use symbolic coded instructions LOD Y ADD Z Fourth Generation Languages Use natural statements Object-Oriented Languages Define objects that contain data and actions Document.write (Hi There) <H1>First heading</H> <!ELEMENT Product (#Item | manuf)> SUM THE FOLLOWING NUMBERS
Application software types Custom development programming Expensive Consultant dependent Hard to get out of Within application development Written within an existing software environment Examples: Spreadsheets, Database applications Turn key systems Little customization dependent on the vendor Turn it on and run it Development Tools Special Applications Hardware Operating System Graphics User Interface Database Management Software Databases Games? Categories of software: Layering The hardware is the center The system software operating system Controls the hardware and supports the application Supports GUI (graphics user interfaces) Controls communications Development software tools for creating applications Programming languages Database management software Applications software The big area
Common General- Purpose Applications A move toward generic applications that can be adapted spreadsheet software and database software. Electronic Mail Word Processing Presentation Graphics Multimedia Personal Information Manager Groupware
Web Browsers Discussion Groups Surf the Net Launch Information Searches E-Mail Multimedia File Transfer Typical uses of a Web Browser in Internet, Intranet, and Extranet Environments Database Management Packages Database Development Database Maintenance Database Interrogation Application Development Primary Tasks of Database Management Packages Key Technologies of Multimedia Video Capture Card Authoring Language Storyboard Compact Disk Interactive Sound Board Compressed Audio Digital Video Interactive MIDI Computer Edit System Interactive Video Digital Audio Multimedia Technologies Business Enterprise Application Software Customer Relationship Management Human Resource Management Accounting and Financial Management Supply Chain Management Enterprise Resource Planning Business Decision Support Summary Software is more capable Software is more graphic oriented - GUI Software takes more computer resources Disk storage and RAM Databases are more and more dominant Fewer standard computer languages Software is more object oriented Web based applications are increasing Database systems Computer software consists of two major types of programs: application software that directs the performance of a particular end user task, and system software that controls and supports the operations of a computer system. Application software includes a variety of programs that can be segregated into general- purpose and application-specific categories. Chapter Summary System software can be subdivided into system management programs and system development programs. The former is used to manage hardware, software, networks, and data resources. The latter is used by IS specialists to develop computer programs. An operating system is an integrated system of programs that supervises the operations of the CPU.