Software Engineering Fundamentals
CSC2073
(3 CrH = 3 Theory 0 Lab)
Lecture No. 01
Dr. Muhammad Adeel
Department of Computer Science
National Textile University
[Link]@[Link]
Agenda – What will you Learn Today?
Introduction to the Need for Software
Course Engineering
2 Software Engineering - CSC2073
Introduction to Course
3 Software Engineering - CSC2073
About Me
Dr. Muhammad Adeel
PhD (Computer Science)
National Textile University
Assistant Professor @ Department
of Computer Science, National
Textile University, Pakistan
Serving NTU since March 2008
4 Software Engineering - CSC2073
Rules and Regulations to get Success
1. Pray 5 times a day if you are Muslim and with Jamaat
in Masjid if you are male.
2. Don’t tell a lie.
3. Don’t cheat
4. Massage the feet of your beloved parents daily with
their permission.
5. Confirm you have 2 pens/pencils, ring binding
register, desktop computer/laptop (fully charged)
and USB before one hour of starting of the class
6. Don’t be late. Join class 2 or 3 minutes before.
5 Software Engineering - CSC2073
Rules and Regulations to get Success …
7. Must prepare slides before every lecture and study the
same topic from book at least once (or twice is good).
8. Revise all prepared previous slides at week-end.
9. Don’t wait for due date and time for your assignments,
rather complete and submit them well before and start
working on assignments from the day when you will be
assigned.
10. Be 100% regular because lectures are linked like a chain,
if one part of the chain is broken, then it is not called
chain.
11. Daily read the above rules and tick the followed rule by
putting date
6 Software Engineering - CSC2073
Sessional Marks Distribution
Assignments + Quizzes + Viva 15
Course Projects 15
7 Software Engineering - CSC2073
Course Projects
Consists of THREE team members
Each team will consist of different software
engineering roles
The project should be team-work / team effort
Submissions through modules
Deadlines for each modules will be
announced in lectures
You have to submit a complete working
software
Final presentations will be held in last week
8 Software Engineering - CSC2073
Course Projects
Role
Team Lead
Requirement Engineer
Software Designer
Software Tester
Software Developer
9 Software Engineering - CSC2073
Text Books
Software Engineering (10th
Edition)
Ian Sommerville
Software Engineering: A
Practitioner's Approach (7th
Edition)
Roger Pressman
10 Software Engineering - CSC2073
Text Books
Essentials of Software
Engineering (4th Edition)
Frank Tsui, Orlando Karam,
Barbara Bernal
11 Software Engineering - CSC2073
Course Outline
The course is divided into FOUR areas
Software Software
Engineer Requirement
Processes Engineering
Software Software
Architecture Testing &
& Design SQA
12 Software Engineering - CSC2073
Course Outline
Software Requirement Software
Architecture
Engineering s Testing &
& Design
Processes Engineering SQA
Software Architecture and Its
Software Process Models Functional Requirements Software Testing Process
Benefits
Benefits
Process
Process Models
Models and
and Selection
Selection of
of Architecture
Architecture Software
Software Verification
Verification &
&
Practical Implications Non-Functional Styles Validation
Requirements
Requirements
Cost & Benefit Analysis Of
Black
Black Box
Box Testing
Testing
Waterfall
Waterfall Model
Model Well
Well Know
Know Architectural
Architectural Techniques
Techniques
Style
Style
Analysis
Analysis Modeling
Modeling
Object Oriented Design White Box Testing
Evolutionary Models
Techniques
Techniques && Methods
Methods Techniques
Techniques
Scenario-Based
Scenario-Based Modeling
Modeling
Acceptable
Acceptable Software
Software Quality
Quality
Incremental models Domain Model
Attributes
Flow-Oriented
Flow-Oriented Modeling
Modeling Software
Software Quality
Quality Assurances
Assurances
Agile
Agile Methodologies
Methodologies Behavioral
Behavioral Modeling
Modeling Imperatives
Imperatives
13 Software Requirements Engineering - CSC3070
Need Software Engineering?
14 Software Engineering - CSC2073
Need Software Engineering?
NASA: Mariner Failure
A bug in the flight software for the Mariner-1
The rocket to divert from its intended path
Mission control destroys the rocket over the
Atlantic Ocean
The investigation discovers that a formula
written on paper in pencil was improperly
transcribed
15 Software Engineering – CSC2073
Need Software Engineering?
Korean Airliner Crash
KAL-801 got accident
Killed 225 out of 254 aboard
A software design problem was discovered in
barometric altimetry in Ground Proximity
Warning System (GPWS)
16 Software Engineering – CSC2073
Need Software Engineering?
Air-Traffic Control System in LA Airport
In September 2004, the controllers lost
contact with the planes when the main voice
communications system shut down
unexpectedly
The outage disrupted about 800 flights across
the country
17 Software Engineering – CSC2073
Need Software Engineering?
Tesco iPad pricing disaster
In March 2012, Apple iPads worth £650 got
priced at £49.99
Tesco cancelled the sale and did not respond
to these orders, resulting in dissatisfaction
with the customers
18 Software Engineering – CSC2073
Need Software Engineering?
Glitch Releases US Prisoners Early
In December 2015, a glitch caused more than
3,200 US prisoners to be released early
The software calculates a prisoner's sentence
depending on good/bad behavior
It is estimated that on average prisoners were
released 49 days early
19 Software Engineering - CSC2073
Need Software Engineering?
Nest Thermostat Freeze
In January 2016, the Nest 'smart' thermostat
(owned by Google) was hit with a software
glitch which left users out in the cold
A software update went wrong, forcing the
device's batteries to drain and leaving it
unable to control temperature
20 Software Engineering – CSC2073
Need Software Engineering?
Leeds Pathology IT crash
In September 2016, Leeds Teaching
Hospitals NHS Trust witnessed a pathology IT
crash that resulted in a delay of operations for
almost 132 patients
Holds a budget of a £1 billion and employs
over 16,000 staff, serves 780,000 people in
the city and provides expert care for 5.4
million patients
21 Software Engineering – CSC2073
Need Software Engineering?
Software Security Flaws Revealed in OLA’s
Mobile App
Ola, India’s largest taxi aggregator faced
major security flaws within their system
The software bugs detected helped basic
programmers to enjoy unlimited free rides at
the expense of Ola and users
22 Software Engineering – CSC2073
Need Software Engineering?
Nissan’s recall
For over 2 years Nissan recalled over a
million cars due to a software glitch in the
airbag sensory detectors
The affected cars were unable to assess
whether an adult was seated in the car’s
passenger seat and consequently would not
inflate the airbags in case of a crisis
23 Software Engineering – CSC2073
Need Software Engineering?
24 Software Engineering - CSC2073
Problems in Software Development
The final software does not fulfill the needs of
the customer
Hard to extend and improve: if you want to add a
functionality later its mission impossible
Bad Documentation
Bad Quality: Frequent errors, hard to use, ...
More time and costs than expected
25 Software Engineering – CSC2073
Problems in Software Development
26 Software Engineering – CSC2073
Conclusion
Programming is NOT enough!
It is not enough to do your best: you must Know
what to do, and THEN do your best.
W. Edwards Deming
A clever person solves a problem.
A wise person avoids it.
Albert Einstein
27 Software Engineering - CSC2073
Recap
Introduction to the Course
Need for Software Engineering
28 Software Engineering - CSC2073
Questions
29 Software Engineering - CSC2073