SlideShare uma empresa Scribd logo
1 de 24
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

Mais conteúdo relacionado

Mais procurados

A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineeringInocentshuja Ahmad
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)BALAJI A
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteriaUmaselvi_R
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineeringkirupasuchi1996
 
Process model in SE
Process model in SEProcess model in SE
Process model in SEsuranisaunak
 

Mais procurados (20)

Activity diagram
Activity diagramActivity diagram
Activity diagram
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineering
 
Software design
Software designSoftware design
Software design
 
UML
UMLUML
UML
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Software process
Software processSoftware process
Software process
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Process model in SE
Process model in SEProcess model in SE
Process model in SE
 

Destaque

Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering pptshruths2890
 
software engineering
software engineeringsoftware engineering
software engineeringramyavarkala
 
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 Qualityuqasar
 
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 Softwarenewreusabilitymetric
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiabilityFrank Gielen
 
Os2 2
Os2 2Os2 2
Os2 2issbp
 
Lecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsLecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsCS, NcState
 
Os4 2
Os4 2Os4 2
Os4 2issbp
 
Os5 2
Os5 2Os5 2
Os5 2issbp
 
Os6 2
Os6 2Os6 2
Os6 2issbp
 
Ch11 input output systems
Ch11 input output systemsCh11 input output systems
Ch11 input output systemsissbp
 
Class5
 Class5 Class5
Class5issbp
 

Destaque (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
 

Semelhante a Software Engineering unit 3

Chapter five software Software Design.pptx
Chapter five software  Software Design.pptxChapter five software  Software Design.pptx
Chapter five software Software Design.pptxgadisaAdamu
 
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.pptxgadisaAdamu
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment TechniquesJIGAR MAKHIJA
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5Abhimanyu Mishra
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 
ccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfccs356-software-engineering-notes.pdf
ccs356-software-engineering-notes.pdfVijayakumarKadumbadi
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3SIMONTHOMAS S
 
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 everytbinglojob95766
 
MODEL DRIVEN DEVELOPMENT (1).pptx
MODEL DRIVEN DEVELOPMENT (1).pptxMODEL DRIVEN DEVELOPMENT (1).pptx
MODEL DRIVEN DEVELOPMENT (1).pptxpawan745387
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfputtipavan23022023
 
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.pdfKokebe2
 
Software engg. pressman_ch-9
Software engg. pressman_ch-9Software engg. pressman_ch-9
Software engg. pressman_ch-9Dhairya Joshi
 

Semelhante a 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 five software Software Design.pptx
Chapter five software  Software Design.pptxChapter five software  Software Design.pptx
Chapter five software Software Design.pptx
 
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
 
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
 
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
 
Software design
Software designSoftware design
Software design
 
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
 
Software design
Software designSoftware design
Software design
 

Mais de Abhimanyu Mishra

Mais de 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
 

Último

Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 

Último (20)

Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 

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