You are on page 1of 3

Assignment 5 (C324.

6)
Group C

Ques 1. CASE Study


Suppose that you are part of a software team whose task is to build an on-line Holiday
recommendation system. The system should enable users to enter their preferences about various
holiday attributes and should be able to make recommendations that match these preferences.
The system has to be accessible from any web browser and it has to communicate with a large
database of holidays.
Identify the main technical risks in each of the above scenarios, and suggest a strategy for
managing or mitigating against them.
Ans.

Ques2 What is the Objective of the Project Planning Process?


Ans. The objective of software project planning is to provide a framework that enables the
manager to make reasonable estimates of: Resources, Cost, and Schedule. The other objectives
of project planning are listed below:

 It defines the roles and responsibilities of the project management team members.
 It ensures that the project management team works according to the business objectives.
 It checks feasibility of the schedule and user requirements.
 It determines project constraints.

Ques3. Explain Software Risk Analysis.


Ans. Risk analysis in software testing is an approach to software testing where software risk is
analyzed and measured. Traditional software testing normally looks at relatively straight-forward
function testing (e.g. 2 + 2 = 4). A software risk analysis looks at code violations that present a
threat to the stability, security, or performance of the code.

Software risk is measured during testing by using code analyzers that can assess the code for
both risks within the code itself and between units that must interact inside the application. The
greatest software risk presents itself in these interactions. Complex applications using multiple
frameworks and languages can present flaws that are extremely difficult to find and tend to cause
the largest software disruptions.

The key reason why people perform risk analysis during software testing is to better understand
what can really go wrong with an application before it goes into production. A risk analysis
performed during software testing helps to identify areas where software flaws could result in
serious issues in production. By identifying areas of concern early, developers are able to
proactively remediate and reduce the overall risk of a production defect.

Ques 4.What are different types of Software maintenance?


Ans. There are four types of software maintenance:
 Corrective Maintenance - This includes modifications and updations done in order to
correct or fix problems, which are either discovered by user or concluded by user error
reports.

 Adaptive Maintenance - This includes modifications and updations applied to keep the
software product up-to date and tuned to the ever changing world of technology and
business environment.

 Perfective Maintenance - This includes modifications and updates done in order to keep
the software usable over long period of time. It includes new features, new user
requirements for refining the software and improve its reliability and performance.

 Preventive Maintenance - This includes modifications and updations to prevent future


problems of the software. It aims to attend problems, which are not significant at this
moment but may cause serious issues in future.

Ques 5. Explain the two models proposed for estimating maintenance cost: Belady and
Lehman, Boehm Model.
Ans.
1. Belady and lehman model:
 In Belady and lehman model when effort and cost can increase exponentially then poor
software development approach is used.
 The person or group uses the approach that is no longer available to perform maintenance.
The basic equation is:

M = P + ke(c-d)

where,
M is a total effort expended.
P is productive effort that involves analysis, design, coding, testing and evaluation.
K is an empirically determined constant.
c is complexity measure due to lack of good design and documentation
d is degree to which maintenance team is familiar with the software.
 In this relation, the value of 'c' is increased if the software system is developed without the use
of a software engineering process.
 Here, 'c' will be higher for a large software product with a high degree of systematic structure
than a small one with the same degree.
 The value of 'd' will be lower when software is maintained without understanding their
structure, function and purpose.

2. Beohm Model:
 A second method for estimating the cost of a software product is Boeohm method. In this
method, Beohm proposed a formula for cost estimation and the cost is estimated
from COCOMO model.
 The data is gathered from several projects and the formula was established in terms of effort.
 This method used a quantity called as Annual Change Traffic (ACT).
 ACT is defined as the fraction of a software product source instructions which undergo change
during a year either through addition, deletion or modification.
 ACT relates to the number of change request.
ACT = KLOCadded + KLOCdeleted / KLOC total
 The annual maintenance effort (AME) is calculated as:
AME = ACT * SDE
Where, SDE is software development effort in person months.
ACT is Annual change Traffic
 For example, a software project required 400 person months of development effort and it was
estimated that 25% of the code modified in a year.
AME = 0.25 * 400 = 100
 The rough estimate should be refined by the importance factor proposed by the cost and
selecting the appropriate cost multipliers.
 Using these factors, Effort Adjustment Factor calculated in the case of COCOMO model.
The modified equation is:
AME = ACT * SDE * EAF

You might also like