SlideShare a Scribd company logo
SOFTWARE ENGINEERING
UNIT-3
ABHIMANYU MISHRA
ASSISTANT PROF.(CSE)
JETGI
24/12/16 1Abhimanyu Mishra(CSE) JETGI
 Basic concept of software design.
 Architectural design.
 Low level designs.
 Design strategies.
 Software Measurement and Metrics.
 Function point based measure.
 Cyclomatic complexity Measure.
 Control flow diagram.
CONTENTS
24/12/16 2Abhimanyu Mishra(CSE) JETGI
Basic design principles that enable the software engineering to navigate the design
process suggest a set of principles for software design, which have been adapted and
extended in following list:-
 Free from the suffer from “tunnel vision”.
 The design should be traceable to the analysis model.
 The design should not repeat the same thing.
 The design should “minimize the intellectual distance” between the software and
the problem as it exists in real world.
 The design should exhibit uniformly and integration.
 The design should be accessed for quality as it is being created.
 The design should be able to handle all unusual circumstances.
 Design is not coding and coding is not design.
Software Design :
24/12/16 3Abhimanyu Mishra(CSE) JETGI
DESIGN PROCESS
The general design process shown above characterizes many design
disciplines, including building architecture, graphic design, various
branches of engineering, and software design. The software design process
can be decomposed mainly into the following three level of design:
 Interface level
 Architecture level
 Detailed level
24/12/16 4Abhimanyu Mishra(CSE) JETGI
Interface design- Interface design is the specification of the interaction between a
system and its environment. This phase proceed at high level.
Architectural design- The objective of architectural design is modelling of
overall software structure by representing components interface dependency and
relationship and interaction.
 Detailed design- Detailed design is the specification of the internal elements of
all major system components, their structure, properties, relationship and often
their algorithm and data structures.
Levels of design:
24/12/16 5Abhimanyu Mishra(CSE) JETGI
24/12/16 6Abhimanyu Mishra(CSE) JETGI
Software
Super class
ordinate
Peer user
Sub routine
User
Actor
Fig- Architectural design
“A modular system consists of well-define, manageable units with well
define interfaces among the units. The modularization of problem
partitioning, sometimes called problem decomposition”.
Desirable properties of modular system include:
•Each module is a well defined subsystem that is potentially useful in
other application.
• Each module has a single, well define purpose.
•Modules can be separately compiled and stored in a library.
•Module can use other modules.
•Module should be easier to use than to build.
•Module should be simpler from the outside than from the inside.
Low level design- Modularization:
24/12/16 7Abhimanyu Mishra(CSE) JETGI
Certain principles must be followed to ensure proper modularity:
• Linguistic modular units.
• Few interface
• Small interface(Weak coupling)
• Explicit interface
• Information hiding
24/12/16 8Abhimanyu Mishra(CSE) JETGI
Structural Chart
24/12/16 9Abhimanyu Mishra(CSE) JETGI
For a function oriented design, the design can be represented graphically, by structural
charts. The structure of a program is made up of the modules of that program together
with the interconnections between modules.
As an example consider the structure of the following program, whose structure is:
Main()
{
int sum, n N, a[MAX],j;
Readnums (a,&N);
Sort(a ,N);
Scanf (&n);
Sum= Add_n (a,n);
printf(Sum);
}
Readnums (a,N)
int a[], *N;
{
}
24/12/16 10Abhimanyu Mishra(CSE) JETGI
Sum
Main
Readnums Sort Add_n
Switch
a,n
A,n a
x,y
x,y
Fig- The structure chart of the sort program
Coupling and Cohesion-
Coupling is the measure of the degree of independence between modules.
Two modules are considered as independence modules if they individually
can work effectively without help to another module.
Two modules that are strongly
connected, highly dependent on each other mean one can’t work properly in
absence of another is called highly coupled module.
24/12/16 11Abhimanyu Mishra(CSE) JETGI
Uncoupled modules Highly-coupled modules
24/12/16 12Abhimanyu Mishra(CSE) JETGI
COHESION MEASURES:
Cohesion is the measure of functional relatedness elements within a single
module. When dividing a system into modules, it must be ensure that the
activities within the module are tightly bound to one another. It can be viewed
as opposite of coupling.
The level of cohesion go from good to bad i.e. the first from of
cohesion described below is the best form of cohesion and the last form of
cohesion is the worst form of cohesion.
“In functional independent module we have various advantages such as module
reusability, reducing the complexity of the design and reducing the errors”.
Types of cohesion module:
 Functional cohesion- All activities in the module are functionally related or
they are performing a similar function such as interest calculation, tax
calculation, etc.
 Sequential cohesion- In this scheme of cohesion, modules are divided into a
series of activities such that output of one module becomes the input to the
next module and chain continues.
 Communicational cohesion- This form of cohesion relates to a situation where
all modules share common data.
 Procedural cohesion- In this scheme, activities share the same procedural
implementation.
 Temporal cohesion- In this type of module cohesion, activities occurring in the
same period are grouped together.
 Logical cohesion- In logical cohesion, activities belonging to the same
category.
 Coincidental cohesion- There is no criteria of module.
24/12/16 13Abhimanyu Mishra(CSE) JETGI
24/12/16 14Abhimanyu Mishra(CSE) JETGI
FUNCTION ORIENTED DESIGN:
Function oriented design is an approach to software design where the design is
decomposed into a set of interacting units where each unit has a clearly defined
function. Thus, a system is design from a functional view point.
One of the best-known advocates of this method is NIKLAUS width, the creator of
PASCAL and a number of other language.
For a function oriented design, the following can represent the design graphically or
mathematically:
 Data flow diagram
 Data dictionaries
 Structure charts
 Pseudo-code
Software Measurement & Metrics:
• Software measurement is a new way of managing software development.
Software measurements once an obscure and mysterious specialty has
become essential to good software engineering.
• Measurement enables software managers to assess software quality,
improve the software process and assist in planning, tracking, and control
of a software project.
• A prediction system consists of a mathematical model together with a set of
prediction procedures for determining unknown parameters and
interpreting result.
cost = s*c/d
Where s is distance , c is the cost and d is average distance.
24/12/16 15Abhimanyu Mishra(CSE) JETGI
24/12/16 16Abhimanyu Mishra(CSE) JETGI
SOFTWARE METRICS:
Software metrics can be defined as “It is a continuous application of
measurement based techniques to the software development process and its
products to supply meaningful and timely management information, together
with the use of those techniques to improve all aspects of the management
process.
Categories of metrics:
i. Product metrics
ii. Process metrics
iii. Projects metrics
Areas of application-
The most established area of software metric is cost and
size estimation techniques. There are many proprietary packages in the market
that provide estimates of software system size, cost to develop a system, and the
duration of the development or enhancement of the project.
HALESTEAD’S SOFTWARE SCIENCE:
In the early 1970s, the “Late Professor Maurice Halestead and his co-workers” at
Purdue university developed the software science family of measurement.
Tokens are classified as either operators and operands. All software science
measures are function of the counts of these tokens.
It can be classified as:
 Program length- n= n1+n2
n: Vocabulary of a program
n1: Number of unique operators
n2: Number of unique operator
 Program Volume- V= N*log2n
The unit of volume is the common units for size “bits” . It is
actual size of program if a uniform binary encoding for the vocabulary is used.
24/12/16 17Abhimanyu Mishra(CSE) JETGI
24/12/16 18Abhimanyu Mishra(CSE) JETGI
Advantages of Halestead’s software matrices:
 Do not require indepth analysis of programming structure.
 Predict rate of error.
 Predict maintenance efforts.
 Useful in scheduling.
 Measures overall quality of programs.
 Simple to calculate.
 Can be used for any programming language.
Disadvantages of Halestead’s software matrices:
 It depends on complete code.
 It has little or no use for predictive estimation model
24/12/16 Abhimanyu Mishra(CSE) JETGI 19
Functional point based measures:
Alan Albercht while working for IBM, recognized the problem in size
measurement in the 1970s, and developed a technique which he called
“Functional Point Analysis”.
It measures functionality from the users point of view, that is, on the basis of
what the user request and receives in return. Therefore, it deals with the
functionality being delivered, and not with the line of code.
“The principle of Alberncht’s function point analysis is that a system is
decomposed into functional units”.
 Inputs: information entering the system.
 Outputs: information leaving the system.
 Enquiries: request for instant access to information.
 Internal logical files: informations held within the system.
 External interface files: information held by other system that is used by the
system being analyzed.
24/12/16 20Abhimanyu Mishra(CSE) JETGI
ILF
System
User
Other
applicati
on
User
Inquiries
EIF
Inputs
Fig- Functional point analysis
24/12/16 21Abhimanyu Mishra(CSE) JETGI
6
4
Functional units
Weighting factors
Low Average High
External input 3 4
External output 5 7
External inquiries 3 4 6
Internal Logical Files 7 10 15
External Interface Files 5 7 10
Fig- The 5 functional unit are ranked according to their complexity i.e. low, average, high
using a set of prescriptive standards.
24/12/16 22Abhimanyu Mishra(CSE) JETGI
Advantages of functional point analysis:
 It is not restricted to code.
 Language independent.
 More accurate than estimated LOC>
Disadvantages of functional point analysis:
 Subjective counting.
 Hard to automate and difficult to compute.
 Ignores quality of output.
 Oriented to traditional data processing application.
 Effort prediction using the unadjusted function count is
often no worse then when the TCF is added.
24/12/16 23Abhimanyu Mishra(CSE) JETGI
CYCLOMATIC COMPLEXITY:
The Cyclomatic complexity is also known as structural complexity because it
gives internal view of the code. This approach is used to find the number of
independent path through a program.
This provide us the upper bound for the number of tests that must be conducted to
ensure that all statements have been executed at least once and every condition
has been executed on its true and false side.
McCabe’s Cyclomatic metric, V(G) of a graph G with n vertices, e edges, and P
connected components is
V(G) = e-n+2p
V(G) =pi + 1
V(G) = number of region
24/12/16 24Abhimanyu Mishra(CSE) JETGI
Fig- Example of Cyclomatic complexity
V(G)= 8-6+2
4

More Related Content

What's hot

Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
sundas Shabbir
 
Software Engineering unit 2
Software Engineering unit 2Software Engineering unit 2
Software Engineering unit 2
Abhimanyu Mishra
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
Babeetha Muruganantham
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
KarthigaGunasekaran1
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
Shobana Chokkalingam
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
NoorHameed6
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
REHMAT ULLAH
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
TharuniDiddekunta
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
Software estimation
Software estimationSoftware estimation
Software estimation
Md Shakir
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
Gobinath Subramaniam
 
Software architecture
Software architectureSoftware architecture
Software architecture
Ahmad Raza Aslam
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
Akash Kumar Dhameja
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
srijavel
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
Meghaj Mallick
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
Oliver Cheng
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
Ramakant Soni
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
Zeal Education Society, Pune
 

What's hot (20)

Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
 
Software Engineering unit 2
Software Engineering unit 2Software Engineering unit 2
Software Engineering unit 2
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
 

Viewers also liked

Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
shruths2890
 
software engineering
software engineeringsoftware engineering
software engineering
ramyavarkala
 
Unit 3.ppt
Unit 3.pptUnit 3.ppt
Unit 3.ppt
wachirakiat
 
Marketing Agility: The Missing Metric?
Marketing Agility: The Missing Metric?Marketing Agility: The Missing Metric?
Marketing Agility: The Missing Metric?
Shelly Lucas
 
How to define Quality Models for Measuring Software Quality
How to define Quality Models for Measuring Software QualityHow to define Quality Models for Measuring Software Quality
How to define Quality Models for Measuring Software Quality
uqasar
 
Confidentiality ppt[1] (1)
Confidentiality ppt[1] (1)Confidentiality ppt[1] (1)
Confidentiality ppt[1] (1)
Mildred Montecillo
 
JavaOne’12 Session 3992 - Software Modularity: Paradoxes, Principles, and Arc...
JavaOne’12 Session 3992 - Software Modularity: Paradoxes, Principles, and Arc...JavaOne’12 Session 3992 - Software Modularity: Paradoxes, Principles, and Arc...
JavaOne’12 Session 3992 - Software Modularity: Paradoxes, Principles, and Arc...
Andrzej Olszak
 
A New Reusability Metric for Object-Oriented Software
A New Reusability Metric for Object-Oriented SoftwareA New Reusability Metric for Object-Oriented Software
A New Reusability Metric for Object-Oriented Software
newreusabilitymetric
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
Frank Gielen
 
14 software technical_metrics
14 software technical_metrics14 software technical_metrics
14 software technical_metrics
University of Computer Science and Technology
 
Os4
Os4Os4
Os4
issbp
 
Os2 2
Os2 2Os2 2
Os2 2
issbp
 
Lecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsLecture 7: Definite Clause Grammars
Lecture 7: Definite Clause Grammars
CS, NcState
 
Os4 2
Os4 2Os4 2
Os4 2
issbp
 
Os5 2
Os5 2Os5 2
Os5 2
issbp
 
Os2
Os2Os2
Os2
issbp
 
Os6 2
Os6 2Os6 2
Os6 2
issbp
 
Ch11 input output systems
Ch11 input output systemsCh11 input output systems
Ch11 input output systems
issbp
 
Class5
 Class5 Class5
Class5
issbp
 

Viewers also liked (20)

Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
software engineering
software engineeringsoftware engineering
software engineering
 
Unit 3.ppt
Unit 3.pptUnit 3.ppt
Unit 3.ppt
 
Marketing Agility: The Missing Metric?
Marketing Agility: The Missing Metric?Marketing Agility: The Missing Metric?
Marketing Agility: The Missing Metric?
 
How to define Quality Models for Measuring Software Quality
How to define Quality Models for Measuring Software QualityHow to define Quality Models for Measuring Software Quality
How to define Quality Models for Measuring Software Quality
 
Confidentiality ppt[1] (1)
Confidentiality ppt[1] (1)Confidentiality ppt[1] (1)
Confidentiality ppt[1] (1)
 
JavaOne’12 Session 3992 - Software Modularity: Paradoxes, Principles, and Arc...
JavaOne’12 Session 3992 - Software Modularity: Paradoxes, Principles, and Arc...JavaOne’12 Session 3992 - Software Modularity: Paradoxes, Principles, and Arc...
JavaOne’12 Session 3992 - Software Modularity: Paradoxes, Principles, and Arc...
 
A New Reusability Metric for Object-Oriented Software
A New Reusability Metric for Object-Oriented SoftwareA New Reusability Metric for Object-Oriented Software
A New Reusability Metric for Object-Oriented Software
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
14 software technical_metrics
14 software technical_metrics14 software technical_metrics
14 software technical_metrics
 
Os4
Os4Os4
Os4
 
Os2 2
Os2 2Os2 2
Os2 2
 
Lecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsLecture 7: Definite Clause Grammars
Lecture 7: Definite Clause Grammars
 
Os4 2
Os4 2Os4 2
Os4 2
 
Os5 2
Os5 2Os5 2
Os5 2
 
Os2
Os2Os2
Os2
 
Os6 2
Os6 2Os6 2
Os6 2
 
Ch11 input output systems
Ch11 input output systemsCh11 input output systems
Ch11 input output systems
 
Class5
 Class5 Class5
Class5
 

Similar to Software Engineering unit 3

SE UNIT-3.pdf
SE UNIT-3.pdfSE UNIT-3.pdf
SE UNIT-3.pdf
Dr. Radhey Shyam
 
06 fse design
06 fse design06 fse design
06 fse design
Mohesh Chandran
 
Chapter 5 Software Design of software engineering.pptx
Chapter 5 Software Design of software engineering.pptxChapter 5 Software Design of software engineering.pptx
Chapter 5 Software Design of software engineering.pptx
gadisaAdamu
 
Chapter five software Software Design.pptx
Chapter five software  Software Design.pptxChapter five software  Software Design.pptx
Chapter five software Software Design.pptx
gadisaAdamu
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
MangeshKetkar1
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
Nazir Ahmed
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment Techniques
JIGAR MAKHIJA
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5
Abhimanyu Mishra
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
Bisrat Girma
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
VijayakumarKadumbadi
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
SIMONTHOMAS S
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith
 
Hard work matters for everyone in everytbing
Hard work matters for everyone in everytbingHard work matters for everyone in everytbing
Hard work matters for everyone in everytbing
lojob95766
 
MODEL DRIVEN DEVELOPMENT (1).pptx
MODEL DRIVEN DEVELOPMENT (1).pptxMODEL DRIVEN DEVELOPMENT (1).pptx
MODEL DRIVEN DEVELOPMENT (1).pptx
pawan745387
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Dr Sukhpal Singh Gill
 
SDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdfSDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdf
Kokebe2
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
Dhairya Joshi
 

Similar to Software Engineering unit 3 (20)

SE UNIT-3.pdf
SE UNIT-3.pdfSE UNIT-3.pdf
SE UNIT-3.pdf
 
06 fse design
06 fse design06 fse design
06 fse design
 
Chapter 5 Software Design of software engineering.pptx
Chapter 5 Software Design of software engineering.pptxChapter 5 Software Design of software engineering.pptx
Chapter 5 Software Design of software engineering.pptx
 
Chapter five software Software Design.pptx
Chapter five software  Software Design.pptxChapter five software  Software Design.pptx
Chapter five software Software Design.pptx
 
design-concept.ppt
design-concept.pptdesign-concept.ppt
design-concept.ppt
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment Techniques
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Hard work matters for everyone in everytbing
Hard work matters for everyone in everytbingHard work matters for everyone in everytbing
Hard work matters for everyone in everytbing
 
MODEL DRIVEN DEVELOPMENT (1).pptx
MODEL DRIVEN DEVELOPMENT (1).pptxMODEL DRIVEN DEVELOPMENT (1).pptx
MODEL DRIVEN DEVELOPMENT (1).pptx
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
 
SDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdfSDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdf
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Jar chapter 1
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9
 

More from Abhimanyu Mishra

Cd unit i
Cd unit iCd unit i
Cd unit i
Abhimanyu Mishra
 
Presentation1(JIT gnomio)
Presentation1(JIT gnomio)Presentation1(JIT gnomio)
Presentation1(JIT gnomio)
Abhimanyu Mishra
 
Sta unit 5(abimanyu)
Sta unit 5(abimanyu)Sta unit 5(abimanyu)
Sta unit 5(abimanyu)
Abhimanyu Mishra
 
Sta unit 3(abimanyu)
Sta unit 3(abimanyu)Sta unit 3(abimanyu)
Sta unit 3(abimanyu)
Abhimanyu Mishra
 
Sta unit 4(abimanyu)
Sta unit 4(abimanyu)Sta unit 4(abimanyu)
Sta unit 4(abimanyu)
Abhimanyu Mishra
 
Sta unit 3(abimanyu)
Sta unit 3(abimanyu)Sta unit 3(abimanyu)
Sta unit 3(abimanyu)
Abhimanyu Mishra
 
Sta unit 2(abimanyu)
Sta unit 2(abimanyu)Sta unit 2(abimanyu)
Sta unit 2(abimanyu)
Abhimanyu Mishra
 
Unit1
Unit1Unit1
Daa unit 5
Daa unit 5Daa unit 5
Daa unit 5
Abhimanyu Mishra
 
Daa unit 4
Daa unit 4Daa unit 4
Daa unit 4
Abhimanyu Mishra
 
Daa unit 3
Daa unit 3Daa unit 3
Daa unit 3
Abhimanyu Mishra
 
Daa unit 2
Daa unit 2Daa unit 2
Daa unit 2
Abhimanyu Mishra
 
Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
Abhimanyu Mishra
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
Abhimanyu Mishra
 
Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5
Abhimanyu Mishra
 
Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4
Abhimanyu Mishra
 
Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3
Abhimanyu Mishra
 
Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2
Abhimanyu Mishra
 
Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1
Abhimanyu Mishra
 

More from Abhimanyu Mishra (19)

Cd unit i
Cd unit iCd unit i
Cd unit i
 
Presentation1(JIT gnomio)
Presentation1(JIT gnomio)Presentation1(JIT gnomio)
Presentation1(JIT gnomio)
 
Sta unit 5(abimanyu)
Sta unit 5(abimanyu)Sta unit 5(abimanyu)
Sta unit 5(abimanyu)
 
Sta unit 3(abimanyu)
Sta unit 3(abimanyu)Sta unit 3(abimanyu)
Sta unit 3(abimanyu)
 
Sta unit 4(abimanyu)
Sta unit 4(abimanyu)Sta unit 4(abimanyu)
Sta unit 4(abimanyu)
 
Sta unit 3(abimanyu)
Sta unit 3(abimanyu)Sta unit 3(abimanyu)
Sta unit 3(abimanyu)
 
Sta unit 2(abimanyu)
Sta unit 2(abimanyu)Sta unit 2(abimanyu)
Sta unit 2(abimanyu)
 
Unit1
Unit1Unit1
Unit1
 
Daa unit 5
Daa unit 5Daa unit 5
Daa unit 5
 
Daa unit 4
Daa unit 4Daa unit 4
Daa unit 4
 
Daa unit 3
Daa unit 3Daa unit 3
Daa unit 3
 
Daa unit 2
Daa unit 2Daa unit 2
Daa unit 2
 
Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
 
Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5
 
Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4
 
Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3
 
Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2
 
Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1
 

Recently uploaded

哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
riddhimaagrawal986
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
TaghreedAltamimi
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
bjmsejournal
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 

Recently uploaded (20)

哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 

Software Engineering unit 3

  • 1. SOFTWARE ENGINEERING UNIT-3 ABHIMANYU MISHRA ASSISTANT PROF.(CSE) JETGI 24/12/16 1Abhimanyu Mishra(CSE) JETGI
  • 2.  Basic concept of software design.  Architectural design.  Low level designs.  Design strategies.  Software Measurement and Metrics.  Function point based measure.  Cyclomatic complexity Measure.  Control flow diagram. CONTENTS 24/12/16 2Abhimanyu Mishra(CSE) JETGI
  • 3. Basic design principles that enable the software engineering to navigate the design process suggest a set of principles for software design, which have been adapted and extended in following list:-  Free from the suffer from “tunnel vision”.  The design should be traceable to the analysis model.  The design should not repeat the same thing.  The design should “minimize the intellectual distance” between the software and the problem as it exists in real world.  The design should exhibit uniformly and integration.  The design should be accessed for quality as it is being created.  The design should be able to handle all unusual circumstances.  Design is not coding and coding is not design. Software Design : 24/12/16 3Abhimanyu Mishra(CSE) JETGI
  • 4. DESIGN PROCESS The general design process shown above characterizes many design disciplines, including building architecture, graphic design, various branches of engineering, and software design. The software design process can be decomposed mainly into the following three level of design:  Interface level  Architecture level  Detailed level 24/12/16 4Abhimanyu Mishra(CSE) JETGI
  • 5. Interface design- Interface design is the specification of the interaction between a system and its environment. This phase proceed at high level. Architectural design- The objective of architectural design is modelling of overall software structure by representing components interface dependency and relationship and interaction.  Detailed design- Detailed design is the specification of the internal elements of all major system components, their structure, properties, relationship and often their algorithm and data structures. Levels of design: 24/12/16 5Abhimanyu Mishra(CSE) JETGI
  • 6. 24/12/16 6Abhimanyu Mishra(CSE) JETGI Software Super class ordinate Peer user Sub routine User Actor Fig- Architectural design
  • 7. “A modular system consists of well-define, manageable units with well define interfaces among the units. The modularization of problem partitioning, sometimes called problem decomposition”. Desirable properties of modular system include: •Each module is a well defined subsystem that is potentially useful in other application. • Each module has a single, well define purpose. •Modules can be separately compiled and stored in a library. •Module can use other modules. •Module should be easier to use than to build. •Module should be simpler from the outside than from the inside. Low level design- Modularization: 24/12/16 7Abhimanyu Mishra(CSE) JETGI
  • 8. Certain principles must be followed to ensure proper modularity: • Linguistic modular units. • Few interface • Small interface(Weak coupling) • Explicit interface • Information hiding 24/12/16 8Abhimanyu Mishra(CSE) JETGI
  • 9. Structural Chart 24/12/16 9Abhimanyu Mishra(CSE) JETGI For a function oriented design, the design can be represented graphically, by structural charts. The structure of a program is made up of the modules of that program together with the interconnections between modules. As an example consider the structure of the following program, whose structure is: Main() { int sum, n N, a[MAX],j; Readnums (a,&N); Sort(a ,N); Scanf (&n); Sum= Add_n (a,n); printf(Sum); } Readnums (a,N) int a[], *N; { }
  • 10. 24/12/16 10Abhimanyu Mishra(CSE) JETGI Sum Main Readnums Sort Add_n Switch a,n A,n a x,y x,y Fig- The structure chart of the sort program
  • 11. Coupling and Cohesion- Coupling is the measure of the degree of independence between modules. Two modules are considered as independence modules if they individually can work effectively without help to another module. Two modules that are strongly connected, highly dependent on each other mean one can’t work properly in absence of another is called highly coupled module. 24/12/16 11Abhimanyu Mishra(CSE) JETGI Uncoupled modules Highly-coupled modules
  • 12. 24/12/16 12Abhimanyu Mishra(CSE) JETGI COHESION MEASURES: Cohesion is the measure of functional relatedness elements within a single module. When dividing a system into modules, it must be ensure that the activities within the module are tightly bound to one another. It can be viewed as opposite of coupling. The level of cohesion go from good to bad i.e. the first from of cohesion described below is the best form of cohesion and the last form of cohesion is the worst form of cohesion. “In functional independent module we have various advantages such as module reusability, reducing the complexity of the design and reducing the errors”.
  • 13. Types of cohesion module:  Functional cohesion- All activities in the module are functionally related or they are performing a similar function such as interest calculation, tax calculation, etc.  Sequential cohesion- In this scheme of cohesion, modules are divided into a series of activities such that output of one module becomes the input to the next module and chain continues.  Communicational cohesion- This form of cohesion relates to a situation where all modules share common data.  Procedural cohesion- In this scheme, activities share the same procedural implementation.  Temporal cohesion- In this type of module cohesion, activities occurring in the same period are grouped together.  Logical cohesion- In logical cohesion, activities belonging to the same category.  Coincidental cohesion- There is no criteria of module. 24/12/16 13Abhimanyu Mishra(CSE) JETGI
  • 14. 24/12/16 14Abhimanyu Mishra(CSE) JETGI FUNCTION ORIENTED DESIGN: Function oriented design is an approach to software design where the design is decomposed into a set of interacting units where each unit has a clearly defined function. Thus, a system is design from a functional view point. One of the best-known advocates of this method is NIKLAUS width, the creator of PASCAL and a number of other language. For a function oriented design, the following can represent the design graphically or mathematically:  Data flow diagram  Data dictionaries  Structure charts  Pseudo-code
  • 15. Software Measurement & Metrics: • Software measurement is a new way of managing software development. Software measurements once an obscure and mysterious specialty has become essential to good software engineering. • Measurement enables software managers to assess software quality, improve the software process and assist in planning, tracking, and control of a software project. • A prediction system consists of a mathematical model together with a set of prediction procedures for determining unknown parameters and interpreting result. cost = s*c/d Where s is distance , c is the cost and d is average distance. 24/12/16 15Abhimanyu Mishra(CSE) JETGI
  • 16. 24/12/16 16Abhimanyu Mishra(CSE) JETGI SOFTWARE METRICS: Software metrics can be defined as “It is a continuous application of measurement based techniques to the software development process and its products to supply meaningful and timely management information, together with the use of those techniques to improve all aspects of the management process. Categories of metrics: i. Product metrics ii. Process metrics iii. Projects metrics Areas of application- The most established area of software metric is cost and size estimation techniques. There are many proprietary packages in the market that provide estimates of software system size, cost to develop a system, and the duration of the development or enhancement of the project.
  • 17. HALESTEAD’S SOFTWARE SCIENCE: In the early 1970s, the “Late Professor Maurice Halestead and his co-workers” at Purdue university developed the software science family of measurement. Tokens are classified as either operators and operands. All software science measures are function of the counts of these tokens. It can be classified as:  Program length- n= n1+n2 n: Vocabulary of a program n1: Number of unique operators n2: Number of unique operator  Program Volume- V= N*log2n The unit of volume is the common units for size “bits” . It is actual size of program if a uniform binary encoding for the vocabulary is used. 24/12/16 17Abhimanyu Mishra(CSE) JETGI
  • 18. 24/12/16 18Abhimanyu Mishra(CSE) JETGI Advantages of Halestead’s software matrices:  Do not require indepth analysis of programming structure.  Predict rate of error.  Predict maintenance efforts.  Useful in scheduling.  Measures overall quality of programs.  Simple to calculate.  Can be used for any programming language. Disadvantages of Halestead’s software matrices:  It depends on complete code.  It has little or no use for predictive estimation model
  • 19. 24/12/16 Abhimanyu Mishra(CSE) JETGI 19 Functional point based measures: Alan Albercht while working for IBM, recognized the problem in size measurement in the 1970s, and developed a technique which he called “Functional Point Analysis”. It measures functionality from the users point of view, that is, on the basis of what the user request and receives in return. Therefore, it deals with the functionality being delivered, and not with the line of code. “The principle of Alberncht’s function point analysis is that a system is decomposed into functional units”.  Inputs: information entering the system.  Outputs: information leaving the system.  Enquiries: request for instant access to information.  Internal logical files: informations held within the system.  External interface files: information held by other system that is used by the system being analyzed.
  • 20. 24/12/16 20Abhimanyu Mishra(CSE) JETGI ILF System User Other applicati on User Inquiries EIF Inputs Fig- Functional point analysis
  • 21. 24/12/16 21Abhimanyu Mishra(CSE) JETGI 6 4 Functional units Weighting factors Low Average High External input 3 4 External output 5 7 External inquiries 3 4 6 Internal Logical Files 7 10 15 External Interface Files 5 7 10 Fig- The 5 functional unit are ranked according to their complexity i.e. low, average, high using a set of prescriptive standards.
  • 22. 24/12/16 22Abhimanyu Mishra(CSE) JETGI Advantages of functional point analysis:  It is not restricted to code.  Language independent.  More accurate than estimated LOC> Disadvantages of functional point analysis:  Subjective counting.  Hard to automate and difficult to compute.  Ignores quality of output.  Oriented to traditional data processing application.  Effort prediction using the unadjusted function count is often no worse then when the TCF is added.
  • 23. 24/12/16 23Abhimanyu Mishra(CSE) JETGI CYCLOMATIC COMPLEXITY: The Cyclomatic complexity is also known as structural complexity because it gives internal view of the code. This approach is used to find the number of independent path through a program. This provide us the upper bound for the number of tests that must be conducted to ensure that all statements have been executed at least once and every condition has been executed on its true and false side. McCabe’s Cyclomatic metric, V(G) of a graph G with n vertices, e edges, and P connected components is V(G) = e-n+2p V(G) =pi + 1 V(G) = number of region
  • 24. 24/12/16 24Abhimanyu Mishra(CSE) JETGI Fig- Example of Cyclomatic complexity V(G)= 8-6+2 4