SlideShare uma empresa Scribd logo
1 de 23
EFFECTIVE MODULAR DESIGN
Prepared by
Dr.T.Thendral
Assistant Professor
Department of Computer Science
Sri Ramaskrishna College of Arts & Science for Women
Coimbatore
• All the fundamental design concepts
described in the preceding section serve to
precipitate modular
• A modular design reduces complexity
Functional Independence
• Functional independence is achieved by
developing modules with "single-minded"
function and an "aversion" to excessive
interaction with other modules
General representation of cohesion
and coupling.
Coupling
• coupling refers to the degree of
interdependence between software modules
• High coupling means that modules are closely
connected and changes in one module may
affect other modules
• Low coupling means that modules are
independent and changes in one module have
little impact on other modules
• Cohesion refers to the degree to which elements
within a module work together to fulfill a single,
well-defined purpose
• High cohesion means that elements are closely
related and focused on a single purpose
• Low cohesion means that elements are loosely
related and serve multiple purposes
Coupling
• Coupling is the measure of the degree of
interdependence between the modules
• A good software will have low coupling
Types of Coupling
• Data Coupling: If the dependency between the
modules is based on the fact that they
communicate by passing only data, then the
modules are said to be data coupled.
• Stamp Coupling: In stamp coupling, the complete
data structure is passed from one module to
another module
• Control Coupling: If the modules communicate
by passing control information, then they are said
to be control coupled.
• External Coupling: In external coupling, the modules
depend on other modules, external to the software
being developed or to a particular type of hardware.
• Ex- protocol, external file, device format, etc.
• Common Coupling: The modules have shared data
such as global data structures.
• The changes in global data mean tracing back to all
modules which access that data to evaluate the effect
of the change.
• Disadvantages: Reusing modules, reduced ability to
control data accesses, and reduced maintainability.
• Content Coupling: one module can modify the data of another module, or
control flow is passed from one module to the other module. This is the
worst form of coupling and should be avoided.
• Temporal Coupling: Temporal coupling occurs when two modules depend
on the timing or order of events, such as one module needing to execute
before another.
• This type of coupling can result in design issues and difficulties in testing
and maintenance.
• Sequential Coupling: Sequential coupling occurs when the output of one
module is used as the input of another module, creating a chain or sequence
of dependencies.
• This type of coupling can be difficult to maintain and modify.
• Communicational Coupling: Communicational coupling occurs when
two or more modules share a common communication mechanism, such as
a shared message queue or database. Difficulty in debugging.
• Functional Coupling: Functional coupling
occurs when two modules depend on each other’s
functionality, such as one module calling a
function from another module.
• Data-Structured Coupling: Data-structured
coupling occurs when two or more modules share
a common data structure, such as a database table
or data file.
• Difficulty in maintaining the integrity of the data
structure and can result in performance issues.
Cohesion
• Cohesion is a measure of the degree to which
the elements of the module are functionally
related.
• Basically, cohesion is the internal glue that
keeps the module together.
• A good software design will have high
cohesion.
Types of Cohesion
• Functional Cohesion: Every essential element for
a single computation is contained in the
component
• Sequential Cohesion: An element outputs some
data that becomes the input for other element,
i.e., data flow between the parts
• Communicational Cohesion: Two elements
operate on the same input data or contribute
towards the same output data.
• Example- update record in the database and send
it to the printer
• Procedural Cohesion: Elements of procedural
cohesion ensure the order of execution.
• Actions are still weakly connected and unlikely
to be reusable.
• Ex- calculate student GPA, print student
record, calculate cumulative GPA, print
cumulative GPA
• Temporal Cohesion: The elements are related
by their timing involved.
• A module connected with temporal cohesion
all the tasks must be executed in the same
time span
• Logical Cohesion: The elements are logically related
and not functionally. Ex- A component reads inputs
from tape, disk, and network. All the code for these
functions is in the same component. Operations are
related, but the functions are significantly different.
• Coincidental Cohesion: The elements are not
related(unrelated). The elements have no conceptual
relationship other than location in source code. It is
accidental and the worst form of cohesion. Ex- print
next line and reverse the characters of a string in a
single component.
SUMMARY
Just to state..
But what happens if we do a separate waste collection, then the contents of each
of the segregated waste bins will have a high cohesion

Mais conteúdo relacionado

Mais procurados

Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
Ch22-Software Engineering 9
Ch22-Software Engineering 9Ch22-Software Engineering 9
Ch22-Software Engineering 9
Ian Sommerville
 

Mais procurados (20)

Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
 
Requirement Engineering.ppt
Requirement Engineering.pptRequirement Engineering.ppt
Requirement Engineering.ppt
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Ch22-Software Engineering 9
Ch22-Software Engineering 9Ch22-Software Engineering 9
Ch22-Software Engineering 9
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
SOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.pptSOFTWARE QUALITY ASSURANCE.ppt
SOFTWARE QUALITY ASSURANCE.ppt
 
Software Project Management chapter-1
Software Project Management chapter-1Software Project Management chapter-1
Software Project Management chapter-1
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
 
4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 

Semelhante a EFFECTIVE MODULAR DESIGN.pptx

Semelhante a EFFECTIVE MODULAR DESIGN.pptx (20)

2.Modular Design.pptx
2.Modular Design.pptx2.Modular Design.pptx
2.Modular Design.pptx
 
System software design1
System software design1System software design1
System software design1
 
effective modular design.pptx
effective modular design.pptxeffective modular design.pptx
effective modular design.pptx
 
Coupling coheshion tps
Coupling coheshion tpsCoupling coheshion tps
Coupling coheshion tps
 
Se 381 - lec 22 - 24 - 12 may15 - modularity - i - coupling
Se 381 - lec 22 - 24  - 12 may15 - modularity - i - couplingSe 381 - lec 22 - 24  - 12 may15 - modularity - i - coupling
Se 381 - lec 22 - 24 - 12 may15 - modularity - i - coupling
 
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & Implementation
 
Se 381 - lec 23 - 28 - 12 may16 - modularity - ii - cohesion
Se 381 - lec 23 - 28 - 12 may16 - modularity - ii - cohesionSe 381 - lec 23 - 28 - 12 may16 - modularity - ii - cohesion
Se 381 - lec 23 - 28 - 12 may16 - modularity - ii - cohesion
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptx
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Design engineering cohesion by dinesh
Design engineering cohesion by dineshDesign engineering cohesion by dinesh
Design engineering cohesion by dinesh
 
Software Design - SDLC Model
Software Design - SDLC ModelSoftware Design - SDLC Model
Software Design - SDLC Model
 
CHAPTER 3.pptx
CHAPTER 3.pptxCHAPTER 3.pptx
CHAPTER 3.pptx
 
Software Design abtic.pptx
Software Design abtic.pptxSoftware Design abtic.pptx
Software Design abtic.pptx
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Cohesion And It's Type Vardan Nikhil.pptx
Cohesion And It's Type Vardan Nikhil.pptxCohesion And It's Type Vardan Nikhil.pptx
Cohesion And It's Type Vardan Nikhil.pptx
 
Unit-III(Design).pptx
Unit-III(Design).pptxUnit-III(Design).pptx
Unit-III(Design).pptx
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
System design process.pptx
System design process.pptxSystem design process.pptx
System design process.pptx
 
SE-coupling and cohesion.ppt
SE-coupling and cohesion.pptSE-coupling and cohesion.ppt
SE-coupling and cohesion.ppt
 
Ch 11-component-level-design
Ch 11-component-level-designCh 11-component-level-design
Ch 11-component-level-design
 

Mais de DrTThendralCompSci (13)

Loader and linker.pptx
Loader and linker.pptxLoader and linker.pptx
Loader and linker.pptx
 
The Application Layer.ppt
The Application Layer.pptThe Application Layer.ppt
The Application Layer.ppt
 
Transport Layer.pptx
Transport Layer.pptxTransport Layer.pptx
Transport Layer.pptx
 
Software Configuration Management.ppt
Software Configuration Management.pptSoftware Configuration Management.ppt
Software Configuration Management.ppt
 
Wireless LANs PPT.ppt
Wireless LANs PPT.pptWireless LANs PPT.ppt
Wireless LANs PPT.ppt
 
NETWORK LAYER.ppt
NETWORK LAYER.pptNETWORK LAYER.ppt
NETWORK LAYER.ppt
 
Bluetooth.ppt
Bluetooth.pptBluetooth.ppt
Bluetooth.ppt
 
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.pptMEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
 
Ethernet.ppt
Ethernet.pptEthernet.ppt
Ethernet.ppt
 
DATA-LINK LAYER.ppt
DATA-LINK LAYER.pptDATA-LINK LAYER.ppt
DATA-LINK LAYER.ppt
 
UNIT I.ppt
UNIT I.pptUNIT I.ppt
UNIT I.ppt
 
PHYSICAL LAYER.ppt
PHYSICAL LAYER.pptPHYSICAL LAYER.ppt
PHYSICAL LAYER.ppt
 
COMPUTER NETWORK
COMPUTER NETWORKCOMPUTER NETWORK
COMPUTER NETWORK
 

Último

IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
17thcssbs2
 
Neurulation and the formation of the neural tube
Neurulation and the formation of the neural tubeNeurulation and the formation of the neural tube
Neurulation and the formation of the neural tube
SaadHumayun7
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
中 央社
 

Último (20)

An Overview of the Odoo 17 Discuss App.pptx
An Overview of the Odoo 17 Discuss App.pptxAn Overview of the Odoo 17 Discuss App.pptx
An Overview of the Odoo 17 Discuss App.pptx
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
 
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & EngineeringBasic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/
 
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
Research Methods in Psychology | Cambridge AS Level | Cambridge Assessment In...
Research Methods in Psychology | Cambridge AS Level | Cambridge Assessment In...Research Methods in Psychology | Cambridge AS Level | Cambridge Assessment In...
Research Methods in Psychology | Cambridge AS Level | Cambridge Assessment In...
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
 
The Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational ResourcesThe Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational Resources
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
Neurulation and the formation of the neural tube
Neurulation and the formation of the neural tubeNeurulation and the formation of the neural tube
Neurulation and the formation of the neural tube
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
 

EFFECTIVE MODULAR DESIGN.pptx

  • 1. EFFECTIVE MODULAR DESIGN Prepared by Dr.T.Thendral Assistant Professor Department of Computer Science Sri Ramaskrishna College of Arts & Science for Women Coimbatore
  • 2. • All the fundamental design concepts described in the preceding section serve to precipitate modular • A modular design reduces complexity
  • 3. Functional Independence • Functional independence is achieved by developing modules with "single-minded" function and an "aversion" to excessive interaction with other modules
  • 4. General representation of cohesion and coupling.
  • 5. Coupling • coupling refers to the degree of interdependence between software modules • High coupling means that modules are closely connected and changes in one module may affect other modules • Low coupling means that modules are independent and changes in one module have little impact on other modules
  • 6. • Cohesion refers to the degree to which elements within a module work together to fulfill a single, well-defined purpose • High cohesion means that elements are closely related and focused on a single purpose • Low cohesion means that elements are loosely related and serve multiple purposes
  • 7. Coupling • Coupling is the measure of the degree of interdependence between the modules • A good software will have low coupling
  • 8. Types of Coupling • Data Coupling: If the dependency between the modules is based on the fact that they communicate by passing only data, then the modules are said to be data coupled. • Stamp Coupling: In stamp coupling, the complete data structure is passed from one module to another module • Control Coupling: If the modules communicate by passing control information, then they are said to be control coupled.
  • 9. • External Coupling: In external coupling, the modules depend on other modules, external to the software being developed or to a particular type of hardware. • Ex- protocol, external file, device format, etc. • Common Coupling: The modules have shared data such as global data structures. • The changes in global data mean tracing back to all modules which access that data to evaluate the effect of the change. • Disadvantages: Reusing modules, reduced ability to control data accesses, and reduced maintainability.
  • 10. • Content Coupling: one module can modify the data of another module, or control flow is passed from one module to the other module. This is the worst form of coupling and should be avoided. • Temporal Coupling: Temporal coupling occurs when two modules depend on the timing or order of events, such as one module needing to execute before another. • This type of coupling can result in design issues and difficulties in testing and maintenance. • Sequential Coupling: Sequential coupling occurs when the output of one module is used as the input of another module, creating a chain or sequence of dependencies. • This type of coupling can be difficult to maintain and modify. • Communicational Coupling: Communicational coupling occurs when two or more modules share a common communication mechanism, such as a shared message queue or database. Difficulty in debugging.
  • 11. • Functional Coupling: Functional coupling occurs when two modules depend on each other’s functionality, such as one module calling a function from another module. • Data-Structured Coupling: Data-structured coupling occurs when two or more modules share a common data structure, such as a database table or data file. • Difficulty in maintaining the integrity of the data structure and can result in performance issues.
  • 12.
  • 13. Cohesion • Cohesion is a measure of the degree to which the elements of the module are functionally related. • Basically, cohesion is the internal glue that keeps the module together. • A good software design will have high cohesion.
  • 14.
  • 15. Types of Cohesion • Functional Cohesion: Every essential element for a single computation is contained in the component • Sequential Cohesion: An element outputs some data that becomes the input for other element, i.e., data flow between the parts • Communicational Cohesion: Two elements operate on the same input data or contribute towards the same output data. • Example- update record in the database and send it to the printer
  • 16. • Procedural Cohesion: Elements of procedural cohesion ensure the order of execution. • Actions are still weakly connected and unlikely to be reusable. • Ex- calculate student GPA, print student record, calculate cumulative GPA, print cumulative GPA
  • 17. • Temporal Cohesion: The elements are related by their timing involved. • A module connected with temporal cohesion all the tasks must be executed in the same time span
  • 18. • Logical Cohesion: The elements are logically related and not functionally. Ex- A component reads inputs from tape, disk, and network. All the code for these functions is in the same component. Operations are related, but the functions are significantly different. • Coincidental Cohesion: The elements are not related(unrelated). The elements have no conceptual relationship other than location in source code. It is accidental and the worst form of cohesion. Ex- print next line and reverse the characters of a string in a single component.
  • 20.
  • 21.
  • 23. But what happens if we do a separate waste collection, then the contents of each of the segregated waste bins will have a high cohesion