尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
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

Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
Mohammad Faizan
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Mahesh Bhalerao
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
Arun Shukla
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Introduction to UML
Introduction to UMLIntroduction to UML
Software design
Software designSoftware design
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
kavitha muneeshwaran
 
UML
UMLUML
Cocomo model
Cocomo modelCocomo model
Cocomo model
Baskarkncet
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
Reetesh Gupta
 
Incremental model
Incremental modelIncremental model
Incremental model
Hpibmx
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
kirupasuchi1996
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
Abhimanyu Mishra
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
Navjyotsinh Jadeja
 
Context model
Context modelContext model
Context model
Ubaid423
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
Kartik Raghuvanshi
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practice
Delowar hossain
 

What's hot (20)

Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Software design
Software designSoftware design
Software design
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
UML
UMLUML
UML
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
Context model
Context modelContext model
Context model
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practice
 

Similar to Software Design and Modularity

ModularityModularityModularityModularity.pptx
ModularityModularityModularityModularity.pptxModularityModularityModularityModularity.pptx
ModularityModularityModularityModularity.pptx
SanjarMadraximov
 
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
 
Software design
Software designSoftware design
Software design
Zulqarnaintayyab
 
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
System software design1
System software design1System software design1
System software design1
PrityRawat2
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
Nazir Ahmed
 

Similar to Software Design and Modularity (20)

ModularityModularityModularityModularity.pptx
ModularityModularityModularityModularity.pptxModularityModularityModularityModularity.pptx
ModularityModularityModularityModularity.pptx
 
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
 
Software design
Software designSoftware design
Software design
 
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
 
System software design1
System software design1System software design1
System software design1
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 

Recently uploaded

Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
MattVassar1
 
Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
Frederic Fovet
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
Kalna College
 
8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity
RuchiRathor2
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
biruktesfaye27
 
How to stay relevant as a cyber professional: Skills, trends and career paths...
How to stay relevant as a cyber professional: Skills, trends and career paths...How to stay relevant as a cyber professional: Skills, trends and career paths...
How to stay relevant as a cyber professional: Skills, trends and career paths...
Infosec
 
Opportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive themOpportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive them
EducationNC
 
Post init hook in the odoo 17 ERP Module
Post init hook in the  odoo 17 ERP ModulePost init hook in the  odoo 17 ERP Module
Post init hook in the odoo 17 ERP Module
Celine George
 
220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx
Kalna College
 
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
yarusun
 
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
Kalna College
 
What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17
Celine George
 
The basics of sentences session 8pptx.pptx
The basics of sentences session 8pptx.pptxThe basics of sentences session 8pptx.pptx
The basics of sentences session 8pptx.pptx
heathfieldcps1
 
IoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdfIoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdf
roshanranjit222
 
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
Kalna College
 
(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"
MJDuyan
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
MattVassar1
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
Kalna College
 
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT KanpurDiversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Quiz Club IIT Kanpur
 
220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science
Kalna College
 

Recently uploaded (20)

Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
 
Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
 
8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
 
How to stay relevant as a cyber professional: Skills, trends and career paths...
How to stay relevant as a cyber professional: Skills, trends and career paths...How to stay relevant as a cyber professional: Skills, trends and career paths...
How to stay relevant as a cyber professional: Skills, trends and career paths...
 
Opportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive themOpportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive them
 
Post init hook in the odoo 17 ERP Module
Post init hook in the  odoo 17 ERP ModulePost init hook in the  odoo 17 ERP Module
Post init hook in the odoo 17 ERP Module
 
220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx
 
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
 
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
 
What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17
 
The basics of sentences session 8pptx.pptx
The basics of sentences session 8pptx.pptxThe basics of sentences session 8pptx.pptx
The basics of sentences session 8pptx.pptx
 
IoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdfIoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdf
 
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
 
(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
 
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT KanpurDiversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT Kanpur
 
220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science
 

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
  翻译: