Professional Documents
Culture Documents
Computer
Software
Application Software
System Software
General Purpose
Application Specific
Software
Computer software, or just software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it.
System software
System software provides the basic functions for computer usage and helps run the computer hardware and system.
Application software
Application software is designed to help the user to perform specific tasks
System Software
Programming Language Translators Programming Editors & Tools Computer-Aided Software Engineering (CASE) Packages
Operating System Network Management Programs Database Management Programs Application Servers Performance & Security Moniters System Utilities
System software
System management programs Systems development programs
Operating System
An operating system (OS) is a set of programs that manage computer hardware resources and provide common services for application software .
Integrated system of programs that Manages the operations of the CPU Controls the input/output and storage resources and activities of the computer system Provides support services as computer executes applications programs
User 2
User 3
...
User n
compiler
assembler
Text editor
Database system
Operating System
Computer Hardware
Operating System
User
The OS acts like a bridge between the applications software and the computer hardware.
Computer Hardware
Users need applications software to carry out tasks, the software needs the operating system in order to communicate with the hardware.
Operating System.
User Interface
Facilitates communication between the user and the operating system
Three forms
Menu driven interface
Menus Examples: ATM, mobile phones
Operating System.
Command line
Text-based Key commands Examples: MS-DOS, Unix
Operating System.
Operating System.
Resource management
Part of operating system that manages the hardware and networking resources of a computer system
Includes CPU, memory, secondary storage device, telecommunications, and input/output peripherals For example : memory management programs keep track of where data & programs are stored.
Operating System.
File management
Part of the operating system that controls the creation, deletion, and access of files of data and programs Transfers files between main memory and secondary storage, allocates secondary storage space etc.
Operating System.
Task Management
Part of the operating system that manages the accomplishment of computing tasks of the end users Approaches to Task Management
o Multitasking ( also called multiprogramming or time sharing. Basic types
Preemptive Cooperative
Operating System.
Unix
Multitasking, multiuser, network-managing Portable can run on mainframes, midrange and PCs
Linux
Low-cost, powerful reliable Unix-like operating system Open-source
MAC OS X
Apple operating system for the iMac GUI, multitasking, multimedia
Database Applications :
Banking: all transactions Airlines: reservations, schedules Universities: registration, grades Sales: customers, products, purchases Manufacturing: production, inventory, orders, supply chain Human resources: employee records, salaries, tax deductions
Utility software
Utility software is system software designed to help analyze, configure, optimize or maintain a computer. A single piece of utility software is usually called a utility or tool. A Utility program is designed to do one or perhaps two tasks very well and nothing else.
For example, you may want to compress a file to let you save it on to a floppy disk. For this task you would choose to use a file compression utility program.
Performance monitors
Programs that monitor and adjust computer system to keep them running efficiently
Application servers
Provide an interface between an operating system and the application programs of users
Middleware
o Software that helps diverse software applications and
networked computer systems exchange data and work together more efficiently.
Text Editors
An Interactive text editor has become an important part of almost any computing environment
Text editor acts as a primary interface to the computer for all type of knowledge workers as they compose, organize, study, and manipulate computer-based information
Editing component
Editing buffer
Viewing component
Viewing buffer
Viewing filter
Output devices
Display component
File system
Debuggers
A debugger or debugging tool is a computer program that is used to test and debug other programs (the "target" program). The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be somewhat slower than executing the code directly on the appropriate (or the same) processor. Some debuggers offer two modes of operation - full or partial simulation, to limit this impact.
Assembler
Assembler is a computer program to translate between lower-level representations of computer programs; it converts basic computer instructions into a pattern of bits which can be easily understood by a computer and the processor can use it to perform its basic operations.
COMPILER
A compiler is a program that translates human readable source code into computer executable machine code. To do this successfully the human readable code must comply with the syntax rules of whichever programming language it is written in. The compiler is only a program and cannot fix your programs for you. If you make a mistake, you have to correct the syntax or it won't compile.
INTERPRETER
An interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language. An interpreter may be a program that either executes the source code directly, translates source code into some efficient intermediate representation (code) and immediately executes this explicitly executes stored precompiled interpreter system. code made by a compiler which is part of the
CASE Tools
Computer-Aided Software Engineering Prerequisites to tool use Need a collection of useful tools that help in every step of building a product Need an organized layout that enables tools to be found quickly and used efficiently Need a skilled craftsperson who understands how to use the tools effectively
CASE Tools
Upper CASE requirements specification planning design Lower CASE implementation integration maintenance
Programming Languages
To build programs, people use languages that are similar to human language. The results are translated into machine code, which computers understand. Programming languages fall into three broad categories: Machine languages Assembly languages Higher-level languages
Machine Languages
Machine languages (first-generation languages) are the most basic type of computer languages, consisting of strings of numbers the computer's hardware can use.
Different types of hardware use different machine code. For example, IBM computers use different machine language than Apple computers.
Assembly Languages
Assembly languages (second-generation languages) are only somewhat easier to work with than machine languages. To create programs in assembly language, developers use cryptic English-like phrases to represent strings of numbers. The code is then translated into object code, using a translator called an assembler.
Higher-Level Languages
Higher-level languages are more powerful than assembly language and allow the programmer to work in a more English-like environment.
Higher-level programming languages are divided into three "generations," each more powerful than the last: