Software Engineering - Northern India Engineering College

MODEL TEST PAPER-1 ... v) Evaluate the project's team ability to control quality
of software work products. vi) Project metrics are ... Method 1: Given a control flow
graph G of a program, the cyclomatic complexity V(G) can be computed as:.

Part of the document


NORTHERN INDIA ENGINEERING COLLEGE

MODEL TEST PAPER-1

Fourth semester [B.Tech]

Sub Code : ETCS-202 Sub: Software
Engineering

Note : Attempt Question no. 1 and any three from rest

Q-1)

a) What are the different activities in the design framework of any
software system development process?

Ans) The System Development Life Cycle framework provides a sequence of
activities for system designers and developers to follow. It consists a
set of steps or phases in which each phase of the SDLC uses the results
of the previous one.

These activities are:

1. System analysis, requirements definition: defines project goals into
defined functions and operation of the intended application. Analyzes
end-user information needs.

2. Systems design: describes desired features and operations in detail,
including screen layouts, business rules, process diagrams, pseudo-
code and other documentation.

3. Development: The real code is written here.

4. Integration and Testing: brings all the pieces together into a special
testing environment, then check for errors, bugs and interoperability.

5. Acceptance, installation, deployment: The final stage of initial
development, where the software is put into production and runs actual
business.

6. Maintenance: What happens during the rest of the software's life,
i.e., changes, correction, additions, moves to a different computing
platform and more. This is often the longest of the stages.




(b) Differentiate process metrics and product metrics and give one example
for each metric in real software development environment.

Answer: In software project management we are primarily concerned with
productivity and software quality metrics.

1. PROCESS METRICS are used to provide indicators that lead to long term
process improvement.

i) Private process metrics are only known to by individual or team
concerned.

ii) Public process metrics enable organization to make strategic changes
to improve the software process.

iii) Metrics should not be used to evaluate the performance of the
individual.

iv) Statistical software process improvement helps the organization to
discover where they are strong and where they are weak.

Example: Direct process measures include lines of code (LOC),
execution speed, memory size, defects reported over some time period.

2. PROJECT METRICS enable project manager to

i) Access status of ongoing project.

ii) Track the potential risks.

iii) Uncover problem before they go critical.

iv) Adjust work flow of tasks.

v) Evaluate the project's team ability to control quality of software
work products.

vi) Project metrics are used to avoid development schedule delays, to
mitigate potential risks, and to assess product quality on an on-going
basis.

Example: Every project should measure its inputs (resources), outputs
(deliverables) and results (effectiveness of deliverables).




Ques. 1(d) Discuss methods of cyclomatic complexity of code segment ?

Ans. Cyclomatic complexity is a software metric. It is used to indicate the
complexity of a program. It is a quantitative measure of logical strength
of the program. It directly measures the number of linearly independent
paths through a program's source code.. Cyclomatic complexity is computed
using the control flow graph of the program: the nodes of
the graph correspond to indivisible groups of commands of a program, and
a directed edge connects two nodes if the second command might be executed
immediately after the first command. Cyclomatic complexity may also be
applied to individual functions, modules, methods or classes within a
program.



There are three different ways to compute the cyclomatic complexity.

Method 1:

Given a control flow graph G of a program, the cyclomatic complexity V(G)
can be computed as:

V(G) = E - N + 2

where N is the number of nodes of the control flow graph and E is the
number of edges in the control flow graph. For the CFG of example shown in
fig. 10.4, E=7 and N=6. Therefore, the cyclomatic complexity = 7-6+2 = 3.

Method 2:

An alternative way of computing the cyclomatic complexity of a program from
an inspection of its control flow graph is as follows:

V(G) = Total number of bounded areas + 1

In the program's control flow graph G, any region enclosed by nodes and
edges can be called as a bounded area. This is an easy way to determine the
McCabe's cyclomatic complexity. But, what if the graph G is not planar,
i.e. however you draw the graph, two or more edges intersect? Actually, it
can be shown that structured programs always yield planar graphs. But,
presence of GOTO's can easily add intersecting edges. Therefore, for non-
structured programs, this way of computing the McCabe's cyclomatic
complexity cannot be used. The number of bounded areas increases with the
number of decision paths and loops. Therefore, the McCabe's metric provides
a quantitative measure of testing difficulty and the ultimate reliability.
This method provides a very easy way of computing the cyclomatic complexity
of CFGs, just from a visual examination of the CFG. On the other hand, the
other method of computing CFGs is more amenable to automation, i.e. it can
be easily coded into a program which can be used to determine the
cyclomatic complexities of arbitrary CFGs.





Method 3:

The cyclomatic complexity of a program can also be easily computed by
computing the number of decision statements of the program. If N is the
number of decision statement of a program, then the McCabe's metric is
equal to N+1.







Q-1(e) How do you describe Use Case in object oriented analysis of software
system?

Specify the standard template format of it.

Ans(

A use case is a functionality that user needs from the system. Use case
diagrams are considered for high level requirement analysis of a system. So
when the requirements of a system are analyzed the functionalities are
captured in use cases.
A use case diagram contains four components.
. The boundary, which defines the system of interest in relation to the
world around it.
. The actors, usually individuals involved with the system defined
according to their roles.
. The use cases, which the specific roles are played by the actors
within and around the system.
. The relationships between and among the actors and the use cases.

Templates for USE CASE(
[pic]


1(f). List out all Key Process Area in CMM Level 2.



Ans. Maturity Level 2 - Managed

CM - Configuration Management

MA - Measurement and Analysis

PMC - Project Monitoring and Control

PP - Project planning

PPQA - Process and Product Quality Assurance

REQM - Requirements Management

SAM - Supplier Agreement Management





Q1. (g). What is the structure of change request form during change
control process?

Ans. Structure of change request form during change control process is as
follows:



CHANGE REQUEST FORM




Project ID:

Change Requester with date:

Requested change with date:

Change analyzer:

Components affected:

Associated components:

Estimated change costs:

Change priority:

Change assessment:

Change implementation:

Date submitted to CCA:




Date of CCA decision:

CCA decision:

Change implementer:

Date submitted to QA:

Date of implementation:

Date submitted to CM:

QA decision:



Q.1.(h) How much source code of software can be delivered in 3 years 6
months in an

industry whose technology factor is 3200 if a total of 25PY is
permitted for

development effort?

Ans. td = 3.5 years

kd = 25 py

K = 25 * 6 = 150 py

C = 3200

S = CK1/3 td 4/3

= 3200 * 5.313 * (3.5)4/3 LOC

Q.2. (a) Describe software paradigm which incorporates the analysis of risk
during development process with complete and neat diagram.


Ans.

[pic]

Fig. SPIRAL MODEL

Each loop of the spiral from x-axis clockwise through 360 degree represents
one phase.one phase is split roughly into four sectors of major activities.

Planning: Determination of objectives, alternatives and constraints.

Risk analysis: Analyze alternatives and attempts to identify and resolve
the risks involved.

Development: Product development and testing product.

Assessment: Customer evaluation.

During the first phase, planning is performed, risks are analyzed,
prototypes are built, and customer evaluate the prototype. During the
second phase, a more refined prototype is built, requirements are
documented and validated and customer are involved in accessing the new
prototypes. By the time third phase begins, risk are known, and a somewhat
more traditional development approach is taken.

Advantages over traditional iterative process models:

. The risk analysis and validation steps eliminate errors in the early
phases of development.

. The model makes use of techniques like reuse, prototyping and
component based design.

. This model is not suitable for small projects as cost of risk
analysis,