0% found this document useful (0 votes)
41 views

Lectue 01 - Introduction

The document provides an introduction to a lecture on software engineering fundamentals. It outlines the lecturer's qualifications and contact information. It then provides an overview of the course goals, topics, assessment criteria, textbook references, and concludes with a discussion on the importance of studying software engineering and avoiding common issues through applying engineering principles.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Lectue 01 - Introduction

The document provides an introduction to a lecture on software engineering fundamentals. It outlines the lecturer's qualifications and contact information. It then provides an overview of the course goals, topics, assessment criteria, textbook references, and concludes with a discussion on the importance of studying software engineering and avoiding common issues through applying engineering principles.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Fundamentals of

Software
Engineering
LECTURE 1: INTRODUCTION

Sara Afzal
MS Computer Science
Fast NUCES
Name: Sara Afzal

Qualification: MS – Computer Science (Fast NUCES )


BS – Computer Science ( Fast NUCES )

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

Registered students have been


invited to the classroom already. (If
you did not get an email for joining, please raise
your hand)
Your
Introduction!
Your name

How you would rate your communication and critical thinking ability out of

10 How you would rate your coding skills out of 10?

Where do you see yourself after 4 years?

Your hobby or skills or achievements

What is Software Engineering? Your expectations from course?


▶ Assignments will be submitted online
on Google Classroom

▶ All quizzes will be both announced


and unannounced
▶ You can be late no more than 10
minutes
(else you are absent)
Class ▶ Bring a pen and a
Rules register/copy/paper
▶ Mobile phones shall be OFF/SILENT
▶ Do not wander around in Class
▶ Missed or late assignment will be
marked zero
▶ No make up assignments or quizzes
Marks
Distribution
Assessment Item Number Weight (%)
Assignments 3-4 12
Quiz 3 9
Project+Pres 1 15
Midterm Exam 1 1 12
Midterm Exam 2 1 12
Final Exam 1 40
Absolute Grading Scheme:
Total Marks [%] Grade

≥ 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

6 Behavioral modeling State diagrams, Sequence diagrams

7 Class Diagrams How to create initial domain model and how to develop conceptual
class diagram. Usefulness of domain model.

8 Software Design General Introduction of Object Oriented Design techniques and


methods

9 Software Architecture Discussion of need of explicitly defining software architecture and


its benefits. What are important determinant of selection of certain
architecture or architecture style. Cost and benefit analysis of well
know architectural style
OUT LINE
10 Software Testing What is software testing process, what methods, tools and
techniques are use to verify and validate the software. How
software testing process is distributed over entire life cycle of
software development.

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

Course ▶ SE and Testing, b. B. Agarwal s. P. Tayal m.


Gupta, Jones and Bartlett Publishers.
Books ▶ Software Engineering: A Practitioner’s
Approach, Pressman, R.S. & Maxim B., 8th
Edition (2015), McGraw-Hill.
Motivation
Software can have huge impact in
any aspect of our society
Where can we
find software?
Some popular ones…
Some popular ones…
And even in…
Conclusion

Software is almost everywhere!


Why study Software Engineering
Famous software bugs

A staircase that lead right into a wall

21
Why study Software Engineering
Famous software bugs

A door that will drop you 10 feet down

22
Why study Software Engineering
Famous software bugs

23
Why study Software Engineering
Famous software bugs
Why study Software Engineering
Famous software bugs

 What do you thing is wrong with these real


life scenarios
 Requirements are correct
 Staircase next to the outer wall
 Door on the first floor
 An ATM outside the bank branch
 The bridge

 The design is flawed


Problems in software development

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!

It is not enough to do your best: you must Know


what to do, and THEN do your best. -- W. Edwards
Deming
And Since…

A clever person solves a problem.


A wise person avoids it.

- 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

▶ It just say what qualities S.E.


should have
▶ As a result, many people
understand
SE differently
Software
Engineerin
g
Software Engineering

Objective is to produce software that


is:
 On time: is delivered at the
established date.
 Reliable: does not crash.
 Complete: good documentation,
fulfills customer needs.

You might also like