Download as pdf or txt
Download as pdf or txt
You are on page 1of 52

PERFORM COMPUTER

OPERATIONS
IDENTIFY AND EXPLAIN THE FUNCTIONS, GENERAL FEATURES AND
CAPABILITIES OF BOTH HARDWARE AND SOFTWARE
AND
PREPARE USE APPROPRIATE HARDWARE AND SOFTWARE ACCORDING TO
TASK REQUIREMENT
WHAT IS COMPUTER?
A computer is a programmable electronic device that accepts raw data as input
and processes it with a set of instructions (a program) to produce the result as
output. It renders output just after performing mathematical and logical
operations and can save the output for future use. It can process numerical as
well as non-numerical calculations. The term "computer" is derived from the Latin
word "computare" which means to calculate.
•A computer is designed to execute applications and provides a variety of
solutions through integrated hardware and software components. It works with
the help of programs and represents the decimal numbers through a string of
binary digits. It also has a memory that stores the data, programs, and result
of processing. The components of a computer such as machinery that includes
wires, transistors, circuits, hard disk are called hardware. Whereas, the
programs and data are called software.

• It is believed that the Analytical Engine was the first computer which was
invented by Charles Babbage in 1837. It used punch cards as read-only
memory. Charles Babbage is also known as the father of the computer.
THE BASIC PARTS WITHOUT WHICH A COMPUTER
CANNOT WORK ARE AS FOLLOWS:
Processor: It executes instructions from software and hardware.

Memory: It is the primary memory for data transfer


between the CPU and storage.
• Motherboard: It is the part that connects all other
parts or components of a computer.

• Storage Device: It permanently stores the data, e.g.,


hard drive.

• Input Device: It allows you to communicate with the


computer or to input data, e.g., a keyboard.
• Input Device: It allows you to communicate with the
computer or to input data, e.g., a keyboard.

Computers are divided into different types based on different criteria. Based on the size, a
computer can be divided into five types:

1.Micro Computer
2.Mini Computer
3.Mainframe Computer
4.Super Computer
5.Workstations
1. Micro Computer: It is a single-user computer which has less speed and
storage capacity than the other types. It uses a microprocessor as a CPU. The
first microcomputer was built with 8-bit microprocessor chips. The common
examples of microcomputers include laptops, desktop computers, personal
digital assistant (PDA), tablets, and smartphones. Microcomputers are generally
designed and developed for general usage like browsing, searching for
information, internet, MS Office, social media, etc.

2. Mini Computer: Mini-computers are also known as "Midrange Computers."


They are not designed for a single. They are multi-user computers designed to
support multiple users simultaneously. So, they are generally used by small
businesses and firms. Individual departments of a company use these computers
for specific purposes. For example, the admission department of a University
can use a Mini-computer for monitoring the admission process.
3. Mainframe Computer: It is also a multi-user computer capable of
supporting thousands of users simultaneously. They are used by large firms
and government organizations to run their business operations as they can
store and process large amounts of data. For example, Banks, universities,
and insurance companies use mainframe computers to store the data of
their customers, students, and policyholders, respectively.

4. Super Computer: Super-computers are the fastest and most expensive


computers among all types of computers. They have huge storage
capacities and computing speeds and thus can perform millions of
instructions per second. The super-computers are task-specific and thus
used for specialized applications such as large-scale numerical problems in
scientific and engineering disciplines including applications in electronics,
petroleum engineering, weather forecasting, medicine, space research and
more. For example, NASA uses supercomputers for launching space
satellites and monitoring and controlling them for space exploration.
5. Work stations: It is a single-user computer. Although it is like a personal
computer, it has a more powerful microprocessor and a higher-quality
monitor than a microcomputer. In terms of storage capacity and speed, it
comes between a personal computer and minicomputer. Work stations are
generally used for specialized applications such as desktop publishing,
software development, and engineering designs.
Benefits of Using a Computer:

•Increases your productivity: A •Storage: A computer allows you to store a


computer increases your productivity. large amount of information, e.g., you can
For example, after having a basic store your projects, ebooks, documents,
understanding of a word processor, movies, pictures, songs, and more.
you can create, edit, store, and print
the documents easily and quickly. •Organized Data and Information: It not
only allows you to store data but also
•Connects to the Internet: It enables you to organize your data. For
connects you to the internet that example, you can create different folders to
allows you to send emails, browse store different data and information and thus
content, gain information, use social can search for information easily and
media platforms, and more. By quickly.
connecting to the internet, you can
also connect to your long-distance
friends and family members.
•Improves your abilities: It helps write good •Keeps you entertained: You can
English if you are not good at spelling and use the computer to listen to songs,
grammar. Similarly, if you are not good at watch movies, play games and
math, and don't have a great memory, you more.
can use a computer to perform calculations
and store the results.

•Assist the physically challenged: It can be


used to help the physically challenged, e.g.,
Stephen Hawking, who was not able to speak
used computer to speak. It also can be used
to help blind people by installing special
software to read what is on the screen.
The computer has become a part of our life. There are plenty of things that we do in a day
are dependent on a computer. Some of the common examples are as follows:

1.ATM: While withdrawing cash from an ATM, you are using a computer that enables the
ATM to take instructions and dispense cash accordingly.

2.Digital currency: A computer keeps a record of your transactions and balance in your
account and the money deposited in your account in a bank is stored as a digital record or
digital currency.

3.Trading: Stock markets use computers for day to day trading. There are many advanced
algorithms based on computers that handle trading without involving humans.

4.Smartphone: The smartphone that we use throughout the day for calling, texting,
browsing is itself a computer.

5.VoIP: All voice over IP communication (VoIP) is handled and done by computers.
What is storage device?
A storage device is a kind of
hardware, which is also known as
storage, storage medium, digital
storage, or storage media that
has the ability to store
information either temporarily or
permanently. Generally, it is used
to hold, port, and extract data
files. It can be used either
internally or externally to a
computer system, server or any
comparable computing device to
hold information.
Primary storage devices: They are fit Secondary storage devices: The hard
internally to the computer and very fast in disk, USB storage devices and optical disk
terms of accessing data files. drive are examples of secondary storage
The RAM and cache memory are the devices, which are designed to store data
examples of the primary storage devices. permanently. They include a large storage
capacity while comparing with primary
storage devices.

Why is storage needed in a computer?

A computer would be considered a dumb terminal without a storage device. It cannot


store or hold any type of information or settings if it has no storage device. Although your
computer can run without storage media, you only can view or read the information on it
unless it was a computer that is connected to another computer contained storage
abilities. Furthermore, a storage device is needed to store information about such tasks,
like browsing the Internet.
What is a storage location?

When you store any type of information on a computer or other similar devices, it may
ask you to the storage location where you want to store the information. By default,
there is various type of data stored on your computer hard disk. If you want to move this
information to another device, you need to transfer it to another storage media, like
a USB flash drive that makes capable you to move it to any other computer.

Why so many different storage devices?

As the use of a computer is increasing rapidly, the technologies used to store data are
also increasing day by day due to the higher need for storage capacity. There is need to
invent the new technologies as the use of storage device is increasing day by day and
people want take it with them. As new storage devices are invented, people replace the
old device with a new storage device. Therefore, the need for older devices is ended
and stop being used.
Examples of computer storage
Magnetic storage devices

magnetic storage is commonly founded on hybrid hard


drives or extremely large HDDs.

A list is given below of magnetic storage devices:

•Floppy diskette: A floppy disk drive (FDD) offers users the benefit of saving data to
removable diskettes. FDDs have been replaced with other storage devices like network
file transfer and USB.

•Hard drive: A hard disk drive (HDD) is used to store data permanently as it is a non-
volatile computer storage device, and directly connected to the disk controller of the
computer's motherboard. Usually, it is installed internally in a computer, known as
secondary storage device.
•Magnetic Card: A magnetic card is a card that may have information about an individual,
such as passcodes to enter secure buildings or available recognition on a credit card.

•SuperDisk: Imation Corporation developed the disk storage technology. SuperDisk is also
known as a LS-240 and LS-120. The drive was most popular with OEM computers and able to
store up to 120 MB (Megabyte) on a single disk. Later, it was capable of storing 240 MB and
also backward compatible with 1.44 MB disks.

•Tape cassette: A tape is a rectangular and flat container that is capable of storing data. As
compared to other storage media, it is less expensive and commonly used for backing up a
huge amount of data.

•Zip diskette: A Zip drive is a hardware data storage device that is an advanced version of the
floppy disk. Its functions like a diskette and standard 1.44" floppy drive and developed by
Iomega. It became very popular in the late 1990s and capable of storing data that was not
possible with ordinary floppy disks.
Optical storage devices

Another type of storage devices are given below:

•Blu-ray disc
•CD-ROM disc
•CD-R and CD-RW disc.
•DVD-R, DVD+RW, DVD+R, and DVD-RW disc.
Flash memory devices

Flash memory is cheaper as well as portable. Due to become more reliable and efficient solution,
most magnetic and optical media have replaced by flash memory device.

•Flash drive: A USB flash drive is a portable


storage device used for data storage that is also
known as pen drive, thumb drive, data stick,
keychain drive. They are connected to a computer
via a USB port and often the size of a human thumb.

•Memory card: A memory card is commonly used in


digital cameras, printers, MP3 players, PDAs, digital
camcorders, game consoles, and handheld
computers. The most common memory card format
was CompactFlash for many years, but today are
CFexpress, SD, MicroSD, and XQD.
•Compact Flash (CF): Compact Flash is a type of flash memory that is commonly found in
digital cameras, PDAs and other portable devices. It is a 50-pin connection storage device
that is capable of storing data ranging from 2 MB to 128 GB.

•2: M.2 is a solid-state drive, introduced in 2014.There are two types of M.2 devices; SATA
M.2 and PCIe M.2.

•MultiMediaCard: A MultiMediaCard or MMC is an Integrated Circuit that is used in car


radios, printers, PDAs, MP3 players, and digital cameras. It acts as external storage for
data. The MMCP (MMCplus) and MMCM (MMCmobile / MMCmicro) are the variations of
the MMC card.

•SDHC card (Secure Digital High Capacity): It uses new technology and an improved
version of the standard SD card. It is not backward compatible with SD format devices and
has the ability to store data in a range from 4 GB to 32 GB.
•NVMe (Non-Volatile Memory Express): It is a device specification that is designed for data
centers and standardizes the way devices like SSDs can be connected to a computer's PCI
Express bus, introduced by Intel in 2007.

•Sony Memory Stick: Sony Memory Stick is a family of flash memory cards, first introduced by
Sony in October 1998. It is designed for digital storage in cameras and other Sony products.

•SmartMedia Card: A SmartMedia card is a memory card developed by Toshiba that is also
known as a solid-state floppy disk card.

•xD-Picture Card (EXtreme Digital Picture Card): The xD-Picture Card is a flash memory card
that is introduced by Olympus and Fuji in 2002. In 2003, until the Mini SD card was introduced,
the xD cards were the smallest flash memory cards available on the market. H and M/M+
versions of the xD-Picture Card had a capacity of up to 2 GB and the original version up to 512
MB.
•SSD: An SSD is a storage medium that is similar to a hard disk drive (HDD). Even without
power, it has the ability to maintain stored data in a permanent state. It has higher reliability,
noiseless operation, lower power consumption, and faster access time because it has no
moving parts, unlike a hard drive.

•SD Card: An SD Card, stands for Secure Digital Card, is most commonly used with
electronics that are designed to offer high-capacity memory with small size. It is often used in
small portable devices like cell phones, digital cameras, digital video camcorders, mp3
players, etc. It is used by more than 400 brands of electronic devices.
Online and cloud storage

The need to store data online and in cloud storage is increasing rapidly.

•Cloud storage: Cloud storage is a cloud computing model that transmits and holds data
on remote storage systems where a cloud computing provider manages, maintains, and
made available data to users over a network. It offers users the reliability, confidentiality,
durability, and 'access data anytime'.

•Network media: Network media is used on a computer network such as the Internet, as it
is any audio, video, images or text.
How do you access storage devices?

To access a storage device on the computer or laptop, it is dependent on the operating


system, which is being used in the system. For instance, if you are using Microsoft Windows,
you can use Windows Explorer on computer that is its default file manager. To open Windows
Explorer, you need to double click on the My Computer shown on the desktop screen, or you
can use a shortcut key Window key + E. Additionally, Finder is considered the default file
manager on the Apple computers.
What storage device has the largest capacity?

The SSD or hard disk is the largest storage device for most computers. Also, computers that have network
connections may have the ability to access larger storage with cloud computing, NAS devices, or cloud
computing.

Although there are several storage devices available with different capacities, for example,
when the hard drive was developed, it had only 5 MB capacity. But now, it can store data up to
several terabytes in size. Because with the development of the hard disk, its storage capacity
has been increased.
Software
Software, which is abbreviated as SW or S/W, is a set of programs that enables the hardware to
perform a specific task. All the programs that run the computer are software. The software can be
of three types: system software, application software, and programming software.

1) System Software

The system software is the main software that runs the computer. When you turn on
the computer, it activates the hardware and controls and coordinates their functioning.
The application programs are also controlled by system software. An operating system
is an example of system software.

Operating System:

An operating system is the system software that works as an interface to enable the
user to communicate with the computer. It manages and coordinates the functioning of
hardware and software of the computer. The commonly used operating systems are
Microsoft Windows, Linux
, and Apple Mac OS X.
•BIOS: It stands for basic input output system. It is a type of system software, which is stored in Read
Only Memory (ROM) located on the motherboard. However, in advanced computer systems, it is
stored in flash memory. BIOS is the first software that gets activated when you turn on your computer
system. It loads the drivers of the hard disk into memory as well as assists the operating system to
load itself into the memory.

•Boot Program: Boot refers to starting up a computer. When you switch on the computer, the
commands in the ROM are executed automatically to load the boot program into memory and
execute its instructions. The BIOS program has a basic set of commands that enables the computer
to perform the basic input/output instructions to start the computer.

•An assembler: It plays the role of a converter as it receives basic computer instructions and
converts them into a pattern of bits. The processor uses these bits to perform basic operations.

•A device driver: This system software controls hardware devices connected to a computer. It
enables the computer to use the hardware by providing an appropriate interface. The kernel of a
Computer's CPU communicates with different hardware through this software. Operating systems
generally come with most of the device drivers. If the operating system does not have a device driver
for hardware, you have to install the device driver before using that hardware device.
2) Application Software:

Application software is a set of programs designed to perform a specific task. It does not
control the working of a computer as it is designed for end-users. A computer can run
without application software. Application software can be easily installed or uninstalled as
required. It can be a single program or a collection of small programs. Microsoft Office Suite,
Adobe Photoshop, and any other software like payroll software or income tax software are
application software. As we know, they are designed to perform specific tasks. Accordingly,
they can be of different types such as:
•Word Processing Software: This software allows users
to create, edit, format, and manipulate the text and more.
It offers lots of options for writing documents, creating
images, and more. For example, MS Word, WordPad,
Notepad, etc.
•Spreadsheet Software: It is designed to perform
calculations, store data, create charts, etc. It has rows and
columns, and the data is entered in the cell, which is an
intersection of a row and column, e.g., Microsoft Excel.
•Multimedia Software: These software are developed to
perform editing of video, audio, and text. It allows you to
combine texts, videos, audio, and images. Thus, you can
improve a text document by adding photos, animations,
graphics, and charts through multimedia software. For
example, VLC player, Window Media Player, etc.

•Enterprise Software: These software are developed for


business operational functions. It is used in large
organizations where the quantum of business is too large.
It can be used for accounting, billing, order processing
and more. For example, CRM (Customer Relationship
Management), BI (Business Intelligence), ERP (Enterprise
Resource Planning), SCM (Supply Chain Management),
customer support system, and more.
3) Programming Software:

It is a set or collection of tools that help developers in writing other software or programs.
It assists them in creating, debugging, and maintaining software or programs or
applications. We can say that these are facilitator software that helps translate
programming language such as Java, C++, Python, etc., into machine language code.
So, it is not used by end-users. For example, compilers, linkers, debuggers, interpreters,
text editors, etc. This software is also called a programming tool or software
development tool.

Some examples of programming software include:

•Eclipse: It is a java language editor.


•Coda: It is a programming language editor for Mac.
•Notepad++: It is an open-source editor for windows.
•Sublime text: It is a cross-platform code editor for Linux, Mac, and Windows.
Types of Software Testing

In this section, we are going to


understand the various types of
software testing, which can be used at
the time of the Software Development
Life Cycle.

As we know, software testing is a


process of analyzing an application's
functionality as per the customer
prerequisite.
If we want to ensure that our software
is bug-free or stable, we must perform
the various types of software testing
because testing is the only method
that makes our application bug-free.
Computer Network Security

Computer network security consists of measures taken by business or some organizations to


monitor and prevent unauthorized access from the outside attackers.
Different approaches to computer network security management have different requirements
depending on the size of the computer network. For example, a home office requires basic
network security while large businesses require high maintenance to prevent the network from
malicious attacks.
Network Administrator controls access to the data and software on the network. A network
administrator assigns the user ID and password to the authorized person.
Computer Virus
Computer viruses are unwanted software programs or pieces of code that
interfere with the functioning of the computer. They spread through
contaminated files, data, and insecure networks. Once it enters your system, it
can replicate to produce copies of itself to spread from one program to another
program and from one infected computer to another computer. So, we can say
that it is a self-replicating computer program that interferes with the functioning
of the computer by infecting files, data, programs, etc.
There are many antiviruses, which are programs that can help you protect your
machine from viruses. It scans your system and cleans the viruses detected
during the scan. Some of the popular antiviruses include Avast, Quickheal,
McAfee, Kaspersky, etc.
Types of Computer Virus:
Overwrite Virus:

It is the simplest computer virus that overwrites the code


of the host computer system's file with its own malicious
code. The content of the infected file is replaced partially
or completely without changing the size of the file. Thus, it
destroys the original program code by overwriting it with
its defective code. The infected files must be deleted or
replaced with a new copy as this virus cannot be removed
or disinfected.
Append Virus:

As the name suggests, this virus appends its malicious


code to the end of the host program's file. After that, it
alters the file's header in a way that the file's header is
redirected to the start of the malicious code of the append
virus. Thus, this code is executed each time the program
runs. However, it does not destroy the host program;
rather, it modifies it in a way that it holds the virus code
and enables the code to run itself.
Macro Virus Boot Virus

Macro virus alters or infects the macros of a Boot virus or boot sector virus alters the boot
document or data file. It is embedded as a sector program stored in the hard disk or any
macro in a document and adds its codes to other storage device such as floppy disks. It
the macros of the document. The virus replaces the boot sector program with its own
spreads when infected documents or data malicious version. It infects the computer only
files are opened in other computers. when it is used to boot up the computer. If it
enters after the boot-up process, it will not
It also spreads through software programs,
infect the computer. For example, if someone
which execute macros such as Ms Word, forgets to remove the infected floppy disk
Ms Excel. Each time a document is opened when the pc is turned off and then turns on
using these programs, other related this pc, it runs the infected boot sector
documents will also get infected. program during the booting process.
The first macro virus, which was named
concept, spread through emails with
attached Ms Word documents. It infected
MsWord 6.0 and Ms Word 95 documents,
which were saved using Save As option.
Fortunately, it did not cause any harm,
except for displaying a message on the
screen.
Resident Virus Multipartite Virus

The resident virus stays permanently Multipartite virus spreads and infects in multiple ways. It
in the primary memory (RAM) of the infects both the boot sector and the executable files stored
computer. When you start the on the hard drive simultaneously. When you turn on a
computer, it becomes active and computer, the boot sector virus is triggered as it latches on
corrupts the files and programs to the hard drive, which has the data for starting up the
running on the computer. computer. Once it is triggered, the program files also get
infected.
Non-resident Virus:
Unlike the resident virus, the non- File Infector Virus
resident virus does not reside in the
memory of a computer. So, it is not It is one of the commonly found computer viruses. It
executed from the computer's mainly infects the executable files; the files with .com or
memory. For example, executable .exe extensions. The virus becomes active when the
viruses. infected file is executed. The active virus overwrites the
file partially or completely. Thus it may destroy the original
file partially or completely.
Computer Worm

Computer worm is similar to a virus but is technically different from the virus. It can
replicate and spread like a virus, but unlike viruses, it does not need a host program to
spread. Being able to self-replicate it can produce multiple copies of itself. It spreads
through networks such as an email sent to an infected email id can infect your system
with a computer worm.

Trojan Horse

Trojan horse is a malware like a virus or a worm, but it is technically different from both. It
can't replicate like virus and worm. Trojan horse hides itself in a program. Once you install
any such program, the trojan horse enters into your computer. It can provide unauthorized
access to your computer, send your files to other computers, and may delete files or can
make other unwanted changes in your computer.
Cavity virus: Companion Virus:

It is also known as a spacefiller virus. As the It resides itself in a file whose name is similar to
name suggests, this virus tends to install another program file, which is executed normally.
itself by occupying the empty sections of a When the program file is executed, the virus gets
file. It is not easy to detect this virus as it fills activated and performs malicious steps such as
the empty spaces without changing the size deleting the files on your computer hard drive.
of the file. Globe virus is a first known companion virus,
which was found in 1992.

Encrypted Virus:
CMOS Virus:
It encrypts its payload to make its detection more
It infects the CMOS, which stands for difficult. It comprises two parts: an encrypted virus
complementary metal-oxide semiconductor body and a decryptor, which decrypts the virus
and is a memory chip that contains the when it is executed. After decryption, the virus
system configuration. This virus can erase or can execute itself in order to replicate and
reset the system configuration. become a resident. Furthermore, it is different
from cryptolocker, which is a computer virus that
encrypts the hard drive data and holds it for
ransom.
Executable Virus:
It is a non-resident computer virus, which resides in an executable file. Whenever the infected file
is executed, it infects the other files.
Polymorphic Virus:
It creates its thousands of copies itself; in each copy, it changes the sequence and byte values to
evade detection by antivirus software. Even the best antiviruses may not be able to detect this
virus. Polymorphic viruses affect data types and functions and generally spread through spam,
infected sites, and while using other malware.

Rabbit Virus:
It is also known as wabbit, a fork bomb. It is capable of creating new processes, and each of the
new process further creates new processes. This process continues until this virus utilizes all the
available resources in the system and system falls short of resources. It may cause the target
system to slow down and crash. For example, it is like an Infinite loop that repeatedly creates
processes that consume lots of CPU cycles and operating system resources.
Stealth Virus:
It is a hidden computer virus, which specifically attacks operating system processes. It usually
hides itself in partitions, files or boot sectors and is capable of going unnoticed during antivirus
or anti-malware scans, i.e., it can avoid detection intentionally.
Symptoms of a Computer Virus:

There are many warning signs or symptoms which show that a computer is infected with a virus,
some of which are as follows:

•Slow computer performance: The machine may work slowly, e.g., it will take more time to open
or shut down the computer or while opening a file, document, computer application, etc. The
operating system and internet speed may get slow.

•Frequent pop-ups: A virus may cause unusual frequent pop-ups on your window.

•Hard Drive issue: The hard drive may exhibit unusual high activity even when it is not in use. It
may cause unwanted changes to your hard drive and may freeze or crash this device.

•Frequent crashes: One may experience frequent sudden system crashes while playing games,
watching videos, or doing some other work using the infected system. A blue screen appears when
it crashes.
•Unknown programs: Unwanted programs may open or start automatically when you start your
computer. You can see these programs in your computer's list of active applications. Sometimes,
the window shuts down unexpectedly without any reason.

•Unusual activities: Your machine may perform differently, such as you may not be able to log
into your accounts, to delete the corrupt files, and Blue Screen of Death (BSOD) may appear
frequently, and more. Furthermore, the hardware, software, or OS may start malfunctioning
leading to crashing the system abruptly.

•Impaired security solutions: Sometimes, security measures taken by you, such as antivirus
may not work smoothly due to virus attack on your computer.
•Network issue: Sometimes, you experience high network activity even if you are not connected
to the internet and vice versa.

•Unnecessary advertisement: We often see advertisements while browsing, but if you see them
even when you are not browsing, it may indicate a virus on your computer.
•Affected Applications: Some viruses are developed to affect specific applications.
Consequently, some applications may not work on your computer if it is infected.

•Blocked by Antivirus Sites: An antivirus site may deny access to a computer that is
infected by a virus.

•Dialog Boxes: Many dialog boxes keep appearing suddenly on your screen.

•Printer Issues: A printer attached to an infected computer may print documents


without getting any command or in an inappropriate manner.

•Changed Homepage: Your home page may get changed without any effort from
your side. For example, you may see a new toolbar on your screen, and you may be
redirected to a different web address instead of the page visited by you initially.

•Strange messages: One may see strange messages on a computer screen such as
error messages, e.g., "cannot rename "folder" as a folder already exists with this
name"
Software Design Principles
Software design principles are concerned with providing means to handle the complexity of the
design process effectively. Effectively managing the complexity will not only reduce the effort
needed for design but can also reduce the scope of introducing errors during design.

Following are the principles of Software Design


Problem Partitioning

For small problem, we can handle the entire problem at once but for the significant
problem, divide the problems and conquer the problem it means to divide the problem
into smaller pieces so that each piece can be captured separately.

For software design, the goal is to divide the problem into manageable pieces.

Benefits of Problem Partitioning

1.Software is easy to understand


2.Software becomes simple
3.Software is easy to test
4.Software is easy to modify
5.Software is easy to maintain
6.Software is easy to expand
Abstraction

An abstraction is a tool that enables a designer to consider a component at an abstract


level without bothering about the internal details of the implementation. Abstraction can
be used for existing element as well as the component being designed.
Here, there are two common abstraction mechanisms
1.Functional Abstraction
2.Data Abstraction

Functional Abstraction
i.A module is specified by the method it performs.
ii.The details of the algorithm to accomplish the functions are not visible to the user of
the function.
Functional abstraction forms the basis for Function oriented design approaches.

Data Abstraction
Details of the data elements are not visible to the users of data. Data Abstraction forms
the basis for Object Oriented design approaches.
Modularity

Modularity specifies to the division of software into separate modules which are differently
named and addressed and are integrated later on in to obtain the completely functional
software. It is the only property that allows a program to be intellectually manageable.
Single large programs are difficult to understand and read due to a large number of
reference variables, control paths, global variables, etc.

The desirable properties of a modular system are:

•Each module is a well-defined system that can be used with other applications.
•Each module has single specified objectives.
•Modules can be separately compiled and saved in the library.
•Modules should be easier to use than to build.
•Modules are simpler from outside than inside.
There are several advantages of Modularity

•It allows large programs to be written by several or different people


•It encourages the creation of commonly used routines to be placed in the library and used
by other programs.
•It simplifies the overlay procedure of loading a large program into main storage.
•It provides more checkpoints to measure progress.
•It provides a framework for complete testing, more accessible to test
•It produced the well designed and more readable program.

There are several disadvantages of Modularity


•Execution time maybe, but not certainly, longer
•Storage size perhaps, but is not certainly, increased
•Compilation and loading time may be longer
•Inter-module communication problems may be increased
•More linkage required, run-time may be longer, more source lines must be written, and more
documentation has to be done
Modular Design

Modular design reduces the design complexity and results in easier and faster implementation by
allowing parallel development of various parts of a system. We discuss a different section of
modular design in detail in this section:

1. Functional Independence: Functional independence is achieved by developing functions that


perform only one kind of task and do not excessively interact with other modules. Independence
is important because it makes implementation more accessible and faster. The independent
modules are easier to maintain, test, and reduce error propagation and can be reused in other
programs as well. Thus, functional independence is a good design feature which ensures
software quality.
It is measured using two criteria:

•Cohesion: It measures the relative function strength of a module.


•Coupling: It measures the relative interdependence among modules.

2. Information hiding: The fundamental of Information hiding suggests that


modules can be characterized by the design decisions that protect from the others,
i.e., In other words, modules should be specified that data include within a module
is inaccessible to other modules that do not need for such information.
The use of information hiding as design criteria for modular system provides the
most significant benefits when modifications are required during testing's and later
during software maintenance. This is because as most data and procedures are
hidden from other parts of the software, inadvertent errors introduced during
modifications are less likely to propagate to different locations within the software.
Strategy of Design

A good system design strategy is to organize the program modules in such a


method that are easy to develop and latter too, change. Structured design methods
help developers to deal with the size and complexity of programs. Analysts
generate instructions for the developers about how code should be composed and
how pieces of code should fit together to form a program.

To design a system, there are two possible approaches:

1.Top-down Approach
2.Bottom-up Approach
1. Top-down Approach: This approach starts with the identification of the main components
and then decomposing them into their more detailed sub-components.
2. Bottom-up Approach: A bottom-up approach begins with the lower details and moves towards
up the hierarchy, as shown in fig. This approach is suitable in case of an existing system.

You might also like