Professional Documents
Culture Documents
SE-200 Software Engineering: Dr. Qurat-ul-Ain
SE-200 Software Engineering: Dr. Qurat-ul-Ain
Software Engineering
Dr. Qurat-ul-Ain
Recap
2
Recap Product
Public
Ethical Principles
Judgement
Client &
Employer
Management
Profession
Colleagues
Self
3
Activity: Case I
❖ John, a programmer, is writing a large program needed
by his company. After months of programming, Jhon
found himself stuck on several parts of the program. His
manager wants the job completed within the next few
days. John remembers that a co-worker gave him code
from his current work and from an early version of a
commercial software package developed at another
company. Studying these programs, John sees code
which could be directly incorporated into his program.
He uses code from his co-worker and the commercial
software but does not tell anyone or mention it in the
documentation. He completes the project on time.
4
Case I: Solution
https://ethics.acm.org/code-of-ethics/software-engineering-code/
5
Activity: Case II
❖ A software company has produced a new software that
incorporates the new tax laws. The president of the company
knows that the program has a number of errors (bugs). He also
believes that the first company to put this software on the
market will capture the largest market share. When the
company actually ships the software, it includes a disclaimer of
responsibility for errors resulting from the use of the program.
The company expects it will receive a number of complaints
and suggestions for modification. The company plans to use
these to make changes and eventually issue updated,
improved, and debugged versions. The president argues that
this is a general industry policy and that a customer who buys
version 1.0 of a program knows this and he will take proper
precautions. Because of errors (bugs), a number of customers
sent incorrect tax returns to the government and were
penalized.
6
Case II: Solution
https://ethics.acm.org/code-of-ethics/software-engineering-code/
7
Objectives
✓ Software Process
Models – Software
Developments Life
Cycle
✓ Process Activities
Software Process
❖A structured set of activities required to
develop a software system.
❖ All software processes involve:
Meet customer’s
How will it do? changing need
10
Software Process Model
“
A software process model is an abstract
representation of a process. It presents a
description of a process from some particular
perspective.
11
Plan-driven & Agile processes
12
Software Process Model
15
a phase must be
complete before
moving onto the
next phase
Waterfall Model Problems
❖ Inflexible partitioning of the project into
distinct stages makes it difficult to
respond to changing customer
requirements.
○ requirements are well-understood and
changes will be fairly limited during the
design process.
○ Few business systems have stable
requirements.
❖ The waterfall model is mostly used for
large systems engineering projects where
a system is developed at several sites. 17
Waterfall Model
Advantages Disadvantages
Technology is understood.
21
Incremental Model
22
Incremental Model Benefits
The cost of accommodating changing
customer requirements is reduced.
24
Incremental Model
Advantages Disadvantages
27
Thanks!
Any comment/questions?
28