Lectue 01 - Introduction
Lectue 01 - Introduction
Software
Engineering
LECTURE 1: INTRODUCTION
Sara Afzal
MS Computer Science
Fast NUCES
Name: Sara Afzal
Prior
Experience: Fast NUCES
Introductio (Instructor),
n Current
Designation
Lecturer
Office:
Office A209-D (occasionally in C-601)
Hours: Mon & Wed : 10 am – 11 30
Email am
: Tues & Thurs : 11:30 am– 1 2
LMS - Google
Classroom
How you would rate your communication and critical thinking ability out of
≥ 90 A+ 66-69 C+
86-89 A
82-85 A-
62-65 C
58-61 C-
Grading
78-81 B+ 54-57 D+ Policy
74-77 B 50-53 D
70-73 B- ≤ 49 F ABSOLUTE
GRADING
Formula for GOOD
GRADES
All of you can get an A+
If you do the following
▶ Maintain Attendance
▶ Positive class attitude and Participation
▶ Perform all class tasks
▶ Do Quizzes and Assignments YOURSELF
▶ Follow all Rules!
To familiarize students to the fundamental
concepts, techniques, processes, methods and
tools of Software Engineering,
Goals of To help students to develop basic skills that will
the enable them to construct software of high
course quality; software that is reliable, and that is
reasonably easy to understand, modify and
maintain
To foster an understanding of why these skills are
important
OUTLINE
Topics Description
1 Introduction to the Layout of the course and overall introduction of the discipline of
Course and Software Software Engineering and what we will cover in the course.
Engineering
2 Software Processes & General introduction of processes and software engineer processes.
Software Process Discussion of different process models and their practical implications.
Models These process models include Waterfall model, evolutionary models
and incremental models.
3 Software Process Software process models will be completed in the first lecture of this
Models (continued); week. Analysis phase of software engineering will be introduced.
Analysis modeling
4 Scenario based Analysis modeling approaches (Object oriented analysis; Flow oriented
modeling analysis).Topics will include requirement gathering using use case
diagrams, Activity diagrams, Swim lane diagrams.
OUT LINE
5 Flow oriented Data flow diagrams, Control flow diagrams
modeling
7 Class Diagrams How to create initial domain model and how to develop conceptual
class diagram. Usefulness of domain model.
12 Software Maintenance What happen between software is deployed till the time it is
retired. How software evolution occurs and how it is managed.
13 Software Quality What is software quality, how can we ensure that software we
develop is of acceptable quality. Software quality assurances
imperatives.
14 Software Business and Business of software is fast become a major GNP producer. Many
Ethics rules and regulation are there to guide software industry. How
business and regulation software engineering practices. (Special
Reading)
▶ Software Engineering, Ninth Edition, 2010.
Sommerville, Ian Addison Wesley
Reference Material
21
Why study Software Engineering
Famous software bugs
22
Why study Software Engineering
Famous software bugs
23
Why study Software Engineering
Famous software bugs
Why study Software Engineering
Famous software bugs
Common issues
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
http://www.projectcartoon.com
Conclusion
Programming is NOT enough!
- Albert Einstein
Solution
▶ As defined in IEEE Standard
610.12:
▶ The application of a
disciplined, quantifiable approach
systematic,
to the development, operation, and
maintenance of software; that is,
application
the of engineering to
What is software.
▶ Your opinion?
Software ▶ This definition is descriptive,
Engineering prescriptive
not
? ▶ It does not say how to do anything