0% found this document useful (0 votes)
37 views27 pages

Lec 4 Software

Uploaded by

2100804800
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views27 pages

Lec 4 Software

Uploaded by

2100804800
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

SOFTWARE

LECTURE 4
Software
Software is a set of programs, designed to perform a well-defined
function. A program is a sequence of instructions written to solve
a particular problem.

There are two types of software -


 System Software
 Application Software
System Software
The system software is a collection of programs designed to operate,
control, and extend the processing capabilities of the computer
itself. System software is generally prepared by the computer
manufacturers.
These software products comprise of programs written in low-level languages,
which interact with the hardware at a very basic level. System software
serves as the interface between the hardware and the end users.
Types of system software
System software can be categorized under the following:
■ Operating system: Harnesses communication between hardware,
system programs, and other applications.
■ Device driver: Enables device communication with the OS and
other programs.
■ Firmware: Enables device control and identification.
■ Translator: Translates high-level languages to low-level machine
codes.
■ Utility: Ensures optimum functionality of devices and applications.
Device Drivers
■ Computer devices and peripherals need driver software for the OS to
use their services. Driver software brings components to life,
enabling them to perform their intended tasks. Without drivers,
the OS would not assign any duties.
■ In addition to many other devices, drivers are needed for display
cards, network cards, sound cards, and printers.
■ Usually, the operating system ships with drivers for most devices.
This may not happen if a device is newer than the operating system.
The driver can be downloaded from the manufactures website
Firmware
■ In computing, firmware is a specific class of computer software that
provides the low-level control for the device's specific hardware.
■ Firmware can act as the device's complete operating system,
performing all control, monitoring and data manipulation functions.
Typical examples of devices containing firmware are embedded
systems, consumer appliances, computers
■ Firmware is the operational software embedded within a device's flash,
ROM, or EPROM memory chips to give them an identity. It directly
manages and controls all activities of any single hardware.
■ It provides the necessary instructions for how the device
communicates with the other computer hardware
Language Translators

■ These are intermediate programs relied on by software programmers


to translate high-level language source code to machine language
code
■ Popular translator languages are compilers, assemblers, and
interpreters. They're usually designed by computer manufacturers.
Translator programs may perform a complete translation of program
codes or translate every other instruction at a time.
Utilities
■ Utilities sit somewhere between system and application software. These are
programs intended for diagnostic and maintenance tasks for the computer.
They come in handy to ensure the computer functions optimally.

Examples of utility software


■ Antivirus and security software for the security of files and applications, e.g.,
Malwarebytes, Microsoft Security Essentials, and AVG.
■ Disk partition services such as Windows Disk Management, Easeus Partition
Master, and Partition Magic.
■ Disk defragmentation to organize scattered files on the drive. Examples include
Disk Defragmenter, Perfect Disk, Disk Keeper, Comodo Free Firewall, and Little
Snitch.
■ File Compression to optimize disk space such as WinRAR, Winzip, and 7-Zip.
■ Data backup for security reasons, e.g., Cobian, CloneZilla, and Comodo.
■ Data recovery to help get back lost data. Examples include iCare Data
Here is a list of some of the most prominent features of a system
software:
 Close to the system
 Fast in speed
 Difficult to design
 Difficult to understand
 Less interactive
 Smaller in size
 Difficult to manipulate
 Generally written in low-level language
Application software
Application software: Application software run under System
Software, and are made to do a specific task i.e. (Word Processing etc.)
which have indirect access to the hardware (i.e. Behind System
Software)

Application software may consist of a single program, such as


Microsoft's notepad for writing and editing a simple text. It may also
consist of a collection of programs, often called a software package,
which work together to accomplish a task, such as a spreadsheet
package.
Application software
cont’d
Examples of Application software are the following:
 Payroll Software
 Student Record Software
 Inventory Management Software
 Income Tax Software
 Railways Reservation Software
 Microsoft Office Suite Software
 Microsoft Word
 Microsoft Excel
 Microsoft PowerPoint
Features of application software are as follows:
 Close to the user
 Easy to design
 More interactive
 Slow in speed
 Generally written in high-level language
 Easy to understand
 Easy to manipulate and use
 Bigger in size and requires large storage space
Categories of application
software
■ Off the self software(generic)
It means a ready made software product that you purchase as opposed
to custom made software that is designed for a specific purpose.
Microsoft office is off the shelf software
■ Custom software
Custom software (also known as bespoke software or tailor-made
software) is software that is specially developed for some specific
organization or other user.

13
SOFTWARE INSTALLATION
■ Installation is the act of making the program ready for execution.
■ Most software programs require that you first install them on your computer
before using them. For example, if you buy Microsoft Office, you need to install it
on your computer before you can run any of the included programs such as
Word or Excel.
■ The act or the process of making these programs exist in the computer is what
is referred to us as software installation. You can install software from a CD or
DVD, an external hard drive, or from a networked computer. You can also install
a program or software update from a file downloaded from the Internet.

■ Classification of installation
I. Software installation
II. Hardware installation(can be internal or external)
TYPES OF SOFTWARE
INSTALLATION
■ Attended installation: It’s an installation process which usually
needs a user who attends it to make choices, such as accepting or
declining an end-user license agreement(EULA), specifying
preferences such as the installation location, supplying passwords or
assisting in product activation.
■ Unattended installation: Installation that is performed without user
interaction during its progress or with no user present at all, one of
the reasons to use this approach is to automate the installation of a
large number of systems. An unattended installation either does not
require the user to supply anything or has received all necessary
input prior to the start of installation.
TYPES OF SOFTWARE
INSTALLATION
■ Silent installation: Installation that does not display messages or
windows during its progress, "Silent installation" is not the same as
"unattended installation" . All silent installations are unattended but
not all unattended installations are silent. The reason behind a silent
installation may be convenience or subterfuge. Malware is almost
always installed silently.
■ Headless installation: Installation performed without using a
computer monitor connected. Another machine connects to the target
machine (for instance, via a local area network or serial port) and
takes over the display output.
TYPES OF SOFTWARE
INSTALLATION
■ Scheduled or automated installation: An installation process that
runs on a preset time or when a predefined condition transpires, as
opposed to an installation process that starts explicitly on a user's
command. . For example, a system administrator may want to install
a newer version of the used software. It will be installed only if the
software is not already in use.
Uninstalling Software
■ To uninstall a piece of software from your laptop, first open the Start menu
and select the Control Panel option. In the Control Panel window that
appears, double-click on the Add/Remove Programs icon. An Add/Remove
Programs Properties window will appear. If the software you wish to remove
appears in the list at the bottom of the window, click on the software you
wish to delete to select it, then left-click on the Add/Remove button. Follow
the prompts that appear on the screen to finish uninstalling the software.
■ If the software you wish to uninstall does not appear in the list at the bottom
of the Add/Remove Programs Properties window, open the Start menu and
select the Programs option. From the pop-up sub-menu that appears, select
the name of the software you wish to remove, and see if there's an uninstall
option available for that package. If so, click on the uninstall option and
follow the prompts to finish uninstalling the software.
■ Still other software packages require you to re-run the program's
setup/installation procedure from the original media, in order to uninstall the
software.
software maintenance
■ Software maintenance is the performance of those activities required
to keep a software system operational and responsive after it is
accepted and placed into production.
■ Software maintenance then, is the set of activities which result in
changes to the originally accepted (baseline) product set. These
changes consist of modifications created by correcting, inserting,
deleting, extending, and enhancing the baseline system. Generally,
these changes are made in order to keep the system functioning in an
evolving, expanding user and operational environment.
Categories of maintenance:
Software maintenance activities can be divided into three categories:
perfective, adaptive, and corrective. Many software managers consider
requirements specification changes and the addition of new capabilities to
be software maintenance.
The four maintenance categories are defined in the following manner:
Perfective maintenance : includes all changes, insertions, deletions,
modifications, extensions, and enhancements which are made to a system
to meet the evolving and/or expanding needs of the user.
Adaptive maintenance: consists of any effort which is initiated as a result of
changes in the environment in which a software system must operate.
Corrective maintenance: refers to changes necessitated by actual errors
(induced or residual "bugs") in a system.
Software Maintenance problems
Software Quality (poor program quality): A lack of attention to
software quality during the design and development phases generally
leads to excessive software maintenance costs. It should be clearly
understood during the design and development phases that the
maintainability of the system is directly affected by the quality of the
software
Documentation
One of the major problems in software maintenance can be summarized
in the single phrase - " a failure to communicate." The maintainer who
receives the assignment to perform maintenance on the system must
first understand what the program is doing, how it is doing it, and why.
This job is greatly simplified if the original requester, the designer, the
developer, and the previous maintainers have communicated all the
pertinent information about the system. This communication should
include design specifications, code comments, programmer notebooks,
and other documentation
Software Maintenance problems

Users
■ Users are often unable to concisely specify what they want from an
application system. The initial requirements definition and design
often lack the detailed specificity which would enable the developer to
create a system which accurately performs all of the functions the
user needs. Thus, an incomplete system is placed into production. The
maintainer must enhance the system using the initial, inadequate
specifications and the new, sometimes vague, sometimes conflicting,
often incomplete, change requests from the user
Software Maintenance problems

Personnel
■ A common and widespread complaint by maintenance personnel is
that software maintenance is considered to be unimportant,
unchallenging , unrewarding, uncreative work which is not
appreciated by the user. Software maintenance requires the efforts of
experienced, well-qualified, dedicated professionals. It should not be
solely the responsibility of the new or junior staff. With the
development of more multi-purpose, complex software systems, there
is a greater need for software maintainers who can readily understand
the entire system
Software Maintenance Models

■ Studies suggest that the software maintenance process begins


without proper knowledge of the software system. This occurs
because the software maintenance team is unaware of the
requirements and designs documentation. Also, traditional models fail
to capture the evolutionary nature of the software.
■ To overcome these problems, software maintenance models have
been proposed which include quick fix model, iterative enhancement
model, and reuse-oriented model.
■ Quick-Fix Model
The quick-fix model is an ad hoc approach used for maintaining the
software system. The objective of this model is to identify the problem
and then fix it as quickly as possible. The advantage is that it performs
its work quickly and at a low cost. This model is an approach to modify
the software code with little consideration for its impact on the overall
structure of the software system
■ Iterative enhancement model
The iterative enhancement model which was originally proposed as a
process model, can be easily adapted for maintaining a software system.
It considers that the changes made to the software system are iterative
(action of repeating) in nature. The iterative enhancement model
comprises three stages, namely, analysis of software system,
classification of requested modifications, and implementation of
requested modifications.
■ Regression testing
Regression testing is the process of retesting the modified parts of the
software to ensure that no new errors have been introduced into
previously tested code

■ The Reuse-oriented Model


The reuse-oriented model assumes that the existing program
components can be reused to perform maintenance. The maintenance
could be viewed as an activity involving the reuse of existing program
components
It consists of the following steps:
– Identifying the components of the old system which can be reused.
– Understanding these components
– Modifying the old system components so that they can be used in the
new system
– Integrating the modified components into the new system.
THE END

27

You might also like