SlideShare a Scribd company logo
Software Design
Software Design
 Software design is a process through which requirements
are translated into a ― blue-print for constructing the
software.
 Initially, the blueprint shows how the software will look and
what kind of data or components will be required to in making
it.
Process of Software Design
Engineering
 During the design process, the software specifications are
transformed into design models
 Each design product is reviewed for quality before moving
to the next phase of software development.
 At the end of the design process, a design model and
specification document is produced.
Design Specification Models
 Data design – created by transforming the analysis information
model (data dictionary and ERD) into data structures required to
implement the software. More detailed data design occurs as each
software component is designed.
 Architectural design - defines the relationships among the major
structural elements of the software, the design patterns, that can be
used to achieve the requirements that have been defined for the
system. Relationships can be made using UML or USECASE
diagrams.
Design Specification Models
 Interface design - describes how the software elements
communicate with each other, with other systems, and with
human users; the data flow and control flow diagrams provide
much of the necessary information required.
 Procedural design - created by transforming the structural elements
defined by the software architecture into procedural descriptions of
software components using information obtained from the process.
Design - Fundamental Concepts
 Abstraction
 Architecture
 Patterns
 Modularity
 Information hiding
 Functional independence
 Refinement
 Refactoring
Modularity
MODULARITY
Software is divided into separately named components,
often called ‘MODULES’, that are used to detect problems
at ease.
This follows the "DIVIDE AND CONQUER" conclusion.
It's easier to solve a complex problem when you break it
into manageable pieces.
Why modularize a system?
• Management: Partition the overall development effort
• Evolution: Decouple parts of a system so that changes to one
part are isolated from changes to other parts
– Principle of Discontinuity (Delete a part)
– Principle of Continuity (Addition to the part)
• Understanding: Permit system to be understood
– as composition of mind-sized chunks
– With one issue at a time
Advantage of modularization
• Smaller components are easier to maintain
• Program can be divided based on functional aspects
• Desired level of abstraction can be brought in the
program
• Components with high usage can be re-used.
• Concurrent execution can be made possible
Modular Design
 Easier to change
 Easier to build
 Easier to maintain
Functional Independence
COHESION : The degree to which a module performs
one and only one function.
COUPLING : The degree to which a module is
“connected” to other module in the system.
Modularity Modules’ Cost
Verses Size
The effort (cost) to develop
an individual software
module does decrease as the
total number of modules
increases. Given the same
set of requirements, more
modules means smaller
individual size. However, as
the number of modules
grows, the effort (cost)
associated with integrating
the modules also grows.
Modularity Modules’ Cost
Verses Size
These characteristics lead to
a total cost or effort curve
shown in the figure. There
is a number "M" of modules
that would result in
minimum development cost,
but we do not have the
necessary sophistication to
predict M with assurance.
Self-Contained : "Agile & Autonomous"
• A module is a self-contained component of a larger
software system.
• This doesn't mean that it is an atomic component.
• In fact a module consists a several smaller pieces which
are collectively contributed to the
functionality/performance of the module.
We cannot remove or modify at least any of these
tiny (compared to larger software system)
components and if we do so, the 'Module' will cease
it expected functionality
A set of compartments that can mimic the modularity.
Any of these compartments can be move without
affecting other components' functionality (but when we
move a module the functionality of the whole system
changes).
Lets try to understand this by above
real world scenarios.
Modular Compartments
A module can be installed, un-installed or moved
as a whole(single unit) and it wont affect the
functionality of the other modules.
We can form different letters by place different
components(modules) at different places and we
have the freedom of moving modules freely without
affecting the functionality of other modules
Modularizing ..
It is necessary for the programmers and designers
to recognize those modules, which can be made
parallel execution.
Thank You

More Related Content

What's hot

UML
UMLUML
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
lalithambiga kamaraj
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
Aprajita (Abbey) Singh
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
kavitha muneeshwaran
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Prabhat gangwar
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
deshpandeamrut
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Heritage Institute Of Tech,India
 
Function Oriented Design
Function Oriented DesignFunction Oriented Design
Function Oriented Design
Sharath g
 
Software design
Software designSoftware design
Software design
Zulqarnaintayyab
 
Software requirements
Software requirementsSoftware requirements
Software requirements
Dr. Loganathan R
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
sweetyammu
 
Component level design
Component   level designComponent   level design
Component level design
Midhula Chandren
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
NancyBeaulah_R
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
shiva krishna
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
priyapavi96
 
Introduction to UML
Introduction to UMLIntroduction to UML
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
Pihu Goel
 

What's hot (20)

UML
UMLUML
UML
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Function Oriented Design
Function Oriented DesignFunction Oriented Design
Function Oriented Design
 
Software design
Software designSoftware design
Software design
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
 
Component level design
Component   level designComponent   level design
Component level design
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 

Similar to Software Design and Modularity

ModularityModularityModularityModularity.pptx
ModularityModularityModularityModularity.pptxModularityModularityModularityModularity.pptx
ModularityModularityModularityModularity.pptx
SanjarMadraximov
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
Software Design ppt.pptx
Software Design ppt.pptxSoftware Design ppt.pptx
Software Design ppt.pptx
SeemaSarvath1
 
Software architecture with SOA modeling Flavor
Software architecture with SOA modeling FlavorSoftware architecture with SOA modeling Flavor
Software architecture with SOA modeling Flavor
Mohamed Zakarya Abdelgawad
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
MangeshKetkar1
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
saurabhshertukde
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
Satyanandaram Nandigam
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
Rana Ali
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith
 
Design final
Design finalDesign final
Design final
Indu Sharma Bhardwaj
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
ghayour abbas
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
Vidhun T
 
06 fse design
06 fse design06 fse design
06 fse design
Mohesh Chandran
 
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 Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
Purvik Rana
 
Unit 3
Unit 3Unit 3
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
System software design1
System software design1System software design1
System software design1
PrityRawat2
 

Similar to Software Design and Modularity (20)

ModularityModularityModularityModularity.pptx
ModularityModularityModularityModularity.pptxModularityModularityModularityModularity.pptx
ModularityModularityModularityModularity.pptx
 
Software design
Software designSoftware design
Software design
 
Software Design ppt.pptx
Software Design ppt.pptxSoftware Design ppt.pptx
Software Design ppt.pptx
 
Software architecture with SOA modeling Flavor
Software architecture with SOA modeling FlavorSoftware architecture with SOA modeling Flavor
Software architecture with SOA modeling Flavor
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Design final
Design finalDesign final
Design final
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
06 fse design
06 fse design06 fse design
06 fse design
 
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 Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Unit 3
Unit 3Unit 3
Unit 3
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
System software design1
System software design1System software design1
System software design1
 

Recently uploaded

คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Diana Rendina
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 

Recently uploaded (20)

คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 

Software Design and Modularity

  • 2. Software Design  Software design is a process through which requirements are translated into a ― blue-print for constructing the software.  Initially, the blueprint shows how the software will look and what kind of data or components will be required to in making it.
  • 3. Process of Software Design Engineering  During the design process, the software specifications are transformed into design models  Each design product is reviewed for quality before moving to the next phase of software development.  At the end of the design process, a design model and specification document is produced.
  • 4. Design Specification Models  Data design – created by transforming the analysis information model (data dictionary and ERD) into data structures required to implement the software. More detailed data design occurs as each software component is designed.  Architectural design - defines the relationships among the major structural elements of the software, the design patterns, that can be used to achieve the requirements that have been defined for the system. Relationships can be made using UML or USECASE diagrams.
  • 5. Design Specification Models  Interface design - describes how the software elements communicate with each other, with other systems, and with human users; the data flow and control flow diagrams provide much of the necessary information required.  Procedural design - created by transforming the structural elements defined by the software architecture into procedural descriptions of software components using information obtained from the process.
  • 6. Design - Fundamental Concepts  Abstraction  Architecture  Patterns  Modularity  Information hiding  Functional independence  Refinement  Refactoring
  • 8. MODULARITY Software is divided into separately named components, often called ‘MODULES’, that are used to detect problems at ease. This follows the "DIVIDE AND CONQUER" conclusion. It's easier to solve a complex problem when you break it into manageable pieces.
  • 9. Why modularize a system? • Management: Partition the overall development effort • Evolution: Decouple parts of a system so that changes to one part are isolated from changes to other parts – Principle of Discontinuity (Delete a part) – Principle of Continuity (Addition to the part) • Understanding: Permit system to be understood – as composition of mind-sized chunks – With one issue at a time
  • 10. Advantage of modularization • Smaller components are easier to maintain • Program can be divided based on functional aspects • Desired level of abstraction can be brought in the program • Components with high usage can be re-used. • Concurrent execution can be made possible
  • 11. Modular Design  Easier to change  Easier to build  Easier to maintain
  • 12. Functional Independence COHESION : The degree to which a module performs one and only one function. COUPLING : The degree to which a module is “connected” to other module in the system.
  • 13. Modularity Modules’ Cost Verses Size The effort (cost) to develop an individual software module does decrease as the total number of modules increases. Given the same set of requirements, more modules means smaller individual size. However, as the number of modules grows, the effort (cost) associated with integrating the modules also grows.
  • 14. Modularity Modules’ Cost Verses Size These characteristics lead to a total cost or effort curve shown in the figure. There is a number "M" of modules that would result in minimum development cost, but we do not have the necessary sophistication to predict M with assurance.
  • 15. Self-Contained : "Agile & Autonomous" • A module is a self-contained component of a larger software system. • This doesn't mean that it is an atomic component. • In fact a module consists a several smaller pieces which are collectively contributed to the functionality/performance of the module.
  • 16. We cannot remove or modify at least any of these tiny (compared to larger software system) components and if we do so, the 'Module' will cease it expected functionality
  • 17. A set of compartments that can mimic the modularity. Any of these compartments can be move without affecting other components' functionality (but when we move a module the functionality of the whole system changes). Lets try to understand this by above real world scenarios. Modular Compartments
  • 18. A module can be installed, un-installed or moved as a whole(single unit) and it wont affect the functionality of the other modules.
  • 19. We can form different letters by place different components(modules) at different places and we have the freedom of moving modules freely without affecting the functionality of other modules Modularizing ..
  • 20. It is necessary for the programmers and designers to recognize those modules, which can be made parallel execution.

Editor's Notes

  1. Independence is assessed using two qualitative criteria : cohesion and coupling.
  2. Larger the module size higher the cost and vice versa, overall cost of system is dependent on other costs as well, like Module Integration cost