Software Engineering Fundamentals CSC-2073: Lecture No. 33
Software Engineering Fundamentals CSC-2073: Lecture No. 33
Software Engineering Fundamentals CSC-2073: Lecture No. 33
Fundamentals
CSC-2073
Lecture No. 33
Dr. Muhammad Adeel
Department of Computer Science
National Textile University
dr.muhammad.adeel.ntu@gmail.com
Last Lecture Review
Design Principles
– Information Hiding
– Incremental Development
o Fan-in
o Fan-out
– Abstraction
o Functional Abstraction
o Data Abstraction
– Generality
F1 F2 F3 F4
Class
Objects
Student
Visibly - Name:string
+ public Return Type
- Discipline:string
- private - CGPA:float
# protected + takeClasses():Integer
~ package + getCourseRegister():String
+ prepareNotes():String
Vehicle
- Color
- Model
+ Accelerate()
+ ApplyBrakes()
Shape
+ Draw()
Vehicle
+ Door()
+ FillFuel()
Car
+ Reverse()
?
??
Vehicle
gn
si
de
+ Door()
t
+ FillFuel()
ec
rr
co
it
Is
Car Motorcycle
+ Reverse() + TurnAround()
Vehicle
<<interface>>
IDoor
+ Door()
+ Open() + FillFuel()
Car Motorcycle
+ Reverse() + TurnAround()
<<interface>> SomeVehicle
Door
+ Open() + drive()
+ open()
Interface
Abstract class
Association
Aggregation
Composition
Inheritance
Teacher Course
teaches
+ Salary():int * * + Salary():int
+ Leaves():int + Leaves():int
+ Medical():int + Medical():int
A weak Association
Car Wheel
4
* * Picture
*
Folder
1
Multimedia
Company Department
1 ..
*
Building
Room
2 Person 2 Leg
Arm
1
Body
Student Teacher
- Program - Designation
- StudyYear - Salary
+ Study() + TakeClasses()
+ HeldExam() + takeExam
Student Teacher
- Program - Designation
- StudyYear - Salary
+ Study() + TakeClasses()
+ HeldExam() + takeExam
Student Teacher
- Program - Designation
- StudyYear - Salary
+ Study() + TakeClasses()
+ HeldExam() + takeExam
+ enter()
Daughter
- age
Videogame
suitable
Toy
- price
Boardgame +buy()
+ like()