You are on page 1of 80

UNIT 2

Computer Software
and
DBMS
Contents
1. Introduction
➢ Understanding Computer Hardware and Software
2. Types of Software
a. System Software
b. Application Software
3. Operating Systems : Functions, Types
4. Language Translators
a. Compilers
b. Translators
c. Assemblers
5. Database Management Systems
2
Understanding Computer Hardware
⬡ Computer hardware includes the physical parts of
a computer, such as the central processing
unit (CPU), monitor, mouse, keyboard, computer data
storage, graphics card, sound
card, speakers and motherboard.

⬡ Hardware is typically directed by the software to


execute any command or instruction.
3
Why Learn About Software?
⬡ Software is indispensable for any computer system.
⬡ System software is needed for input, calculations and output.
⬡ Application software aids productivity.
⬡ Software is the programs that are needed to accomplish the
input, processing, output, storage, and control activities of
information systems.
⬡ Personal tasks using software:
▪ Internet research
▪ Gaming
▪ Instant Messaging
4
▪ Word Processing etc.
What is Software?
⬡ Software is a set of instructions, data or programs used to
operate computers and execute specific tasks.
⬡ In computer science and software engineering,
computer software is all information processed by
computer systems, programs and data.
⬡ Computer software includes computer programs, libraries
and related non-executable data, such as online
documentation or digital media.

5
Examples of Computer Software
⬡ Office suites
⬡ Database programs
⬡ Software development tools
⬡ Web browsers
⬡ Word processors
⬡ Image editors
⬡ Communication platforms.

6
Hardware Software
Definition Devices that are required to Collection of instructions that
store and execute (or run) enables a user to interact with
the software. the computer.
Types Input, storage, processing, System software,
control, and output devices. Programming software, and
Application software.
Examples CD-ROM, monitor, printer, Adobe, Google Chrome,
video card, scanners, Microsoft Word, Microsoft
routers and modems Excel etc.
Durability Hardware wears out over Software does not wear out
time. over time.
Nature Hardware is physical in Software is logical in nature.
7
nature.
Contents
1. Introduction
➢ Understanding Computer Hardware and Software
2. Types of Software
a. System Software
b. Application Software
3. Operating Systems : Functions, Types
4. Language Translators
a. Compilers
b. Translators
c. Assemblers
5. Database Management Systems
8
Types of Software
Based on the goal, computer software can be
divided into:
1. Application Software
2. System Software

9
Application Software
⬡ Software that uses the computer system to perform special
functions or provide functions beyond the basic operation of the
computer itself.
⬡ Application software (app for short) is software designed to
perform a group of coordinated functions, tasks, or activities for
the benefit of the user.
⬡ The collective noun application software refers to all applications
collectively. This contrasts with system software, which is mainly
involved with running the computer.

10
Application Software
Examples of an application include:
✓Word Processor
✓Spreadsheet
✓Accounting Application
✓Media Player
✓File Viewer
✓Flight Simulator
✓Console Game
✓Photo Editor
✓Integrated Development Environments
✓Oracle, MS Access
System Software
⬡ System software is software for managing computer hardware
behaviour, as to provide basic functionalities that are required by
users, or for other software to run properly, if at all.
⬡ System software is also designed for providing a platform for
running application software and it includes the following:
o Operating Systems
o Device Drivers
o Utilities
o Malicious Software or Malware

12
System Software
Examples of an system software include:
✓Windows
✓Mac oS
✓Linux
✓Android
✓Anti virus
✓Disk formatting
✓Computer language translators
✓Display card
✓Network card
Contents
1. Introduction
➢ Understanding Computer Hardware and Software
2. Types of Software
a. System Software
b. Application Software
3. Operating Systems : Functions, Types
4. Language Translators
a. Compilers
b. Translators
c. Assemblers
5. Database Management Systems
14
Operating Systems
➢ An operating system (OS) is system
software that manages computer
hardware, software resources, and
provides common services for computer
programs.

➢ It is a set of programs that controls


the computer hardware and acts as an
interface between the user and the
system.
Operating Systems
➢ Operating systems are essential
collections of software that manage
resources and provides common
services for other software that runs
“on top” of them.

➢ Supervisory programs, boot loaders,


shells and window systems are core
parts of operating systems.
What is a Kernel?
⬡ The kernel is the central module of an operating
system (OS). It is the part of the operating
system that loads first, and it remains in main
memory.
⬡ The kernel connects the system hardware to the
application software.
⬡ Every operating system has a kernel.
⬡ For example the Linux kernel is used numerous
operating systems including Linux, Android and
others.
17
What is a Kernel?
⬡ The kernel is the central module of an operating
system (OS). It is the part of the operating
system that loads first, and it remains in main
memory.
⬡ The kernel connects the system hardware to the
application software.
⬡ Every operating system has a kernel.
⬡ For example the Linux kernel is used numerous
operating systems including Linux, Android and
others.
18
User Interface
⬡ A User Interface is the software that a person uses to interact
with the OS and the applications running on a computer.
⬡ The User interface allows the user to communicate with the
operating system.
⬡ There are two common types of user interfaces on the display
device:
1. Command line interface (CLI): is a console or text based representation
in which the user types the commands to operate the software or
devices.
2. Graphical user interface (GUI): is a graphical representation in which the
users can interact with software or devices through graphical icons.
19
Functions of Operating Systems
1. Job accounting
Operating system Keeps track of time and resources used by
various tasks and users, this information can be used to track
resource usage for a particular user or group of user.

2. Error detecting aids


Operating system constantly monitors the system to detect errors
and avoid the malfunctioning of computer system.

20
Functions of Operating Systems
3. Security
The operating system uses password protection to protect user
data and similar other techniques. It also prevents unauthorized
access to programs and user data.
4. Control over system performance
Monitors overall system health to help improve performance.
records the response time between service requests and system
response to have a complete view of the system health. This can
help improve performance by providing important information
needed to troubleshoot problems.
21
Functions of Operating Systems
5. Coordination between other software and users
Operating systems also coordinate and assign interpreters,
compilers, assemblers and other software to the various users of
the computer systems.
6. Memory Management
The operating system manages the Primary Memory or Main
Memory. Main memory is made up of a large array of bytes or
words where each byte or word is assigned a certain address.
Main memory is a fast storage and it can be accessed directly by
the CPU. For a program to be executed, it should be first loaded
22
in the main memory.
Functions of Operating Systems
7. Processor Management
In a multi programming environment, the OS decides the order in
which processes have access to the processor, and how much
processing time each process has. This function of OS is called
process scheduling.
8. Device Management
An OS manages device communication via their respective
drivers. It performs the following activities for device
management. Keeps tracks of all devices connected to system.
designates a program responsible for every device known as the
Input/output controller. 23
Functions of Operating Systems
9. File Management
A file system is organized into directories for efficient or easy
navigation and usage. These directories may contain other
directories and other files. An Operating System carries out the
following file management activities. It keeps track of where
information is stored, user access settings and status of every file
and more. These facilities are collectively known as the file
system.

24
Batch Operating System
➢ This type of operating system does
not interact with the computer directly.

➢It is the responsibility of an operator


to sort the jobs with similar
requirements and group them into
batches to speed up processing.

➢Examples of Batch Operating System:


Payroll system, Bank statements etc.
Advantages Disadvantages
1. It is easy to manage large 1. Batch systems are hard to
amount of work repeatedly in debug.
batch systems. 2. The others jobs will have to
2. Multiple users can share the wait for an unknown amount
batch system. of time if any job fails.
3. Processors of the batch 3. Lack of interaction between
systems know the time the user and the job.
required for a job to
complete.

26
Time-Shared Operating System
➢Each task is given some amount of CPU
time to execute, so that all the tasks work
smoothly.
➢These systems are also known as
multitasking systems.
➢The time that each task gets to execute
is called a quantum, after this time
interval is over the operating system
switches over to the next task.
➢Examples of Time-Shared Operating
System: Multics, UNIX etc.
Advantages Disadvantages
1. Each task has an equal 1. Data communication problem
opportunity. 2. Reliability problem
2. CPU idle time can be 3. Security and integrity of user
reduced. programs and data must be
3. Less chances of duplication taken care of.
of software.

28
Distributed Operating System
➢ In distributed operating systems
independent interconnected computers
communicate with each other using a
shared communication network.

➢Independent systems possess their own


memory unit and CPU. These are referred
to as loosely coupled systems.

➢Examples of Distributed Operating


System: LOCUS, Amoeba etc.
Advantages Disadvantages
1. Load on the host computer is 1. Failure of the main network
reduced will stop the entire
2. Failure of one system will communication.
not affect the other network 2. These types of systems are
communication, as all the very expensive.
systems are independent 3. The underlying software is
from each other. highly complex and not well
3. Since resources are being understood yet.
shared, computation is fast.

30
Network Operating System
➢These types of operating systems
allows shared access of files, printers,
security, applications, and other
networking functions over a small
private network.
➢All the users are well aware of the
underlying configuration, of all other
users within the network, their
individual connections etc. and that’s
why these computers are popularly
known as tightly coupled systems. ➢ Examples of Network OS:
Microsoft Windows Server 2008,
Linux, Mac OS X etc.
Advantages Disadvantages
1. Highly stable centralized 1. Servers are costly
servers 2. User has to depend on
2. Security concerns are central location for most of
handled through servers the operations
3. New technologies and 3. Maintenance and updates
hardware up-gradation are are required regularly
easily integrated to the
system

32
Real-Time Operating System
➢These types of operating systems serve
the real time systems.
➢The time interval required to process
and respond to inputs is very small. This
time interval is called response time.
➢Real-time systems are used when the
time requirements are very strict like
missile systems, air traffic control
systems, robots etc.
➢Examples of Distributed Operating
System: medical imaging systems,
robots, air traffic control systems, etc.
Types of Real-Time Operating Systems

Hard Real-Time Systems Soft Real-Time Systems


⬡ These operating systems are ⬡ These operating systems
meant for the applications are for applications where
where time constraints are the time-constraint is less
very strict and even the strict.
shortest possible delay is not
acceptable.

34
Advantages Disadvantages
1. Maximum utilization of 1. Limited Tasks run at a given
devices and system, thus time and their concentration
more output from all the is very less on few
resources applications to avoid errors.
2. These types of systems are 2. The algorithms are very
error free. complex.
3. Memory allocation is best 3. It needs specific device
managed in these types of drivers and interrupts signals
systems. to response earliest to the
interrupts.
35
Desktop Operating System
➢Desktop Systems include PCs running
Microsoft Windows and the Apple
Macintosh.

➢Operating systems for these computers


have benefited in several ways from the
development of operating systems for
mainframes.
Handheld Operating System
➢Handheld computer is a computing
device small enough to hold and operate
in the hand.
➢Any handheld device will have a touch
screen interface, a small amount of
memory and slow processors.
➢ Examples of Handheld systems:
Personal Digital Assistants (PDAs), such
as Palm-Pilots, Smartphone's , Smart
watches or Cellular Telephones with
connectivity to a network such as the
Internet.
Advantages Disadvantages
1. Handheld computers are 1. While the size of handheld
portable. They are smaller computers is an advantage in
than the typical laptops. portability, it is a
2. Flexibility: Provides an ease disadvantage too.
to both access and update 2. Requirement of large battery
information in real-time. to support fast processors.
3. Improved networking 3. Do not use virtual memory
capabilities techniques, forcing developers
to work with limited physical
memory.
38
Device Drivers
➢ Device drivers operate or control a particular type of device that
is attached to a computer.

➢ Each device needs at least one corresponding device driver;


because a computer typically has at minimum at least one input
device and at least one output device, a computer typically needs
more than one device driver.

39
Utilities
➢ Utility programs, commonly referred to as just "utilities," are
software programs that add functionality to your computer or
help your computer perform better.
➢ These include antivirus, backup, disk repair, file management,
security, and networking programs.
➢ Utilities are computer programs designed to assist users in the
maintenance and care of their computers.

40
Malicious Software/ Malware
➢ Malicious software or malware is software that is developed to
harm and disrupt computers.
➢ As such, malware is undesirable.
➢ Malware is closely associated with computer-related crimes,
though some malicious programs may have been designed as
practical jokes.

41
Contents
1. Introduction
➢ Understanding Computer Hardware and Software
2. Types of Software
a. System Software
b. Application Software
3. Operating Systems : Functions, Types
4. Language Translators
a. Compilers
b. Translators
c. Assemblers
5. Database Management Systems
42
Computer Languages
⬡ A language is the main medium of communicating
between the Computer systems and the most common
are the programming languages.
⬡ As we know a Computer only understands binary
numbers that is 0 and 1 to perform various operations
but languages are developed for different types of
work on a Computer.
⬡ A language consists of all the instructions to make a
request to the system for processing a task.
43
There are mainly three different languages
with the help of which we can develop
computer programs. They are:

1. Machine Level language


2. Assembly Level Language and
3. High Level Language

44
45
Machine Level Language
Computer can understand only the language of Digital
Electronics. Digital Electronics deals with presence and absence
of voltages. Within the computer there are two logics:
Positive Logic – Here presence of voltage will be denoted by 1 and
absence of voltage will be denoted by 0
Negative Logic – Here presence of voltage will be denoted by 0 and
absence of voltage will be denoted by 1
Computer directly understands a program written in the
machine language. So as a result, machine language program
does not require any translator to convert from one form to
another. 46
Assembly Level Language
Assembly language uses mnemonics or symbolic instructions in
place of a sequence of 0s and 1s.
As an example, we can consider, to add register A and B in a
particular computer, assembly language uses the mnemonic
‘ADD B’ in place of 10001111.
In assembly language, we use symbolic names to denote
addresses and data.
Writing a program in assembly language has advantages over
writing the same in a machine language.

47
High Level Language
High-level languages are like English-like language, with less
words also known as keywords and fewer ambiguities.
Each high level language will have its own syntax and keywords.
The meaning of the word syntax is grammar.
Examples of some high-level languages are given below:
• PROLOG (for “Programming Logic”);
• FORTRAN (for ‘Formula Translation’);
• LISP (for “List Processing”);
• Pascal (named after the French scientist Blaise Pascal).

48
Generation of Programming Languages
There are five generation of Programming languages:
First Generation Languages: These are low-level languages like machine language.
Second Generation Languages: These are low-level assembly languages used in
kernels and hardware drives.
Third Generation Languages: These are high-level languages like C, C++, Java,
Visual Basic and JavaScript.
Fourth Generation Languages: These are languages that consist of statements that
are similar to statements in the human language. These are used mainly in database
programming and scripting. Example of these languages include Python, Ruby, SQL.
Fifth Generation Languages: These are the programming languages that have visual
tools to develop a program. Examples of fifth generation language include Mercury,
OPS5, and Prolog.
49
Language Translators
➢ Computers only understand machine code (binary), this is an issue
because programmers prefer to use a variety of high and low-level
programming languages instead.

➢ To get around the issue, the high-level and low-level program


code (source code) needs to pass through a translator.

➢ A translator will convert the source code into machine code (object
code) that the central processing unit (CPU) can understand.

➢It also detects errors in the program.


50
Types of Language Translators
There are several types of
translator programs, each able to
perform different tasks:

1. Compiler
2. Interpreter
3. Assembler
Compilers
➢Compilers are used to translate a program written in a high-level
language into machine code (object code).

➢Once compiled (all in one go), the translated program file can then
be directly used by the computer and is
➢independently executable.

➢Compiling may take some time but the translated program can be
used again and again without the need for recompilation.

52
Compilers
➢ An error report is often
produced after the full program
has been translated.

➢ Errors in the program code


may cause a computer to crash.

➢ These errors can only be fixed


by changing the original source
code and compiling the program
again.
Advantages & Disadvantages of Compilers
➢ Here are some advantages of the Compiler:
1. The whole program is validated so there are no system errors.
2. The executable file is enhanced by the compiler, so it runs
faster.
3. User do not have to run the program on the same machine it
was created.

➢ Here are some disadvantages of the Compiler:


1. It is slow to execute as you have to finish the whole program.
2. It is not easy to debug as errors are shown at the end of the
execution.
3. Hardware specific, it works on specific machine language and
architecture. 54
Interpreters
➢ Interpreter programs are able to read, translate and execute one
statement at a time from a high-level language program.

➢ The interpreter stops when a line of code is reached that contains an


error.

➢ Interpreters are often used during the development of a program.

➢ They make debugging easier as each line of code is analysed and


checked before execution.

55
Interpreters
➢ Interpreted programs will
launch immediately, but your
program may run slower then
a complied file

➢ No executable file is
produced. The program is
interpreted again from scratch
every time you launch it.
Advantages & Disadvantages of Interpreters
➢ Here are some advantages of the Interpreter:
1. You discover errors before you complete the program, so you
learn from your mistakes.
2. Program can be run before it is completed so you get partial
results immediately.
3. You can work on small parts of the program and link them
later into a whole program.

➢ Here are some disadvantages of the Interpreter:


1. There’s a possibility of syntax errors on unverified scripts.
2. Program is not enhanced and may encounter data errors.
3. It may be slow because of the interpretation in every
execution. 57
Assemblers
➢ Assemblers are used to translate a program written in a low-level
assembly language into a machine code (object code) file so it can be
used and executed by the computer.

➢ Once assembled, the program file can be used again and again
without re-assembly.

58
Advantages & Disadvantages of Assemblers
➢ Here are some advantages of the Assembler:
1. The symbolic programming is easier to understand thus time-
saving for the programmer.
2. It is easier to fix errors and alter program instructions.
3. Efficiency in execution just like machine level language.

➢ Here are some disadvantages of the Assembler:


1. It is machine dependent, cannot be used in other architecture.
2. A small change in design can invalidate the whole program.
3. It is difficult to maintain.

59
Contents
1. Introduction
➢ Understanding Computer Hardware and Software
2. Types of Software
a. System Software
b. Application Software
3. Operating Systems : Functions, Types
4. Language Translators
a. Compilers
b. Translators
c. Assemblers
5. Database Management System
60
Database Management Systems
➢ In computerized information system
data is the basic resource of the
organization. So, proper organization
and management for data is required
for organization to run smoothly.
➢ Database management system deals the
knowledge of how data stored and
managed on a computerized
information system.

61
Database Management System
➢Database management system is software which is used to
manage the database.
➢ For example: MySQL, Oracle, etc are a very popular
commercial database which is used in different applications.
➢DBMS provides an interface to perform various operations like
database creation, storing data in it, updating data, creating a
table in the database and a lot more.
➢It provides protection and security to the database. In the case
of multiple users, it also maintains data consistency.

62
Database Management Systems
➢ In any organization, it requires accurate and reliable data for better
decision making, ensuring privacy of data and controlling data
efficiently.

➢The examples include deposit and/or withdrawal from a bank, hotel,


airline or railway reservation, purchase items from supermarkets in all
cases, a database is accessed.

63
What is Data?
➢Data is the known facts or figures that have implicit meaning.

➢It can also be defined as it is the representation of facts, concepts or


instruction in a formal manner, which is suitable for understanding
and processing.

➢Data can be represented in alphabets (A-Z, a-z), in digits (0-9) and


using special characters (+,-,#,$, etc)

➢e.g. : Murray 35000 7/18/86

64
What is Information?
➢Information is the processed data on which decisions and actions are
based. Information can be defined as the organized and classified data
to provide meaningful values.

➢e.g.: Mr. Murray is a sales person whose annual salary is $35,000


and whose hire date is July 18, 1986.

65
What is a Database?
➢A collection of data designed to be used by different people is called
database.

➢ A database is organized collection of related data of an


organization stored in formatted way which is shared by multiple
users.

66
Designing a Database
➢Database design is the organization of data according to a database
model.
➢The designer determines what data must be stored and how the data
elements interrelate.
➢ With this information, they can begin to fit the data to the database
model. Database management system manages the data accordingly.

67
Entity Relationship Diagram

➢ Entity Relationship (ER) diagram is a tool to build the logical


database design of the system.

➢ ER diagram represents the following three elements:


1. Entities
2. Relationships
3. Attributes

68
Entities
➢An entity is an object with a distinct set of properties that is easily
identified.
➢Entities are the building block of database.
➢Entities are represented by means of rectangles.
➢Some of the examples of entities are student, course, grade etc.

Marks
Student
Course
69
Attributes

➢ Attributes are properties of entities.


➢Attributes are represented by ellipse.
➢Every ellipse represents one attribute and is directly connected to its
entity (rectangle).
➢For example the employee is the entity and employee’s name, age,
address, salary and job etc are the attribute.

70
Relationship
➢ A Relationship represents an association between two or more
entities.
➢ Relationship is represented by diamond box.
➢There are four types of relationships:
1. One to One
2. One to Many
3. Many to One
4. Many to Many

71
ER Diagram
Example :

72
Functions Of DBMS
1. Defining database schema
It must give facility for defining the database structure
also specifies access rights to authorized users.

2. Manipulation of the database


The DBMS must have functions like insertion of record into database
updation of data, deletion of data, retrieval of data

3. Sharing of database
The DBMS must share data items for multiple users by maintaining
consistency of data.

73
Functions Of DBMS

4. Protection of database
It must protect the database against unauthorized users.

5. Database recovery
If for any reason the system fails DBMS must facilitate data base
recovery

74
Advantages Of DBMS
1. Controls database redundancy
It can control data redundancy because it stores all the data in on
single database file and that recorded data is placed in the
database.
2. Data sharing
In DBMS, the authorized users of an organization can share the data
among multiple users.
3. Easy Maintenance
It can be easily maintainable due to the centralized nature of the
database system.

75
Advantages Of DBMS
4. Reduce time
It reduces development time and maintenance need.

5. Backup
It provides backup and recovery subsystems which
create automatic backup of data from hardware and
software failures and restores the data if required.

6. Multiple user interface


It provides different types of user interfaces like
graphical user interfaces, application program interfaces

76
Disadvantages Of DBMS
1. Cost of Hardware and Software
It requires a high speed of data processor and large
memory size to run DBMS software.

2. Size
It occupies a large space of disks and large memory to
run them efficiently.

3. Complexity
Database system creates additional complexity and
requirements.

77
Applications Of DBMS
1. Railway Reservation System
Database is required to keep record of ticket booking, train’s departure
and arrival status. Also if trains get late then people get to know it
through database update.

2. Banking
User make thousands of transactions through banks daily and user can
do this without going to the bank. So how banking has become so
easy that by sitting at home user can send or get money through
banks. That is all possible just because of DBMS that manages all the
bank transactions.

78
Applications Of DBMS
3. Universities and colleges
Examinations are done online today and universities
and colleges maintain all these records through DBMS.
Student’s registrations details, results, courses and grades
all the information are stored in database.

4. Credit card transactions


For purchase of credit cards and all the other
transactions are made possible only by DBMS. A credit card
holder knows the importance of their information that all
are secured through DBMS.

79
Applications Of DBMS
6. Social Media Sites
User all are on social media websites to share their views and connect
with their friends. Daily millions of users signed up for these social
media accounts like facebook, twitter, and Google plus. But how all
the information of users are stored and how we become able to
connect to other people, yes this all because DBMS.
7. Military
Military keeps records of millions of soldiers and it has millions of files
that should be keep secured and safe. As DBMS provides a big security
assurance to the military information so it is widely used in militaries.
One can easily search for all the information about anyone within
seconds with the help of DBMS.
80

You might also like