SlideShare a Scribd company logo
1 of 22
INTRODUCTION TO
PROGRAMING & PROBLEM
SOLVING – SPS2101
Lecture 2
Program Development Cycle - Modularity
Lecture Overview
• Program development life cycle
• Characteristics of a good program
• Types of errors
• Modularity
Program
development
life cycle
Program development life
cycle
• The program development is part of the software
development life cy le, characterized by the following
steps;
1. Requirement analysis
2. Design
3. Coding
4. Testing
5. Implementation support
6. Documentation
Requirement Analysis
• An accurate and complete set of
client and user requirements is
produced to determine the
characteristics of the desirable
solution.
Requirement analysis components
• The requirement analysis is made up of;
1. The proposed solution agreed upon by the client and developer
2. List of existing tools, new tools, required facilities and development team
3. A schedule for implementation stages consisting of deliverables at each phase
Design stage
• Use of proper design techniques to illustrate the program
specifications in a systematic way
• Representing the tasks required in the program
specification showing al input, processing and output
requirements
Example
• Flowchart
• Pseudocode
• JSP
Coding stage
Produce the programs that will
make up the system
Translation of design into
programming language e.g c,
c++, pascal
AKA implementation Complete when all code is
written, compiled and
documented without any errors
Testing
stage
Debugging: Done by development team – the task
involves tracing and removing errors/bugs
Testing: done by testing team – the task of locating
and identifying bugs/errors included in the program
Any tracable error is corrected and the testing
phase repeated again.
Types of tests
Alpha test: test of the finished application
completed internally
Beta test: tested externally
Implementation and support
• When all the previous stages have been completed
satisfactorily, the system is ready for implementation
• Program is transferred o the user’s machine and made to
work
• 3 strategies are incorporated
• The new program run concurrently with the old one
• It may completely replace the old one
• It may be phased out gradually
Implementation and support
ONCE THE PROGRAM IS INSTALLED AND
OPERATED, IT WILL BE MONITORED FOR SOME
TIME TO ENSURE THAT PROGRAM IS ERROR-FREE
MAINTENANCE INCLUDES ERROR FIXING,
UPDATES AND MODIFICATION
Documentation stage
All processes in all stages during the system
development must be documented/written
down
This documentation is vital for future
reference/for future maintenance of the
program
Characteristics of a good program
CORRECTNESS: FULFILLING
USER REQUIREMENTS
RELIABILITY: IT PRODUCES
CORRECT OUTPUT AND
VALIDATES INPUT DATA TO
AVOID PROGRAM CRASH
PORTABILITY: EASILY
INSTALLED FROM ONE
MACHINE TO ANOTHER
WITH MINIMAL
MODIFICATION
MAINTAINABILITY: EASILY
FOLLOWED AND MODIFIED,
NOT ONLY TO THE
PROGRAMMER WHO
WROTE IT
READABILITY: CLEARLY
DOCUMENTED
USE OF RESOURCES: FAST IN
PROCESSING, USES
MINIMUM STORAGE SPACE
AND ABLE TO RUN ON
EXISTING HARDWARE
Types of
errors
Syntax: error relating to the
programming language used
Logical: error in programming logic
Run-time/execution: error that
appears after you compile and run
your code
Modularity
Modularity
Software is divided into
separately named
components often called
modules that are used to
detect problems at ease.
This follows the “divide and
conquer’ strategy.
It is easier to solve a
complex problem when you
break it into manageable
pieces
Why modularize a
system?
Management: partition the
overall development effort
Evolution: Decouple parts of
a system so that changes to
one part are isolated from
changes to other parts
Principle of
discontinuity
(delete a part)
Principle of
continuity
(addition to the
part)
Understanding: Permit
system to be understood
As composition
of mind-sized
chunks
With one issue at
a time
Advantages of modularization
Smaller
components are
easier to maintain
Program can be
divided based on
functional aspects
Desired level of
abstraction can be
brought in the
program
Components with
high usage can be
re-used
Concurrent
execution can be
made possible
Modular design
Easier to change Easier to build Easier to maintain
Functional Independence
Cohesion: The degree
to which a module
performs one and
only one function
Coupling: The degree
to which a module is
‘connected’ to other
module in the system.
Modularity “Modules”
cost Vs size
• The effort(cost) to develop an individual software
module does decrease as the total number of modules
increases.
• Given the same of requirements more modules means
smaller individual size.
• However, as the number of modules grows the effort
(cost)associated with integrating the modules grows.
• These characteristics lead to a total cost or effort
as shown in these figure.
• There is a number “M” of modules that would result in
Minimum cost development.
Self-contained:
“Agile &
Autonomous”
A module is a self-contained component of a
larger software system.
This doesn’t mean that it is atomic component
In fact, a module consists of several smaller
pieces which are collectively contributed o the
functionality/ performance of the module.
A module can be installed, un-installed or
moved as a whole and it won’t affect the
functionality of the other modules

More Related Content

Similar to Lecture 2.pptx

Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Software engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelSoftware engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelVaibhav Khanna
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v modelMinal Kashyap
 
PS02CINT22 SE Software Maintenance
PS02CINT22 SE Software MaintenancePS02CINT22 SE Software Maintenance
PS02CINT22 SE Software MaintenanceConestoga Collage
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.pptSasiR18
 
software process model
software process modelsoftware process model
software process modeljuhi kumari
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptHumzaWaris1
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1Badar Waseer
 
INTELLIGENT TOURIST GUIDE SYSTEM CHAPTER 3
INTELLIGENT TOURIST GUIDE SYSTEM CHAPTER 3INTELLIGENT TOURIST GUIDE SYSTEM CHAPTER 3
INTELLIGENT TOURIST GUIDE SYSTEM CHAPTER 3dzulfazawawi
 
software project management
software project managementsoftware project management
software project managementJassir4
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering processRaheel Aslam
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleMantesh Basarakod
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologybipulpwc
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback systemAkshay Surve
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdfkrishnaraj714229
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 

Similar to Lecture 2.pptx (20)

Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelSoftware engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall model
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
 
PS02CINT22 SE Software Maintenance
PS02CINT22 SE Software MaintenancePS02CINT22 SE Software Maintenance
PS02CINT22 SE Software Maintenance
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
software process model
software process modelsoftware process model
software process model
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
INTELLIGENT TOURIST GUIDE SYSTEM CHAPTER 3
INTELLIGENT TOURIST GUIDE SYSTEM CHAPTER 3INTELLIGENT TOURIST GUIDE SYSTEM CHAPTER 3
INTELLIGENT TOURIST GUIDE SYSTEM CHAPTER 3
 
software project management
software project managementsoftware project management
software project management
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf
 
Software Processes
Software Processes Software Processes
Software Processes
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 

Recently uploaded

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 

Lecture 2.pptx

  • 1. INTRODUCTION TO PROGRAMING & PROBLEM SOLVING – SPS2101 Lecture 2 Program Development Cycle - Modularity
  • 2. Lecture Overview • Program development life cycle • Characteristics of a good program • Types of errors • Modularity
  • 4. Program development life cycle • The program development is part of the software development life cy le, characterized by the following steps; 1. Requirement analysis 2. Design 3. Coding 4. Testing 5. Implementation support 6. Documentation
  • 5. Requirement Analysis • An accurate and complete set of client and user requirements is produced to determine the characteristics of the desirable solution.
  • 6. Requirement analysis components • The requirement analysis is made up of; 1. The proposed solution agreed upon by the client and developer 2. List of existing tools, new tools, required facilities and development team 3. A schedule for implementation stages consisting of deliverables at each phase
  • 7. Design stage • Use of proper design techniques to illustrate the program specifications in a systematic way • Representing the tasks required in the program specification showing al input, processing and output requirements Example • Flowchart • Pseudocode • JSP
  • 8. Coding stage Produce the programs that will make up the system Translation of design into programming language e.g c, c++, pascal AKA implementation Complete when all code is written, compiled and documented without any errors
  • 9. Testing stage Debugging: Done by development team – the task involves tracing and removing errors/bugs Testing: done by testing team – the task of locating and identifying bugs/errors included in the program Any tracable error is corrected and the testing phase repeated again. Types of tests Alpha test: test of the finished application completed internally Beta test: tested externally
  • 10. Implementation and support • When all the previous stages have been completed satisfactorily, the system is ready for implementation • Program is transferred o the user’s machine and made to work • 3 strategies are incorporated • The new program run concurrently with the old one • It may completely replace the old one • It may be phased out gradually
  • 11. Implementation and support ONCE THE PROGRAM IS INSTALLED AND OPERATED, IT WILL BE MONITORED FOR SOME TIME TO ENSURE THAT PROGRAM IS ERROR-FREE MAINTENANCE INCLUDES ERROR FIXING, UPDATES AND MODIFICATION
  • 12. Documentation stage All processes in all stages during the system development must be documented/written down This documentation is vital for future reference/for future maintenance of the program
  • 13. Characteristics of a good program CORRECTNESS: FULFILLING USER REQUIREMENTS RELIABILITY: IT PRODUCES CORRECT OUTPUT AND VALIDATES INPUT DATA TO AVOID PROGRAM CRASH PORTABILITY: EASILY INSTALLED FROM ONE MACHINE TO ANOTHER WITH MINIMAL MODIFICATION MAINTAINABILITY: EASILY FOLLOWED AND MODIFIED, NOT ONLY TO THE PROGRAMMER WHO WROTE IT READABILITY: CLEARLY DOCUMENTED USE OF RESOURCES: FAST IN PROCESSING, USES MINIMUM STORAGE SPACE AND ABLE TO RUN ON EXISTING HARDWARE
  • 14. Types of errors Syntax: error relating to the programming language used Logical: error in programming logic Run-time/execution: error that appears after you compile and run your code
  • 16. Modularity Software is divided into separately named components often called modules that are used to detect problems at ease. This follows the “divide and conquer’ strategy. It is easier to solve a complex problem when you break it into manageable pieces
  • 17. Why modularize a system? Management: partition the overall development effort Evolution: Decouple parts of a system so that changes to one part are isolated from changes to other parts Principle of discontinuity (delete a part) Principle of continuity (addition to the part) Understanding: Permit system to be understood As composition of mind-sized chunks With one issue at a time
  • 18. Advantages of modularization Smaller components are easier to maintain Program can be divided based on functional aspects Desired level of abstraction can be brought in the program Components with high usage can be re-used Concurrent execution can be made possible
  • 19. Modular design Easier to change Easier to build Easier to maintain
  • 20. Functional Independence Cohesion: The degree to which a module performs one and only one function Coupling: The degree to which a module is ‘connected’ to other module in the system.
  • 21. Modularity “Modules” cost Vs size • The effort(cost) to develop an individual software module does decrease as the total number of modules increases. • Given the same of requirements more modules means smaller individual size. • However, as the number of modules grows the effort (cost)associated with integrating the modules grows. • These characteristics lead to a total cost or effort as shown in these figure. • There is a number “M” of modules that would result in Minimum cost development.
  • 22. Self-contained: “Agile & Autonomous” A module is a self-contained component of a larger software system. This doesn’t mean that it is atomic component In fact, a module consists of several smaller pieces which are collectively contributed o the functionality/ performance of the module. A module can be installed, un-installed or moved as a whole and it won’t affect the functionality of the other modules