SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Chapter 1: The Case for 
Modularity 
By Syed Ali Raza
Define a Module 
 “chunk of software” 
 A software module is a deployable, 
manageable, natively reusable, 
composable, stateless unit of software 
that provides a concise interface to 
consumers.
Elements of a module 
 DEPLOYABLE 
 MANAGEABLE 
 TESTABLE 
 NATIVELY 
REUSABLE 
 COMPOSABLE 
 STATELESS
Deployable 
 a unit of deployment 
 a module is a discrete unit of 
deployment that can alongside other 
software modules. 
 modules represent something more 
physical and coarse-grained than 
classes or packages, which are 
intangible software entities. 
 Examples of deployable units of 
software include EAR, WAR, and JAR 
files.
MANAGEABLE 
 They can be installed, uninstalled, and 
refreshed. 
 This includes improving build 
efficiency, allowing developers to 
independently develop autono-mous 
modules, and planning the 
development effort along module 
boundaries. 
 It include EAR, WAR, and JAR files.
TESTABLE 
 A module is a unit of testability. 
 A module can also be independently 
tested. 
 It include classes, packages, and 
JAR files
NATIVELY REUSABLE 
 Modules are a unit of intraprocess reuse. 
 modularity is a way to organize units of 
deployment in a way that they can be 
reused across applications, but a module 
is always invoked natively (the 
operations exposed by a module are 
invoked by calling the method directly.) 
 a module is deployed with each process 
that intends to reuse its functionality. 
 It include classes, packages, and JAR 
files.
COMPOSABLE 
 Modules can be composed of other 
modules 
 this involves coarse-grained modules 
being a composition of finer-grained 
modules.
STATELESS 
 Modules are stateless. 
 There exists only a single instance of 
a specific version of a module. 
 We don’t instantiate software 
modules, although we do instantiate 
instances of the classes within 
software modules, 
 WAR, EAR, and JAR files
SUCCINCT DEFINITION OFA 
SOFTWARE MODULE 
 After applying each segment of the 
definition 
◦ The best candidate as the unit of 
modularity on the Java platform is the 
JAR file!
Reference 
 Java Application Architecture by Kirk 
Knoernschild.

Weitere ähnliche Inhalte

Was ist angesagt?

Computer organization and architecture
Computer organization and architectureComputer organization and architecture
Computer organization and architecturePOOJA MEHTA
 
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with DebuggingPART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with DebuggingFastBit Embedded Brain Academy
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Ankit Prajapati
 
Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminariesMoutasm Tamimi
 
Case tool introduction
Case tool introductionCase tool introduction
Case tool introductionAsamHussain3
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineeringParminder Singh
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and conceptsSlideshare
 
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISC
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISCBenchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISC
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISCPriyodarshini Dhar
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview Assaf Halperin
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behaviorIIUI
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineeringrishi ram khanal
 

Was ist angesagt? (20)

Computer organization and architecture
Computer organization and architectureComputer organization and architecture
Computer organization and architecture
 
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with DebuggingPART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminaries
 
Embedded systems basics
Embedded systems basicsEmbedded systems basics
Embedded systems basics
 
Case tool introduction
Case tool introductionCase tool introduction
Case tool introduction
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
Spice
SpiceSpice
Spice
 
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISC
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISCBenchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISC
Benchmark Processors- VAX 8600,MC68040,SPARC and Superscalar RISC
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Hld and lld
Hld and lldHld and lld
Hld and lld
 
Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview
 
Lecture 14 requirements modeling - flow and behavior
Lecture 14   requirements modeling - flow and  behaviorLecture 14   requirements modeling - flow and  behavior
Lecture 14 requirements modeling - flow and behavior
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
 
COMPILER DESIGN- Introduction & Lexical Analysis:
COMPILER DESIGN- Introduction & Lexical Analysis: COMPILER DESIGN- Introduction & Lexical Analysis:
COMPILER DESIGN- Introduction & Lexical Analysis:
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
 

Andere mochten auch

Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3Syed Ali Raza
 
Information security
Information securityInformation security
Information securitySanjay Tiwari
 
Bipolar Disorder
Bipolar DisorderBipolar Disorder
Bipolar DisorderNicole Song
 
Tribal Fusion- Media Deck 2012
Tribal Fusion- Media Deck 2012Tribal Fusion- Media Deck 2012
Tribal Fusion- Media Deck 2012Hassan Modan
 
De 5 mooiste snorkelparadijzen 1
De 5 mooiste snorkelparadijzen 1De 5 mooiste snorkelparadijzen 1
De 5 mooiste snorkelparadijzen 1KHBO
 
Presidents workshop 01.2012
Presidents workshop 01.2012Presidents workshop 01.2012
Presidents workshop 01.2012David Robinson
 
1亭賢結婚11 10-8
1亭賢結婚11 10-81亭賢結婚11 10-8
1亭賢結婚11 10-8Emma Chang
 
橋頭花田喜事
橋頭花田喜事橋頭花田喜事
橋頭花田喜事Emma Chang
 
Comunicazione d'impresa base
Comunicazione d'impresa   baseComunicazione d'impresa   base
Comunicazione d'impresa basebeatess
 
Prezentarea proiectului scoli implicate
Prezentarea proiectului   scoli implicatePrezentarea proiectului   scoli implicate
Prezentarea proiectului scoli implicatecameliatimofte
 
Octopus habitats
Octopus habitatsOctopus habitats
Octopus habitatsnerf98
 

Andere mochten auch (20)

簡報2
簡報2簡報2
簡報2
 
5亭賢結婚
5亭賢結婚5亭賢結婚
5亭賢結婚
 
091224 1
091224 1091224 1
091224 1
 
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
 
32
3232
32
 
Information security
Information securityInformation security
Information security
 
琉球1
琉球1琉球1
琉球1
 
Bipolar Disorder
Bipolar DisorderBipolar Disorder
Bipolar Disorder
 
2012過年3 2
2012過年3 22012過年3 2
2012過年3 2
 
Tribal Fusion- Media Deck 2012
Tribal Fusion- Media Deck 2012Tribal Fusion- Media Deck 2012
Tribal Fusion- Media Deck 2012
 
De 5 mooiste snorkelparadijzen 1
De 5 mooiste snorkelparadijzen 1De 5 mooiste snorkelparadijzen 1
De 5 mooiste snorkelparadijzen 1
 
Chap 1
Chap 1Chap 1
Chap 1
 
Presidents workshop 01.2012
Presidents workshop 01.2012Presidents workshop 01.2012
Presidents workshop 01.2012
 
1亭賢結婚11 10-8
1亭賢結婚11 10-81亭賢結婚11 10-8
1亭賢結婚11 10-8
 
橋頭花田喜事
橋頭花田喜事橋頭花田喜事
橋頭花田喜事
 
Comunicazione d'impresa base
Comunicazione d'impresa   baseComunicazione d'impresa   base
Comunicazione d'impresa base
 
2亭賢結婚
2亭賢結婚2亭賢結婚
2亭賢結婚
 
O auth2.0 20141003
O auth2.0 20141003O auth2.0 20141003
O auth2.0 20141003
 
Prezentarea proiectului scoli implicate
Prezentarea proiectului   scoli implicatePrezentarea proiectului   scoli implicate
Prezentarea proiectului scoli implicate
 
Octopus habitats
Octopus habitatsOctopus habitats
Octopus habitats
 

Ähnlich wie What is a Software Module?

Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemTim Ellison
 
As7 jbug j_boss_modules_yang yong
As7 jbug j_boss_modules_yang yongAs7 jbug j_boss_modules_yang yong
As7 jbug j_boss_modules_yang yongjbossug
 
Java 9 Module System
Java 9 Module SystemJava 9 Module System
Java 9 Module SystemHasan Ünal
 
Vb.net basics 1(vb,net--3 year)
Vb.net basics 1(vb,net--3 year)Vb.net basics 1(vb,net--3 year)
Vb.net basics 1(vb,net--3 year)Ankit Gupta
 
SpringSource dm Server (formerly known as SpringSource Application Platform)
SpringSource dm Server (formerly known as SpringSource Application Platform)SpringSource dm Server (formerly known as SpringSource Application Platform)
SpringSource dm Server (formerly known as SpringSource Application Platform)Aditya Jha
 
Java Introduction | PDF
Java Introduction |  PDFJava Introduction |  PDF
Java Introduction | PDFGeekster
 
Top 10 Important Core Java Interview questions and answers.pdf
Top 10 Important Core Java Interview questions and answers.pdfTop 10 Important Core Java Interview questions and answers.pdf
Top 10 Important Core Java Interview questions and answers.pdfUmesh Kumar
 
Java Interview Questions
Java Interview QuestionsJava Interview Questions
Java Interview QuestionsKuntal Bhowmick
 
computer science JAVA ppt
computer science JAVA pptcomputer science JAVA ppt
computer science JAVA pptbrijesh kumar
 
java course in chandigarh
java course in chandigarhjava course in chandigarh
java course in chandigarhexcellence0
 
Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Md. Mujahid Islam
 
Modules and Modularization.pptx
Modules and Modularization.pptxModules and Modularization.pptx
Modules and Modularization.pptxPriyankaBhatia66
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGiIlya Rybak
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basicsghayour abbas
 
Dynamic component composition
Dynamic component compositionDynamic component composition
Dynamic component compositionijseajournal
 

Ähnlich wie What is a Software Module? (20)

Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module System
 
As7 jbug j_boss_modules_yang yong
As7 jbug j_boss_modules_yang yongAs7 jbug j_boss_modules_yang yong
As7 jbug j_boss_modules_yang yong
 
Advance Java - 2nd Unit
Advance Java - 2nd UnitAdvance Java - 2nd Unit
Advance Java - 2nd Unit
 
Java 9 Module System
Java 9 Module SystemJava 9 Module System
Java 9 Module System
 
1
11
1
 
Vb.net basics 1(vb,net--3 year)
Vb.net basics 1(vb,net--3 year)Vb.net basics 1(vb,net--3 year)
Vb.net basics 1(vb,net--3 year)
 
SpringSource dm Server (formerly known as SpringSource Application Platform)
SpringSource dm Server (formerly known as SpringSource Application Platform)SpringSource dm Server (formerly known as SpringSource Application Platform)
SpringSource dm Server (formerly known as SpringSource Application Platform)
 
Java Introduction | PDF
Java Introduction |  PDFJava Introduction |  PDF
Java Introduction | PDF
 
Java 9 Jigsaw HackDay
Java 9 Jigsaw HackDayJava 9 Jigsaw HackDay
Java 9 Jigsaw HackDay
 
Top 10 Important Core Java Interview questions and answers.pdf
Top 10 Important Core Java Interview questions and answers.pdfTop 10 Important Core Java Interview questions and answers.pdf
Top 10 Important Core Java Interview questions and answers.pdf
 
Java Interview Questions
Java Interview QuestionsJava Interview Questions
Java Interview Questions
 
computer science JAVA ppt
computer science JAVA pptcomputer science JAVA ppt
computer science JAVA ppt
 
java course in chandigarh
java course in chandigarhjava course in chandigarh
java course in chandigarh
 
Java ppt
Java pptJava ppt
Java ppt
 
Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)
 
Modules and Modularization.pptx
Modules and Modularization.pptxModules and Modularization.pptx
Modules and Modularization.pptx
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
 
Dynamic component composition
Dynamic component compositionDynamic component composition
Dynamic component composition
 
Java9
Java9Java9
Java9
 

Kürzlich hochgeladen

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
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
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
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
 

Kürzlich hochgeladen (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
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
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
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
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
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
 

What is a Software Module?

  • 1. Chapter 1: The Case for Modularity By Syed Ali Raza
  • 2. Define a Module  “chunk of software”  A software module is a deployable, manageable, natively reusable, composable, stateless unit of software that provides a concise interface to consumers.
  • 3. Elements of a module  DEPLOYABLE  MANAGEABLE  TESTABLE  NATIVELY REUSABLE  COMPOSABLE  STATELESS
  • 4. Deployable  a unit of deployment  a module is a discrete unit of deployment that can alongside other software modules.  modules represent something more physical and coarse-grained than classes or packages, which are intangible software entities.  Examples of deployable units of software include EAR, WAR, and JAR files.
  • 5. MANAGEABLE  They can be installed, uninstalled, and refreshed.  This includes improving build efficiency, allowing developers to independently develop autono-mous modules, and planning the development effort along module boundaries.  It include EAR, WAR, and JAR files.
  • 6. TESTABLE  A module is a unit of testability.  A module can also be independently tested.  It include classes, packages, and JAR files
  • 7. NATIVELY REUSABLE  Modules are a unit of intraprocess reuse.  modularity is a way to organize units of deployment in a way that they can be reused across applications, but a module is always invoked natively (the operations exposed by a module are invoked by calling the method directly.)  a module is deployed with each process that intends to reuse its functionality.  It include classes, packages, and JAR files.
  • 8. COMPOSABLE  Modules can be composed of other modules  this involves coarse-grained modules being a composition of finer-grained modules.
  • 9. STATELESS  Modules are stateless.  There exists only a single instance of a specific version of a module.  We don’t instantiate software modules, although we do instantiate instances of the classes within software modules,  WAR, EAR, and JAR files
  • 10. SUCCINCT DEFINITION OFA SOFTWARE MODULE  After applying each segment of the definition ◦ The best candidate as the unit of modularity on the Java platform is the JAR file!
  • 11. Reference  Java Application Architecture by Kirk Knoernschild.