You are on page 1of 25

Chapter 1:

Introduction to software engineering

First lecture
Program: 4thSemester
Department: BS
Due Date : 15-03-20

By: Serat
Chapter 1

 Overview on software engineering & software


 Importance of software & engineering
Outline
 Software crisis
(1/24)  Introduction to software engineering
 Characteristic of software
 Types of software/ Software application
domain
 Legacy software
 Changing nature of Software
Overview on software
engineering & software

o Software engineering is very interesting subject to know more


about software engineering we need to follow up more
examples and case studies.

Overview o And we will need to see how we can develop good software and
(2/24) how it could be improved in different scenario? problems
identification in which case the problems come and how to
solve that problems and so on.

o before we talk about software engineering it is necessary to


first talk about what is software?
Overview on software
engineering & software

o Whenever we write program for computer we call it


software, but software is not only program but it includes
many things which are described as follow:
Software
(3/24)  Program: The computer program(code) or sequence of
instruction used to perform particular task.
 Data/Data Structures: The data on which the program
operates or enable the programs to adequately manipulate
information
 Documentation: The very important and most forget part
of software is documentation that describes the operation
and use of the software.
Importance of
software & engineering

 Software is playing a vital role in every field of


Why is it life these days, but some major area that software
important? play more important roles as following:
 
(4/24)  Scientific investigation & problem solving,
Business decision, Games, Embedded systems
likewise software is used in every field like office,
internet application, education and so on.
Importance of
software & engineering

o Definition of engineering according to some dictionaries


“The process of productive use of scientific knowledge is
Engineering called engineering.”
o  There are different field concerned under title of
(5/24)
engineering like civil engineering, electrical engineering,
mechanical engineering, software engineering and so on.

o The first three engineering fields based on physics, but


physics is not engineering it make structure and
basement for these field. In another way software
engineering has strong relation to computer science like
physics to others engineering fields .
Software crisis

o In 1950 the computer system was very new and the use of
software was limited to some few scientific application.

What is o Rapidly in 1960 outstanding improvement was made in


software hardware.
crisis ?
(6/24) o New computer systems and hardware were introduced
these systems were more advance and powerful than
1950s result of these changes development of more
complex software, but writing of complex software was
very difficult due to tools and techniques that were used
in 1950s for less complex software became inapplicable
for computer system in 1960s.
Software crisis

o on other side these changes cause software crisis because the


techniques that were used for small software system in 1950
were not applicable for large software system the
What is consequences of old methodology and techniques were
software create the following defects:
crisis ?
 Most of the times it was delivered too late.
(7/24)
 Most of the projects were over-budgeted.

 And in most of the case systems build using these techniques


were not reliable
Software crisis

o Finally the result of these defects a conference were


held in 1960 in that conference the terms software
crisis and software engineering were introduced.
What is  
software o The major issues of that conference was
crisis ? development , software crisis and it is complexities.
(8/24)
o The participants of that conference emphasis on
principals of software engineering in development
environments like regulation developing electronic
devices , car, building and so on.
Introduction to
software engineering
o Software engineering : systematic approach to the
development, operation, maintenance and retirement
of software.
Definitions
o Software Engineering is the set of processes and
(9/24)
tools to develop software.

o Software engineering is an engineering discipline that


is concerned with all aspects of software production.
Introduction to
software engineering

o Software is the collection of computer programs,


Definitions procedures, rules and associated documentation
and data
(10/24)

o Software is set of instructions


Characteristics of
software

 Software is developed or engineered; it is not


manufactured in the classical sense.
(11/24)
 Software doesn’t “wear out.”

 Although the industry is moving toward component-


based construction, most software continues to be
custom built.
Types of software

 System software: Software used to control hardware


components and manage interaction between
hardware and the other types of software. e.g.
compilers, editors, operating system components,
(12/24) drivers, networking software, firmware,
telecommunications processors.

 Application software: a programs that solve a


particular business need or allow user to do specific
job or set of jobs e.g. Office software, web browser,
transaction processing, real-time manufacturing
process control.
Types of software

 Engineering/scientific software: it used for modern


applications within the engineering/scientific area,
Computer aided design, system simulation etc.
(13/24)
 Embedded software: this software perform cryptically and
limited function within a product e.g.TV system, microwave,
fuel system.
 
 Product-line software: it is a specific market product used
by customer designed to provide a specific capability e.g.
inventory system, multimedia, computer graphics etc.
Types of software

 Web/Mobile applications: also called “Web


Apps” any application software which runs in web
browser a set of linked hypertext files that present
(14/24)
information using text and limited graphics.

 Artificial intelligence software: it is very special


and intensive software used to solve high complex
problems e.g. robotics system, artificial neural
networks, game and so on.
Types of software

 Open world computing: pervasive, distributed system

Software  Ubiquitous computing: wireless networks


new categories
(15/24)  Net sourcing: the Web as a computing engine

 Open source: free source code open to the computing


community.
Legacy software

o Hundreds of thousands of computer programs fall


into one of the seven broad application domains.

o The older programs often referred to as legacy


(16/24)
software.

o Dayani define legacy software as the following:


o Legacy software systems were developed decades
ago and have been continually modified to meet
changes in business requirements and computing
platforms.
Legacy software

o The usage of such systems is causing headaches for large


organizations who find them costly to maintain and risky to
grow , but it continuously used in industry.

(17/24) o Today it manage core business functions


o Legacy systems often develop for one or more of the following
reasons:
 The software must be adapted to meet the needs of new
computing environments or technology.

 The software must be enhanced to implement new business


requirements.
Legacy software

 The software must be extended to make it interoperable


with other more modern systems or databases.

 The software must be re-architected to make it viable


(18/24) within a network environment.

 When these modes of evolution occur, a legacy system


must be reengineered.
Changing nature of Software

 Four broad categories of software are evolving to dominate


the industry.

 Web Apps
(19/24) o Web app development is the creation of application programs
that reside on remote servers and are delivered to the user's
device over the Internet.

o Or Web application is an application that is accessed by user


using a web browser
Changing nature of Software

 Mobile Application
o It is important to recognize that there is a subtle
distinction between mobile web application and
mobile apps.
o A mobile web application (Web App) allows a mobile
(20/24)
device to gain access to web based content via a
browser that has been specifically designed to
accommodate the strengths and weaknesses of the
mobile platform.

o A mobile app can gain direct access to the hardware


characteristics of device.
Changing nature of Software

 Cloud Computing
o The practice of using a network of remote
servers hosted on the Internet to store, manage,
(21/24) and process data, rather than a local server or a
personal computer.

o In the simplest terms, cloud computing means


storing and accessing data and programs over
the Internet instead of your computer's hard
drive.
Changing nature of Software
Changing nature of Software

 Product Line Software


o A software product line (SPL) is a set of software
intensive systems that share a common, managed
set of features satisfying the specific needs of a
(23/24) particular market.

o For example Mac OS, Windows NT, Windows XP.


Thanks

You might also like