Introduction to Software

Discovery Computers 2005 – Chapters 3 & 8

Software refers to programs that direct the activities of the computer system by telling the computer hardware:

 

nWhat to do?

nHow to do?

nWhen to do?

 

Types of Software

uSystem Software

uApplication Software

uProgramming Languages

uCommunication Software

 

System Software

   - act as intermediaries between the hardware & application programs 

 5 main types of System Software:

uOperating Systems

uLanguage Translation

uDatabase Management

uCommunication

uUtility Programs

 

Operating Systems -Objectives of OS

umaximize efficiency of operations,

uminimize human intervention

ufacilitate the work of programmers in accessing data & peripheral

   equipments

 

Common Operating Systems

uDOS (Disk Operating System) used by IBM & compatible PCs

uMS Windows 95, 98, 2000 used by IBM  & compatible PCs

uMS Windows NT

uOS/2 used by IBM & Compatible PCs

uMacintosh System 7 used in Mac PCs

uLinux in microcomputer – Unix in multi-user minicomputers & mainframes;

 

Programming Languages

u1st Generation Lang.    - Machine Lang.

u2nd Generation Lang.   - Assembly Lang.

u3rd Generation Lang.    - High-level Prog.Language

u4th Generation Lang.    - SQL & OOP

u5th Generation Lang.    - Natural & Intelligent Lang.

1st Generation Language
Machine Language

uinstructions are in binary code

uuse only 2 symbols: 0 and 1

ulow level language

ulanguage of the CPU

 

Machine Language
Advantages & Disadvantages

ADVANTAGES

uEfficiency at run time

uSimplicity of instructions

DISADVANTAGES

uDifficult to learn & amend

uTime consuming

uMachine dependent

 

2nd Generation Language
Assembly Language

ucalled symbolic languages

uallowed programmer to better structure problem

ulow level language

uless difficult to write

ulanguage is not portable

 

Assembly Language
Advantages & Disadvantages

ADVANTAGES

uless difficult to write than machine language

uefficient in its use of machine facilities

DISADVANTAGE

unot very portable

 

3rd Generation Language
High Level Language

urelatively independent of a given computer hardware

utranslates into several instructions in machine language

ulanguage is English-like

ueach programming language has characteristics that is appropriate for certain types of problems

 

High Level Language
Advantages & Disadvantages

ADVANTAGES

uease of understanding

unaturalness & portability

uefficiency of use; code is not

   difficult to learn & programs

   can be modified easily.

 

DISADVANTAGE

uMany to choose from

4th Generation Language -4GLs

usoftware development becomes easier

umore English-like statements & able to help automate programming

uuser outline problem; computer generate programming instructions

uusers need little or no training in

   computers & programming

 

4th Generation Language
Advantages & Disadvantages

ADVANTAGES

uquery & database abilities

ucode-generation abilities

ugraphics abilities

DISADVANTAGE

uEncourage less in-depth

   analysis of problem

 

5th Generation Language – 5GL

uuses the concepts of AI & Expert System

uhave ability to give human experts’ advice

ucalled natural languages

uallow user to use normal English sentence

ulike natural languages, intelligent languages are still under development

 

Integrated Software – Software Suite

uCollection of individual application software packages sold as a single package

uallows multiple programs to run simultaneously & that the applications can

   share information in multiple ways

u“Swiss army-knives” of  computer software

uExamples : Lotus Smartsuite,  Microsoft Office,          PerfectOffice

 

Integrated Software - Advantages & Disadvantages

ADVANTAGES

uLower cost

uEase of use - Common interface & easy transfer of information from one application to another

uneed only to remember one set of commands

DISADVANTAGES

uhigh storage requirements

ustrong in one feature & not the other