First Lesson
First Lesson
Introduction to software
engineering
What is software engineering?
Software: it is a collection of
integrated programs.
Means it carefully organized
instructions and codes written by
a programmer/developer in any
various particular programming
language.
Program: is a set of instructions
written to perform a particular
Introduction to software
engineering(Continued)
Engineering: it is application of
scientific and practical knowledge
to invent, design, build, maintain
and improve frameworks,
processes etc.
It is a way of using scientific and
practical knowledge to invent,
design and improve frameworks.
Introduction to software
engineering(Continued)
Software engineering: is an engineering
branch related to the evolution of software
product using well defined scientific
principles, techniques and procedures
Software engineering encompasses a
process, methods for managing and
engineering software, and tools.
“Software engineering is the establishment
and use of sound engineering principles in
order to obtain economically software that
is reliable and works efficiently on real
machines”.
Introduction to software
engineering(Continued)
The result of software engineering is
effective and reliable software.
When computer software succeeds?
1. When it meets the needs of the people
who use it
2. When it performs flawlessly over a long
period of time
3. When it is easy to modify and even
easier to use
4. When it can and does change things
for the better
Introduction to software
engineering(Continued)
When Computer software fails?
1. When its users are dissatisfied
2. When it is error prone
3. When it is difficult to change
and even harder to use. bad
things can and do happen.
Need of Software engineering
1. Handling big projects :
Corporation must use Software
engineering to handle large
project without any issues.
2. To manage the cost: software
engineering developer plan
everything and reduce all those
things that are not required.
Need of Software
engineering(Continued)
3. To decrease time: it saves time if you
develop your software using software
engineering techniques.
4. Reliable software: it is the company’s
responsibility to deliver the software
product on schedule and to address
any defects that may exist.
5. Effectiveness: effectiveness results
from the things being created in
accordance with the software standard.
Characteristics of a good
software
Nature of software
1. System software:
System software is software
developed to provide platform for
other software.
It is interaction(interface)
between hardware and
application software
Example: operating systems like
macOS, linux, windows and
android.
Nature of
software(Continued)
2. Application Software:
Application software is a
computer program designed to
carry out a task as per user or
business need.
Example: Social media apps,
gaming apps, word processing
apps, Multimedia apps, banking
apps, shopping apps, booking
apps.
Nature of
software(Continued)
3. Engineering and scientific
software:
This software is used to facilitate
the engineering function and take
real time data.
It has very high accuracy,
complex formula evolution and
data analysis.
Example: weather prediction
apps, stock market apps, Stress
Nature of
software(Continued)
4. Embedded software:
Embedded software resides
within the system or product and
it is used to control or implement
the features and function for end-
user and for the system itself.
Example: switches, routers,
traffic control
Nature of
software(Continued)
5. Web application software
It is client-server computer
software whereby the client runs
on web browsers.
Web apps can be little more than
a set of linked hypertext files
Example: online forms, Gmail,
Yahoo, file conversion etc.
Nature of
software(Continued)
6. Artificial intelligence software
It uses non numerical algorithm
to solve complex problems.
Application within this area
includes Robotics, expert system,
pattern recognition and game
playing
Example: Google cloud, Azure
Studio etc.
Software process
What is it?
When you work to build a product or
system, it’s important to go through a
series of predictable steps
A road map that helps you create a timely,
high-quality result.
The road map that you follow is called a
“software process.”
From technical point
software process as a framework for the
activities, actions, and tasks that are
required to build high-quality software
Software process
A software process is the set of activities
and associated outcome that produce a
software product.
Software engineers mostly carry out
these activities.
Software process is divided into four
parts:
1. Software specification
2. Software development
3. Software validation
4. Software evolution
Software
process(Continued)
Four parts of software process
1. Software specification: the functionality of the
software and constraint on its operation must
be defined
2. Software development: the software that
meet user’s requirement must be produced
3. Software validation: a software must be
validated to ensure that it does what the
customers want.
4. Software evolution: software must evolve to
meet changing client needs.
Note: All these four parts are handled by
software engineers.