SW Eng Lecture 01
SW Eng Lecture 01
CS-223
Huma Israr
Fall [email protected]
2023
Department of Information Engineering Technology
Recommended Book
Software Engineering: A Practitioner's Approach by Roger S.
Pressman 5th Edition or Any latest Edition”.
Software Engineering by Ian Sommerville 9th Edition or Any latest
Edition.
Fundamentals of Software Engineering by RAJIB MALL 4th Edition or
any latest Edition.
“Web is The Greenest Book”
3
Recommended Books? 4
Software Engineering
The term software engineering is composed of two words, “Software and
Engineering ”.
The term “Software” was first used by John Tukey in 1958.
Software is
An instruction or set of instructions (Computer Program) that when
executed provide desired functionality and performance.
A data structure (that enable the program to manipulate the
information) and a Database.
Document that describe the operation and use of program.
5
Software Product
Software is a generic term used to refer to applications, scripts and
programs that run on a device.
Software is more than just a program code. A program is an
executable code, which serves some computational purpose.
Software is considered to be a collection of executable programming
code, associated libraries and documentations. Software, when made
for a specific requirement is called software product.
Coming up Next:
Types of Software Product: It depends on what type of system you are
talking about.
6
Types of Software?
Question is too imprecise. “What are the two types of colors?“. Bright and
dark? Saturated and muddled? Wavelengths of light or perceived?
7
Types of Software Product:
Note It depends on what type of system
you are talking about.
Types of Software (from Business Perspective)
11
Types of Software (how they are used in life)
Programming Software
programming software is for computer programmers and developers who
are writing code.
These are programs that are used to write, develop, test, and debug
other software programs.
It’s helpful to think of these programs as a translator of sorts: they take
programming languages like Laravel, Python, C++, and more and
translate them into something a computer or phone will understand
12
Types of Software (how they are used in life)
Driver Software
This software is often considered to be a type of system software. Driver
software operates and controls devices that are plugged into a computer.
These drivers make it possible for devices to perform their necessary
functions.
A very good (and practical) example of this is your printer. When you are
first setting up your printer to work with your computer, you have to install
software to connect the two so that they communicate and print anything
you need.
13
Types of Software (S/w Application)
Freeware Software
It is offered for free, as the name implies. You can employ freeware
Software Applications that you can download from the Internet. Even if
you pay qualified software engineers to do the job, you won't be able to
change or customize this software without unlawfully messing with the
source code.
AdobePDF, Mozilla Firefox, and Google Chrome are examples of free
Software Applications that provide some basic functionality. These are
available for download on the internet.
14
Types of Software (S/w Application)
Shareware Software
This is given away to users for free as a trial, usually with a limited-time
offer. If consumers want to keep using this Software Application, they will
have to pay.
When users are given access to the source code of a piece of software,
they are typically encouraged to copy and distribute it.
WinZip, Snaplouch, and Adobe Acrobat are instances of shareware.
15
Types of Software (S/w Application)
Open Source Software
The open-source software application, as the name implies, has an open-
source code that is freely available on the internet.
This type of Software Application allows you to customize the software
and even add new features. Many people genuinely assume that open-
source software is the same as free software.
However, in this case, 'free' refers to the freely available source code,
which makes the software available for development. These could be
offered for free or for a fee. Open-source Software Application examples
include Moodle and Apache Web Server.
16
Types of Software (S/w Application)
Closed Source Software
Closed source software applications have closed source code. Even if
you have a premium account, no one can see or see the source. This
category includes the majority of the Software Application packages you
use.
These are usually chargeable and have patents on the source code's
intellectual property rights. It usually comes with a set of restrictions.
Microsoft Windows, Adobe Flash Player, WinRAR, MacOs, and other
applications are examples.
17
Types of Software (Detailed categories)
Real time Software
Program that control real world event as they occur e.g. Air traffic control
system
Embedded Software
Software that resides in intelligent product and are used to control these
products e.g. key pad control of microwave oven
Business Software
Business Software are written to process business information e.g.
payroll or pay bill.
18
Types of Software (S/w Application)
Artificial intelligence Software
These are special type of Software that use non numerical algorithm to
solve complex problem for example expert system.
Web Application
A web application (or web app) is application software that runs in a web
browser, unlike software programs that run locally and natively on the
operating system (OS) of the device.
Medical Software
Medical software is any software item or system used within a medical
context such as Diagnostic and therapeutic task, embedded in a medical
device. 19
Types of Software (S/w Application)
Entertainment Software
Entertainment software is any software that supports a hobby or provides
a form of amusement.
Education Software:
Educational software is a term used for any computer software which is
made for an educational purpose.
Engineering and scientific Software
Scientific and engineering software are designed for scientific or
engineering user to perform enterprise-specific tasks. Such software is
written for specific applications using principles, techniques, and formulae
specific to that field.
20
Engineering
In simple words
Any systematic (step by step) approach is known as Engineering
21
Software Engineering?
Software Engineering as an engineering branch associated with the
development of software product using well-defined scientific
principles, methods and procedures.
22
Characteristics of Software
Software is a logical entity it have certain distinguishable
Characteristics
1. Software is engineered or developed it is not manufactured in
classical sense.
2. Software doesn't wear out.
3. Most of the software’s are custom build rather then being
assembled from existing components.
23
Any Question?
24