2. Introduction to computer software
Introduction to software development
Programming languages
Operating systems
General features and trends
References
2
Contents
3. Software is the set of instructions and associated data that direct the
computer to do a task
Computer Instructions or data, anything that can be stored electronically is
Software
Computer hardware is useless without software
If There is a problem in the Software implies – Problem with program or data
Example:- iOS, android, LibreOffice, Microsoft office, Avast anti-virus,
.NET frame work etc.
Introduction to computer software
3
4. Operating system
Utility software
Language translators
Compiler
Interpreter
Application software
Types of software
4
5. Software which manages and controls the hardware so that application
software can perform a task
Operating system
Operating System is a software, which makes a computer to actually work
OS acts as an interface between the application programs and the machine hardware
The OS organizes and controls the hardware
Examples: Windows, Linux, Unix and Mac OS, etc.
System software
5
6. Utility software
● Utility software is system software designed to help analyze, configure,
optimize or maintain a computer
● It is a type of system software, used to support the computer infrastructure
● Example:- anti-virus, archivers, network utilities, disk cleaner etc.
Language translators
• Compiler: A compiler is a program that reads a program in one
language – the source language and translates into an equivalent
program in another language – the target language
• An interpreter is a computer program that translates and executes
instructions written in a computer programming language line-by-line,
unit by unit etc.
6
7. An application program is a computer program designed to perform
a group of coordinated functions, tasks, or activities for the benefit
of the user
Example:- word processor, spreadsheet, accounting application,
web browser, media player etc.
Application software
7
8. a programming language is a notational system intended to
facilitate human - machine interaction .
The notation is understood both by human and machine .
The programming language has syntax , and language
elements have semantics .
Introduction to programming language
8
9. Machine language / first generation language
Assembly language / second generation language
Procedural language / third generation language
Problem-orientated language / fourth generation language
Natural language / fifth generation language
Different levels (or generation) of language
9
10. The lowest level of language .
The language used to program the first computer .
The instructions in machine language are made of binary numbers ,
represented by 1s and 0s.
1s and 0s correspond to the on and off states of electrical switches .
Suitable for the understanding of the machine but very much difficult
to interpret and learn by the human programmer.
Machine language (1GL)
10
11. low level language that allows a programmer to use abbreviations
or easily remembered words instead of numbers.
These observations are called Mnemonics . these Mnemonic are
opcode and operands .
for example: ADD AX,BX
MOV CX,BX
INC CX
Op-code; ADD,MOV,INC
Operands; AX,BX,CX
Assembly language (2GL)
11
12. Programmer can write instruction faster but it is still not easy language
to learn .
Drawback : the language is specific to a particular processor family
and environment. (machine dependent language)
Assembler – a program the translates the assembly language program
into machine language .
Second Generation language (2GL)
12
13. Procedure Oriented Programming Language
A high level language is an English like language.
It is a refinement of a second generation programming language .
It allowed users to write in familiar notation, rather than number or
observations.
Most high level languages are not machine dependent.
Translator for high level language is either a compiler or an interpreter.
Examples of high level languages:
-FORTRON
-COBOL
-BASIC
-C AND C++
High level language (3GL)
13
14. Object oriented language(4GL)
4 GL are much more user-oriented and allows programmer to develop
programs with fewer commands compared with 3GLs.
Non-procedural language ; programmers don’t have to specify all the
programming logic , only tell the computer what they want done.
Saves a lot of time.
4GLs consist of report generators and interactive database management
system
For example
-RGP III(report generator)
-SQL(structured query language)
-NOMAD and FOCUS (DBMS)
14
15. Two types
ordinary human language
Programming language that use human language to give people a more
natural connection with computers.
5GL are designed to make the computer solve a given problem without a
programmer.
Natural languages are part of the field of study known as artificial
intelligence.
-develop machine to emulate human like qualities such as learning
reasoning ,communicating , etc.
Natural language (5GL)
15
16. Compiler Interpreter
Scans the entire program and translate it as a
whole into machine code.
Translate program one statement at a time.
It takes large amount of time to analyze the
source code but the overall execution time is
comparatively faster.
It takes less amount of time to analyze the source
code but the overall execution time is slower.
Generates intermediate object code which further
requires linking , hence requires more memory.
No intermediate object code is generated , hence
are memory efficient.
It generates the error message only after scanning
the whole program hence debugging is
comparatively hard.
Continues translating the program until the first
error is met ,in which case it stops hence
debugging is easy.
Programming language like c , c + + ,use
compilers.
Programming language like python , ruby use
interpreters.
Compiler and interpreter
16
17. It is a step by step process for developing a software product
Tools like algorithm and flowcharts are commonly used for
planning and development
It requires knowledge of programming language
Development of software undergoes a certain process termed as
Software Development Life Cycle (SDLC)
17
Software development
18. A period of time that begins when a software product is conceived and
ends when the software is no longer available for use
In other words, it is a framework that describes the activities performed at
each stage of a software development project.
Consists of different phases such as:
Concept
Analysis / Requirements gathering
Design
Implementation / coding
Testing
Deployment
Maintenance
18
What is SDLC?
19. There are different SDLC models used for designing a software
Waterfall and V model are traditional
These models are of sequential type, i.e., next phase can only start
after the completion of first
Big Bang model is a random approach suitable only for small
projects
Agile model is the most popular
Introduces the concept of fast delivery to customers using prototype
approach and it is the backbone of this model
19
Which model of SDLC?
20. Feedbacks and
Review
Agile model of SDLC
Analysis/Requir
ement gathering
Design
Implementation
or coding
Testing
Deployment
Maintenance
Initiate
projects and
define
requirements
Concept
20
21. Manages and coordinates the functions performed by the
computer hardware
Vary in complexity
Most important program that runs on a computer
Example:- Linux, Windows, OS/2, Unix etc
21
Operating System
23. On the basis of their use:
Desktop Operating Systems
Server OS
Mainframe OS
Classification of O.S.
23
24. On the basis of their capabilities and features:
Multiuser O.S.
Multiprocessing O.S.
Multitasking O.S.
Multithreading O.S.
Real-time O.S.
24
25. Software is the instruction that the computer follows
A series of instruction that perform a particular task called a program
Two major software are
System Software : it is made up of control programs, including the
OS, communications software and data manager.
Application Software : it is the any program that processes data
for the user (payroll, spreadsheet, word processor, etc.)
General Software features and Trends
25
26. Ease of use
Graphical User Interface(GUI)
More features
Requirement of more powerful hardware
Multi-platform capability
Network Capabilities
Object Linked and Embedding
Group work capabilities
Mail enabling
Web enabling
Some trends are listed below:
26
27. System software application are becoming more and more easy to
use
The Software they develop are user-friendly than that of their
competitor’s products
Graphical User Interface (GUI)
Software application and products provide users with graphical,
intuitive & easy to use interfaces
Task can be accomplished just by a mouse click
Ease of Use
27
28. Number of new software companies & the numbers of new
software products are increasing day by day
Software marketplace is witnessing a fierce battle for survival
Requirement of More Powerful Hardware
As software vendors are incorporating more new features into their
products
Software needs more powerful machines to run
More Features
28
29. It support multiple platform i.e both hardware and software
platforms
Some platform software like MVS, Windows, AIX, UNIX, etc
Network Capabilities
Network computers are becoming popular as
they can work with minimal memory, processor
power and disk storage
Multi-Platform Capability
29
30. It enables us to create object with one application and
then embed or link them into second application
Group-work Capabilities
Vendors are integrating collaboration into their
products
Object linked and Embedding
30
31. Process which e-mail is gradually replacing many of the single
purpose application used on PCs
Web Enabling
increasing popularity of internet and the amount of information
that is available on the net
Mail Enabling
31