Download as pptx, pdf, or txt
Download as pptx, 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 large


computer increases your productivity. amount of information, e.g., you can store your
For example, after having a basic projects, ebooks, documents, movies, pictures,
understanding of a word processor, you songs, and more.
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 enables you to
•Connects to the Internet: It connects organize your data. For example, you can create
you to the internet that allows you to different folders to store different data and
send emails, browse content, gain information and thus can search for information
information, use social media platforms, easily and quickly.
and more. By 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 use
English if you are not good at spelling and the computer to listen to songs, watch
grammar. Similarly, if you are not good at math, movies, play games and more.
and don't have a great memory, you 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 internally Secondary storage devices: The hard disk, USB
to the computer and very fast in terms of storage devices and optical disk drive are
accessing data files. The RAM and examples of secondary storage devices, which are
cache memory are the examples of the primary designed to store data permanently. They include a
storage devices. 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 other
macro in a document and adds its codes to the storage device such as floppy disks. It replaces the
macros of the document. The virus spreads boot sector program with its own malicious
when infected documents or data files are version. It infects the computer only when it is
opened in other computers. used to boot up the computer. If it enters after the
boot-up process, it will not infect the computer.
It also spreads through software programs,
For example, if someone forgets to remove the
which execute macros such as Ms Word, Ms infected floppy disk when the pc is turned off and
Excel. Each time a document is opened using then turns on this pc, it runs the infected boot
these programs, other related documents will sector program during the booting process.
also get infected.
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 in Multipartite virus spreads and infects in multiple ways. It
the primary memory (RAM) of the infects both the boot sector and the executable files stored on
computer. When you start the computer, it the hard drive simultaneously. When you turn on a computer,
becomes active and corrupts the files and the boot sector virus is triggered as it latches on to the hard
programs running on the computer. drive, which has the data for starting up the computer. Once it is
triggered, the program files also get infected.
Non-resident Virus:
Unlike the resident virus, the non-resident
virus does not reside in the memory of a File Infector Virus
computer. So, it is not executed from the
computer's memory. For example, It is one of the commonly found computer viruses. It mainly
executable viruses. infects the executable files; the files with .com or .exe
extensions. The virus becomes active when the 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 itself by another program file, which is executed normally.
occupying the empty sections of a file. It is not When the program file is executed, the virus gets
easy to detect this virus as it fills the empty activated and performs malicious steps such as
spaces without changing the size of the file. deleting the files on your computer hard drive. 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 and is body and a decryptor, which decrypts the virus when it
a memory chip that contains the system is executed. After decryption, the virus can execute
configuration. This virus can erase or reset the itself in order to replicate and become a resident.
system configuration. 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