SlideShare a Scribd company logo
Introduction to Software Engineering 
Muhammad Nasir 
Design Concepts (3) 
m.nasir@iiu.edu.pk
Agenda 
 Design Concepts 
 Design Pattern 
 Separation of Concern 
 Modularity 
 Information Hiding 
 Functional Independence 
 Aspects 
 Refactoring 
 OO Design Concepts
Design Pattern 
 “Software Design Pattern is a solution 
to a recurring design problem.” 
 Design patterns have four essential 
elements: 
 Pattern Name 
 Problem 
 Solution 
 Consequences
Separation of Concerns 
 Any complex problem can be more easily 
handled if it is subdivided into pieces 
 A concern is a feature or behavior that is 
specified as part of the requirements model 
for the software! 
 Concern Separation makes a problem more 
manageable i.e. Less effort and time to 
solve.!
Separation of Concerns 
 Separation of concerns is manifested 
in other related design concepts: 
modularity, aspects, functional 
independence, and refinement.
Modularity 
 Modularity is the most common 
manifestation of separation of 
concerns. 
 Software is divided into separately 
named and addressable components 
 Sometimes called modules, that are 
integrated to satisfy problem 
requirements.
Modularity 
 Monolithic software (i.e., a large 
program composed of a single module) 
cannot be easily grasped by a software 
engineer. 
 Modularity leads to “divide and 
conquer” strategy. – it is easier to solve 
a complex problem when you break 
into a manageable pieces.
Modularity 
 Refer figure that state that effort (cost) 
to develop an individual software 
module does decrease if total number 
of modules increase. 
 However as the no. of modules grows, 
the effort (cost) associated with 
integrating the modules also grows.
Modularity vs. Software Cost
Modularity vs. Software Cost
Information Hiding 
 Modules should be specified and 
designed so that information 
(algorithm and data) contained within 
a module is in-accessible to other 
modules that have no need for such 
information. 
 The intent of information hiding is to 
hide the details of data structure and 
procedural processing behind a 
module interface.
Information Hiding
Information Hiding 
 It gives benefits when modifications 
are required during testing and 
maintenance because data and 
procedure are hiding from other parts 
of software, un-intentional errors 
introduced during modification are 
less.
Why Information Hiding
Functional Independence
Aspects
Aspects – Example
Refactoring
OO – Design Concepts
The End 
 Thanks for listening 
 Questions would be appreciated.

More Related Content

What's hot

CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
mohamed khalaf alla mohamedain
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
IIUI
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)
IIUI
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15
Fadhil Ismail
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
Priyanka Shetty
 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principles
Dhruvin Nakrani
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
Slideshare
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
IIUI
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
Purvik Rana
 
Software System Engineering - Chapter 3
Software System Engineering - Chapter 3Software System Engineering - Chapter 3
Software System Engineering - Chapter 3
Fadhil Ismail
 
Scenario based methods
Scenario based methodsScenario based methods
Scenario based methods
JoshuaU1
 
Unit 3
Unit 3Unit 3
SWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design StrategiesSWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design Strategies
ghayour abbas
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
Cliftone Mullah
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
saurabhshertukde
 
Design Concepts & Principles
Design Concepts & PrinciplesDesign Concepts & Principles
Design Concepts & Principles
cyberns_
 
Design engineering
Design engineeringDesign engineering
Design engineering
Vikram Dahiya
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
John Ortiz
 
Unit 1
Unit 1Unit 1
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 

What's hot (20)

CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principles
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Software System Engineering - Chapter 3
Software System Engineering - Chapter 3Software System Engineering - Chapter 3
Software System Engineering - Chapter 3
 
Scenario based methods
Scenario based methodsScenario based methods
Scenario based methods
 
Unit 3
Unit 3Unit 3
Unit 3
 
SWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design StrategiesSWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design Strategies
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Design Concepts & Principles
Design Concepts & PrinciplesDesign Concepts & Principles
Design Concepts & Principles
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
 
Unit 1
Unit 1Unit 1
Unit 1
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 

Similar to Lecture 18 design concepts (3)

CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
Danyal Ahmad
 
What is meant by modular software and why is it important How can t.pdf
What is meant by modular software and why is it important  How can t.pdfWhat is meant by modular software and why is it important  How can t.pdf
What is meant by modular software and why is it important How can t.pdf
jeetumordhani
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
Software Design ppt.pptx
Software Design ppt.pptxSoftware Design ppt.pptx
Software Design ppt.pptx
SeemaSarvath1
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).ppt
esrabilgic2
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
Nazir Ahmed
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
Satyanandaram Nandigam
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
A software design creates meaningful engineering representation
A software design creates meaningful engineering representationA software design creates meaningful engineering representation
A software design creates meaningful engineering representation
Ramandeep Singh
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
Nandhini S
 
Software design
Software designSoftware design
Software design
Inocentshuja Ahmad
 
A summary of software architecture guide
A summary of software architecture guideA summary of software architecture guide
A summary of software architecture guide
Triet Ho
 
Block 1 ms-034 unit-2
Block 1 ms-034 unit-2Block 1 ms-034 unit-2
Block 1 ms-034 unit-2
Nirmal Jasmatiya
 
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
Data & Analytics Magazin
 
502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf
PradeepPandey506579
 
3.1 The design concepts.ppt
3.1 The design concepts.ppt3.1 The design concepts.ppt
3.1 The design concepts.ppt
THARUNS44
 
Top down design
Top down designTop down design
Top down design
Chaffey College
 

Similar to Lecture 18 design concepts (3) (20)

CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
What is meant by modular software and why is it important How can t.pdf
What is meant by modular software and why is it important  How can t.pdfWhat is meant by modular software and why is it important  How can t.pdf
What is meant by modular software and why is it important How can t.pdf
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Software Design ppt.pptx
Software Design ppt.pptxSoftware Design ppt.pptx
Software Design ppt.pptx
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).ppt
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Software design
Software designSoftware design
Software design
 
A software design creates meaningful engineering representation
A software design creates meaningful engineering representationA software design creates meaningful engineering representation
A software design creates meaningful engineering representation
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Software design
Software designSoftware design
Software design
 
A summary of software architecture guide
A summary of software architecture guideA summary of software architecture guide
A summary of software architecture guide
 
Block 1 ms-034 unit-2
Block 1 ms-034 unit-2Block 1 ms-034 unit-2
Block 1 ms-034 unit-2
 
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
from-analysis-to-design-the-art-of-object-oriented-programming-2023-6-5-5-17-...
 
502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf502 Object Oriented Analysis and Design.pdf
502 Object Oriented Analysis and Design.pdf
 
3.1 The design concepts.ppt
3.1 The design concepts.ppt3.1 The design concepts.ppt
3.1 The design concepts.ppt
 
Top down design
Top down designTop down design
Top down design
 

More from IIUI

Rank brain
Rank brainRank brain
Rank brain
IIUI
 
Chapter 10 cs 2o-p
Chapter 10 cs 2o-pChapter 10 cs 2o-p
Chapter 10 cs 2o-p
IIUI
 
Chapter 09 io devices 3o-p
Chapter 09 io devices 3o-pChapter 09 io devices 3o-p
Chapter 09 io devices 3o-p
IIUI
 
Chapter 09 io devices 2o-p
Chapter 09 io devices 2o-pChapter 09 io devices 2o-p
Chapter 09 io devices 2o-p
IIUI
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
IIUI
 
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pChapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-p
IIUI
 
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pChapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-p
IIUI
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
IIUI
 
Chapter 07 pam 3o-p
Chapter 07 pam 3o-pChapter 07 pam 3o-p
Chapter 07 pam 3o-p
IIUI
 
Chapter 07 pam 2o-p
Chapter 07 pam 2o-pChapter 07 pam 2o-p
Chapter 07 pam 2o-p
IIUI
 
Chapter 07 pam
Chapter 07 pamChapter 07 pam
Chapter 07 pam
IIUI
 
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pChapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-p
IIUI
 
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pChapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-p
IIUI
 
Chapter 06 boolean algebra
Chapter 06 boolean algebraChapter 06 boolean algebra
Chapter 06 boolean algebra
IIUI
 
Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pChapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-p
IIUI
 
Chapter 05 computer arithmetic
Chapter 05 computer arithmeticChapter 05 computer arithmetic
Chapter 05 computer arithmetic
IIUI
 
Chapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pChapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-p
IIUI
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
IIUI
 
Chapter 03 number system 3o-p
Chapter 03 number system 3o-pChapter 03 number system 3o-p
Chapter 03 number system 3o-p
IIUI
 
Chapter 03 number system 2o-p
Chapter 03 number system 2o-pChapter 03 number system 2o-p
Chapter 03 number system 2o-p
IIUI
 

More from IIUI (20)

Rank brain
Rank brainRank brain
Rank brain
 
Chapter 10 cs 2o-p
Chapter 10 cs 2o-pChapter 10 cs 2o-p
Chapter 10 cs 2o-p
 
Chapter 09 io devices 3o-p
Chapter 09 io devices 3o-pChapter 09 io devices 3o-p
Chapter 09 io devices 3o-p
 
Chapter 09 io devices 2o-p
Chapter 09 io devices 2o-pChapter 09 io devices 2o-p
Chapter 09 io devices 2o-p
 
Chapter 09 io devices
Chapter 09 io devicesChapter 09 io devices
Chapter 09 io devices
 
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-pChapter 08 secondary storage 3o-p
Chapter 08 secondary storage 3o-p
 
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-pChapter 08 secondary storage 2o-p
Chapter 08 secondary storage 2o-p
 
Chapter 08 secondary storage
Chapter 08 secondary storageChapter 08 secondary storage
Chapter 08 secondary storage
 
Chapter 07 pam 3o-p
Chapter 07 pam 3o-pChapter 07 pam 3o-p
Chapter 07 pam 3o-p
 
Chapter 07 pam 2o-p
Chapter 07 pam 2o-pChapter 07 pam 2o-p
Chapter 07 pam 2o-p
 
Chapter 07 pam
Chapter 07 pamChapter 07 pam
Chapter 07 pam
 
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-pChapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 3o-p
 
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-pChapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra 2o-p
 
Chapter 06 boolean algebra
Chapter 06 boolean algebraChapter 06 boolean algebra
Chapter 06 boolean algebra
 
Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-pChapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic 2o-p
 
Chapter 05 computer arithmetic
Chapter 05 computer arithmeticChapter 05 computer arithmetic
Chapter 05 computer arithmetic
 
Chapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-pChapter 04 computer codes 3o-p
Chapter 04 computer codes 3o-p
 
Chapter 04 computer codes
Chapter 04 computer codesChapter 04 computer codes
Chapter 04 computer codes
 
Chapter 03 number system 3o-p
Chapter 03 number system 3o-pChapter 03 number system 3o-p
Chapter 03 number system 3o-p
 
Chapter 03 number system 2o-p
Chapter 03 number system 2o-pChapter 03 number system 2o-p
Chapter 03 number system 2o-p
 

Recently uploaded

A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
Luigi Fugaro
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 

Recently uploaded (20)

bgiolcb
bgiolcbbgiolcb
bgiolcb
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 

Lecture 18 design concepts (3)

  • 1. Introduction to Software Engineering Muhammad Nasir Design Concepts (3) m.nasir@iiu.edu.pk
  • 2. Agenda  Design Concepts  Design Pattern  Separation of Concern  Modularity  Information Hiding  Functional Independence  Aspects  Refactoring  OO Design Concepts
  • 3. Design Pattern  “Software Design Pattern is a solution to a recurring design problem.”  Design patterns have four essential elements:  Pattern Name  Problem  Solution  Consequences
  • 4. Separation of Concerns  Any complex problem can be more easily handled if it is subdivided into pieces  A concern is a feature or behavior that is specified as part of the requirements model for the software!  Concern Separation makes a problem more manageable i.e. Less effort and time to solve.!
  • 5. Separation of Concerns  Separation of concerns is manifested in other related design concepts: modularity, aspects, functional independence, and refinement.
  • 6. Modularity  Modularity is the most common manifestation of separation of concerns.  Software is divided into separately named and addressable components  Sometimes called modules, that are integrated to satisfy problem requirements.
  • 7. Modularity  Monolithic software (i.e., a large program composed of a single module) cannot be easily grasped by a software engineer.  Modularity leads to “divide and conquer” strategy. – it is easier to solve a complex problem when you break into a manageable pieces.
  • 8. Modularity  Refer figure that state that effort (cost) to develop an individual software module does decrease if total number of modules increase.  However as the no. of modules grows, the effort (cost) associated with integrating the modules also grows.
  • 11. Information Hiding  Modules should be specified and designed so that information (algorithm and data) contained within a module is in-accessible to other modules that have no need for such information.  The intent of information hiding is to hide the details of data structure and procedural processing behind a module interface.
  • 13. Information Hiding  It gives benefits when modifications are required during testing and maintenance because data and procedure are hiding from other parts of software, un-intentional errors introduced during modification are less.
  • 19. OO – Design Concepts
  • 20. The End  Thanks for listening  Questions would be appreciated.

Editor's Notes

  1. Entity classes: Typically represent things that are to be stored in a database and persist throughout the duration of the application. Boundary classes: Create the interface (e.g., interactive screen and printed reports) that the user sees and interacts with as the software is used. Boundary classes are designed with the responsibility of managing the way entity objects are represented to users. Controller classes: are designed to manage (1) the creation or update of entity objects, (2) the instantiation of boundary objects as they obtain information from entity objects, (3) complex communication between sets of objects, and (4) validation of data communicated between objects or between the user and the application.