SlideShare a Scribd company logo
2
Most read
3
Most read
10
Most read
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.

More Related Content

DOCX
Software engineering Questions and Answers
PPTX
Android
PDF
Software Architecture: Design Decisions
PDF
Software engineering a practitioners approach 8th edition pressman solutions ...
PDF
Verification and Validation
PDF
Requirement analysis
PPTX
Multithreading and concurrency in android
PPTX
Ch 7 integrating quality activities in the projectlife cycle
Software engineering Questions and Answers
Android
Software Architecture: Design Decisions
Software engineering a practitioners approach 8th edition pressman solutions ...
Verification and Validation
Requirement analysis
Multithreading and concurrency in android
Ch 7 integrating quality activities in the projectlife cycle

What's hot (20)

PDF
Engineering Software Products: 1. software products
PPTX
Reverse engineering
DOCX
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
PPT
Spiral model explanation
PPTX
Software Development Methodologies Library Management System (Part-2)
PDF
Unit 5- Architectural Design in software engineering
PDF
Project report 393_395
PPTX
White box & black box testing
PDF
Software testing axioms
PPTX
Implementation issues software engineering
PDF
Lecture 4: Human-Computer Interaction: Prototyping (2014)
DOCX
imageprocessing-abstract
PPT
PPSX
Introduction to Requirement engineering
PPTX
V model presentation
PPTX
Object oriented modeling and design
PPTX
Introduction to simulation and modeling
PPTX
Human computer interaction -Input output channel
PPTX
Deep learning based object detection
PPT
Rapid application developmet
Engineering Software Products: 1. software products
Reverse engineering
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Spiral model explanation
Software Development Methodologies Library Management System (Part-2)
Unit 5- Architectural Design in software engineering
Project report 393_395
White box & black box testing
Software testing axioms
Implementation issues software engineering
Lecture 4: Human-Computer Interaction: Prototyping (2014)
imageprocessing-abstract
Introduction to Requirement engineering
V model presentation
Object oriented modeling and design
Introduction to simulation and modeling
Human computer interaction -Input output channel
Deep learning based object detection
Rapid application developmet
Ad

Viewers also liked (20)

PPS
簡報2
PPS
5亭賢結婚
PPS
091224 1
PPT
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
PDF
DOC
Information security
PPS
琉球1
PPT
Bipolar Disorder
PPS
2012過年3 2
PPTX
Tribal Fusion- Media Deck 2012
PPTX
De 5 mooiste snorkelparadijzen 1
PPTX
PPT
Presidents workshop 01.2012
PPS
1亭賢結婚11 10-8
PPS
橋頭花田喜事
PPSX
Comunicazione d'impresa base
PPS
2亭賢結婚
PPTX
O auth2.0 20141003
PDF
Prezentarea proiectului scoli implicate
PPT
Octopus habitats
簡報2
5亭賢結婚
091224 1
Resources assort urdu-shadi-al-shadi-047-nikah presentation - 3
Information security
琉球1
Bipolar Disorder
2012過年3 2
Tribal Fusion- Media Deck 2012
De 5 mooiste snorkelparadijzen 1
Presidents workshop 01.2012
1亭賢結婚11 10-8
橋頭花田喜事
Comunicazione d'impresa base
2亭賢結婚
O auth2.0 20141003
Prezentarea proiectului scoli implicate
Octopus habitats
Ad

Similar to What is a Software Module? (20)

PDF
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
PPTX
Java modulesystem
PDF
Software AG Application Modularity - OSGi and JPMS (Jigsaw)
PPTX
Java 9 Module System Introduction
PPTX
Managing modular software for your nu get, c++ and java development
PDF
What's My Modularity
PDF
The many faces of modularity
PDF
Calling all modularity solutions
PDF
New Modularity Features of the OSGi R4 Service Platform - Richard Hall, Ph.D....
PDF
Building modular software with OSGi - Ulf Fildebrandt
PDF
Calling All Modularity Solutions: A Comparative Study from eBay
PDF
Java 9 Jigsaw HackDay
PDF
Moved to https://slidr.io/azzazzel/what-s-not-new-in-modular-java
PPTX
Java Modularity with OSGi
KEY
Modular Java - OSGi
PDF
Java >= 9
PDF
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
PPTX
OSGi in Action Chapter 1 and 2
PPTX
Java modularization
PDF
Java 9 modularity+
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Java modulesystem
Software AG Application Modularity - OSGi and JPMS (Jigsaw)
Java 9 Module System Introduction
Managing modular software for your nu get, c++ and java development
What's My Modularity
The many faces of modularity
Calling all modularity solutions
New Modularity Features of the OSGi R4 Service Platform - Richard Hall, Ph.D....
Building modular software with OSGi - Ulf Fildebrandt
Calling All Modularity Solutions: A Comparative Study from eBay
Java 9 Jigsaw HackDay
Moved to https://slidr.io/azzazzel/what-s-not-new-in-modular-java
Java Modularity with OSGi
Modular Java - OSGi
Java >= 9
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
OSGi in Action Chapter 1 and 2
Java modularization
Java 9 modularity+

Recently uploaded (20)

DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PPTX
"Secure File Sharing Solutions on AWS".pptx
PDF
Cost to Outsource Software Development in 2025
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PPTX
Custom Software Development Services.pptx.pptx
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
iTop VPN Crack Latest Version Full Key 2025
PPTX
Tech Workshop Escape Room Tech Workshop
PDF
Website Design Services for Small Businesses.pdf
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
STL Containers in C++ : Sequence Container : Vector
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Why Generative AI is the Future of Content, Code & Creativity?
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Trending Python Topics for Data Visualization in 2025
Salesforce Agentforce AI Implementation.pdf
DNT Brochure 2025 – ISV Solutions @ D365
"Secure File Sharing Solutions on AWS".pptx
Cost to Outsource Software Development in 2025
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
GSA Content Generator Crack (2025 Latest)
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
Custom Software Development Services.pptx.pptx
How to Use SharePoint as an ISO-Compliant Document Management System
Complete Guide to Website Development in Malaysia for SMEs
iTop VPN Crack Latest Version Full Key 2025
Tech Workshop Escape Room Tech Workshop
Website Design Services for Small Businesses.pdf
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
Advanced SystemCare Ultimate Crack + Portable (2025)
STL Containers in C++ : Sequence Container : Vector

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.