UNit 3
UNit 3
UNit 3
--------------------------------------------------------------------------------------------------------------------------------
Software Design:
Architectural Design:
Modularization:
Coupling:
Types of Cohesion:
1. Functional Cohesion: Every essential element to perform a task is
contained within the module.
2. Sequential Cohesion: An element output some data which becomes to
the other element.
3. Communication Cohesion: Two or more elements of the module
operate on the same input data and contribute toward the same output
data.
4. Procedural Cohesion: Elements of the modules ensures the procedural
execution of the series of task.
5. Temporal Cohesion: Task which occurs at the same time span are put
within one module.
6. Logical Cohesion: All the elements of the module should be logically
related.
7. Coincidental Cohesion: Elements are not related, this is accidental or
worst kind of cohesion.
Software Metrics:
A software metric is a measure of software characteristics which are
measurable or countable. Software metrics are valuable for many
reasons, including measuring software performance, planning work
items, measuring productivity, and many other uses.
Types of Metrics
Internal metrics: Internal metrics are the metrics used for measuring properties that are
viewed to be of greater importance to a software developer. For example, Lines of Code
(LOC) measure.
External metrics: External metrics are the metrics used for measuring properties that
are viewed to be of greater importance to the user, e.g., portability, reliability,
functionality, usability, etc.
Hybrid metrics: Hybrid metrics are the metrics that combine product, process, and
resource metrics. For example, cost per FP where FP stands for Function Point Metric.
Project metrics: Project metrics are the metrics used by the project manager to check
the project's progress. Data from the past projects are used to collect various metrics,
like time and cost; these estimates are used as a base of new software. Note that as the
project proceeds, the project manager will check its progress from time-to-time and will
compare the effort, cost, and time with the original effort, cost and time. Also
understand that these metrics are used to decrease the development costs, time efforts
and risks. The project quality can also be improved. As quality improves, the number of
errors and time, as well as cost required, is also reduced.
Advantages of LOC
1. Simple to measure
Disadvantage of LOC
1. It is defined on the code. For example, it cannot measure the size of the
specification.
2. It characterizes only one specific view of size, namely length, it takes no account
of functionality or complexity
3. Bad software design may cause an excessive line of code
4. It is language dependent
5. Users cannot easily understand it
Token Count
In these metrics, a computer program is considered to be a collection of tokens, which
may be classified as either operators or operands. All software science metrics can be
defined in terms of these basic symbols. These symbols are called as a token.
In terms of the total tokens used, the size of the program can be expressed as N = N1 +
N2
Functional Point Analysis:
The basic and primary purpose of the functional point analysis is to measure and
provide the software application functional size to the client, customer, and the
stakeholder on their request.
Various function used in application can be categorized under following:
The efforts required to develop software program depends upon what software
does.
FP is programming language independent.
Unadjusted Function Point(UFP)
Adjusted Function Point(AFP)
Complexity Adjustment Factor(CAF)
AFP=UFP x CAF
CAF
CAF-Complexity adjustment factor Calculation The complexity adjustment factor (CAF) is based
on 14 general system characteristics (GSC's) that rate the general functionality of the application
being counted. Each characteristic has associated descriptions that help determine the degrees
of influence of the characteristics. The degrees of influence range on a scale of zero to five, from
no influence to strong influence. The table 3 is intended to provide an overview of each GSC.