SlideShare a Scribd company logo
AN INTRODUCTION TO
SOFTWARE ENGINEERING
CUSTOMER
Sponsors system
development

USER
Uses
system

$$
$
Co nee ,
ds
ob nt
lig rac
at tu
io al
n

DEVELOPER

Needs
Software system
Figure 1.7 Participants in software development.

Builds
system
SOFTWARE DEVELOPMENT STEPS

System Design

ANALYST

DESIGNER
PROGRAMMER

Program Design
Program Implementation

TESTER

Unit Testing
Integration Testing
System Testing

TRAINER
System Delivery
Maintenance

Figure1.11 The roles of the development team

DEVELOPER ROLES

Requirements Analysis
and Definition
Object technology

Desktop computing

Problems with waterfall

CHANGES IN
SOFTWARE
ENGINEERING

Time to market

Networking

Shifts in economics
User interfaces

Figure1.12 The key factors that have changed software development
OBJECTIVES
SOFTWARE ENGINEERING
FAQS ABOUT SOFTWARE ENGINEERING
FAQS ABOUT SOFTWARE ENGINEERING
FAQS ABOUT SOFTWARE ENGINEERING
FAQS ABOUT SOFTWARE ENGINEERING
WHAT IS SOFTWARE?
SOFTWARE PRODUCT DEVELOPED
FOR
TYPE OF SOFTWARE PRODUCTS
CREATING NEW SOFTWARE
VARIETY OF SOFTWARE PRODUCTS
VARIETY OF SOFTWARE PRODUCTS











Real time
Embedded systems
Data processing
pensions
Information systems
libraries
Sensors
System software
compilers
Communications
telephones
Offices
conferences
Scientific
forecasting
Graphical

: air traffic control
: digital camera, GPS
: telephone billing,
: web sites, digital
: weather data
: operating systems,
: routers, mobile
: word processing, video
: simulations, weather
: film making, design
CATEGORIES OF SOFTWARE PRODUCT


Generic (e.g., Microsoft Excel)



Packages (e.g., Mathematica)



Customized versions of generic packages (e.g.,
UTeM's payroll system)



Bespoke (customized) (e.g., IRS internal system)



Demonstration, prototype, research, …
WHAT IS SOFTWARE ENGINEERING?

Software engineering is an

engineering discipline that is
concerned with all aspects of software
production.
WHAT IS SOFTWARE ENGINEERING?

Software engineers should adopt a

systematic and organised approach
to their work and use appropriate tools and
techniques depending on the problem to
be solved, the development constraints and the
resources available.
Computer Science

Theories

Customer

Compute
r
Function
s
Software
Engineering

Tools and
Techniques
to Solve
Problem

Problem
SOFTWARE ENGINEERING VS COMPUTER
SCIENCE?
Computer Science

Software Engineering

Computer science is
concerned with theory and
fundamentals;
 Computer science theories
are still insufficient to act as
a complete underpinning for
software engineering (unlike
e.g. physics and electrical
engineering).





Software engineering is
concerned with the
practicalities of developing
and delivering useful
software.
SOFTWARE ENGINEERING VS SYSTEM
ENGINEERING?
System engineering




Concerned with all aspects
of computer-based systems
development including
hardware, software and
process engineering.
System engineers are
involved in system
specification, architectural
design, integration and
deployment.

Software engineering


concerned with developing
the software infrastructure,
control, applications and
databases in the system.
WHAT IS A SOFTWARE PROCESS?

A set of activities whose goal is the
development or evolution of
software.
WHAT IS A SOFTWARE PROCESS?
WHAT IS A SOFTWARE PROCESS?
WHAT IS A SOFTWARE PROCESS MODEL?

A simplified representation of a
software process, presented
from a specific perspective.
EXAMPLE OF PERSPECTIVES
GENERIC PROCESS MODELS
can lead to

Human Error

can lead to

Fault

Failure
SOFTWARE COSTS
Software costs often dominate computer system costs. The
costs of software on a PC are often greater than the hardware
cost.
 Software costs more to maintain than it does to develop. For
systems with a long life, maintenance costs may be several times
development costs.
 Software engineering is concerned with cost-effective software
development.

WHAT ARE THE COSTS OF SOFTWARE
ENGINEERING?






Roughly 60% of costs are development costs, 40% are testing
costs. For custom software, evolution costs often exceed
development costs.
Costs vary depending on the type of system being developed
and the requirements of system attributes such as performance
and system reliability.
Distribution of costs depends on the development model that
is used.
WHAT IS CASE (COMPUTERAIDED SOFTWARE ENGINEERING)
Software systems that are intended to provide automated
support for software process activities.
 CASE systems are often used for method support.
 Upper-CASE


 Tools to support the early process activities of requirements and

design;



Lower-CASE
 Tools to support later activities such as programming, debugging and

testing.
Correctness
Reliability
Efficiency
Integrity
Usability
Maintainability
Testability
Flexibility
Portability
Reusability
Interoperability

Traceability
Completeness
Consistency
Accuracy
Error Tolerance
Execution Efficiency
Storage efficiency
Access control
Access audit
Operability
Training
Communicativeness
Simplicity
Conciseness
Instrumentation
Self-descriptiveness
Expandability
Generality
Modularity
Software System Independence
Machine Independence
Communications commonality
Data commonality

Figure 1.5 McCall’s quality model.
WHAT ARE THE ATTRIBUTES OF GOOD
SOFTWARE?




The software should deliver the required
functionality and performance to the user and should
be maintainable, dependable and acceptable.
Maintainability
◦



Dependability
◦



Software must be trustworthy;

Efficiency
◦



Software must evolve to meet changing needs;

Software should not make wasteful use of system
resources;

Acceptability
◦

Software must accepted by the users for which it was
designed. This means it must be understandable, usable
and compatible with other systems.
WHAT ARE THE KEY
CHALLENGES FACING SOFTWARE
ENGINEERING?
Heterogeneity, delivery and trust.
 Heterogeneity


◦



Delivery

◦



Developing techniques for building software that can cope with
heterogeneous platforms and execution environments;
Developing techniques that lead to faster delivery of software;

Trust

◦

Developing techniques that demonstrate that software can be trusted
by its users.
KEY POINTS
 Software

engineering is an engineering discipline that
is concerned with all aspects of software production.
 Software products consist of developed programs and
associated documentation. Essential product attributes
are maintainability, dependability, efficiency and
usability.
CONTINUE..
•

•

The software process consists of activities that are involved in
developing software products. Basic activities are software
specification, development, validation and evolution.
Methods are organised ways of producing software. They
include suggestions for the process to be followed, the
notations to be used, rules governing the system descriptions
which are produced and design guidelines.

More Related Content

What's hot

Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
Muhammad Asim
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
Carlos Gavidia-Calderon
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
Preeti Mishra
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
Achmad Solichin
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisis
chandan sharma
 
Agile software process
Agile software processAgile software process
Agile software process
Jennifer Polack
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Jennifer Polack
 
Characteristics of Software
Characteristics of SoftwareCharacteristics of Software
Characteristics of Software
Upekha Vandebona
 
software engineering
software engineeringsoftware engineering
software engineering
Azad public school
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
Fadhil Ismail
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
AlenaDion
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
Upekha Vandebona
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
Purvik Rana
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineering
Jennifer Polack
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
IIUI
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
Hitesh Mohapatra
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Majane Padua
 
Software testing and software development process
Software testing and software development processSoftware testing and software development process
Software testing and software development processGen Aloys Ochola Badde
 

What's hot (20)

Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisis
 
Agile software process
Agile software processAgile software process
Agile software process
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Characteristics of Software
Characteristics of SoftwareCharacteristics of Software
Characteristics of Software
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
SECh123
SECh123SECh123
SECh123
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineering
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software testing and software development process
Software testing and software development processSoftware testing and software development process
Software testing and software development process
 

Similar to Software engineering

六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩
bxuket
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
tnxaht
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩
eqhnwl
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
ohtpwshx
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
pchgmf
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
hcslenk
 
Intro
IntroIntro
Intro
hinaaaa123
 
software engineering
software engineeringsoftware engineering
software engineering
subhakirthi
 
17CS45_CBCS_Moulde 1 ppt
17CS45_CBCS_Moulde 1 ppt17CS45_CBCS_Moulde 1 ppt
17CS45_CBCS_Moulde 1 ppt
sweetheartshridevi
 
Soft Eng - Introduction
Soft Eng - IntroductionSoft Eng - Introduction
Soft Eng - IntroductionJomel Penalba
 
software engineering
 software engineering software engineering
software engineering
Ahmed Elshahat Mohamed
 
C0371019027
C0371019027C0371019027
C0371019027
inventionjournals
 
Introducing Software Engineering
Introducing Software EngineeringIntroducing Software Engineering
Introducing Software Engineering
sommerville-videos
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Mohamed Essam
 
what is software Engineering for students
what is software Engineering for studentswhat is software Engineering for students
what is software Engineering for students
AssadLeo1
 
M017548895
M017548895M017548895
M017548895
IOSR Journals
 
Importance of software engineering
Importance of software engineeringImportance of software engineering
Importance of software engineering
SRM Easwari engineering college, Ramapuram, Chennai
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
NancyBeaulah_R
 

Similar to Software engineering (20)

六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
 
Intro
IntroIntro
Intro
 
software engineering
software engineeringsoftware engineering
software engineering
 
17CS45_CBCS_Moulde 1 ppt
17CS45_CBCS_Moulde 1 ppt17CS45_CBCS_Moulde 1 ppt
17CS45_CBCS_Moulde 1 ppt
 
Soft Eng - Introduction
Soft Eng - IntroductionSoft Eng - Introduction
Soft Eng - Introduction
 
Ch1
Ch1Ch1
Ch1
 
Ch1
Ch1Ch1
Ch1
 
software engineering
 software engineering software engineering
software engineering
 
C0371019027
C0371019027C0371019027
C0371019027
 
Introducing Software Engineering
Introducing Software EngineeringIntroducing Software Engineering
Introducing Software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
what is software Engineering for students
what is software Engineering for studentswhat is software Engineering for students
what is software Engineering for students
 
M017548895
M017548895M017548895
M017548895
 
Importance of software engineering
Importance of software engineeringImportance of software engineering
Importance of software engineering
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 

More from Nur Aqilah Ahmad Khairi (8)

Boston matrix analysis
Boston matrix analysisBoston matrix analysis
Boston matrix analysis
 
Sains pemakanan dalam islam
Sains pemakanan dalam islamSains pemakanan dalam islam
Sains pemakanan dalam islam
 
The effects of social interaction to productivity at work
The effects of social interaction to productivity at workThe effects of social interaction to productivity at work
The effects of social interaction to productivity at work
 
Customer intimacy
Customer intimacyCustomer intimacy
Customer intimacy
 
Software project management
Software project managementSoftware project management
Software project management
 
Asp.net
Asp.netAsp.net
Asp.net
 
Web services
Web servicesWeb services
Web services
 
The information systems life cycle
The information systems life cycleThe information systems life cycle
The information systems life cycle
 

Recently uploaded

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 

Recently uploaded (20)

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 

Software engineering

  • 2. CUSTOMER Sponsors system development USER Uses system $$ $ Co nee , ds ob nt lig rac at tu io al n DEVELOPER Needs Software system Figure 1.7 Participants in software development. Builds system
  • 3. SOFTWARE DEVELOPMENT STEPS System Design ANALYST DESIGNER PROGRAMMER Program Design Program Implementation TESTER Unit Testing Integration Testing System Testing TRAINER System Delivery Maintenance Figure1.11 The roles of the development team DEVELOPER ROLES Requirements Analysis and Definition
  • 4. Object technology Desktop computing Problems with waterfall CHANGES IN SOFTWARE ENGINEERING Time to market Networking Shifts in economics User interfaces Figure1.12 The key factors that have changed software development
  • 7. FAQS ABOUT SOFTWARE ENGINEERING
  • 8. FAQS ABOUT SOFTWARE ENGINEERING
  • 9. FAQS ABOUT SOFTWARE ENGINEERING
  • 10. FAQS ABOUT SOFTWARE ENGINEERING
  • 13. TYPE OF SOFTWARE PRODUCTS
  • 16. VARIETY OF SOFTWARE PRODUCTS           Real time Embedded systems Data processing pensions Information systems libraries Sensors System software compilers Communications telephones Offices conferences Scientific forecasting Graphical : air traffic control : digital camera, GPS : telephone billing, : web sites, digital : weather data : operating systems, : routers, mobile : word processing, video : simulations, weather : film making, design
  • 17. CATEGORIES OF SOFTWARE PRODUCT  Generic (e.g., Microsoft Excel)  Packages (e.g., Mathematica)  Customized versions of generic packages (e.g., UTeM's payroll system)  Bespoke (customized) (e.g., IRS internal system)  Demonstration, prototype, research, …
  • 18. WHAT IS SOFTWARE ENGINEERING? Software engineering is an engineering discipline that is concerned with all aspects of software production.
  • 19. WHAT IS SOFTWARE ENGINEERING? Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available.
  • 21. SOFTWARE ENGINEERING VS COMPUTER SCIENCE? Computer Science Software Engineering Computer science is concerned with theory and fundamentals;  Computer science theories are still insufficient to act as a complete underpinning for software engineering (unlike e.g. physics and electrical engineering).   Software engineering is concerned with the practicalities of developing and delivering useful software.
  • 22. SOFTWARE ENGINEERING VS SYSTEM ENGINEERING? System engineering   Concerned with all aspects of computer-based systems development including hardware, software and process engineering. System engineers are involved in system specification, architectural design, integration and deployment. Software engineering  concerned with developing the software infrastructure, control, applications and databases in the system.
  • 23. WHAT IS A SOFTWARE PROCESS? A set of activities whose goal is the development or evolution of software.
  • 24. WHAT IS A SOFTWARE PROCESS?
  • 25. WHAT IS A SOFTWARE PROCESS?
  • 26. WHAT IS A SOFTWARE PROCESS MODEL? A simplified representation of a software process, presented from a specific perspective.
  • 29. can lead to Human Error can lead to Fault Failure
  • 30. SOFTWARE COSTS Software costs often dominate computer system costs. The costs of software on a PC are often greater than the hardware cost.  Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs.  Software engineering is concerned with cost-effective software development. 
  • 31. WHAT ARE THE COSTS OF SOFTWARE ENGINEERING?    Roughly 60% of costs are development costs, 40% are testing costs. For custom software, evolution costs often exceed development costs. Costs vary depending on the type of system being developed and the requirements of system attributes such as performance and system reliability. Distribution of costs depends on the development model that is used.
  • 32. WHAT IS CASE (COMPUTERAIDED SOFTWARE ENGINEERING) Software systems that are intended to provide automated support for software process activities.  CASE systems are often used for method support.  Upper-CASE   Tools to support the early process activities of requirements and design;  Lower-CASE  Tools to support later activities such as programming, debugging and testing.
  • 33. Correctness Reliability Efficiency Integrity Usability Maintainability Testability Flexibility Portability Reusability Interoperability Traceability Completeness Consistency Accuracy Error Tolerance Execution Efficiency Storage efficiency Access control Access audit Operability Training Communicativeness Simplicity Conciseness Instrumentation Self-descriptiveness Expandability Generality Modularity Software System Independence Machine Independence Communications commonality Data commonality Figure 1.5 McCall’s quality model.
  • 34. WHAT ARE THE ATTRIBUTES OF GOOD SOFTWARE?   The software should deliver the required functionality and performance to the user and should be maintainable, dependable and acceptable. Maintainability ◦  Dependability ◦  Software must be trustworthy; Efficiency ◦  Software must evolve to meet changing needs; Software should not make wasteful use of system resources; Acceptability ◦ Software must accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems.
  • 35. WHAT ARE THE KEY CHALLENGES FACING SOFTWARE ENGINEERING? Heterogeneity, delivery and trust.  Heterogeneity  ◦  Delivery ◦  Developing techniques for building software that can cope with heterogeneous platforms and execution environments; Developing techniques that lead to faster delivery of software; Trust ◦ Developing techniques that demonstrate that software can be trusted by its users.
  • 36. KEY POINTS  Software engineering is an engineering discipline that is concerned with all aspects of software production.  Software products consist of developed programs and associated documentation. Essential product attributes are maintainability, dependability, efficiency and usability.
  • 37. CONTINUE.. • • The software process consists of activities that are involved in developing software products. Basic activities are software specification, development, validation and evolution. Methods are organised ways of producing software. They include suggestions for the process to be followed, the notations to be used, rules governing the system descriptions which are produced and design guidelines.