SlideShare a Scribd company logo
1 of 16
MODULES AND MODULARIZATION
CRITERIA
BY,
R.RAMADEVI,
II-M.SC(CS&IT),
Nadar Saraswathi College Of Arts and Science,
Theni.
MODULES AND MODULARIZATION
CRITERIA
 Architectural design has the goal of producing well structured modular software
system
 We consider a software module to be a named entity following characteristics
1.Modules contain instruction , processing login and data structures
2.Modules can be separately compiled and stored in library
3.Modules can be included in program
4.Modules segment can be used by invoking a name
5.Modules can be other modules
Examples of modules:
The include procedures , subroutines , function functional group of
related procedures subroutiones and functions
Modularization can be used to isolated machine dependencies to
import the performance of software product or ease debugging testing
integration tuning and modification of the system
Depending on the criteria used different system structures may
result
EXAMPLES OF MODLES
 Which each module and its submodules correspond to a
processing step
 The execution sequence each module hides a difficult or
changeable design decision from the other modules
 Function that access and modify the data structures levels of
abstraction
EXAMPLES OF MODLES
 The modules and collection of modules provide a hierarchial set
of increasingly complex services coupling cohesion
 There are two version of problem modeling
 The data structures match the problem structure and the visible
function manipulate the data structures
 The modules form a network of communicating processes
COUPLING AND COHESION
 A fundamental goal of software design is structures the software product so the
number and complexity of interconnection between modules is minimized
 Coupling and cohesion were first described by stevents , constrantine and myers
as part of the “structured design”
 The strength of coupling between two modules is influenced by the complexity of
the interface
 Modification of a common data block or control may require modification of all
routines that are coupling to the block
 If modules communication only by parameters and the interface between modules
remain fixed
COUPLING AND COHESION
 coupling between modules can be ranked on of strongest to weakest
1.Content coupling
2.Common coupling
3.Control coupling
4.Stamp coupling
5.Data coupling
Content coupling occurs one module modifies local data values or structions in
another module
COUPLING AND COHESION
 Control coupling involve passing control flags between modules so
that one modules controls the sequence of processing steps in
another module
 Stamp coupling is similar to common coupling except that global
data item
 Named common block in FORTRAN and package in Ada support
stamp coupling
 Data coupling involves the use of parameter list to pass data items
between routines
COHESION OF ELEMENTS OCCURS ON THE SCALE
BINDING OF ELEMENT WITHIN MODULES
 Coincidental cohesion
 Logical cohesion
 Temporal cohesion
 Communication cohesion
 Sequential cohesion
 Functional cohesion
 Informational cohesion
Content Coupling:
Content coupling occurs when one module modifies local data values
or instructions in another module.
Common Coupling:
Modules are bound together by global data structures.
Control Coupling:
Control coupling involves passing control flags(as parameters or
globals) between modules so that one module controls the sequence of
processing steps in another module.
Stamp Coupling:
Stamp coupling is similar to common coupling, except that global
data items are shared selectively among routines that require the data.
Data Coupling:
Data coupling involves the use of parameter lists to pass data items
between routines.
The most desirable form of coupling between modules is a
combination of stamp and data coupling.
Coincidental Cohesion:
Coincidental cohesion occurs when the elements within a module
have no apparent relationship to one another.
Logical Cohesion:
Logical cohesion implies some relationship among the elements of
the module.
Ex: In a module that performs all input and output operations, or in
a module that edits all data.
Temporal Cohesion:
Modules with temporal cohesion exhibit many of the same
disadvantages as logically bound modules.
A typical example of temporal cohesion is a module that performs
program initialization.
Communication Cohesion:
The elements of a module possessing communicational cohesion
refer to the same set of input and/or output data.
Ex: “Print and Punch the Output File” is communicationally bound.
Sequential Cohesion:
Sequential cohesion of elements occurs when the output of one element
is the input for the next element.
Functional Cohesion:
Functional cohesion is a strong, and hence desirable, type of binding of
elements in a module because all elements are related to the performance of
a single function.
Informational Cohesion:
Informational cohesion of elements in a module occurs when the module
contains a complex data structure and several routines to manipulate the
data structure.
Other Modularization Criteria
Additional criteria for deciding which functions to place in which
modules of a software system include:
Hiding difficult and changeable design decisions
Limiting the physical size of modules
Structuring the system to improve observability and testability
Isolating machine dependencies to a few routines
Easing likely changes
Providing general purpose utility functions
Reducing the call return overhead of excessive subroutine calls.
software engineering

More Related Content

What's hot

Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineeringkirupasuchi1996
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdfbcanawakadalcollege
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed designpriyapavi96
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Class diagram
Class diagramClass diagram
Class diagramSESP123
 
Programming team structure
Programming team structureProgramming team structure
Programming team structureNancyBeaulah_R
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptxKarthigaiSelviS3
 

What's hot (20)

unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Class diagram
Class diagramClass diagram
Class diagram
 
Software design
Software designSoftware design
Software design
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Unit testing
Unit testing Unit testing
Unit testing
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Black box and white box testing
Black box and white box testingBlack box and white box testing
Black box and white box testing
 
Ch 11-component-level-design
Ch 11-component-level-designCh 11-component-level-design
Ch 11-component-level-design
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
 
Static analysis
Static analysisStatic analysis
Static analysis
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 

Similar to software engineering

4 B-Coupling and Cohesion-1.pptx
4 B-Coupling and Cohesion-1.pptx4 B-Coupling and Cohesion-1.pptx
4 B-Coupling and Cohesion-1.pptxzeenatparveen24
 
Cohesion and coupling in software design
Cohesion and coupling in software designCohesion and coupling in software design
Cohesion and coupling in software designAhmed Saad Khames
 
chapter 5.ppt
chapter 5.pptchapter 5.ppt
chapter 5.pptEIjerry
 
Designing PrinciplesOf Software
Designing PrinciplesOf Software Designing PrinciplesOf Software
Designing PrinciplesOf Software Ankita Agrawal
 
5.Software Design.ppt
5.Software Design.ppt5.Software Design.ppt
5.Software Design.pptssuser1288e7
 
Software Design abtic.pptx
Software Design abtic.pptxSoftware Design abtic.pptx
Software Design abtic.pptxssuser8c0d24
 
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxUNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxLeahRachael
 
Coupling , Cohesion and there Types
Coupling , Cohesion and there TypesCoupling , Cohesion and there Types
Coupling , Cohesion and there TypesMunaam Munawar
 
Unit-III(Design).pptx
Unit-III(Design).pptxUnit-III(Design).pptx
Unit-III(Design).pptxFajar Baskoro
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignAmr E. Mohamed
 
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 - couplingbabak danyal
 
11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16Rajes Wari
 
Software Design
Software Design Software Design
Software Design Anas Bilal
 
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya
 
Function oriented design
Function oriented designFunction oriented design
Function oriented designVidhun T
 
5.Software Design.ppt it is for software eng students
5.Software Design.ppt it is for software eng students5.Software Design.ppt it is for software eng students
5.Software Design.ppt it is for software eng studentsrajvirsinghkanwar200
 

Similar to software engineering (20)

software engineering
software engineeringsoftware engineering
software engineering
 
4 B-Coupling and Cohesion-1.pptx
4 B-Coupling and Cohesion-1.pptx4 B-Coupling and Cohesion-1.pptx
4 B-Coupling and Cohesion-1.pptx
 
Cohesion and coupling in software design
Cohesion and coupling in software designCohesion and coupling in software design
Cohesion and coupling in software design
 
chapter 5.ppt
chapter 5.pptchapter 5.ppt
chapter 5.ppt
 
Unit 2
Unit 2Unit 2
Unit 2
 
Designing PrinciplesOf Software
Designing PrinciplesOf Software Designing PrinciplesOf Software
Designing PrinciplesOf Software
 
5.Software Design.ppt
5.Software Design.ppt5.Software Design.ppt
5.Software Design.ppt
 
Software Design abtic.pptx
Software Design abtic.pptxSoftware Design abtic.pptx
Software Design abtic.pptx
 
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxUNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
 
Coupling , Cohesion and there Types
Coupling , Cohesion and there TypesCoupling , Cohesion and there Types
Coupling , Cohesion and there Types
 
Unit-III(Design).pptx
Unit-III(Design).pptxUnit-III(Design).pptx
Unit-III(Design).pptx
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
 
6-Design.ppt
6-Design.ppt6-Design.ppt
6-Design.ppt
 
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
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16
 
Software Design
Software Design Software Design
Software Design
 
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & Implementation
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
5.Software Design.ppt it is for software eng students
5.Software Design.ppt it is for software eng students5.Software Design.ppt it is for software eng students
5.Software Design.ppt it is for software eng students
 

More from Abinaya B

Overview of bigdata
Overview of bigdataOverview of bigdata
Overview of bigdataAbinaya B
 
exception handling in java
exception handling in javaexception handling in java
exception handling in javaAbinaya B
 
data structures
data structuresdata structures
data structuresAbinaya B
 
graphics programming in java
graphics programming in javagraphics programming in java
graphics programming in javaAbinaya B
 
data structures- back tracking
data structures- back trackingdata structures- back tracking
data structures- back trackingAbinaya B
 
exception handling in java
exception handling in javaexception handling in java
exception handling in javaAbinaya B
 
digital image processing
digital image processingdigital image processing
digital image processingAbinaya B
 
Image filtering in Digital image processing
Image filtering in Digital image processingImage filtering in Digital image processing
Image filtering in Digital image processingAbinaya B
 
software cost factor
software cost factorsoftware cost factor
software cost factorAbinaya B
 
Basic topic on os
Basic topic on osBasic topic on os
Basic topic on osAbinaya B
 
Digital principles basic
Digital principles basicDigital principles basic
Digital principles basicAbinaya B
 
Managing I/O & String function in C
Managing I/O & String function in CManaging I/O & String function in C
Managing I/O & String function in CAbinaya B
 
Introduction to 80386
Introduction to 80386Introduction to 80386
Introduction to 80386Abinaya B
 
Network standardization
Network standardizationNetwork standardization
Network standardizationAbinaya B
 

More from Abinaya B (18)

Multimedia
MultimediaMultimedia
Multimedia
 
Overview of bigdata
Overview of bigdataOverview of bigdata
Overview of bigdata
 
exception handling in java
exception handling in javaexception handling in java
exception handling in java
 
data structures
data structuresdata structures
data structures
 
graphics programming in java
graphics programming in javagraphics programming in java
graphics programming in java
 
data structures- back tracking
data structures- back trackingdata structures- back tracking
data structures- back tracking
 
exception handling in java
exception handling in javaexception handling in java
exception handling in java
 
digital image processing
digital image processingdigital image processing
digital image processing
 
Image filtering in Digital image processing
Image filtering in Digital image processingImage filtering in Digital image processing
Image filtering in Digital image processing
 
software cost factor
software cost factorsoftware cost factor
software cost factor
 
Data Mining
Data MiningData Mining
Data Mining
 
Datamining
DataminingDatamining
Datamining
 
Basic topic on os
Basic topic on osBasic topic on os
Basic topic on os
 
Digital principles basic
Digital principles basicDigital principles basic
Digital principles basic
 
Rdbms1
Rdbms1Rdbms1
Rdbms1
 
Managing I/O & String function in C
Managing I/O & String function in CManaging I/O & String function in C
Managing I/O & String function in C
 
Introduction to 80386
Introduction to 80386Introduction to 80386
Introduction to 80386
 
Network standardization
Network standardizationNetwork standardization
Network standardization
 

Recently uploaded

The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

software engineering

  • 1. MODULES AND MODULARIZATION CRITERIA BY, R.RAMADEVI, II-M.SC(CS&IT), Nadar Saraswathi College Of Arts and Science, Theni.
  • 2. MODULES AND MODULARIZATION CRITERIA  Architectural design has the goal of producing well structured modular software system  We consider a software module to be a named entity following characteristics 1.Modules contain instruction , processing login and data structures 2.Modules can be separately compiled and stored in library 3.Modules can be included in program 4.Modules segment can be used by invoking a name 5.Modules can be other modules
  • 3. Examples of modules: The include procedures , subroutines , function functional group of related procedures subroutiones and functions Modularization can be used to isolated machine dependencies to import the performance of software product or ease debugging testing integration tuning and modification of the system Depending on the criteria used different system structures may result
  • 4. EXAMPLES OF MODLES  Which each module and its submodules correspond to a processing step  The execution sequence each module hides a difficult or changeable design decision from the other modules  Function that access and modify the data structures levels of abstraction
  • 5. EXAMPLES OF MODLES  The modules and collection of modules provide a hierarchial set of increasingly complex services coupling cohesion  There are two version of problem modeling  The data structures match the problem structure and the visible function manipulate the data structures  The modules form a network of communicating processes
  • 6. COUPLING AND COHESION  A fundamental goal of software design is structures the software product so the number and complexity of interconnection between modules is minimized  Coupling and cohesion were first described by stevents , constrantine and myers as part of the “structured design”  The strength of coupling between two modules is influenced by the complexity of the interface  Modification of a common data block or control may require modification of all routines that are coupling to the block  If modules communication only by parameters and the interface between modules remain fixed
  • 7. COUPLING AND COHESION  coupling between modules can be ranked on of strongest to weakest 1.Content coupling 2.Common coupling 3.Control coupling 4.Stamp coupling 5.Data coupling Content coupling occurs one module modifies local data values or structions in another module
  • 8. COUPLING AND COHESION  Control coupling involve passing control flags between modules so that one modules controls the sequence of processing steps in another module  Stamp coupling is similar to common coupling except that global data item  Named common block in FORTRAN and package in Ada support stamp coupling  Data coupling involves the use of parameter list to pass data items between routines
  • 9. COHESION OF ELEMENTS OCCURS ON THE SCALE BINDING OF ELEMENT WITHIN MODULES  Coincidental cohesion  Logical cohesion  Temporal cohesion  Communication cohesion  Sequential cohesion  Functional cohesion  Informational cohesion
  • 10. Content Coupling: Content coupling occurs when one module modifies local data values or instructions in another module. Common Coupling: Modules are bound together by global data structures. Control Coupling: Control coupling involves passing control flags(as parameters or globals) between modules so that one module controls the sequence of processing steps in another module.
  • 11. Stamp Coupling: Stamp coupling is similar to common coupling, except that global data items are shared selectively among routines that require the data. Data Coupling: Data coupling involves the use of parameter lists to pass data items between routines. The most desirable form of coupling between modules is a combination of stamp and data coupling.
  • 12. Coincidental Cohesion: Coincidental cohesion occurs when the elements within a module have no apparent relationship to one another. Logical Cohesion: Logical cohesion implies some relationship among the elements of the module. Ex: In a module that performs all input and output operations, or in a module that edits all data.
  • 13. Temporal Cohesion: Modules with temporal cohesion exhibit many of the same disadvantages as logically bound modules. A typical example of temporal cohesion is a module that performs program initialization. Communication Cohesion: The elements of a module possessing communicational cohesion refer to the same set of input and/or output data. Ex: “Print and Punch the Output File” is communicationally bound.
  • 14. Sequential Cohesion: Sequential cohesion of elements occurs when the output of one element is the input for the next element. Functional Cohesion: Functional cohesion is a strong, and hence desirable, type of binding of elements in a module because all elements are related to the performance of a single function. Informational Cohesion: Informational cohesion of elements in a module occurs when the module contains a complex data structure and several routines to manipulate the data structure.
  • 15. Other Modularization Criteria Additional criteria for deciding which functions to place in which modules of a software system include: Hiding difficult and changeable design decisions Limiting the physical size of modules Structuring the system to improve observability and testability Isolating machine dependencies to a few routines Easing likely changes Providing general purpose utility functions Reducing the call return overhead of excessive subroutine calls.