SlideShare a Scribd company logo
Introduction
Prepared By
Dr.P.Ananthi
Reference : Software Engineering A Practitioner
Approach- Roger S. Pressman, Bruce R. Maxim
Computer software is the product that software professionals build and
then support over the long term. It encompasses programs that execute within a
computer of any size and architecture, content that is presented as the computer
programs execute, and descriptive information in both hard copy and virtual forms
that encompass virtually any electronic media.
Nature of software
It is a product, and at the same time, the vehicle for delivering a product.
software is an information transformer—producing, managing, acquiring,
modifying, displaying, or transmitting information that can be as simple as a
single bit or as complex as a multimedia presentation derived from data
acquired from dozens of independent sources.
Software is:
(1) instructions (computer programs) that when executed provide desired
features, function, and performance;
(2) data structures that enable the programs to adequately manipulate
information, and
(3) descriptive information in both hard copy and virtual forms that
describes the operation and use of the programs.
 In both activities such as hardware and software, high
quality is achieved through good design.
 In hardware – quality problems that is nonexistent for
software.
 Both activities are dependent on people but the
relationship between people applied and work
accomplished is entirely different.
Failure curve for hardware
Steady – state level
Hardware failure due to dust, vibration, abuse,
temperature extremes and etc…
Failure curve for software
• Idealized curve
• Deteriorate (get worse).
• Error will be introduced, causing a failure rate curve to spike as shown
in “Active curve”.
Features of Software
•software is engineered
• software doesn’t wear out
• software is complex
What is Software Engineering?
 Software engineering is defined as a process of
analyzing user requirements and then designing,
building, and testing software application which will
satisfy those requirements.
Software Application Domains
System software— a collection of programs written to service
other programs.
e.g., compilers, editors, and file management utilities, operating
system components, drivers, networking software,
telecommunications processors
Application software —stand-alone programs that solve a specific
business need.
Engineering/scientific software —a broad array of “number-
crunching programs that range from astronomy to volcanology,
from automotive stress analysis to orbital dynamics, and from
computer-aided design to molecular biology, from genetic analysis
to meteorology
Embedded software— resides within a product or system and is
used to implement and control features and functions for the end
user and for the system itself.
Product-line software —designed to provide a specific capability
for use by many different customers. inventory control products
Web/Mobile applications —this network-centric software
category spans a wide array of applications and encompasses both
browser-based apps and software that resides on mobile devices
Artificial intelligence software— makes use of nonnumerical
algorithms to solve complex problems that are not amenable to
computation or straightforward analysis.
Example : robotics, expert systems, pattern recognition (image and
voice), artificial neural networks, theorem proving, and game playing.
Legacy Software:
Legacy software systems were developed decades ago and have been
continually modified to meet changes in business requirements and
computing platforms
Evolve 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.
• 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 within a evolving
computing environment.
THE CHANGING NATURE OF SOFTWARE
WebApps
Web-based systems and applications
Mobile Applications
software that has been specifi cally designed to reside on a mobile platform (e.g.,
iOS, Android, or Windows Mobile).
Cloud Computing
Cloud computing encompasses an infrastructure or “ecosystem” that enables any
user, anywhere, to use a computing device to share computing resources on a
broad scale.
Product Line Software
The Software Engineering Institute defines a software product line as “a
set of software-intensive systems that share a common, managed set of features
satisfying the specific needs of a particular market segment or mission and that are
developed from a common set of core assets in a prescribed way.”
Software Engineering Definition:
(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.
Software engineering is a layered technology. Organizational commitment to
quality. Total quality management, Six Sigma
The foundation for software engineering is the process layer. technology layers
together and enables rational and timely development of computer software
Software engineering methods provide the technical how-to’s for building
software. Methods encompass a broad array of tasks that include
communication, requirements analysis, design modeling, program construction,
testing, and support.
Software engineering tools provide automated or semi-automated support for the
process and the methods. computer-aided software engineering ,
A process is a collection of activities, actions, and tasks that are performed when
some work product is to be created.
An activity strives to achieve a broad objective (e.g., communication with
stakeholders) and is applied regardless of the application domain, size of the
project, complexity of the effort, or degree of rigor with which software
engineering is to be applied.
An action (e.g., architectural design) encompasses a set of tasks that produce a
major work product (e.g., an architectural model).
A task focuses on a small, but well-defined objective (e.g.,conducting a unit test)
that produces a tangible outcome.
THE SOFTWARE PROCESS
The Process Framework
Process framework establishes the foundation for a complete
software engineering process by identifying a small number of framework
activities that are applicable to all software projects, regardless of their size
or complexity.
The process framework encompasses a set of umbrella activities
Generic process framework
Communication : communicate and collaborate with the customer
Planning : software project plan—defines the software engineering work by
describing the technical tasks to be conducted, the risks , resources that
will be required, the work products to be produced, and a work schedule.
Modeling : create a “sketch” of the thing
Construction : code generation (either manual or automated) and the
testing
Deployment : The software is delivered to the customer who evaluates the
delivered product
Umbrella Activities
 umbrella activities are applied throughout a software
project and help a software team manage and control
progress, quality, change, and risk. Typical umbrella
activities include:
 Software project tracking and control —allows the
software team to assess progress against the project plan
and take any necessary action to maintain the schedule.
 Risk management —assesses risks that may affect the
outcome of the project or the quality of the product.
 Software quality assurance —defines and conducts the
activities required to ensure software quality.
 Technical reviews —assess software engineering work
products in an effort to uncover and remove errors before they
are propagated to the next activity.
 Measurement —defines and collects process, project, and
product measures that assist the team in delivering software that
meets stakeholders’ needs; can be used in conjunction with all
other framework and umbrella activities.
 Software configuration management —manages the effects
of change throughout the software process.
 Reusability management —defines criteria for work product
reuse (including software components) and establishes
mechanisms to achieve reusable components.
 Work product preparation and production —encompass the
activities required to create work products such as models,
documents, logs, forms, and lists.
Software Engineering Practice
The Essence of Practice:
1. Understand the problem (communication and analysis).
2. Plan a solution (modeling and software design).
3. Carry out the plan (code generation).
4. Examine the result for accuracy (testing and quality assurance).
SOFTWARE DEVELOPMENT MYTHS
 Software development myths—erroneous beliefs about software
and the process that is used to build it—can be traced to the
earliest days of computing.
 myths for what they are—misleading attitudes that have caused
serious problems for managers and practitioners alike.
Management Myths
 Myth: We already have a book that's full of standards and
procedures for building software. Won't that provide my people with
everything they need to know?
 Reality: The book of standards may very well exist, but is it
used? Are software practitioners aware of its existence? Does it
reflect modern software engineering practice? Is it complete?
 Myth: If we get behind schedule, we can add more programmers
and catch up (sometimes called the “Mongolian horde” concept).
 Reality: Software development is not a mechanistic process like
manufacturing “adding people to a late software project makes it later
 Myth: If I decide to outsource the software project to a third
party, I can just relax and let that firm build it.
 Reality: If an organization does not understand how to manage
and control software projects internally, it will invariably struggle
when it outsources software projects
Customer myths
 Myth: A general statement of objectives is sufficient to begin
writing programs—we can fill in the details later.
 Reality: Although a comprehensive and stable statement of
requirements is not always possible, an ambiguous “statement of
objectives” is a recipe for disaster. Unambiguous requirements (usually
derived iteratively) are developed only through effective and
continuous communication between customer and developer.
 Myth: Software requirements continually change, but change can
be easily accommodated because software is flexible.
 Reality: It is true that software requirements change, but the
impact of change varies with the time at which it is introduced
Practitioner’s myths
 Myth: Once we write the program and get it to work, our job is
done.
 Reality: Someone once said that “the sooner you begin ‘writing
code,’ the longer it’ll take you to get done.”
 Myth: Software engineering will make us create voluminous and
unnecessary documentation and will invariably slow us down.
 Reality: Software engineering is not about creating documents. It
is about creating a quality product. Better quality leads to reduced
rework. And reduced rework results in faster delivery times.

More Related Content

What's hot

System requirements engineering
System requirements engineeringSystem requirements engineering
System requirements engineering
Animesh Chaturvedi
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
JayaKamal
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
 
Scenario based methods
Scenario based methodsScenario based methods
Scenario based methods
JoshuaU1
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
IIUI
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
arvind pandey
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
JayaKamal
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
MuhammadTalha436
 
SE18_Lec 00_Course Outline
SE18_Lec 00_Course OutlineSE18_Lec 00_Course Outline
SE18_Lec 00_Course Outline
Amr E. Mohamed
 
Sda 2
Sda   2Sda   2
9. Software Implementation
9. Software Implementation9. Software Implementation
9. Software Implementation
ghayour abbas
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
IIUI
 
Innoslate Overview
Innoslate OverviewInnoslate Overview
Innoslate Overview
Elizabeth Steiner
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
IIUI
 
Reference Data Management
Reference Data ManagementReference Data Management
Reference Data Management
Profinit
 
Model-driven architecture (MDA)
Model-driven architecture (MDA) Model-driven architecture (MDA)
Model-driven architecture (MDA)
Alia Hamwi
 
Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....
Babu Kanikicharla (K Y Babu Setty)
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
Assaf Gannon
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
Himanshu
 

What's hot (20)

System requirements engineering
System requirements engineeringSystem requirements engineering
System requirements engineering
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Scenario based methods
Scenario based methodsScenario based methods
Scenario based methods
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
SE18_Lec 00_Course Outline
SE18_Lec 00_Course OutlineSE18_Lec 00_Course Outline
SE18_Lec 00_Course Outline
 
Sda 2
Sda   2Sda   2
Sda 2
 
9. Software Implementation
9. Software Implementation9. Software Implementation
9. Software Implementation
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
 
Innoslate Overview
Innoslate OverviewInnoslate Overview
Innoslate Overview
 
Lecture 16 requirements modeling - scenario, information and analysis classes
Lecture 16   requirements modeling - scenario, information and analysis classesLecture 16   requirements modeling - scenario, information and analysis classes
Lecture 16 requirements modeling - scenario, information and analysis classes
 
Reference Data Management
Reference Data ManagementReference Data Management
Reference Data Management
 
software architecture
software architecturesoftware architecture
software architecture
 
Model-driven architecture (MDA)
Model-driven architecture (MDA) Model-driven architecture (MDA)
Model-driven architecture (MDA)
 
Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
 

Similar to Software engineering

Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
MSahibKhan
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
VijayakumarKadumbadi
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
bcanawakadalcollege
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
BhagyashriMore10
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
gondwana university
 
SE 1 Software Engineering.pptx
SE 1 Software Engineering.pptxSE 1 Software Engineering.pptx
SE 1 Software Engineering.pptx
MahiDivya
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
MUHAMMADUMERMEHMOOD1
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
AlenaDion
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
23017156038
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
ryan aja
 
SE
SESE
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
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
SIMONTHOMAS S
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
Baskarkncet
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Software Specifications with details exp
Software Specifications with details expSoftware Specifications with details exp
Software Specifications with details exp
AkhileshPansare
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
YaseenNazir3
 
Introduction to Software Engineering.ppt
Introduction to Software Engineering.pptIntroduction to Software Engineering.ppt
Introduction to Software Engineering.ppt
BambangWahono3
 

Similar to Software engineering (20)

Chapter_01.ppt
Chapter_01.pptChapter_01.ppt
Chapter_01.ppt
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
 
Introduction of software engineering
Introduction of software engineeringIntroduction of software engineering
Introduction of software engineering
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
 
SE 1 Software Engineering.pptx
SE 1 Software Engineering.pptxSE 1 Software Engineering.pptx
SE 1 Software Engineering.pptx
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
SE
SESE
SE
 
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
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Specifications with details exp
Software Specifications with details expSoftware Specifications with details exp
Software Specifications with details exp
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
Introduction to Software Engineering.ppt
Introduction to Software Engineering.pptIntroduction to Software Engineering.ppt
Introduction to Software Engineering.ppt
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 

Recently uploaded

DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 

Recently uploaded (20)

DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 

Software engineering

  • 1. Introduction Prepared By Dr.P.Ananthi Reference : Software Engineering A Practitioner Approach- Roger S. Pressman, Bruce R. Maxim
  • 2.
  • 3. Computer software is the product that software professionals build and then support over the long term. It encompasses programs that execute within a computer of any size and architecture, content that is presented as the computer programs execute, and descriptive information in both hard copy and virtual forms that encompass virtually any electronic media. Nature of software It is a product, and at the same time, the vehicle for delivering a product. software is an information transformer—producing, managing, acquiring, modifying, displaying, or transmitting information that can be as simple as a single bit or as complex as a multimedia presentation derived from data acquired from dozens of independent sources.
  • 4. Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures that enable the programs to adequately manipulate information, and (3) descriptive information in both hard copy and virtual forms that describes the operation and use of the programs.
  • 5.  In both activities such as hardware and software, high quality is achieved through good design.  In hardware – quality problems that is nonexistent for software.  Both activities are dependent on people but the relationship between people applied and work accomplished is entirely different.
  • 6. Failure curve for hardware Steady – state level Hardware failure due to dust, vibration, abuse, temperature extremes and etc…
  • 7. Failure curve for software • Idealized curve • Deteriorate (get worse). • Error will be introduced, causing a failure rate curve to spike as shown in “Active curve”. Features of Software •software is engineered • software doesn’t wear out • software is complex
  • 8. What is Software Engineering?  Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements.
  • 9. Software Application Domains System software— a collection of programs written to service other programs. e.g., compilers, editors, and file management utilities, operating system components, drivers, networking software, telecommunications processors Application software —stand-alone programs that solve a specific business need. Engineering/scientific software —a broad array of “number- crunching programs that range from astronomy to volcanology, from automotive stress analysis to orbital dynamics, and from computer-aided design to molecular biology, from genetic analysis to meteorology
  • 10. Embedded software— resides within a product or system and is used to implement and control features and functions for the end user and for the system itself. Product-line software —designed to provide a specific capability for use by many different customers. inventory control products Web/Mobile applications —this network-centric software category spans a wide array of applications and encompasses both browser-based apps and software that resides on mobile devices
  • 11. Artificial intelligence software— makes use of nonnumerical algorithms to solve complex problems that are not amenable to computation or straightforward analysis. Example : robotics, expert systems, pattern recognition (image and voice), artificial neural networks, theorem proving, and game playing.
  • 12. Legacy Software: Legacy software systems were developed decades ago and have been continually modified to meet changes in business requirements and computing platforms Evolve 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. • 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 within a evolving computing environment.
  • 13. THE CHANGING NATURE OF SOFTWARE WebApps Web-based systems and applications Mobile Applications software that has been specifi cally designed to reside on a mobile platform (e.g., iOS, Android, or Windows Mobile). Cloud Computing Cloud computing encompasses an infrastructure or “ecosystem” that enables any user, anywhere, to use a computing device to share computing resources on a broad scale. Product Line Software The Software Engineering Institute defines a software product line as “a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.”
  • 14. Software Engineering Definition: (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. Software engineering is a layered technology. Organizational commitment to quality. Total quality management, Six Sigma The foundation for software engineering is the process layer. technology layers together and enables rational and timely development of computer software Software engineering methods provide the technical how-to’s for building software. Methods encompass a broad array of tasks that include communication, requirements analysis, design modeling, program construction, testing, and support. Software engineering tools provide automated or semi-automated support for the process and the methods. computer-aided software engineering ,
  • 15. A process is a collection of activities, actions, and tasks that are performed when some work product is to be created. An activity strives to achieve a broad objective (e.g., communication with stakeholders) and is applied regardless of the application domain, size of the project, complexity of the effort, or degree of rigor with which software engineering is to be applied. An action (e.g., architectural design) encompasses a set of tasks that produce a major work product (e.g., an architectural model). A task focuses on a small, but well-defined objective (e.g.,conducting a unit test) that produces a tangible outcome. THE SOFTWARE PROCESS
  • 16. The Process Framework Process framework establishes the foundation for a complete software engineering process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity. The process framework encompasses a set of umbrella activities Generic process framework Communication : communicate and collaborate with the customer Planning : software project plan—defines the software engineering work by describing the technical tasks to be conducted, the risks , resources that will be required, the work products to be produced, and a work schedule. Modeling : create a “sketch” of the thing Construction : code generation (either manual or automated) and the testing Deployment : The software is delivered to the customer who evaluates the delivered product
  • 17. Umbrella Activities  umbrella activities are applied throughout a software project and help a software team manage and control progress, quality, change, and risk. Typical umbrella activities include:
  • 18.  Software project tracking and control —allows the software team to assess progress against the project plan and take any necessary action to maintain the schedule.  Risk management —assesses risks that may affect the outcome of the project or the quality of the product.  Software quality assurance —defines and conducts the activities required to ensure software quality.
  • 19.  Technical reviews —assess software engineering work products in an effort to uncover and remove errors before they are propagated to the next activity.  Measurement —defines and collects process, project, and product measures that assist the team in delivering software that meets stakeholders’ needs; can be used in conjunction with all other framework and umbrella activities.  Software configuration management —manages the effects of change throughout the software process.  Reusability management —defines criteria for work product reuse (including software components) and establishes mechanisms to achieve reusable components.  Work product preparation and production —encompass the activities required to create work products such as models, documents, logs, forms, and lists.
  • 20. Software Engineering Practice The Essence of Practice: 1. Understand the problem (communication and analysis). 2. Plan a solution (modeling and software design). 3. Carry out the plan (code generation). 4. Examine the result for accuracy (testing and quality assurance).
  • 21. SOFTWARE DEVELOPMENT MYTHS  Software development myths—erroneous beliefs about software and the process that is used to build it—can be traced to the earliest days of computing.  myths for what they are—misleading attitudes that have caused serious problems for managers and practitioners alike.
  • 22. Management Myths  Myth: We already have a book that's full of standards and procedures for building software. Won't that provide my people with everything they need to know?  Reality: The book of standards may very well exist, but is it used? Are software practitioners aware of its existence? Does it reflect modern software engineering practice? Is it complete?
  • 23.  Myth: If we get behind schedule, we can add more programmers and catch up (sometimes called the “Mongolian horde” concept).  Reality: Software development is not a mechanistic process like manufacturing “adding people to a late software project makes it later  Myth: If I decide to outsource the software project to a third party, I can just relax and let that firm build it.  Reality: If an organization does not understand how to manage and control software projects internally, it will invariably struggle when it outsources software projects
  • 24. Customer myths  Myth: A general statement of objectives is sufficient to begin writing programs—we can fill in the details later.  Reality: Although a comprehensive and stable statement of requirements is not always possible, an ambiguous “statement of objectives” is a recipe for disaster. Unambiguous requirements (usually derived iteratively) are developed only through effective and continuous communication between customer and developer.  Myth: Software requirements continually change, but change can be easily accommodated because software is flexible.  Reality: It is true that software requirements change, but the impact of change varies with the time at which it is introduced
  • 25. Practitioner’s myths  Myth: Once we write the program and get it to work, our job is done.  Reality: Someone once said that “the sooner you begin ‘writing code,’ the longer it’ll take you to get done.”  Myth: Software engineering will make us create voluminous and unnecessary documentation and will invariably slow us down.  Reality: Software engineering is not about creating documents. It is about creating a quality product. Better quality leads to reduced rework. And reduced rework results in faster delivery times.