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