SlideShare a Scribd company logo
SHARBANI BHATTACHARYA
SENIOR MEMBER IEEE
Software
Engineering
Govt. Polytechnic(W)
FARIDABAD
24 August 2016
SOFTWARE ENGINEERING
 The notion of ‘software engineering’ was first
proposed in 1968 at a conference held to
discuss what was then called the ‘software
crisis’ (Naur and Randell, 1969).
 It became clear that individual approaches
to program development did not scale up to
large and complex software systems. These
were unreliable, cost more than expected,
and were delivered late.
2
SOFTWARE ENGINEERING
 Throughout the 1970s and 1980s, a variety
of new software engineering techniques and
methods were developed, such as structured
programming, information hiding and object-
oriented development.
 Tools and standard notations were
developed and are now extensively used.
3
SOFTWARE ENGINEERING
Software engineering is a field
of engineering,
for designing and writing programs for compute
rs or other electronic devices.
4
SOFTWARE ENGINEER
A software engineer, or programmer, writes
software (or changes existing software) and
compiles software using methods that make it
better quality
5
SOFTWARE ENGINEERING
Software engineering can broadly be split into the following steps-
 Requirements say what the software should do.
 Software design is usually done on paper. It says what the
different parts of the software are, and how they talk to each
other.
 After the design phase is done, each component (part) of the
software is coded. Code is what tells the computer exactly what
to do at each step.
 Testing is done to see if the components meet the requirements
and that the system as a whole meet the requirements.
 Part or all of this process can repeat if bugs are found or new
requirements are needed.
6
SOFTWARE ENGINEERS
A software engineer is a person who applies
the principles of software engineering to the
design, development, maintenance, testing,
and evaluation of the software and systems
that make computers or anything containing
software work
7
SOFTWARE ENGINEERS
8
SOFTWARE ENGINEERS
9
SOFTWARE ENGINEERS
10
SOFTWARE ENGINEERS
11
SOFTWARE ENGINEERS
In May 2015, the United States U. S. Bureau of
Labor Statistics published an updated count of
software engineers which has gone up from
760,840 in 2004
to 1,554,960 in 2015;
in the same period there were some 1,610,480
practitioners employed in the U.S. in all other
engineering disciplines combined.
12
TOOLS
Software engineers use many tools and practices
in making software. Some of the most common
are:
 Flowcharts
 UML diagram
 Debugging tools
 Compiler
 Text editor, usually part of an IDE - Integrated
Development Environment
13
PRIZES IN SOFTWARE ENGINEERING
 The CODiE awards is a yearly award issued
by the Software and Information Industry
Association for excellence in software
development within the software industry.
 Jolt Awards are awards in the software
industry.
 Stevens Award is a software engineering
award given in memory of Wayne Stevens.
14
SOFTWARE ENGINEERING BODY OF
KNOWLEDGE
ETS University and UQAM (Université du
Québec à Montréal) were mandated by IEEE
to develop the Software Engineering Body of
Knowledge (SWEBOK), which has become an
ISO standard describing the body of
knowledge covered by a software engineer.
15
16
SOFTWARE PRODUCT/ENGINEERING
 Software is more than just a program code. A
program is an executable code, which serves
some computational purpose. Software is
considered to be collection of executable
programming code, associated libraries and
documentations.
 Software, when made for a specific requirement
is called software product.
 Engineering on the other hand, is all about
developing products, using well-defined,
scientific principles and methods.
17
SOFTWARE PRODUCTS
18
TYPE OF SOFTWARE PRODUCTS
 Generic products
 Customized (or bespoke) products
19
GENERIC PRODUCTS
Generic products These are stand-alone systems
that are produced by a development organization
and sold on the open market to any customer who
is able to buy them. Examples of this type of
product include software for PCs such as
databases, word processors, drawing packages,
and project-management tools.It also includes so-
called vertical applications designed for some
specific purpose such as library information
systems, accounting systems, or systems for
maintaining dental records.
20
CUSTOMIZED PRODUCTS
These are systems that are commissioned by
a particular customer. A software contractor
develops the software especially for that
customer. Examples of this type of software
include control systems for electronic devices,
systems written to support a particular
business process, and air traffic control
systems.
21
SOFTWARE ENGINEERING IS IMPORTANT FOR
TWO REASONS:
 More and more, individuals and society rely on
advanced software systems. We need to be
able to produce reliable and trustworthy
systems economically and quickly.
 It is usually cheaper, in the long run, to use
software engineering methods and techniques
for software systems rather than just write the
programs as if it was a personal programming
project. For most types of systems, the majority
of costs are the costs of changing the software
after it has gone into use.
22
SOFTWARE PROCESS
The systematic approach that is used in
software engineering is sometimes called a
software process. A software process is a
sequence of activities that leads to the
production of a software product.
23
FOUR FUNDAMENTAL ACTIVITIES
 Software specification, where customers and
engineers define the software that is to be
produced and the constraints on its operation.
 Software development, where the software is
designed and programmed.
 Software validation, where the software is
checked to ensure that it is what the customer
requires.
 Software evolution, where the software is
modified to reflect changing customer and
market requirements.
24
IEEE
IEEE defines software engineering as:
 (1) The application of a systematic,
disciplined, quantifiable approach to the
development, operation, and maintenance of
software; that is, the application of
engineering to software.
 (2) The study of approaches as in the above
statement.
25
Fritz Bauer, a German computer scientist,
defines software engineering as:
“Software engineering is the establishment and
use of sound engineering principles in order to
obtain economically software that is reliable
and work efficiently on real machines.”
26
SOFTWARE EVOLUTION
The process of developing a software product
using software engineering principles and
methods is referred to as Software Evolution.
This includes the initial development of
software and its maintenance and updates, till
desired software product is developed, which
satisfies the expected requirements.
27
28
SOFTWARE EVOLUTION LAWS
Lehman has given laws for software evolution.
He divided the software into three different
categories:
 Static-type (S-type)
 Practical-type (P-type)
 Embedded-type (E-type)
29
SOFTWARE EVOLUTION LAWS
 Static-type (S-type) - This is a software, which works strictly
according to defined specifications and solutions. The solution
and the method to achieve it, both are immediately understood
before coding. The s-type software is least subjected to changes
hence this is the simplest of all. For example, calculator program
for mathematical computation.
 Practical-type (P-type) - This is a software with a collection of
procedures. This is defined by exactly what procedures can do. In
this software, the specifications can be described but the solution
is not obviously instant. For example, gaming software.
 Embedded-type (E-type) - This software works closely as the
requirement of real-world environment. This software has a high
degree of evolution as there are various changes in laws, taxes
etc. in the real world situations. For example, Online trading
software.
30
SOFTWARE PARADIGMS
Software paradigms refer to the methods and
steps, which are taken while designing the
software. There are many methods proposed
and are implemented. But, we need to see
where in the software engineering concept,
these paradigms stand.
31
32
SOFTWARE DEVELOPMENT PARADIGM
This paradigm is known as software engineering
paradigms; where all the engineering concepts
pertaining to the development of software are
applied. It includes various researches and
requirement gathering which helps the software
product to build.
 Requirement gathering
 Software design
 Programming
33
SOFTWARE DESIGN PARADIGM
 Design
 Maintenance
 Programming
34
PROGRAMMING PARADIGM
 Coding
 Testing
 Integration
35
NEED OF SOFTWARE ENGINEERING
The need of software engineering arises
because of higher rate of change in user
requirements and environment on which the
software is working. Following are some of the
needs stated:
36
NEED OF SOFTWARE ENGINEERING
 Large software - It is easier to build a wall than a house or building,
likewise, as the size of the software becomes large, engineering has to
step to give it a scientific process.
 Scalability- If the software process were not based on scientific and
engineering concepts, it would be easier to re-create new software than
to scale an existing one.
 Cost- As hardware industry has shown its skills and huge manufacturing
has lower down the price of computer and electronic hardware. But, cost
of the software remains high if proper process is not adapted.
 Dynamic Nature- Always growing and adapting nature of the software
hugely depends upon the environment in which the user works. If the
nature of software is always changing, new enhancements need to be
done in the existing one. This is where the software engineering plays a
good role.
 Quality Management- Better process of software development provides
better and quality software product.
37
CHARACTERISTICS OF GOOD SOFTWARE
 This software must satisfy on the following
grounds:
 Operational
 Transitional
 Maintenance
38
OPERATIONAL
 Budget
 Usability
 Efficiency
 Correctness
 Functionality
 Dependability
 Security
 Safety
39
TRANSITIONAL
 Portability
 Interoperability
 Reusability
 Adaptability
40
MAINTENANCE
 Modularity
 Maintainability
 Flexibility
 Scalability
41
42
ISSUES THAT AFFECT SOFTWARE
 Heterogeneity
 Business and social change
 Security and trust
43
HETEROGENEITY
Increasingly, systems are required to operate as
distributed systems across networks that include
different types of computer and mobile devices. As
well as running on general-purpose computers,
software may also have to execute on mobile
phones. You often have to integrate new software
with older legacy systems written in different
programming languages. The challenge here is to
develop techniques for building dependable
software that is flexible enough to cope with this
heterogeneity.
44
BUSINESS AND SOCIAL CHANGE
Business and society are changing incredibly
quickly
as emerging economies develop and new
technologies become available. They need to be
able to change their existing software and to
rapidly develop new software. Many traditional
software engineering techniques are time
consuming and
delivery of new systems often takes longer than
planned. They need to evolve so that the time
required for software to deliver value to its
customers is reduced. 45
SECURITY AND TRUST
As software is intertwined with all aspects of
our lives, it is essential that we can trust that
software. This is especially true for remote
software systems accessed through a web
page or web service interface. We have to
make sure that malicious users cannot attack
our software and that information security is
maintained.
46
TYPES OF SOFTWARE APPLICATION
 Stand-alone applications
 Interactive transaction-based applications
 Embedded control systems
 Batch processing systems
 Entertainment systems
 Systems for modeling and simulation
 Data collection systems
 Systems of systems
47
STAND-ALONE APPLICATIONS
 These are application systems that run on a
local computer, such as a PC. They include
all necessary functionality and do not need to
be connected to a network. Examples of
such applications are office applications on a
PC, CAD programs, photo manipulation
software, etc.
48
INTERACTIVE TRANSACTION-BASED
APPLICATIONS
These are applications that execute on a remote
computer and that are accessed by users from their
own PCs or terminals. Obviously, these include web
applications such as e-commerce applications
where you can interact with a remote system to buy
goods and services.
This class of application also includes business
systems, where a business provides access to its
systems through a web browser or special-purpose
client program and cloud-based services, such as mail
and photo sharing. Interactive applications often
incorporate a large data store that is accessed and
updated ineach transaction.
49
EMBEDDED CONTROL SYSTEMS
These are software control systems that
control and manage hardware devices.
Numerically, there are probably more
embedded systems than any other type of
system. Examples of embedded systems
include the software in a mobile (cell) phone,
software that controls anti-lock braking in a car,
and software in a microwave oven to control
the cooking process.
50
BATCH PROCESSING SYSTEMS
These are business systems that are designed
to process data in large batches. They process
large numbers of individual inputs to create
corresponding outputs. Examples of batch
systems include periodic billing systems, such
as phone billing systems, and salary payment
systems.
51
ENTERTAINMENT SYSTEMS
These are systems that are primarily for
personal use and which are intended to
entertain the user. Most of these systems are
games of one kind or another. The quality of
the user interaction offered is the most
important distinguishing characteristic of
entertainment systems.
52
SYSTEMS FOR MODELING AND SIMULATION
These are systems that are developed by
scientists and engineers to model physical
processes or situations, which include many,
separate, interacting objects. These are often
computationally intensive and require high-
performance parallel systems for execution.
53
DATA COLLECTION SYSTEMS
These are systems that collect data from their
environment using a set of sensors and send
that data to other systems for processing.
The software has to interact with sensors and
often is installed in a hostile environment such
as inside an engine or in a remote location.
54
SYSTEMS OF SYSTEMS
These are systems that are composed of a
number of other software systems. Some of
these may be generic software products, such
as a spreadsheet program. Other systems in
the assembly may be specially written for that
environment.
55
PROFESSIONAL RESPONSIBILITY
 Confidentiality
 Competence
 Intellectual property rights
 Computer misuse
56
CONFIDENTIALITY
You should normally respect the confidentiality
of your employers or clients irrespective of
whether or not a formal confidentiality
agreement has been signed.
57
COMPETENCE
You should not misrepresent your level of
competence. You should not knowingly accept
work that is outside your competence.
58
INTELLECTUAL PROPERTY RIGHTS
You should be aware of local laws governing
the use of intellectual property such as patents
and copyright. You should be careful to ensure
that the intellectual property of employers and
clients is protected.
59
COMPUTER MISUSE
You should not use your technical skills to
misuse other people’s computers. Computer
misuse ranges from relatively trivial (game
playing on an employer’s machine, say) to
extremely serious (dissemination of viruses or
other malware).
60
ACM/IEEE-CS JOINT TASK FORCE ON SOFTWARE ENGINEERING
ETHICS AND PROFESSIONAL PRACTICES
Software engineers shall commit themselves to
making the analysis, specification, design,
development, testing and maintenance of
software a beneficial and respected profession.
In accordance with their commitment to the
health, safety and welfare of the public,
software engineers shall adhere to the
following Eight Principles
61
EIGHT PRINCIPLES:
1.PUBLIC — Software engineers shall act consistently with the public
interest.
2. CLIENT AND EMPLOYER — Software engineers shall act in a manner
that is in the
best interests of their client and employer consistent with the public
interest.
3. PRODUCT — Software engineers shall ensure that their products and
related
modifications meet the highest professional standards possible.
4. JUDGMENT — Software engineers shall maintain integrity and
independence in their professional judgment.
5. MANAGEMENT — Software engineering managers and leaders shall
subscribe to and promote an ethical approach to the management of
software development and
maintenance.
6. PROFESSION — Software engineers shall advance the integrity and
reputation of
the profession consistent with the public interest.
7. COLLEAGUES — Software engineers shall be fair to and supportive of
their colleagues.
8. SELF — Software engineers shall participate in lifelong learning
regarding the
62
WEB-BASED SYSTEMS ARE ENGINEERED
 Software reuse has become the dominant
approach for constructing web-based systems.
When building these systems, you think about
how you can assemble them from pre-existing
software components and systems.
 It is now generally recognized that it is
impractical to specify all the requirements for
such systems in advance. Web-based systems
should be developed
and delivered incrementally.
63
WEB-BASED SYSTEMS ARE ENGINEERED
 User interfaces are constrained by the
capabilities of web browsers. Although
technologies such as AJAX (Holdener, 2008)
mean that rich interfaces can be created
within a web browser, these technologies are
still difficult to use. Web forms with local
scripting are more commonly used.
Application interfaces on web-based systems
are often poorer than the specially designed
user interfaces on PC system products.
64
STRUCTUREO ANALYTICAL MODEL
65
INFORMATION FLOW MODEL
66
RELATIONSHIP BETWEEN DATA FLOW AND
CONTROL FLOW
67
68
69
HIGH LEVEL LANGUAGES
 C
 C++
 C#
 F#
 Python
 Ruby
 Scala
 Java
 SQL
70
REFERENCES
 Software Engineering by Somerville
 Software Engineering-Pressman
 Software Engineering Tutorial Point
 Software Engineering Wikipedia
71
THANK YOU
72

More Related Content

What's hot

Software engineering
Software engineeringSoftware engineering
Software engineering
Prakash Poudel
 
Chapter1
Chapter1Chapter1
Chapter1
mansab MIRZA
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
Piyush Gogia
 
SE
SESE
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introduction
Dr. Loganathan R
 
Ch1
Ch1Ch1
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir Kotov
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
Alok Chaudhary
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
ryan aja
 
Wait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debtWait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debt
RungrojMaipradit1
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
IJERA Editor
 
Fundamentals of Computing Chapter 7
Fundamentals of Computing Chapter 7Fundamentals of Computing Chapter 7
Fundamentals of Computing Chapter 7
Mohd Harris Ahmad Jaal
 
Software Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsSoftware Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systems
Ivica Crnkovic
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
Preeti Mishra
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
Preeti Mishra
 
Online Software development training
Online Software development trainingOnline Software development training
Online Software development training
vibrantuser
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
Omolara Adejuwon
 
Model driven process for real time embedded
Model driven process for real time embeddedModel driven process for real time embedded
Model driven process for real time embedded
caijjournal
 
Lecture 1 se
Lecture 1 seLecture 1 se
Lecture 1 se
Tribhuvan University
 

What's hot (19)

Software engineering
Software engineeringSoftware engineering
Software engineering
 
Chapter1
Chapter1Chapter1
Chapter1
 
Chapter 5 software design
Chapter 5 software designChapter 5 software design
Chapter 5 software design
 
SE
SESE
SE
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introduction
 
Ch1
Ch1Ch1
Ch1
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Wait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debtWait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debt
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
 
Fundamentals of Computing Chapter 7
Fundamentals of Computing Chapter 7Fundamentals of Computing Chapter 7
Fundamentals of Computing Chapter 7
 
Software Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systemsSoftware Engineering Challenges in building AI-based complex systems
Software Engineering Challenges in building AI-based complex systems
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 
Online Software development training
Online Software development trainingOnline Software development training
Online Software development training
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
 
Model driven process for real time embedded
Model driven process for real time embeddedModel driven process for real time embedded
Model driven process for real time embedded
 
Lecture 1 se
Lecture 1 seLecture 1 se
Lecture 1 se
 

Similar to SE Introduction sharbani bhattacharya

Lecture-1-3.pptx
Lecture-1-3.pptxLecture-1-3.pptx
Lecture-1-3.pptx
FarHana74914
 
Intro
IntroIntro
Intro
hinaaaa123
 
17CS45_CBCS_Moulde 1 ppt
17CS45_CBCS_Moulde 1 ppt17CS45_CBCS_Moulde 1 ppt
17CS45_CBCS_Moulde 1 ppt
sweetheartshridevi
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
AleksandraArsic6
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
AleksandraArsic6
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
BhargaviChaitanya2
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
MrsRBoomadeviIT
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
AbhishekTripathi709328
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
ssuser2d043c
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
Mohammed Romi
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
vishal choudhary
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
ans ali raza
 
1 se-introduction
1 se-introduction1 se-introduction
1 se-introduction
Ahmed Alageed
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
VijayakumarKadumbadi
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
Dr VISU P
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
itadmin33
 
SE 1 Software Engineering.pptx
SE 1 Software Engineering.pptxSE 1 Software Engineering.pptx
SE 1 Software Engineering.pptx
MahiDivya
 
se01.ppt
se01.pptse01.ppt
se01.ppt
xiso
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
ssusere16bd9
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
ssusere16bd9
 

Similar to SE Introduction sharbani bhattacharya (20)

Lecture-1-3.pptx
Lecture-1-3.pptxLecture-1-3.pptx
Lecture-1-3.pptx
 
Intro
IntroIntro
Intro
 
17CS45_CBCS_Moulde 1 ppt
17CS45_CBCS_Moulde 1 ppt17CS45_CBCS_Moulde 1 ppt
17CS45_CBCS_Moulde 1 ppt
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
1 se-introduction
1 se-introduction1 se-introduction
1 se-introduction
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
SE 1 Software Engineering.pptx
SE 1 Software Engineering.pptxSE 1 Software Engineering.pptx
SE 1 Software Engineering.pptx
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 

More from Sharbani Bhattacharya

Biometric authentication green apple computer learning
Biometric authentication green apple computer learningBiometric authentication green apple computer learning
Biometric authentication green apple computer learning
Sharbani Bhattacharya
 
Javascript
JavascriptJavascript
PHP programmimg
PHP programmimgPHP programmimg
PHP programmimg
Sharbani Bhattacharya
 
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya
 
Visual Basic –User Interface- V
Visual Basic –User Interface- VVisual Basic –User Interface- V
Visual Basic –User Interface- V
Sharbani Bhattacharya
 
Visual Basic User Interface-VI
Visual Basic User Interface-VIVisual Basic User Interface-VI
Visual Basic User Interface-VI
Sharbani Bhattacharya
 
Microsoft Front Page
Microsoft Front PageMicrosoft Front Page
Microsoft Front Page
Sharbani Bhattacharya
 
Visual Basic User Interface-III
Visual Basic User Interface-IIIVisual Basic User Interface-III
Visual Basic User Interface-III
Sharbani Bhattacharya
 
Visual Basic User Interface -IV
Visual Basic User Interface -IVVisual Basic User Interface -IV
Visual Basic User Interface -IV
Sharbani Bhattacharya
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
Sharbani Bhattacharya
 
Estimation sharbani bhattacharya
Estimation sharbani bhattacharyaEstimation sharbani bhattacharya
Estimation sharbani bhattacharya
Sharbani Bhattacharya
 
Sharbani bhattacharya Visual Basic User Interface-ii
Sharbani bhattacharya  Visual Basic User Interface-iiSharbani bhattacharya  Visual Basic User Interface-ii
Sharbani bhattacharya Visual Basic User Interface-ii
Sharbani Bhattacharya
 
Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya
 
Sharbani bhattacharya VB Structures
Sharbani bhattacharya VB StructuresSharbani bhattacharya VB Structures
Sharbani bhattacharya VB Structures
Sharbani Bhattacharya
 
Software Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani BhattacharyaSoftware Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani Bhattacharya
Sharbani Bhattacharya
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
Sharbani Bhattacharya
 
Sharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flashSharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flash
Sharbani Bhattacharya
 
Sharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual BasicSharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual Basic
Sharbani Bhattacharya
 
Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014
Sharbani Bhattacharya
 
Sharbani bhattacharya sacta 2014
Sharbani bhattacharya sacta 2014Sharbani bhattacharya sacta 2014
Sharbani bhattacharya sacta 2014
Sharbani Bhattacharya
 

More from Sharbani Bhattacharya (20)

Biometric authentication green apple computer learning
Biometric authentication green apple computer learningBiometric authentication green apple computer learning
Biometric authentication green apple computer learning
 
Javascript
JavascriptJavascript
Javascript
 
PHP programmimg
PHP programmimgPHP programmimg
PHP programmimg
 
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & Implementation
 
Visual Basic –User Interface- V
Visual Basic –User Interface- VVisual Basic –User Interface- V
Visual Basic –User Interface- V
 
Visual Basic User Interface-VI
Visual Basic User Interface-VIVisual Basic User Interface-VI
Visual Basic User Interface-VI
 
Microsoft Front Page
Microsoft Front PageMicrosoft Front Page
Microsoft Front Page
 
Visual Basic User Interface-III
Visual Basic User Interface-IIIVisual Basic User Interface-III
Visual Basic User Interface-III
 
Visual Basic User Interface -IV
Visual Basic User Interface -IVVisual Basic User Interface -IV
Visual Basic User Interface -IV
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Estimation sharbani bhattacharya
Estimation sharbani bhattacharyaEstimation sharbani bhattacharya
Estimation sharbani bhattacharya
 
Sharbani bhattacharya Visual Basic User Interface-ii
Sharbani bhattacharya  Visual Basic User Interface-iiSharbani bhattacharya  Visual Basic User Interface-ii
Sharbani bhattacharya Visual Basic User Interface-ii
 
Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1
 
Sharbani bhattacharya VB Structures
Sharbani bhattacharya VB StructuresSharbani bhattacharya VB Structures
Sharbani bhattacharya VB Structures
 
Software Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani BhattacharyaSoftware Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani Bhattacharya
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Sharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flashSharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flash
 
Sharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual BasicSharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual Basic
 
Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014
 
Sharbani bhattacharya sacta 2014
Sharbani bhattacharya sacta 2014Sharbani bhattacharya sacta 2014
Sharbani bhattacharya sacta 2014
 

Recently uploaded

Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
RadiNasr
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
awadeshbabu
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
PuktoonEngr
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
JamalHussainArman
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
rpskprasana
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 

Recently uploaded (20)

Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 

SE Introduction sharbani bhattacharya

  • 1. SHARBANI BHATTACHARYA SENIOR MEMBER IEEE Software Engineering Govt. Polytechnic(W) FARIDABAD 24 August 2016
  • 2. SOFTWARE ENGINEERING  The notion of ‘software engineering’ was first proposed in 1968 at a conference held to discuss what was then called the ‘software crisis’ (Naur and Randell, 1969).  It became clear that individual approaches to program development did not scale up to large and complex software systems. These were unreliable, cost more than expected, and were delivered late. 2
  • 3. SOFTWARE ENGINEERING  Throughout the 1970s and 1980s, a variety of new software engineering techniques and methods were developed, such as structured programming, information hiding and object- oriented development.  Tools and standard notations were developed and are now extensively used. 3
  • 4. SOFTWARE ENGINEERING Software engineering is a field of engineering, for designing and writing programs for compute rs or other electronic devices. 4
  • 5. SOFTWARE ENGINEER A software engineer, or programmer, writes software (or changes existing software) and compiles software using methods that make it better quality 5
  • 6. SOFTWARE ENGINEERING Software engineering can broadly be split into the following steps-  Requirements say what the software should do.  Software design is usually done on paper. It says what the different parts of the software are, and how they talk to each other.  After the design phase is done, each component (part) of the software is coded. Code is what tells the computer exactly what to do at each step.  Testing is done to see if the components meet the requirements and that the system as a whole meet the requirements.  Part or all of this process can repeat if bugs are found or new requirements are needed. 6
  • 7. SOFTWARE ENGINEERS A software engineer is a person who applies the principles of software engineering to the design, development, maintenance, testing, and evaluation of the software and systems that make computers or anything containing software work 7
  • 12. SOFTWARE ENGINEERS In May 2015, the United States U. S. Bureau of Labor Statistics published an updated count of software engineers which has gone up from 760,840 in 2004 to 1,554,960 in 2015; in the same period there were some 1,610,480 practitioners employed in the U.S. in all other engineering disciplines combined. 12
  • 13. TOOLS Software engineers use many tools and practices in making software. Some of the most common are:  Flowcharts  UML diagram  Debugging tools  Compiler  Text editor, usually part of an IDE - Integrated Development Environment 13
  • 14. PRIZES IN SOFTWARE ENGINEERING  The CODiE awards is a yearly award issued by the Software and Information Industry Association for excellence in software development within the software industry.  Jolt Awards are awards in the software industry.  Stevens Award is a software engineering award given in memory of Wayne Stevens. 14
  • 15. SOFTWARE ENGINEERING BODY OF KNOWLEDGE ETS University and UQAM (Université du Québec à Montréal) were mandated by IEEE to develop the Software Engineering Body of Knowledge (SWEBOK), which has become an ISO standard describing the body of knowledge covered by a software engineer. 15
  • 16. 16
  • 17. SOFTWARE PRODUCT/ENGINEERING  Software is more than just a program code. A program is an executable code, which serves some computational purpose. Software is considered to be collection of executable programming code, associated libraries and documentations.  Software, when made for a specific requirement is called software product.  Engineering on the other hand, is all about developing products, using well-defined, scientific principles and methods. 17
  • 19. TYPE OF SOFTWARE PRODUCTS  Generic products  Customized (or bespoke) products 19
  • 20. GENERIC PRODUCTS Generic products These are stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them. Examples of this type of product include software for PCs such as databases, word processors, drawing packages, and project-management tools.It also includes so- called vertical applications designed for some specific purpose such as library information systems, accounting systems, or systems for maintaining dental records. 20
  • 21. CUSTOMIZED PRODUCTS These are systems that are commissioned by a particular customer. A software contractor develops the software especially for that customer. Examples of this type of software include control systems for electronic devices, systems written to support a particular business process, and air traffic control systems. 21
  • 22. SOFTWARE ENGINEERING IS IMPORTANT FOR TWO REASONS:  More and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly.  It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. For most types of systems, the majority of costs are the costs of changing the software after it has gone into use. 22
  • 23. SOFTWARE PROCESS The systematic approach that is used in software engineering is sometimes called a software process. A software process is a sequence of activities that leads to the production of a software product. 23
  • 24. FOUR FUNDAMENTAL ACTIVITIES  Software specification, where customers and engineers define the software that is to be produced and the constraints on its operation.  Software development, where the software is designed and programmed.  Software validation, where the software is checked to ensure that it is what the customer requires.  Software evolution, where the software is modified to reflect changing customer and market requirements. 24
  • 25. IEEE IEEE defines software engineering as:  (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.  (2) The study of approaches as in the above statement. 25
  • 26. Fritz Bauer, a German computer scientist, defines software engineering as: “Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and work efficiently on real machines.” 26
  • 27. SOFTWARE EVOLUTION The process of developing a software product using software engineering principles and methods is referred to as Software Evolution. This includes the initial development of software and its maintenance and updates, till desired software product is developed, which satisfies the expected requirements. 27
  • 28. 28
  • 29. SOFTWARE EVOLUTION LAWS Lehman has given laws for software evolution. He divided the software into three different categories:  Static-type (S-type)  Practical-type (P-type)  Embedded-type (E-type) 29
  • 30. SOFTWARE EVOLUTION LAWS  Static-type (S-type) - This is a software, which works strictly according to defined specifications and solutions. The solution and the method to achieve it, both are immediately understood before coding. The s-type software is least subjected to changes hence this is the simplest of all. For example, calculator program for mathematical computation.  Practical-type (P-type) - This is a software with a collection of procedures. This is defined by exactly what procedures can do. In this software, the specifications can be described but the solution is not obviously instant. For example, gaming software.  Embedded-type (E-type) - This software works closely as the requirement of real-world environment. This software has a high degree of evolution as there are various changes in laws, taxes etc. in the real world situations. For example, Online trading software. 30
  • 31. SOFTWARE PARADIGMS Software paradigms refer to the methods and steps, which are taken while designing the software. There are many methods proposed and are implemented. But, we need to see where in the software engineering concept, these paradigms stand. 31
  • 32. 32
  • 33. SOFTWARE DEVELOPMENT PARADIGM This paradigm is known as software engineering paradigms; where all the engineering concepts pertaining to the development of software are applied. It includes various researches and requirement gathering which helps the software product to build.  Requirement gathering  Software design  Programming 33
  • 34. SOFTWARE DESIGN PARADIGM  Design  Maintenance  Programming 34
  • 35. PROGRAMMING PARADIGM  Coding  Testing  Integration 35
  • 36. NEED OF SOFTWARE ENGINEERING The need of software engineering arises because of higher rate of change in user requirements and environment on which the software is working. Following are some of the needs stated: 36
  • 37. NEED OF SOFTWARE ENGINEERING  Large software - It is easier to build a wall than a house or building, likewise, as the size of the software becomes large, engineering has to step to give it a scientific process.  Scalability- If the software process were not based on scientific and engineering concepts, it would be easier to re-create new software than to scale an existing one.  Cost- As hardware industry has shown its skills and huge manufacturing has lower down the price of computer and electronic hardware. But, cost of the software remains high if proper process is not adapted.  Dynamic Nature- Always growing and adapting nature of the software hugely depends upon the environment in which the user works. If the nature of software is always changing, new enhancements need to be done in the existing one. This is where the software engineering plays a good role.  Quality Management- Better process of software development provides better and quality software product. 37
  • 38. CHARACTERISTICS OF GOOD SOFTWARE  This software must satisfy on the following grounds:  Operational  Transitional  Maintenance 38
  • 39. OPERATIONAL  Budget  Usability  Efficiency  Correctness  Functionality  Dependability  Security  Safety 39
  • 40. TRANSITIONAL  Portability  Interoperability  Reusability  Adaptability 40
  • 41. MAINTENANCE  Modularity  Maintainability  Flexibility  Scalability 41
  • 42. 42
  • 43. ISSUES THAT AFFECT SOFTWARE  Heterogeneity  Business and social change  Security and trust 43
  • 44. HETEROGENEITY Increasingly, systems are required to operate as distributed systems across networks that include different types of computer and mobile devices. As well as running on general-purpose computers, software may also have to execute on mobile phones. You often have to integrate new software with older legacy systems written in different programming languages. The challenge here is to develop techniques for building dependable software that is flexible enough to cope with this heterogeneity. 44
  • 45. BUSINESS AND SOCIAL CHANGE Business and society are changing incredibly quickly as emerging economies develop and new technologies become available. They need to be able to change their existing software and to rapidly develop new software. Many traditional software engineering techniques are time consuming and delivery of new systems often takes longer than planned. They need to evolve so that the time required for software to deliver value to its customers is reduced. 45
  • 46. SECURITY AND TRUST As software is intertwined with all aspects of our lives, it is essential that we can trust that software. This is especially true for remote software systems accessed through a web page or web service interface. We have to make sure that malicious users cannot attack our software and that information security is maintained. 46
  • 47. TYPES OF SOFTWARE APPLICATION  Stand-alone applications  Interactive transaction-based applications  Embedded control systems  Batch processing systems  Entertainment systems  Systems for modeling and simulation  Data collection systems  Systems of systems 47
  • 48. STAND-ALONE APPLICATIONS  These are application systems that run on a local computer, such as a PC. They include all necessary functionality and do not need to be connected to a network. Examples of such applications are office applications on a PC, CAD programs, photo manipulation software, etc. 48
  • 49. INTERACTIVE TRANSACTION-BASED APPLICATIONS These are applications that execute on a remote computer and that are accessed by users from their own PCs or terminals. Obviously, these include web applications such as e-commerce applications where you can interact with a remote system to buy goods and services. This class of application also includes business systems, where a business provides access to its systems through a web browser or special-purpose client program and cloud-based services, such as mail and photo sharing. Interactive applications often incorporate a large data store that is accessed and updated ineach transaction. 49
  • 50. EMBEDDED CONTROL SYSTEMS These are software control systems that control and manage hardware devices. Numerically, there are probably more embedded systems than any other type of system. Examples of embedded systems include the software in a mobile (cell) phone, software that controls anti-lock braking in a car, and software in a microwave oven to control the cooking process. 50
  • 51. BATCH PROCESSING SYSTEMS These are business systems that are designed to process data in large batches. They process large numbers of individual inputs to create corresponding outputs. Examples of batch systems include periodic billing systems, such as phone billing systems, and salary payment systems. 51
  • 52. ENTERTAINMENT SYSTEMS These are systems that are primarily for personal use and which are intended to entertain the user. Most of these systems are games of one kind or another. The quality of the user interaction offered is the most important distinguishing characteristic of entertainment systems. 52
  • 53. SYSTEMS FOR MODELING AND SIMULATION These are systems that are developed by scientists and engineers to model physical processes or situations, which include many, separate, interacting objects. These are often computationally intensive and require high- performance parallel systems for execution. 53
  • 54. DATA COLLECTION SYSTEMS These are systems that collect data from their environment using a set of sensors and send that data to other systems for processing. The software has to interact with sensors and often is installed in a hostile environment such as inside an engine or in a remote location. 54
  • 55. SYSTEMS OF SYSTEMS These are systems that are composed of a number of other software systems. Some of these may be generic software products, such as a spreadsheet program. Other systems in the assembly may be specially written for that environment. 55
  • 56. PROFESSIONAL RESPONSIBILITY  Confidentiality  Competence  Intellectual property rights  Computer misuse 56
  • 57. CONFIDENTIALITY You should normally respect the confidentiality of your employers or clients irrespective of whether or not a formal confidentiality agreement has been signed. 57
  • 58. COMPETENCE You should not misrepresent your level of competence. You should not knowingly accept work that is outside your competence. 58
  • 59. INTELLECTUAL PROPERTY RIGHTS You should be aware of local laws governing the use of intellectual property such as patents and copyright. You should be careful to ensure that the intellectual property of employers and clients is protected. 59
  • 60. COMPUTER MISUSE You should not use your technical skills to misuse other people’s computers. Computer misuse ranges from relatively trivial (game playing on an employer’s machine, say) to extremely serious (dissemination of viruses or other malware). 60
  • 61. ACM/IEEE-CS JOINT TASK FORCE ON SOFTWARE ENGINEERING ETHICS AND PROFESSIONAL PRACTICES Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles 61
  • 62. EIGHT PRINCIPLES: 1.PUBLIC — Software engineers shall act consistently with the public interest. 2. CLIENT AND EMPLOYER — Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. 3. PRODUCT — Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. 4. JUDGMENT — Software engineers shall maintain integrity and independence in their professional judgment. 5. MANAGEMENT — Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. 6. PROFESSION — Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. 7. COLLEAGUES — Software engineers shall be fair to and supportive of their colleagues. 8. SELF — Software engineers shall participate in lifelong learning regarding the 62
  • 63. WEB-BASED SYSTEMS ARE ENGINEERED  Software reuse has become the dominant approach for constructing web-based systems. When building these systems, you think about how you can assemble them from pre-existing software components and systems.  It is now generally recognized that it is impractical to specify all the requirements for such systems in advance. Web-based systems should be developed and delivered incrementally. 63
  • 64. WEB-BASED SYSTEMS ARE ENGINEERED  User interfaces are constrained by the capabilities of web browsers. Although technologies such as AJAX (Holdener, 2008) mean that rich interfaces can be created within a web browser, these technologies are still difficult to use. Web forms with local scripting are more commonly used. Application interfaces on web-based systems are often poorer than the specially designed user interfaces on PC system products. 64
  • 67. RELATIONSHIP BETWEEN DATA FLOW AND CONTROL FLOW 67
  • 68. 68
  • 69. 69
  • 70. HIGH LEVEL LANGUAGES  C  C++  C#  F#  Python  Ruby  Scala  Java  SQL 70
  • 71. REFERENCES  Software Engineering by Somerville  Software Engineering-Pressman  Software Engineering Tutorial Point  Software Engineering Wikipedia 71