SlideShare a Scribd company logo
1 of 49
PRESENTATION
Software Design Complexity
Abdul Sattar
Sarmad
Farooq
Liaqat Ali
Muhammad
ArsalanSoftware Engineering
GC University Faisalabad (Layyah Campus)
Group Members
PRESENTATION
Software Design Complexity
Abdul Sattar
Sarmad
Farooq
Liaqat Ali
Muhammad
ArsalanSoftware Engineering
GC University Faisalabad (Layyah Campus)
Group Members
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
What is A Software Design?
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
What is A Software Design?
Software design is a process to
transform user requirements into
some suitable form, which helps
the programmer in software coding
and implementation.
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
The term complexity stands for state of
events or things, which have multiple
interconnected links and highly complicated
structures. In software programming, as the
design of software is realized, the number of
elements and their interconnections gradually
emerge to be huge, which becomes too
difficult to understand at once.
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Halstead's Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Halstead's Complexity Measures
 Halstead measures were introduced in 1977
 According to Halstead, “A computer
program is an implementation of an algorithm
considered to be a collection of tokens which
can be classified as either operators or
operands”
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Halstead's Complexity Measures
 Developed to measure a program module
complexity directly from source code.
 Measures complexity directly from the
operators and operands.
 They are most often used as a
maintenance metric.
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Halstead's Complexity Measures
Number of Operators and Operands
Halstead´s metrics is based on
interpreting the source code as a
sequence of tokens and classifying each
token to be an operator or an operand.
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Halstead's Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Halstead's Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
 A program consists of statements.
 Some of them are decision-making which change
the flow of the program.
 Comparing two Programs with the Same Size.
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
 McCabe, in 1976.
 The purpose was to quantify complexity of a
given software.
 A graph driven model based on decision-
making statements( if-else, do-while, repeat-
until, switch-case and goto statements ).
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
Process to make flow control graph:
i. Break program by decision-making statements.
ii. Create nodes representing each of these nodes.
Connect nodes as follows:
 If control can branch from block i to block j? Draw an arc.
 From exit node to entry node, Draw an arc.
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
To calculate Cyclomatic complexity of a program
module, we use the formula
Cyclomatic Complexity = e – n +2
Where
 e is total number of edges
 n is total number of nodes
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
Statement 1
Expression
1
Statement 2 Statement 3
Statement 4
Statement 5
Expression
2
Statement 6
n1
n2
n4n3
n5
n6
n7
n8
Statement 1
If Expression 1
Statement 2
else
Statement 3
e1
e2
e6
e7
e3
e8
e10
e9
e5e4
Y N
Statement 4
do
Statement 5
While expression 2
Statement 6
Y
N
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
Statement 1
Expression
1
Statement 2 Statement 3
Statement 4
Statement 5
Expression
2
Statement 6
n1
n2
n4n3
n5
n6
n7
n8
Statement 1
If Expression 1
Statement 2
else
Statement 3
e1
e2
e6
e7
e3
e8
e10
e9
e5e4
Y N
Statement 4
do
Statement 5
While expression 2
Statement 6
Y
N
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
Statement 1
Expression
1
Statement 2 Statement 3
Statement 4
Statement 5
Expression
2
Statement 6
n1
n2
n4n3
n5
n6
n7
n8
Statement 1
If Expression 1
Statement 2
else
Statement 3
e1
e2
e6
e7
e3
e8
e10
e9
e5e4
Y N
Statement 4
do
Statement 5
While expression 2
Statement 6
Y
N
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Umer Chandia
There are
8 nodes
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
Statement 1
Expression
1
Statement 2 Statement 3
Statement 4
Statement 5
Expression
2
Statement 6
n1
n2
n4n3
n5
n6
n7
n8
Statement 1
If Expression 1
Statement 2
else
Statement 3
e1
e2
e6
e7
e3
e8
e10
e9
e5e4
Y N
Statement 4
do
Statement 5
While expression 2
Statement 6
Y
N
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
Nodes(n) = 8
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
Statement 1
Expression
1
Statement 2 Statement 3
Statement 4
Statement 5
Expression
2
Statement 6
n1
n2
n4n3
n5
n6
n7
n8
Statement 1
If Expression 1
Statement 2
else
Statement 3
e1
e2
e6
e7
e3
e8
e10
e9
e5e4
Y N
Statement 4
do
Statement 5
While expression 2
Statement 6
Y
N
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Ahmad Yaqoob
There are
10 edges
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
Statement 1
Expression
1
Statement 2 Statement 3
Statement 4
Statement 5
Expression
2
Statement 6
n1
n2
n4n3
n5
n6
n7
n8
Statement 1
If Expression 1
Statement 2
else
Statement 3
e1
e2
e6
e7
e3
e8
e10
e9
e5e4
Y N
Statement 4
do
Statement 5
While expression 2
Statement 6
Y
N
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`
Edges(e) = 10
Nodes(n) = 8
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
To calculate Cyclomatic complexity of a program
module, we use the formula
Cyclomatic Complexity = e – n +2
Where
e is total number of edges
n is total number of nodes
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Cyclomatic Complexity Measures
`Cyclomatic Complexity = e – n +2
Edges(e) = 10
Nodes(n) = 8
Putting values
= 10 – 8 + 2
= 4
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Function Points
Function Points
 It is widely used to measure the size of
software. Function Point concentrates on
functionality provided by the system.
 Features and functionality of the
system are used to measure the software
complexity
Function Points
 External Input
 External Output
 Internal Logical Files
 External Interface Files
 External Inquires
Function Points
Function Points
Parameters Simple Complex Average
External Input If input count is low and
affects less internal files.
If input count is high and
affects more internal files.
b/w simple and complex.
Function Points
Parameters Simple Complex Average
External Input If input count is low and
affects less internal files.
If input count is high and
affects more internal files.
b/w simple and complex.
External Output If output count is low. If output count is high. b/w simple and complex.
Function Points
Parameters Simple Complex Average
External Input If input count is low and
affects less internal files.
If input count is high and
affects more internal files.
b/w simple and complex.
External Output If output count is low. If output count is high. b/w simple and complex.
Internal Logical Files If number of record types
are low.
If number of record types
are high.
b/w simple and complex.
Function Points
Parameters Simple Complex Average
External Input If input count is low and
affects less internal files.
If input count is high and
affects more internal files.
b/w simple and complex.
External Output If output count is low. If output count is high. b/w simple and complex.
Internal Logical Files If number of record types
are low.
If number of record types
are high.
b/w simple and complex.
External Interface Files If number of record types
in shared files are low.
If number of record types
in shared files are high.
b/w simple and complex.
Function Points
Parameters Simple Complex Average
External Input If input count is low and
affects less internal files.
If input count is high and
affects more internal files.
b/w simple and complex.
External Output If output count is low. If output count is high. b/w simple and complex.
Internal Logical Files If number of record types
are low.
If number of record types
are high.
b/w simple and complex.
External Interface Files If number of record types
in shared files are low.
If number of record types
in shared files are high.
b/w simple and complex.
External Inquiries If query needs low
processing and yield small
amount.
If query needs high
processing and yield larger
amount.
b/w simple and complex.
GC University Faisalabad (Layyah Campus)
Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan
Software Engineering Software Design Complexity
Abdul Sattar Sarmad Farooq Liaqat Ali M. Arsalan

More Related Content

Similar to Software designm complexity

Protecting from transient failures in cloud microsoft azure deployments
Protecting from transient failures in cloud microsoft azure deploymentsProtecting from transient failures in cloud microsoft azure deployments
Protecting from transient failures in cloud microsoft azure deploymentswww.pixelsolutionbd.com
 
IRJET- Lost: The Horror Game
IRJET- Lost: The Horror GameIRJET- Lost: The Horror Game
IRJET- Lost: The Horror GameIRJET Journal
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringAnwarrChaudary
 
Iwsm2014 measuring cosmic software size from functional execution traces of...
Iwsm2014   measuring cosmic software size from functional execution traces of...Iwsm2014   measuring cosmic software size from functional execution traces of...
Iwsm2014 measuring cosmic software size from functional execution traces of...Nesma
 
Electronics Engineer Resume Foramt
Electronics Engineer Resume ForamtElectronics Engineer Resume Foramt
Electronics Engineer Resume ForamtMohammed Irshad S K
 
IRJET - From C to JAVA
IRJET -  	  From C to JAVAIRJET -  	  From C to JAVA
IRJET - From C to JAVAIRJET Journal
 
Advance java summer training report
Advance java summer training report Advance java summer training report
Advance java summer training report Nitesh Saini
 
ATI's Total Systems Engineering Development & Management technical training c...
ATI's Total Systems Engineering Development & Management technical training c...ATI's Total Systems Engineering Development & Management technical training c...
ATI's Total Systems Engineering Development & Management technical training c...Jim Jenkins
 
Total systems engineering_development_management_course_sampler
Total systems engineering_development_management_course_samplerTotal systems engineering_development_management_course_sampler
Total systems engineering_development_management_course_samplerJim Jenkins
 
Covid Symtoms Analysis Report
Covid Symtoms Analysis ReportCovid Symtoms Analysis Report
Covid Symtoms Analysis ReportSatyamAgarwal28
 
Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Edward Burns
 
Vishal_Nigam_EXP_CV_New
Vishal_Nigam_EXP_CV_NewVishal_Nigam_EXP_CV_New
Vishal_Nigam_EXP_CV_NewVishal Nigam
 

Similar to Software designm complexity (20)

Protecting from transient failures in cloud microsoft azure deployments
Protecting from transient failures in cloud microsoft azure deploymentsProtecting from transient failures in cloud microsoft azure deployments
Protecting from transient failures in cloud microsoft azure deployments
 
MANUAL TEST ENGINEER
MANUAL TEST ENGINEERMANUAL TEST ENGINEER
MANUAL TEST ENGINEER
 
MANUAL TEST ENGINEER
MANUAL TEST ENGINEERMANUAL TEST ENGINEER
MANUAL TEST ENGINEER
 
IRJET- Lost: The Horror Game
IRJET- Lost: The Horror GameIRJET- Lost: The Horror Game
IRJET- Lost: The Horror Game
 
Software Development Life Cycle
Software Development Life Cycle Software Development Life Cycle
Software Development Life Cycle
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Iwsm2014 measuring cosmic software size from functional execution traces of...
Iwsm2014   measuring cosmic software size from functional execution traces of...Iwsm2014   measuring cosmic software size from functional execution traces of...
Iwsm2014 measuring cosmic software size from functional execution traces of...
 
MARY PAULSON CV
MARY PAULSON CVMARY PAULSON CV
MARY PAULSON CV
 
Shahzad CV
Shahzad CV Shahzad CV
Shahzad CV
 
Electronics Engineer Resume Foramt
Electronics Engineer Resume ForamtElectronics Engineer Resume Foramt
Electronics Engineer Resume Foramt
 
IRJET - From C to JAVA
IRJET -  	  From C to JAVAIRJET -  	  From C to JAVA
IRJET - From C to JAVA
 
Advance java summer training report
Advance java summer training report Advance java summer training report
Advance java summer training report
 
ATI's Total Systems Engineering Development & Management technical training c...
ATI's Total Systems Engineering Development & Management technical training c...ATI's Total Systems Engineering Development & Management technical training c...
ATI's Total Systems Engineering Development & Management technical training c...
 
Total systems engineering_development_management_course_sampler
Total systems engineering_development_management_course_samplerTotal systems engineering_development_management_course_sampler
Total systems engineering_development_management_course_sampler
 
RamachandraParlapalli_RESUME
RamachandraParlapalli_RESUMERamachandraParlapalli_RESUME
RamachandraParlapalli_RESUME
 
Covid Symtoms Analysis Report
Covid Symtoms Analysis ReportCovid Symtoms Analysis Report
Covid Symtoms Analysis Report
 
Cv
CvCv
Cv
 
Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013
 
S13CS61920410
S13CS61920410S13CS61920410
S13CS61920410
 
Vishal_Nigam_EXP_CV_New
Vishal_Nigam_EXP_CV_NewVishal_Nigam_EXP_CV_New
Vishal_Nigam_EXP_CV_New
 

More from ITz_1

Data Mining in Operating System
Data Mining in Operating SystemData Mining in Operating System
Data Mining in Operating SystemITz_1
 
Linux operating system
Linux operating systemLinux operating system
Linux operating systemITz_1
 
Embedded Software
Embedded SoftwareEmbedded Software
Embedded SoftwareITz_1
 
5 major social institutions
5 major social institutions5 major social institutions
5 major social institutionsITz_1
 
Java script programs
Java script programsJava script programs
Java script programsITz_1
 
Java script
Java scriptJava script
Java scriptITz_1
 
Class selectors
Class selectorsClass selectors
Class selectorsITz_1
 

More from ITz_1 (8)

Data Mining in Operating System
Data Mining in Operating SystemData Mining in Operating System
Data Mining in Operating System
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
 
Embedded Software
Embedded SoftwareEmbedded Software
Embedded Software
 
PCI
PCIPCI
PCI
 
5 major social institutions
5 major social institutions5 major social institutions
5 major social institutions
 
Java script programs
Java script programsJava script programs
Java script programs
 
Java script
Java scriptJava script
Java script
 
Class selectors
Class selectorsClass selectors
Class selectors
 

Recently uploaded

The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 

Recently uploaded (20)

The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 

Software designm complexity

  • 1. PRESENTATION Software Design Complexity Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad ArsalanSoftware Engineering GC University Faisalabad (Layyah Campus) Group Members
  • 2. PRESENTATION Software Design Complexity Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad ArsalanSoftware Engineering GC University Faisalabad (Layyah Campus) Group Members Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity
  • 3. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity What is A Software Design?
  • 4. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity What is A Software Design? Software design is a process to transform user requirements into some suitable form, which helps the programmer in software coding and implementation.
  • 5. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity
  • 6. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity
  • 7. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity The term complexity stands for state of events or things, which have multiple interconnected links and highly complicated structures. In software programming, as the design of software is realized, the number of elements and their interconnections gradually emerge to be huge, which becomes too difficult to understand at once.
  • 8. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity
  • 9. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Halstead's Complexity Measures
  • 10. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Halstead's Complexity Measures  Halstead measures were introduced in 1977  According to Halstead, “A computer program is an implementation of an algorithm considered to be a collection of tokens which can be classified as either operators or operands”
  • 11. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Halstead's Complexity Measures  Developed to measure a program module complexity directly from source code.  Measures complexity directly from the operators and operands.  They are most often used as a maintenance metric.
  • 12. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Halstead's Complexity Measures Number of Operators and Operands Halstead´s metrics is based on interpreting the source code as a sequence of tokens and classifying each token to be an operator or an operand.
  • 13. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Halstead's Complexity Measures
  • 14. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Halstead's Complexity Measures
  • 15. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity
  • 16. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures
  • 17. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures  A program consists of statements.  Some of them are decision-making which change the flow of the program.  Comparing two Programs with the Same Size.
  • 18. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures
  • 19. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures  McCabe, in 1976.  The purpose was to quantify complexity of a given software.  A graph driven model based on decision- making statements( if-else, do-while, repeat- until, switch-case and goto statements ).
  • 20. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures
  • 21. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures Process to make flow control graph: i. Break program by decision-making statements. ii. Create nodes representing each of these nodes. Connect nodes as follows:  If control can branch from block i to block j? Draw an arc.  From exit node to entry node, Draw an arc.
  • 22. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures
  • 23. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures To calculate Cyclomatic complexity of a program module, we use the formula Cyclomatic Complexity = e – n +2 Where  e is total number of edges  n is total number of nodes
  • 24. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures
  • 25. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures ` Statement 1 Expression 1 Statement 2 Statement 3 Statement 4 Statement 5 Expression 2 Statement 6 n1 n2 n4n3 n5 n6 n7 n8 Statement 1 If Expression 1 Statement 2 else Statement 3 e1 e2 e6 e7 e3 e8 e10 e9 e5e4 Y N Statement 4 do Statement 5 While expression 2 Statement 6 Y N
  • 26. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures
  • 27. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures ` Statement 1 Expression 1 Statement 2 Statement 3 Statement 4 Statement 5 Expression 2 Statement 6 n1 n2 n4n3 n5 n6 n7 n8 Statement 1 If Expression 1 Statement 2 else Statement 3 e1 e2 e6 e7 e3 e8 e10 e9 e5e4 Y N Statement 4 do Statement 5 While expression 2 Statement 6 Y N
  • 28. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures `
  • 29. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures ` Statement 1 Expression 1 Statement 2 Statement 3 Statement 4 Statement 5 Expression 2 Statement 6 n1 n2 n4n3 n5 n6 n7 n8 Statement 1 If Expression 1 Statement 2 else Statement 3 e1 e2 e6 e7 e3 e8 e10 e9 e5e4 Y N Statement 4 do Statement 5 While expression 2 Statement 6 Y N
  • 30. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Umer Chandia There are 8 nodes
  • 31. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures ` Statement 1 Expression 1 Statement 2 Statement 3 Statement 4 Statement 5 Expression 2 Statement 6 n1 n2 n4n3 n5 n6 n7 n8 Statement 1 If Expression 1 Statement 2 else Statement 3 e1 e2 e6 e7 e3 e8 e10 e9 e5e4 Y N Statement 4 do Statement 5 While expression 2 Statement 6 Y N
  • 32. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures ` Nodes(n) = 8
  • 33. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures ` Statement 1 Expression 1 Statement 2 Statement 3 Statement 4 Statement 5 Expression 2 Statement 6 n1 n2 n4n3 n5 n6 n7 n8 Statement 1 If Expression 1 Statement 2 else Statement 3 e1 e2 e6 e7 e3 e8 e10 e9 e5e4 Y N Statement 4 do Statement 5 While expression 2 Statement 6 Y N
  • 34. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Ahmad Yaqoob There are 10 edges
  • 35. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures ` Statement 1 Expression 1 Statement 2 Statement 3 Statement 4 Statement 5 Expression 2 Statement 6 n1 n2 n4n3 n5 n6 n7 n8 Statement 1 If Expression 1 Statement 2 else Statement 3 e1 e2 e6 e7 e3 e8 e10 e9 e5e4 Y N Statement 4 do Statement 5 While expression 2 Statement 6 Y N
  • 36. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures ` Edges(e) = 10 Nodes(n) = 8
  • 37. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures To calculate Cyclomatic complexity of a program module, we use the formula Cyclomatic Complexity = e – n +2 Where e is total number of edges n is total number of nodes
  • 38. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Cyclomatic Complexity Measures `Cyclomatic Complexity = e – n +2 Edges(e) = 10 Nodes(n) = 8 Putting values = 10 – 8 + 2 = 4
  • 39. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity
  • 41. Function Points  It is widely used to measure the size of software. Function Point concentrates on functionality provided by the system.  Features and functionality of the system are used to measure the software complexity
  • 42. Function Points  External Input  External Output  Internal Logical Files  External Interface Files  External Inquires
  • 44. Function Points Parameters Simple Complex Average External Input If input count is low and affects less internal files. If input count is high and affects more internal files. b/w simple and complex.
  • 45. Function Points Parameters Simple Complex Average External Input If input count is low and affects less internal files. If input count is high and affects more internal files. b/w simple and complex. External Output If output count is low. If output count is high. b/w simple and complex.
  • 46. Function Points Parameters Simple Complex Average External Input If input count is low and affects less internal files. If input count is high and affects more internal files. b/w simple and complex. External Output If output count is low. If output count is high. b/w simple and complex. Internal Logical Files If number of record types are low. If number of record types are high. b/w simple and complex.
  • 47. Function Points Parameters Simple Complex Average External Input If input count is low and affects less internal files. If input count is high and affects more internal files. b/w simple and complex. External Output If output count is low. If output count is high. b/w simple and complex. Internal Logical Files If number of record types are low. If number of record types are high. b/w simple and complex. External Interface Files If number of record types in shared files are low. If number of record types in shared files are high. b/w simple and complex.
  • 48. Function Points Parameters Simple Complex Average External Input If input count is low and affects less internal files. If input count is high and affects more internal files. b/w simple and complex. External Output If output count is low. If output count is high. b/w simple and complex. Internal Logical Files If number of record types are low. If number of record types are high. b/w simple and complex. External Interface Files If number of record types in shared files are low. If number of record types in shared files are high. b/w simple and complex. External Inquiries If query needs low processing and yield small amount. If query needs high processing and yield larger amount. b/w simple and complex.
  • 49. GC University Faisalabad (Layyah Campus) Abdul Sattar Sarmad Farooq Liaqat Ali Muhammad Arsalan Software Engineering Software Design Complexity Abdul Sattar Sarmad Farooq Liaqat Ali M. Arsalan