Computer Software Lecturer: Dr Mohammad Nabil Almunawar
2 Describe several major trends occurring in computer software. Describe several major trends occurring in computer software. Give examples of several major types of application and system 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. Explain the purpose of several popular software packages for end user productivity and collaborative computing. Outline the functions of an operating system. Outline the functions of an operating system. Describe the main uses of high-level, fourth- generation, object-oriented, and web-oriented languages and tools. Describe the main uses of high-level, fourth- generation, object-oriented, and web-oriented languages and tools. Learning Objectives
3 Software Overview Computer program: sequences of instructions for the computer. Computer program: sequences of instructions for the computer. Systems software coordinates the activities of hardware & programs (software). Systems software coordinates the activities of hardware & programs (software). Applications software helps users solve particular problems. Applications software helps users solve particular problems. Documentation describes program functions to help people use it. Documentation describes program functions to help people use it.
4 Categories of Computer Software General- Purpose Programs General- Purpose Programs Application- Specific Programs Application- Specific Programs System Management Programs System Management Programs System Development Programs System Development Programs Application Software Application Software Computer Software Computer Software System Software System Software
5 Application Software Common Business Software Web Browser Electronic Mail Word Processing Presentation Graphics Multimedia Personal Information Manager Groupware
6 Web Browsers Discussion Groups Surf the Net Launch Information Searches Multimedia File Transfer Typical uses of a Web Browser in Internet, Intranet, and Extranet Environments
7 Database Management Packages Database Development Database Maintenance Database Interrogation Application Development Primary Tasks of Database Management Packages Primary Tasks of Database Management Packages
8 Key Technologies of Multimedia Video Capture Card Video Capture Card Authoring Language Authoring Language Storyboard Compact Disk Interactive Compact Disk Interactive Sound Board Compressed Audio Compressed Audio Digital Video Interactive Digital Video Interactive MIDI Computer Edit System Computer Edit System Interactive Video Interactive Video Digital Audio Multimedia Technologies
9 Business Enterprise Application Software Customer Relationship Management Human Resource Management Accounting and Financial Management Supply Chain Management Enterprise Resource Planning Business Decision Support
10 Systems Software Operating Systems (OS). Operating Systems (OS). –The role of OS is as an interface between a user or application programs and hardware.
11 Functions of an Operating System Resource Management Resource Management Task Management Task Management User Interface User Interface File Management File Management Utilities and Other Functions Utilities and Other Functions
12 Operating Systems activities Resource Management Resource Management –Control access to system resources »Protection against unauthorized access »Logins and passwords –Memory management –CPU management Manage files Manage files –Physical storage location –File permissions –File access Task management Task management –CPU Sharing /multitasking
Utility Programs Compressor Compressor Security software Security software Installer Installer Virus scanner Virus scanner Network monitor Network monitor Resource monitor Resource monitor Defragmenter Defragmenter
14 PC Operating Systems PC Operating Systems –MS-DOS –Window 9x, 2000, XP –Linux –MacOS Workgroup Operating Systems Workgroup Operating Systems –Netware –Unix –Windows NT Server 4.0 –Windows 2000 Server Enterprise Operating Systems Enterprise Operating Systems –IBM’s OS/390 –HP’s MPE/iX (Multiprogramming Executive with integrated POSIX) Consumer Appliance Operating Systems Consumer Appliance Operating Systems –Windows CE –Mobil Linux Example of OS
15 Programming Languages Commands and statements combined according to a particular syntax Commands and statements combined according to a particular syntax Different languages have different characteristics Different languages have different characteristics
16 Categories of Programming Languages Machine Languages Use binary coded instructions 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”) First heading <!ELEMENT Product (#Item | manuf)> SUM THE FOLLOWING NUMBERS
First-generation Languages (machine language) First-generation Languages (machine language) Second-generation Languages (Assembly language) Second-generation Languages (Assembly language) –Symbolic language Third-generation language – Procedural language Third-generation language – Procedural language Forth generation language – non procedural languages Forth generation language – non procedural languages Programming Language Generations
18 Third-Generation Languages Greater use of symbolic code Greater use of symbolic code Statements are more English-like Statements are more English-like Easier to learn Easier to learn Resulting program slower & don’t use RAM as efficiently Resulting program slower & don’t use RAM as efficiently Has to write detail (HOW). Has to write detail (HOW). Examples: FORTRAN, Pascal, BASIC, COBOL, C, etc. (so many) Examples: FORTRAN, Pascal, BASIC, COBOL, C, etc. (so many)
19 Fourth-Generation Languages 4GLs 4GLs Does not need to write detail (just tell WHAT). Does not need to write detail (just tell WHAT). Programs tell the CPU the desired results, not how to get them Programs tell the CPU the desired results, not how to get them Examples: SQL, Visual Basic, SAS Examples: SQL, Visual Basic, SAS
20 Object-Oriented Programming Languages Objects include data & actions. Objects interact by passing messages Objects include data & actions. Objects interact by passing messages Encapsulation: group items into an object Encapsulation: group items into an object Polymorphism: One procedure can work with multiple objects. Polymorphism: One procedure can work with multiple objects. Inheritance: an object in a particular class gets attributes of that class. Inheritance: an object in a particular class gets attributes of that class.
Interpreter: A Language translator that translates one program statement at a time into a machine code. Language Translators
Compiler: a language translator that converts a complete program into a machine code to produce a program that a computer can process in its entirely.
23 Software Issues & Trends Software bugs: program defects that prevent proper performance Software bugs: program defects that prevent proper performance Open source software: freely available and modifiable Open source software: freely available and modifiable Software licensing Software licensing Software upgrades Software upgrades Global software support Global software support
24 Trends in Computer Software First Generation First Generation Second Generation Second Generation Third Generation Third Generation Fourth Generation Fourth Generation Fifth 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
25 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. 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. Application software includes a variety of programs that can be segregated into general-purpose and application-specific categories. 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. 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. An operating system is an integrated system of programs that supervises the operations of the CPU. There are 5 major levels of programming languages. Language translator programs convert programming language instructions into machine language instructions. There are 5 major levels of programming languages. Language translator programs convert programming language instructions into machine language instructions. Summary