SlideShare a Scribd company logo
Attributes of good software
● Maintainability
●

Software must evolve to meet changing needs

● Dependability
●

Software must be trustworthy

● Efficiency
●

Software should not make wasteful use of system resources

● Usability
●

Software must be usable by the users for which it was designed

1/46
Types of software
● System Software. A collection of programs written to service other
●
●
●
●

●

programs at system level. For example, compiler, operating systems.
Real-time Software. Programs that monitor/analyze/control real
world events as they occur.
Business Software: Programs that access, analyze and process
business information.
Engineering and Scientific Software. Software using “number
crunching” algorithms for different science and applications. System
simulation, computer-aided design.
Embedded Software. Embedded software resides in read-only
memory and is used to control products and systems for the
consumer and industrial markets. It has very limited and esoteric
functions and control capability.
Artificial Intelligence (AI) Software. Programs make use of AI
techniques and methods to solve complex problems. Active areas are
expert systems, pattern recognition, games
2/46
Types of software
● Personal

computer
software.
Word
processing,
spreadsheets,
computer
graphics,
multimedia,
entertainment,
database
management,
personal
and
business
financial
applications, external network, and database access are
only a few of hundreds of applications.
● Web-based software: The Web pages retrieved by a
browser are software that incorporates executable
instructions (e.g., CGI, HTML, Perl, or Java), and data
(e.g., hypertext and a variety of visual and audio formats).
● Software Tools and CASE environment. Tools and
programs that help the construction of application
software and systems. For example, test tools, version
control tools.
3/46
Challenges

● Do not provide the desired functionality
● Take too long to build
● Cost too much to build
● Require too much resources (time, space) to run
● Cannot evolve to meet changing needs
IBM survey of 24 companies developing distributed systems:
● 55% of the projects cost more than expected
● 68% overran their schedules
● 88% had to be substantially redesigned

4/46
Challenges
● Software product size is increasing exponentially

● faster, smaller, cheaper hardware

● Software is everywhere: from TV sets to cell-phones
● Software is in safety-critical systems
● cars, airplanes, nuclear-power plants

● We are seeing more of
● distributed systems
● embedded systems
● real-time systems

● These kinds of systems are harder to build

● Software requirements change

● software evolves rather than being built
5/46
Section II – Software Engineering
● Definition Software Engineering (SE)
● Why is SE?
● What is SE?
● Software Models

6/46
Definition SE
● “A

systematic
approach
to
the
analysis, design, implementation and maintenance of
software.”
(The Free On-Line Dictionary of Computing)

● “ The systematic application of tools and techniques in the
development of computer-based applications.”
(Sue Conger in The New Software Engineering)

● “ Software Engineering is about designing and developing
high-quality software.”

(Shari Lawrence Pfleeger in Software Engineering - The
Production of Quality Software)
7/46
Definition SE
● Definition proposed by Fritz Bauer
● “[Software

engineering is] the establishment and use of
sound engineering principles in order to obtain economically
software that is reliable and works efficiently on real
machines.”

● Definition developed by IEEE
● “Software

Engineering: (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 (1).”

8/46
Why SE?
● Major Goals

● To increase software productivity and quality
● To effectively control software schedule and planning
● To reduce the cost of software development
● To meet the customers’ needs and requirements
● To enhance the conduction of software engineering
process
● To improve the current software engineering practice
● To support the engineers’ activities in a systematic and
efficient manner

9/46
What is SE?

● Software engineering is a layered technology
● Process
● Methods
● Tools

10/46
What is SE?
● Process

● Glue – holds the technology layers together
● Foundation for software engineering
● Enables timely development
● Forms the basis for management control of

software

projects
● Establishes the context in which technical methods are
applied
● Work products are produced
● Milestones are established
● Quality is ensured
● Change is properly managed
11/46
What is SE?
● Methods
● Provide

the technical “how to’s” for constructing

software
● Tasks include communications,
analysis,
design
modeling,
construction, testing, and support.
● Rely on set of basic principles

requirement
program

● To govern each area of the technology
● Include modeling activities

12/46
What is SE?
● Tools

● Automated or semi-automated support for the process
and methods

● A quality focus

● The bedrock
● Any engineering

approach must rest on
organizational commitment to quality.
● Foster a continuous process improvement culture

an

13/46
SE phases
● SE work is categorized into three generic phases
● Definition phase
● Development phase

● Support phase

14/46
SE phases
● Definition phase: “WHAT”. To identify
●
●
●
●
●
●

what information be processed,
what function and performance desired,
what system behavior expected,
what interfaces be established,
what design constraints exist,
and what validation criteria required.

>>The key requirements of the system and the software are
identified.

15/46
SE phases
● Development phase: “HOW”. To define
● how data are to be structured,
● how function to be implemented within a software
architecture,
● how procedural details are to be implemented,
● how interfaces are to be characterized,
● how the design will be translated into a programming
language (or nonprocedural language),

● and how testing will be performed.

16/46
SE phases
● Support phase: “CHANGE” associated with
● error correction,
● adaptations required as the software's
environment evolves,
● and changes due to enhancements brought
about by changing customer requirements.
>>Four types of change are encountered
during
the
support
phase:
Correction, Adaptation, Enhancement, and
Prevention.

17/46

More Related Content

What's hot

Bai giang-se-24feb14
Bai giang-se-24feb14Bai giang-se-24feb14
Bai giang-spm-20feb14
Bai giang-spm-20feb14Bai giang-spm-20feb14
Bai giang-spm-13feb14
Bai giang-spm-13feb14Bai giang-spm-13feb14
Bai giang-se-17feb14
Bai giang-se-17feb14Bai giang-se-17feb14
Bai giang-se-20feb14
Bai giang-se-20feb14Bai giang-se-20feb14
Bai giang-se-03mar14
Bai giang-se-03mar14Bai giang-se-03mar14
Bai giang-se-27feb14
Bai giang-se-27feb14Bai giang-se-27feb14
Bai giang-se-06mar14
Bai giang-se-06mar14Bai giang-se-06mar14
Bai giang-se-13feb14
Bai giang-se-13feb14Bai giang-se-13feb14
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle model
Stephennancy
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
Stephennancy
 
Project planning
Project planningProject planning
Project planning
Sutha Vincent
 
Software project management
Software project managementSoftware project management
Software project management
Sutha Vincent
 
4.software management
4.software management4.software management
4.software management
Deepak Sharma
 
software project management Elaboration phase
software project management Elaboration phasesoftware project management Elaboration phase
software project management Elaboration phase
REHMAT ULLAH
 
Unit 1 sepm the generic process model
Unit 1 sepm the generic process modelUnit 1 sepm the generic process model
Unit 1 sepm the generic process model
KanchanPatil34
 
Microsoft Project
Microsoft ProjectMicrosoft Project
software project management
software project managementsoftware project management
software project management
Ankit Gupta
 
Itertaive process-development model
Itertaive process-development modelItertaive process-development model
Itertaive process-development model
university of education,Lahore
 
R Studio (Report)
R Studio (Report)R Studio (Report)
R Studio (Report)
Adeel Rasheed
 

What's hot (20)

Bai giang-se-24feb14
Bai giang-se-24feb14Bai giang-se-24feb14
Bai giang-se-24feb14
 
Bai giang-spm-20feb14
Bai giang-spm-20feb14Bai giang-spm-20feb14
Bai giang-spm-20feb14
 
Bai giang-spm-13feb14
Bai giang-spm-13feb14Bai giang-spm-13feb14
Bai giang-spm-13feb14
 
Bai giang-se-17feb14
Bai giang-se-17feb14Bai giang-se-17feb14
Bai giang-se-17feb14
 
Bai giang-se-20feb14
Bai giang-se-20feb14Bai giang-se-20feb14
Bai giang-se-20feb14
 
Bai giang-se-03mar14
Bai giang-se-03mar14Bai giang-se-03mar14
Bai giang-se-03mar14
 
Bai giang-se-27feb14
Bai giang-se-27feb14Bai giang-se-27feb14
Bai giang-se-27feb14
 
Bai giang-se-06mar14
Bai giang-se-06mar14Bai giang-se-06mar14
Bai giang-se-06mar14
 
Bai giang-se-13feb14
Bai giang-se-13feb14Bai giang-se-13feb14
Bai giang-se-13feb14
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle model
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
 
Project planning
Project planningProject planning
Project planning
 
Software project management
Software project managementSoftware project management
Software project management
 
4.software management
4.software management4.software management
4.software management
 
software project management Elaboration phase
software project management Elaboration phasesoftware project management Elaboration phase
software project management Elaboration phase
 
Unit 1 sepm the generic process model
Unit 1 sepm the generic process modelUnit 1 sepm the generic process model
Unit 1 sepm the generic process model
 
Microsoft Project
Microsoft ProjectMicrosoft Project
Microsoft Project
 
software project management
software project managementsoftware project management
software project management
 
Itertaive process-development model
Itertaive process-development modelItertaive process-development model
Itertaive process-development model
 
R Studio (Report)
R Studio (Report)R Studio (Report)
R Studio (Report)
 

Viewers also liked

Bai giang-uml-21jan14
Bai giang-uml-21jan14Bai giang-uml-21jan14
Advanced CT Visualization Software
Advanced CT Visualization SoftwareAdvanced CT Visualization Software
Advanced CT Visualization Software
Mathias Weiss
 
Bai giang-uml-14jan14
Bai giang-uml-14jan14Bai giang-uml-14jan14
Metricas de proceso y proyecto
Metricas de proceso y proyectoMetricas de proceso y proyecto
Metricas de proceso y proyecto
Edison Tobar
 
Bao tri-phan-mem-for-56 pm
Bao tri-phan-mem-for-56 pmBao tri-phan-mem-for-56 pm
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareMétricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Galo Lalangui
 
Métricas de procesos y proyectos
Métricas de procesos y proyectosMétricas de procesos y proyectos
Métricas de procesos y proyectos
jose_macias
 

Viewers also liked (7)

Bai giang-uml-21jan14
Bai giang-uml-21jan14Bai giang-uml-21jan14
Bai giang-uml-21jan14
 
Advanced CT Visualization Software
Advanced CT Visualization SoftwareAdvanced CT Visualization Software
Advanced CT Visualization Software
 
Bai giang-uml-14jan14
Bai giang-uml-14jan14Bai giang-uml-14jan14
Bai giang-uml-14jan14
 
Metricas de proceso y proyecto
Metricas de proceso y proyectoMetricas de proceso y proyecto
Metricas de proceso y proyecto
 
Bao tri-phan-mem-for-56 pm
Bao tri-phan-mem-for-56 pmBao tri-phan-mem-for-56 pm
Bao tri-phan-mem-for-56 pm
 
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareMétricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de software
 
Métricas de procesos y proyectos
Métricas de procesos y proyectosMétricas de procesos y proyectos
Métricas de procesos y proyectos
 

Similar to Bai giang-se-16jan14

Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1
Amir Shahzad
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
SADEED AMEEN
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
Education Front
 
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
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir Kotov
 
Software Engineering1-1.pptx
Software Engineering1-1.pptxSoftware Engineering1-1.pptx
Software Engineering1-1.pptx
naqibullah2022faryab
 
SE
SESE
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Mohamed Essam
 
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
 
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
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
ssuserdee5bb1
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
YousefYassin5
 
SE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptxSE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptx
ssuser9d6aac
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
SherinRappai
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
GaytriMate
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptx
nohaaalrajhi
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
LeahRachael
 
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 Bai giang-se-16jan14 (20)

Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
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
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
Software Engineering1-1.pptx
Software Engineering1-1.pptxSoftware Engineering1-1.pptx
Software Engineering1-1.pptx
 
SE
SESE
SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
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
 
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
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
SE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptxSE-MODULE-1-chap1.pptx
SE-MODULE-1-chap1.pptx
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptx
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
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
 

Recently uploaded

Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Diana Rendina
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
iammrhaywood
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 

Recently uploaded (20)

Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 

Bai giang-se-16jan14

  • 1. Attributes of good software ● Maintainability ● Software must evolve to meet changing needs ● Dependability ● Software must be trustworthy ● Efficiency ● Software should not make wasteful use of system resources ● Usability ● Software must be usable by the users for which it was designed 1/46
  • 2. Types of software ● System Software. A collection of programs written to service other ● ● ● ● ● programs at system level. For example, compiler, operating systems. Real-time Software. Programs that monitor/analyze/control real world events as they occur. Business Software: Programs that access, analyze and process business information. Engineering and Scientific Software. Software using “number crunching” algorithms for different science and applications. System simulation, computer-aided design. Embedded Software. Embedded software resides in read-only memory and is used to control products and systems for the consumer and industrial markets. It has very limited and esoteric functions and control capability. Artificial Intelligence (AI) Software. Programs make use of AI techniques and methods to solve complex problems. Active areas are expert systems, pattern recognition, games 2/46
  • 3. Types of software ● Personal computer software. Word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, personal and business financial applications, external network, and database access are only a few of hundreds of applications. ● Web-based software: The Web pages retrieved by a browser are software that incorporates executable instructions (e.g., CGI, HTML, Perl, or Java), and data (e.g., hypertext and a variety of visual and audio formats). ● Software Tools and CASE environment. Tools and programs that help the construction of application software and systems. For example, test tools, version control tools. 3/46
  • 4. Challenges ● Do not provide the desired functionality ● Take too long to build ● Cost too much to build ● Require too much resources (time, space) to run ● Cannot evolve to meet changing needs IBM survey of 24 companies developing distributed systems: ● 55% of the projects cost more than expected ● 68% overran their schedules ● 88% had to be substantially redesigned 4/46
  • 5. Challenges ● Software product size is increasing exponentially ● faster, smaller, cheaper hardware ● Software is everywhere: from TV sets to cell-phones ● Software is in safety-critical systems ● cars, airplanes, nuclear-power plants ● We are seeing more of ● distributed systems ● embedded systems ● real-time systems ● These kinds of systems are harder to build ● Software requirements change ● software evolves rather than being built 5/46
  • 6. Section II – Software Engineering ● Definition Software Engineering (SE) ● Why is SE? ● What is SE? ● Software Models 6/46
  • 7. Definition SE ● “A systematic approach to the analysis, design, implementation and maintenance of software.” (The Free On-Line Dictionary of Computing) ● “ The systematic application of tools and techniques in the development of computer-based applications.” (Sue Conger in The New Software Engineering) ● “ Software Engineering is about designing and developing high-quality software.” (Shari Lawrence Pfleeger in Software Engineering - The Production of Quality Software) 7/46
  • 8. Definition SE ● Definition proposed by Fritz Bauer ● “[Software engineering is] the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” ● Definition developed by IEEE ● “Software Engineering: (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 (1).” 8/46
  • 9. Why SE? ● Major Goals ● To increase software productivity and quality ● To effectively control software schedule and planning ● To reduce the cost of software development ● To meet the customers’ needs and requirements ● To enhance the conduction of software engineering process ● To improve the current software engineering practice ● To support the engineers’ activities in a systematic and efficient manner 9/46
  • 10. What is SE? ● Software engineering is a layered technology ● Process ● Methods ● Tools 10/46
  • 11. What is SE? ● Process ● Glue – holds the technology layers together ● Foundation for software engineering ● Enables timely development ● Forms the basis for management control of software projects ● Establishes the context in which technical methods are applied ● Work products are produced ● Milestones are established ● Quality is ensured ● Change is properly managed 11/46
  • 12. What is SE? ● Methods ● Provide the technical “how to’s” for constructing software ● Tasks include communications, analysis, design modeling, construction, testing, and support. ● Rely on set of basic principles requirement program ● To govern each area of the technology ● Include modeling activities 12/46
  • 13. What is SE? ● Tools ● Automated or semi-automated support for the process and methods ● A quality focus ● The bedrock ● Any engineering approach must rest on organizational commitment to quality. ● Foster a continuous process improvement culture an 13/46
  • 14. SE phases ● SE work is categorized into three generic phases ● Definition phase ● Development phase ● Support phase 14/46
  • 15. SE phases ● Definition phase: “WHAT”. To identify ● ● ● ● ● ● what information be processed, what function and performance desired, what system behavior expected, what interfaces be established, what design constraints exist, and what validation criteria required. >>The key requirements of the system and the software are identified. 15/46
  • 16. SE phases ● Development phase: “HOW”. To define ● how data are to be structured, ● how function to be implemented within a software architecture, ● how procedural details are to be implemented, ● how interfaces are to be characterized, ● how the design will be translated into a programming language (or nonprocedural language), ● and how testing will be performed. 16/46
  • 17. SE phases ● Support phase: “CHANGE” associated with ● error correction, ● adaptations required as the software's environment evolves, ● and changes due to enhancements brought about by changing customer requirements. >>Four types of change are encountered during the support phase: Correction, Adaptation, Enhancement, and Prevention. 17/46