SE Unit 5
SE Unit 5
Project Management
Software Project Management : Estimation – LOC Based, FP Based, Make/Buy Decision, COCOMO I & II
Model – Project Scheduling – Scheduling, Earned Value Analysis. Planning – Project Plan, Planning Process,
RFP Risk Management – Identification, Projection – Risk Management – Risk Identification – RMMM Plan
– CASE TOOLS
Building the software system is a complex activity and many people get involved in - this activity for
relatively long time. Hence, it is necessary to manage the project. The project management is carried
out with the help of 4 P's i.e. people, product, process and project.
By using PM-CMM model software organizations become capable for undertaking complex
applications which ultimately attracts or motivates the talented people.
Recruitment
Selection
Performance management
Training compensation
Career development
Organization and Work design
Culture development.
1
5.1.3 The Product
Before planning the project three important tasks need to be done -
The software developer and customer must communicate with each other in order to define the
objectives and scope of the product. This is done as the first step in requirement gathering and
analysis. The scope of the project identifies primary data, functions and behaviour of the product.
After establishing the objectives and scope of the product the alternative solutions are considered.
Finally, the constraints imposed by-delivery deadline or budgetary restrictions, personal availability
can be identified.
There are various framework activities that needs to be carried out during the software development
process. These activities can be of varying size and complexities.
Different task sets-tasks, milestones, work products and quality assurance points enable framework
activities to adapt the software requirements and certain characteristics of software project.
Finally, umbrella activities such as Software Quality Assurance (SQA) and Software Configuration
Management (SCM) are conducted. These umbrella activities depend upon the framework activities.
For the meaningful project development the scope must be bounded. The problem f for which the
product is to be built is then decomposed into a set of smaller problems. 1 Each of these is estimated
using historical data (metrics) and / or previous experience as I a guide. The two important issues-
problem complexity and risk are considered before J final estimate is made.
There are many useful techniques for time and effort estimation. Process and project * metrics can
provide historical perspective and powerful input for generation of \ quantitative estimates.
Estimation of recourses, cost and schedule for a software engineering effort requires -
Experience,
2
Access to good historical information (metrics) and
The courage to commit to quantitative predictions when quantitative information is available.
While estimating the project, both the project planner and the customer should recognize that
variability in software requirement means instability in cost and schedule. When customer changes
the requirements, then estimation needs to be revisited.
[1] A scope can be defined using the narrative description of the software obtained after
communication with all stakeholders.
[2] Scope can be defined as a set of use cases developed by the end users.
In the scope description, various functions are described. These functions are evaluated and refined to
provide more details before the estimation of the project.
For performance consideration, processing and response time requirements are analyzed.
The constraints identify the limitations placed on the software by external hardware or any other
existing system.
That means after identifying the scope of the project its feasibility must be ensured.
Following are the four dimensions of software feasibility. To ensure the feasibility of the software
project the set of questions based on these dimension has to be answered. Those are as given below -
[1] Technology
Is a project technically feasible?
Is it within the state of art?
Are the defects to be reduced to a level that satisfies the application's need?
[2] Finance
Is it financially feasible?
Is the development cost completed at a cost of software organization, its client, or market
affordable?
Are the defects to be reduced to a level that satisfies the application’s need?
[3] Time
Will the project's time to market beat the competition?
[4] Resource
Does the organization have the resources needed to succeed?
3
Putnam and Meyers suggests that scoping is not enough. Once scope is understood, and
and feasibility have been identified the next task is estimation of the Resources required
to accomplish the software development effort.
5.2 Estimation
Software project estimation is a form of problem solving. Many times the problem to be solved is too
complex in software engineering. Hence for solving such problems, we decompose the given problem
into a set of smaller problems.
The decomposition can be done using two approached decomposition of problem or decomposition of
process. Estimation uses one or both forms of decomposition (partitioning).
1. The degree to which planner has properly estimated the size of the product to be built.
2. The ability to translate the size estimate into human-effort, calendar time and money
3. The degree to which the project plan reflects the abilities of software team.
4. The stability of product requirements and the environment that supports the software
engineering effort.
Sizing represents the project planner's first major challenge. In the context of project planning, size
refers to a quantifiable outcome of the software project.
The sizing can be estimated using two approaches - a direct approach in which lines of code is
considered and an indirect approach in which computation of function point is done.
Putnam and Myers suggested four different approaches for sizing the problem -
There are various standard components used in software. These components are subsystems,
modules, screens, reports, interactive, programs, batch program, files, LOC and Object-level
instruction.
The project planner estimates the number of time these standard components are used. He then
uses historical project data to determine the delivered size per standard component.
4
[4] Change sizing
This approach is used when existing software has to be modified as per the requirement of the
project. The size of the software is then estimated by the number and type of reuse, addition of
code, change made in the code, deletion of code.
The result of each sizing approaches must be combined statistically to create three-point estimate
which is also known as expected-value estimate.
LOC and FP based data are used in two ways during software estimation -
With a bounded statement of software scope a project planning process begins and by using the
statement of scope the software problem is decomposed into the functions that can be estimated
individually.
Baseline productively metrics are then applied to the appropriate estimation variable and cost or effort
for the function is derived.
Function estimates are combined to obtain an overall estimate for the entire project.
Using historical data the project planner expected value by considering following variables -
1. Optimistic
2. Most likely
3. Pessimistic
considers for "most likely" estimate where S is the estimation size variable, represents the
optimistic estimate, represents the most likely estimate and represents the pessimistic
estimate values.
5
5.3 LOC based Estimation
Size oriented measure is derived by considering the size of software that has been produced.
The organization builds a simple record of size measure for the software projects. It is built on past
experiences of organizations.
The size measure is based on the lines of code computation. The lines of code is defined as one line of
text in a source file.
Advantages
Disadvantages
6
1. User interface and control facilities
2. 2D graphics analysis
3. 3D graphics analysis
4. Database management
5. Computer graphics display facility
6. Peripheral control function
7. Design analysis models Estimate the project in based on LOC
Solution
For estimating the given application we consider each module as separate function and corresponding
lines of code can be estimated in the following table as
Expected LOC for 3D Geometric analysis function based on three point estimation is -
Expected value =
7
5.4 Function Oriented Metrics
The function point model is based on functionality of the delivered application.
Each user input which provides distinct application data to the software is counted.
Each user output that provides application data to the user is counted, e.g. screens, reports, error
messages.
An on-line input that results in the generation of some immediate software response in the form of
an output.
Each logical master file, i.e. a logical grouping of data that may be part of a database or a separate
file.
All machine-readable interfaces that are used to transmit information to another system are
counted.
The organization needs to develop criteria which determine whether a particular entry is simple,
average or complex.
The count table can be computed with the help of above given table.
Now the software complexity can be computed by answering following questions. These are
complexity adjustment values
8
7. Does the on-line data entry require the input transaction to be built over multiple screens or
operations ?
8. Are the master files updated on-line ?
9. Are the inputs, outputs, files or inquiries complex ?
10. Is the internal processing complex ?
11. Is the code which is designed being reusable ?
12. Are conversion and installation included in the design ?
13. Is the system designed for multiple installations in different organizations ?
14. Is the application designed to facilitate change and ease of use by the user ?
0 1 2 3 4 5
No influence incidental Moderate Average Significant Essential
Once the functional point is calculated then we can compute various measures as follows
Productivity = FP/person-month
Quality = Number of faults/FP
Cost = $/FP
Documentation = Pages of documentation/FP.
Advantages
Disadvantages
This method is more suitable for business systems and can be developed for that domain.
Many aspects of this method are not validated.
The functional point has no significant meaning. It is just a numerical value.
Each of the complexity weighting factor is estimated and the complexity adjustment factor is
computed using the complexity factor table below. (Based on the 14 questions)
9
The estimated number of adjusted FP is derived using the following formula : -
The decision of acquisition of software is critically based on the cost. A tree structure is built to
analyze the costs of software which can be acquired using any of the above given ways.
10
Expected cost can be computed for each branch using following formula.
Thus the expected cost at each node can be computed. It is summerised as given below
From this we can conclude that by purchasing the software we select for lowest expected cost option.
But simply cost should not be a criterion to acquire the software.
During decision making process for software acquisition following factors should also be considered.
1. Availability of reliable software.
2. Experience of developer or vendor or contractor.
3. Conformance to requirements.
4. Local politics.
5. Likelihood of changes in the software.
These are some criteria which can heavily affect the decision of make-buy of software.
11
5.5.1 Outsourcing
Outsourcing is a process in which software engineering activities are contracted to a third party who
does the work at lowest cost with high quality.
In strategic level, the significant portion of software work can be contracted to third party.
In Tactical level, a project manager determines whether part or all of the software can be
accomplished with good quality by contracting it.
In financial level, the cost is the prime factor in the decision of outsourcing.
Benefits of outsourcing
[1] Cost savings
If a software is outsourced then people and resource utilization can be reduced. And thereby the
cost of the project can be saved effectively.
[2] Accelerated development
Since some part of software gets developed simultaneously by a third party, the overall
development process gets accelerated.
Drawbacks of outsourcing
A software company loses some control over the software as it is developed by third person.
The trend of outsourcing will be continued in software industry in order to survive in competitive
world.
Boehm introduces three forms of cocomo. It can be applied in three classes of software project:
1. Organic mode : Relatively simple , small projects with a small team are handled . Such a
team should have good application experience to less rigid requirements
3. Embedded mode: When the software project must be developed within a tight set of
hardware and software operational constraints. Ex of complex project: Air traffic control
system
12
The basic cocomo model takes the following form:
E=ab (KLOC)Exp(bb) persons-months
D=cb(E)Exp(db)months
Where
E- Stands for the effort applied in terms of person months
D-Development time in chronological months
KLOC-Kilo lines of code of the project
Ab,bb,cb,db are the co-efficients for the three modes are given below:
From E & D we can compute the no: of people required to accomplish the project as N=E/D
Limitations :
1. The accuracy of this model is limited because it does not consider certain factors for cost
estimation of software. These factors are hardware constraints, personal quality and experiences,
modern techniques and tools
2. The estimates of Cocomo model are within a factor of 1.3 only 29% of the time and within the
factor of 2 only 60% of time.
Example:
Consider a software project using semi-detached mode with 30,000 lines of code . We will obtain
estimation for this project as follows:
(1)Effort estimation:
E= ab (KLOC)Exp(bb )person-months
E=3.0(30)1.12 where lines of code=30000=30
KLOC E=135 person-month
(2) Duration estimation:
D=cb (E)Exp(db )months
=2.5(135)0.35
D=14 months
(3)Person estimation:
N=E/D
=135/14 N
=10 persons approx.
13
2. Intermediate COCOMO:
Computes effort as a function as a function of programme size and a lot of cost drivers that
includes subjective assessment of product attributes,hardware attributes , personal attributes and
project attributes.
The basic model is extended to consider a set of cost driver attributes grouped into 4
categories(Intermediate Cocomo)
(1)Product Attributes:
(a) Required software reliability
(b) Size of application software
(c) Complexity of the product
(2) Hardware Attributes:
(a) Run-time performance constraints
(b) Memory constraints
(c) Required turn around time
(d) Volatility of virtual machine
(3)Personal attributes:
(a) Analyst capability
(b) Software Engineer Capability
(c) Applications Experience
(d) Programming language experience
(e) Virtual machine Experience
(4)Project Attributes:
(a) Use of software tools
(b) Required development schedule
(c) Application of software engineering methods
Now these 15 attributes get a 6-point scale ranging from “very low” to “extra high”.
These ratings can be viewed as:
14
The duration and person estimate is same as in basic Cocomo model i.e;
D=cb (E)Exp (db ) months i.e; use values of cb and db coefficients
N=E/D persons
Merits:
1.This model can be applied to almost entire software product for easy and rough cost estimation
during early stage.
2.It can also be applied at the software product component level for obtaining more accurate cost
estimation.
15
Limitations:
1.The effort multipliers are not dependent on phases.
2. A product with many components is difficult to estimate.
Example: Consider a project having 30,000 lines of code which in an embedded software with
critical area hence reliability is high.The estimation can be
E=ai (KLOC)bi*(EAF)
As reliability is high EAF=1.15(product attribute)
ai=2.8
bi=1.20 for embedded software
E=2.8(30)1.20 *1.15
=191 person month
D=cb (E)db=2.5(191)0.32
=13 months approximately
N=E/D =191/13
N=15 persons approx.
DETAILED COCOMO
The Advanced COCOMO model computes effort as a function of program size and a set of cost
drivers weighted according to each phase of the software lifecycle. The Advanced model applies the
Intermediate model at the component level, and then a phase-based approach is used to consolidate
the estimate [Fenton, 1997]. The four phases used in the detailed COCOMO model are: requirements
planning and product design (RPD), detailed design (DD), code and unit test (CUT), and integration
and test (IT).
Analyst capability effort multiplier for detailed COCOMO Estimates for each module is combined
into subsystems and eventually an overall project estimate. Using the detailed cost drivers, an estimate
is determined for each phase of the lifecycle.
16
COCOMO II
For estimating the efforts required for the prototyping projects and the projects in which the existing
software components are used application-composition model is introduced.
The estimation in this model is based on the number of application points. The application points are
similar to the object points.
Boehm has suggested the object point productivity in the following manner.
Developers experience and capability Very low low Nominal High Very high
Wher
% reuse indicates the amount of reused components in the project. These reusable
components can be screens, reports or the modules used in previous projects.
PROD is the object point productivity. These values are given in the above table.
This model is used in the early stage of the project development. That is after gathering the user
requirements and before the project development actually starts, this model is used. Hence
approximate cost estimation can be made in this model.
In early stage of development different ways of implementing user requirements can be estimated.
The effort estimation (in terms of person month) in this model can be made using the following
formula
17
Boehm has proposed the value of coefficient A = 2.94.
Size should be in terms of Kilo source lines of code i.e. KSLOC. The lines of code can be computed
with the help of function point.
The value of B is varying from 1.1 to 1.24 and depends upon the project.
This model considers the systems that have significant amount of code which is reused from the
earlier software systems. The estimation made in reuse model is nothing but the efforts required to
integrated the reused models into the new systems.
There are two types of reusable codes : black box code and white box code. The black box code is a
kind of code which is simply integrated with the new system without modifying it. The white box
code is a kind of code that has to be modified to some extent before integrating it with the new
system, and then only it can work correctly.
There is third category of code which is used in reuse model and it is the code which can be generated
automatically. In this form of reuse the standard templates are integrated in the generator. To these
generators, the system model is given as input from which some additional information about the
system is taken and the code can be generated using the templates.
where
18
AT is percentage of automatically generated code.
Sometimes in the reuse model some white box code is used along with the newly- developed code.
The size estimate of newly developed code is equivalent to the reused code. Following formula is
used to calculate the effort in such a case -
where
ESLOC means equivalent number of lines of new source code.
ASLOC means the source lines of code in the component that has to be adapted.
AAM is adaptation Adjustment multiplier. This factor is used to take into account the efforts
required to reuse the code.
This model is a detailed model used to compute the efforts. The basic formula used in this model is
In this model efforts should be estimated more accurately. In the above formula A is the amount of
code. This code size estimate is made with the help of three components -
1. The estimate about new lines of code that is added in the program.
2. Equivalent number of source lines of code (ESLOC) used in reuse model.
3. Due to changes in requirements the lines of code get modified. The estimate of amount of
code being modified.
The exponent term B has three possible values that are related to the levels of project complexity. The
values of B are continuous rather than discrete. It depends upon the five scale factors. These scale
factors vary from very low to extra high (i.e. from 5 to 0).
19
Add up all these rating and then whatever value you get, divide it by 100. Then add the resultant value
to 1.01 to get the exponent value.
This model makes use of 17 cost attributes instead of seven. These attributes are used to adjust initial
estimate.
During the project scheduling the total work is separated into various small activities. And time
required for each activity must be determined by the project manager. For efficient performance some
activities are conducted in parallel.
20
The project manager should be aware of the fact that: Every stage of the project may not be problem-
free. Some of the typical problems in project development stage are:
To accomplish the project within given schedule the required resources must be available when
needed. Various resources required for the project are
Human effort
Sufficient disk space on server
Specialized hardware
Software technology
Travel allowance required by the project staff.
Project schedules are represented as the set of chart in which the work-breakdown structure and
dependencies within various activities is represented.
There is a common myth among the software managers that by adding more people in the project, the
deadline can be achieved. But this is not true - as by adding more people in the project, first we need
to train them for the tools and technologies that are getting used in the project. And only those people
can teach the new people who are already working. Thus during teaching or training the time will be
simply wasted and there won't be the progress in the project.
Once the effort required to develop a software has been determined, it is necessary to determine the
people or staff requirement for the project.
Putnam first studied the on how much staffing is required for the projects. He extended the work of
Norden who had earlier investigated the staffing pattern
The Putnam-Norden-Rayleigh Curve(PNR Curve) represents the relationship between effort applied
and delivery time for the software project.
Following equation shows the relationship of project effort as a function of project delivery time.
21
The curve rises sharply left to td indicating that project delivery time can not be compressed beyond
0.75 td.
Beyond this the failure region is shown and failure risk becomes high.
Software equation: The software equation can be derived from the PNR curve.
It represents the nonlinear relationship between time to complete the project and human effort applied
to the project. It can be denoted as
L = P x E1/3 t4/3
that is
E = L3 / P3t4
That also implies that by extending the end date six months, we can reduce the number of people
Every process model consists of various tasks sets. Using these tasks sets the software team define,
develop or ultimately support computer software.
There is no single task that is appropriate for all the projects but for developing large, complex
projects the set of tasks are required. Hence every effective software process should define a
collection of task sets depending upon the type of the project.
Using tasks sets the high quality software can be developed and any unnecessary work can be avoided
during software development.
The number of tasks sets will vary depending upon the type of the project. Various types of projects
are enlisted below -
These are the projects in which new business ideas or the applications based on new technologies
are to be developed.
These are kind of projects in which existing software application needs a major change. This
change can be for performance improvement, or modifications within the modules and interfaces.
These are kind of projects that correct, adapt or extend the existing software applications.
These are the projects in which the legacy systems are rebuilt partly or completely.
22
Various factors that influence the tasks sets are -
1. Size of project
2. Project development staff
3. Number of user of that project
4. Application longetivity
5. Complexity of application
6. Performance constraints
7. Use of technologies
Task set example: Consider the concept development type of the project. Various tasks sets in this
type of project are -
1. Defining scope: This task is for defining the scope, goal or objective of the project.
2. Planning: It includes the estimate for schedule, cost and people for completing the desired
concept.
3. Evaluation of technology risks: It evaluates the risk associated with the technology used in
the project.
4. Concept implementation: It includes the concept representation in the same manner as
expected by the end user.
The project manager should be aware of interdependencies among various tasks. It should be aware of
all those tasks which lie on the critical path.
23
5.8.4 Time Line Chart
In software project scheduling the timeline chart is created. The purpose of timeline chart is to
emphasize the scope of individual task. Hence set of tasks are given as input to the time line chart.
The time line chart is also called as Gant chart.
The time line chart can be developed for entire project or it can be developed for individual
functions.
In time line chart
1. All the tasks are listed at the leftmost column.
2. The horizontal bars indicate the time required by the corresponding task.
3. When multiple horizontal bars occur at the same time on the calendar, then that means
concurrency can be applied for performing the tasks.
4. The diamonds indicate the milestones.
In most of the projects, after generation of time line chart the project tables are prepared. In project
tables all the tasks are listed along with actual start and end dates and related information.
24
5.8.5 Tracking Schedule
Project schedule is the most important factor for software project manager. It is the duty of project
manager to decide the project schedule and track the schedule.
Tracking the schedule means determine the tasks and milestones in the project as it proceeds.
Following are the various ways by which tracking of the project schedule can be done –
1. Conduct periodic meetings. In this meeting various problems related to the project get
discussed. The progress of the project is reported to the project manager.
2. Evaluate results of all the project reviews.
3. Compare 'actual start date' and 'scheduled start date' of each of the project task.
4. Determine if the milestones of the project is achieved on scheduled date.
5. Meet informally the software practioners. This will help the project manager to solve many
problems. This meeting will also be helpful for assessing the project progress.
6. Assess the progress of the project quantitatively.
Thus for tracking the schedule of the project the project manager should be an experienced person. In
fact project manager is the only responsible person who is controlling the software project. When
some problems occur in the project then addition resources may be demanded, skilled and
experienced staff may be employed or project schedule can be redefined.
For handling the severe deadlines, project manager uses a technique of time boxing. In this technique
each it is under stood that the complete product cannot be delivered on given time. Part by part i.e. in
the series of increments the product can be delivered to the customer.
The project manager uses time box technique means he is associating each task with a box. That
means each task is put in a "time box" and within that time frame each task must be completed. When
the current task reaches to boundary of its time box, then the next task must be started (even if current
task is remaining incomplete).
Some researchers had argued upon - leaving the task incomplete when current task reaches to the
boundary but for this argument the counterpart is that even if the task is remaining incomplete it
reaches to almost completion stage and remaining part of it can be completed in the next successive
increment.
Earned value system provides a common value scale for every task of software project.
With the help of quantitative analysis made in EVA, we can know how much percentage of the
project is completed.
1) The Budgeted Cost of Work Scheduled (BCWS) is an estimated cost for the work that has
been scheduled. This value is obtained for every individual task in the software project. In this
activity the work of each software engineering task is planned. The BCWSi is the effort
planned for work task i. Hence at every point in the progress of project the BCWSi are
calculated and the total cost is the summation of all the BCWSi.
25
2) At the completion of the project the BCWS values for all work tasks are summed to derive the
budget of the project. The calculation of budgeted actual cost is
3) Then budgeted cost of work performed (BCWP) is computed. The value of BCWP is the sum
of all the BCWS values of all the corresponding tasks that have actually been completed by a
point in time on the project schedule.
The difference between BCWS and BCWP is that BCWS represents values for the project activities
that are planned and BCWP represents the values of the project activities that are Completed.
1)
Where SPI is the software performance index. It represents the project efficiency. If the value
of SPI is 1.0 then it represents that execution of project is very efficient.
2)
3)
Where project scheduled for completion indicates the percentage of work which should be
completed by time t.
Percent complete represents the percent of project which is actually completed by time t.
4)
Where ACWP refers to .Actual Cost Work Performance. This value helps in computing the
cost factor of the project.
Where CPI indicates the cost performance index. This value represents whether the
performance of project is within the defined budget or not. The value 1.0 indicates that the
project is within the defined budget
Thus EVA helps in identifying the project performance, cost of performance and project scheduling
difficulties. This ultimately helps the project manager to take the appropriate corrective actions.
26
The software team performs the formal technical reviews to test the software developed. In this
review various errors are identified and corrected. Any errors that remain uncovered and are found in
later tasks are called defects.
where
E is the error
D is defect.
The DRE represents the effectiveness of quality assurance activities. The DRE also helps the project
manager to assess the progress of software project as it gets developed through its scheduled work
task.
These error tracking metrics can also be used for better target review and testing resources.
Project plan
1.1. Introduction
The goals, objectives and constraints of the project must be described in this section.
27
The organization of development team should be described. The number of people involved along
with their roles must be described in detail.
All possible risks should be identified. Not only this but, the possible risk reduction strategies
must be decided.
Various project activities are grouped together to define the project work breakdown. Deciding
the project milestone and deliverables is an important task in defining the work breakdown.
The structure of the project report, when it should be generated must be decided.
Definition of risk management: Risk management refers to the process of making decisions based
on an evaluation of the factors that threats to the business.
Various activities that are carried out for risk management are –
1. The risk may or may not happen. It shows the uncertainty of the risks.
2. When risks occur, unwanted consequences or losses will occur.
1. Project risk
Project risks arise in the software development process then they basically affect budget,
schedule, staffing, resources, and requirements. When project risks become severe then the total
cost of project gets increased.
28
2. Technical risk
These risks affect quality and timeliness of the project. If technical risks become reality then
potential design implementation, interface, verification and maintenance problems gets created.
Technical risks occur when problem becomes harder to solve.
3. Business risk
When feasibility of software product is in suspect then business risks occur. Business risks can be
further categorized as
1. Market risk
When a quality software product is built but if there is no customer for this product then it is
called market risk (i.e. no market for the product).
2. Strategic risk
When a product is built and if it is not following the company's business policies then such a
product brings strategic risks.
3. Sales risk
When a product is built but how to sell is not clear then such a situation brings sales risk.
4. Management risk
When senior management or the responsible staff leaves the organization then management
risk occurs.
5. Budget risk
1. Predictable Risk
2. Unpredictable Risk
Known risks are those risk that are identified after evaluating the project plan. These risks can also be
identified from other sources such as environment in which the product gets developed, unrealistic
deadlines, poor requirement specification and software scope. There are two types of known risks -
predictable and unpredictable risks.
Predictable risks
Predictable risks are those risks that can be identified in advance based on past project
experience.
For example: Experienced and skilled staff leaving in between or improper communication
with customer resulting in poor requirement specification.
Unpredictable risks
For example certain changes in Government policies may affect the business project.
29
5.11.3 Reactive and Proactive Risk
Reactive and proactive risk strategies are the approaches used for managing the risks.
Resources are utilized to manage such risks. And if still the risks do not get managed then project
is in danger.
In this strategy no preventive care is taken about the risks. They are handled only on their
occurrences.
In this strategy potential risks are identified first then their probability and impact is analyzed.
Such risks are then specified according to their priorities (i.e. high priority risks should be
managed first!). Finally the software team prepares a plan for managing these risks.
The objective of this strategy is to avoid the risks (prevention is better than cure!!!). But it is not
possible to avoid all the risks, hence team prepares the risk management plan in such a manner
that risk controlling can done efficiently.
This is an intelligent strategy for risk management and now a day it is used by most of the IT
industries.
Normally the risk identification is done by the project manager who follows following steps -
The risk items can be identified using following known and predictable components
30
1) Product size - The risk items based on overall size of the software product is
identified.
2) Business impact - Risk items related to the marketplace or management can be
predicted.
3) Customer characteristics - Risks associated with customer-developer
communication can be identified.
4) Process definition - Risks that get raised with the definition of software process. This
category exposes important risks items because whichever is the process definition
made, is then followed by the whole team.
5) Development environment - The risks associated with the technology and tool being
used for developing the product.
6) Staff size and experience - Once the technology and tool related risks items are
identified it is essential to identify the risk associated with sufficient highly
experienced and skilled staff who will do the development.
7) Technology to be built - complexity of the system should be understood and related
risk items needs to be identified.
After preparing a risk item checklist a questionnaire is prepared. These set of questions should
be answered and based on these answers the impact or seriousness of particular risk item can
be judged.
The set of risk components and drivers list is prepared along with their probability of occurrence.
Then their impact on the project can be analyzed.
It is the degree of uncertainty that the product will satisfy the requirements
It is the degree of uncertainty that the project will maintain the budget.
31
[3] Support risk
It is the degree of uncertainty that the software project being developed will be easy to correct,
modify or adapt.
It is the degree of uncertainty that the software project will maintain the schedule and the project
will be delivered in time.
Associated with these components are the risk drivers that are used to analyses the impact of risk.
These four risk drivers are listed below
For the risk impact assessment a table is built in which impact of each risk driver on each software
component can be specified.
Thus the number of negative answers to these questions represents the severity of the impact of the
risk on overall project.
32
The project planner, technical staff, project manager performs following steps to perform following
steps for risk projection -
Establish a scale that indicates the probability of risk being real.
Enlist the consequences of the risk.
Estimate the impact of the risk on the project and product.
Maintain the overall accuracy of the risk projection in order to have clear understanding of the
software that is to be built.
These steps help to prioritize the risks. Once the risks are prioritized then it becomes easy to allocate
the resources for handling them.
Risk Table
Category Probability Impact RMMM
Is the skilled staff available Staff 50 % Catastrophic
Is that the team size sufficient Staff 62 % Critical
Have the staff received sufficient training Staff 25 % Marginal
Will technology meet the expectations? Technology 30 % Critical
Is the software management tool Environment 40 % Negligible
How much amount of j reused software is Project size 60 % Marginal
Will customer change the requirement? Customer 20 % Critical
While building the risk table
The project team first of all enlists all probable risks with the help of risk item checklist.
1. Project size
2. Technology
3. Customer
4. Staff
5. Business
6. Developing environment.
Probability of occurrence of each risk is then estimated by each team member individually.
Then impact of each risk is assessed. While calculating the impact of each risk, each using the cost
drivers each component of risk (performance, cost, support, and schedule) is assessed and it then
averaged to quote the overall impact of particular risk.
After building this table it is then sorted by probability and impact. The high probability and high
impact risks will be at the top of the table. And low probability and low impact risk will be at the
bottom of the table. This arrangement of the table is called first-order prioritization.
Then the project manager goes through this first-order prioritized risk table and draws a horizontal
line at some point in the table. This line is called cut off line. The risks table above the cut off line is
now considered for further risk analysis,
The risk table below the cut off line is again sorted and a second-order prioritization is applied on this
table.
33
The risk table above the cut-off line is having the risks with high probability and high impact and such
risks should occupy the significant amount of management time.
All the risks that lie above the cut off line should be managed. Using Risk mitigation, monitoring and
management plan the last column of the risk table is filled up.
Nature of risk
Scope of the risk
Timing at which risk occurs
Nature of risk denotes the type or kind of risk. For example if software requirement is poorly
understood, the software processes gets poorly designed and ultimately it will create a problem in unit
testing. Scope of the risk means severity of the risk. And timing of risk means determining at which
phase of software development life cycle the risk will occur and how long it will persist.
U.S. Air Force has suggested following steps in order to determine the impact of risk -
1. The probability of all the components of risk (performance, cost, support and schedule) is
calculated and averaged.
2. Using risk drivers (catastrophic, critical, marginal, negligible) the impact of risk on each
components is determined.
3. Build the risk table and analyses the high impact, high probability risks.
Risk exposure
For example: Consider a software project with 77 percent of risk probability in which 15 components
were developed from the scratch. Each component have on an average 500 LOC and each LOC have
an average cost of $10. Then the risk exposure can be calculated as ,
Then
Thus risk exposure for each risk from risk table is calculated. The total risk exposure of all risks helps
in determining the final cost of the project.
34
The CTC stands for condition-transition-consequence. The condition is first stated and then based on
this condition sub conditions can be derived. Then determine the effects of these sub conditions in
order to refine the risk. This refinement helps in exposing the underlying risks. This approach makes
it easier for the project manager to analyze the risk in greater detail.
5.12 RMMM
RMMM stands for risk mitigation, monitoring and management. There are three issues in strategy for
handling the risk is
[1] Risk avoidance
[2] Risk monitoring
[3] Risk management.
Risk mitigation
Risk mitigation means preventing the risks to occur (risk avoidance). Following are the steps to be
taken for mitigating the risks.
1. Communicate with the concerned staff to find of probable risk.
2. Find out and eliminate all those causes that can create risk before the project starts.
3. Develop a policy in an organization which will help to continue the project even though some
staff leaves the organization.
4. Everybody in the project team should be acquainted with the current development activity.
5. Maintain the corresponding documents in timely manner. This documentation should be
strictly as per the standards set by the organization.
6. Conduct timely reviews in order to speed up the work.
7. For conducting every critical activity during software development, provide the additional
staff if required.
Risk monitoring
In risk monitoring process following things must be monitored by the project manager,
1. The approach or the behavior of the team members as pressure of project varies.
2. The degree in which the team performs with the spirit of "team-work".
3. The type of co-operation among the team members.
4. The types of problems that are occurring.
5. Availability of jobs within and outside the organization.
The project manager should monitor certain mitigation steps. For example.
If the current development activity is monitored continuously then everybody in the team will get
acquainted with current development activity.
The objective of risk monitoring is
1. To check whether the predicted risks really occur or not.
2. To ensure the steps defined to avoid the risk are applied properly or not.
3. To gather the information which can be useful for analyzing the risk.
Risk management
Project manager performs this task when risk becomes a reality. If project manager is successful in
applying the project mitigation effectively then it becomes very much easy to manage the risks.
For example, consider a scenario that many people are leaving the organization then if sufficient
additional staff is available, if current development activity is known to everybody in the team, if
latest and systematic documentation is available then any "new comer' can easily understand current
development activity. This will ultimately help in continuing the work without any interval.
35
5.13 RMMM Plan
The RMMM plan is a document in which all the risk analysis activities are described. Sometimes
project manager includes this document as a part of overall project plan. Sometimes specific RMMM
plan is not created, however each risk can be described individually using risk information sheet.
Typical template for RMMM plan or Risk information sheet can be,
The risk information sheet can be maintained by database systems. After documenting the risks using
either RMMM plan or Risk information sheet the risk mitigation, monitoring and analysis activities
are stopped.
36
CASE is used in conjunction with the process model that is chosen.
CASE tools help software engineer to produce the high quality software
efficiently.
Use of CASE tool automates particular task of software development activity.
But it is always useful to use a set of CASE tools instead of* using a single CASE
tool. If different CASE tools are not integrated then the data generated by one tool
will be an input to other tools. This may also require a format conversions, as tools
developed by different vendors may use different formatting. There are chances,
that many tools do not allow exporting data and maintain data in proprietary
formats.
Fig. 5.10.1 represents the building block for CASE. The bottom most layer consists of C
environment architecture and hardware platform. The environment architecture
consists of collection of system software and human work pattern "that is applied during
the software engineering process.
A set of probability services connects the CASE tools with the integration
framework.
The integration framework is a collection of specialized programs which allows
the CASE tools to communicate with the database and to create same look and (
feel for the end-user. Using probability services CASE tools can communicate
with the cross platform elements.
At the top of this building block a collection of CASE tools exist. CASE tools ,
basically assist the software engineer in developing a complex Component.
CASE tools can exist in variety of manner. A single CASE tool can be used, or a ,
collection of CASE tools may exists which acts as some package. The CASE tools
may serve as a bridge between other tools.
5.14.2 Taxonomy
To create an effective CASE environment, various categories of tools can be
developed. ,
CASE tools can be classified by
1. by function or use (
2. by user type (e.g. manager, tester), or
3. by stage in software engineering process (e.g. requirements, test)
The taxonomy of CASE tools is as given below.
37
Business process engineering tools
This tool is used to model the business information flow. It represents business data objects,
their relationships and how data objects flow between different business areas / within a
company.
Documentation tools
Most of the software development organizations spend lot of time in developing the documents. For
this reason the documentation tools provide a way to develop documents efficiently. For example -
word processors that give templates for the organization process documents.
38
It creates models of the system. Some create formal models. Others construct data flow models. These
models contain representation of data, function and behavior. Such tools helps in architectural,
component level and interface design.
PRO/SIM tools
These are prototyping and simulation tools. They can help predict real time system response and
allow mockups of such systems to be fashioned.
Prototyping tools
These tools support to define screen layout rapidly for interactive applications.
Programming tools
The programming tool category include the programs that support most of the conventional
programming languages. For example - compilers, debuggers, editors, database query languages.
Reengineering tools
These tools perform a set of maintenance activities. These tools perform various functions such as
Reverse engineering to specification tools.
Code restructuring.
On-line system re-engineering.
39
5.14.3 Workbenches
CASE workbench is a set of tools which supports a particular phase in the software process.
These tools work together to provide the complete support to the software development
activity.
In the workbench common services are provided which are used by all the tools, te kind of data
integration is also supported
For example -Analysis and Design Workbench (Refer Fig.
5.10.2)
o It support the generation of system models during design
and analysis activities.
o It provides graphical editors plus shared repository.
o It may include code generators to create source code from
design information
Advantages
It is available at low cost.
There is productivity improvement due to support of workbenches.
It results in standardized documentation for software system.
Drawbacks
These systems are closed environments with tight integration with tools.
The import and export facilities for various types of data is limited.
It is difficult to adapt method for specific organizational need.
Environments
CASE tools create a pool of software engineering information. The integrated CASE
environment allows a transfer of information into and out of this pool. For such transfer there
is a need for some architectural components. These components are -
o Database for storing the information
o Object management system. Because using the objects information can be transferred
in the information pool.
o Control mechanism.
o User interface
The Fig. 5.14.3 shows the simple model for integrated CASE environment. This environment
consists of various levels.
CASE CASE CASE CASE CASE CASE CASE CASE CASE CASE
Tools Tools Tools Tools Tools Tools Tools Tools Tools Tools
Object Management Layer
(Integration services, configuration management services)
Shared Repository Layer
(CASE database, Access control functions)
40
The user interface layer consists of interface tool kit and presentation protocols. The
interface tool kit consists of collection of software required for interface management and
display objects. The presentation protocol decides a common look and feel of the
presentation interface.
Then comes a tools layer. It consists of set of Tools Management Services (IMS).
The next layer is Object management Layer (OML). It performs the configuration
management. The services of this layer allows the identification of all the configuration
objects. So that the case tool can be plugged into the integrated CASE environment.
The bottom most layers is shared repository layer. It consists of CASE database and access
control functions. These access control functions help the object management layer to access
the CASE Database.
Components of CASE
Various components of CASE tools are -
1. Central Repository:
o The central repository contains the common, integrated and consistent information
o The central repository acts like a data dictionary
o It contains product specification, requirement documents, project management
information and reports.
2. Upper Case-Tools
o Uppercase tool focus on the planning, analysis phase and sometimes the design phase
of the software development lifecycle.
3. Lower Case Tools :
o Lower CASE Tool Computer-Aided Software Engineering (CASE) software tool that
directly supports the implementation (programming) and integration tasks.
o Lower CASE tools support database schema generation, program generation,
implementation, testing, and configuration management
4. Integrated CASE tools :
o These are type of tools that integrate both upper and lower CASE, for example
making it possible to design a form and build the database to support it at the same
time.
o An automated system development environment that provides numerous tools to
create diagrams, forms and reports.
o It also offers analysis, reporting and code generation facilities and seamlessly shares
and integrates data across and between tools.
41
Part – A
Estimation.
1. What does empirical estimation model means?
The empirical estimation model uses empirically (experimentally) derived formulae to predict effort
as a function of lines of code or function point. In empirical estimation model, the empirical values of
LOC of FP are put. The empirical model supports a limited number of software project. Typical
estimation model is derived using regression analysis on data collected from past software projects.
2. Define basic equation for the effort estimation models. [ND 2012]
The basic equation for the effort estimation models are - E = A + B x (eV)c
42
For a size oriented metric the software Most widely used function oriented
organization maintains simple records in metric is the Function Point (FP)
tabular form. The typical table entries are: computation of the function point is based
Project name, LOC, Effort, Pages of on characteristics of software's
documents, errors, defects, total number information domain and complexity.
of people working on project.
Make/Buy Decision
8. Define outsourcing.
Outsourcing is a process in which software engineering activities are contracted to a third party who
does the work at lowest cost with high quality.
COCOMO II
11. Mention difference between organic mode and embedded mode in COCOMO model
[May/June 2014]
Organic mode Embedded mode
The small size projects are handled using The large size projects are handled using
organic mode. embedded mode.
The experienced developers develop such The embedded mode projects are handled
projects. by little previous experienced people,
43
Three development processes
New cost drivers
Bayesian calibration
44
7. Allocate resources
8. Review/ publicize plan
9. Execute plan
10. Lower level planning
19. What is risk? Give an example of risk. Types of Risks? [ND 2015]
The software risk can be defined as a problem that can cause some loss or can threaten the success of
the project.
Example: Experienced and skilled staff leaving the organization in between.
Types of risks
1.Project Risks
2.Technical Risks
3. Business risks
RMMM
20. Define risk management [ND 2016]
Risk management is the identification, assessment, and prioritization of risks followed by coordinated
and economical application of resources to minimize, monitor, and control the probability and/or
impact of unfortunate events or to maximize the realization of opportunities. Risk management’s
objective is to assure uncertainty does not deflect the endeavor from the business goals
[1] Risk identification - All possible risks are anticipated and a list of potential risks is prepared.
.
[2] Risk analysis - Under this activity the after effects of risks are obtained and risks are
prioritized accordingly.
[3] Risk planning - Risk avoidance or risk minimization plan is prepared.
[4] Risk monitoring - Identified risks are mitigated.
22. What are predictable risks? Give example for such risks.
Predictable risks are those risks that can be identified in advance based on past project experience.
For example: Experienced and skilled staff leaving the organization in between.
The quality plan describes the quality procedures and standards that will be used in a project.
The validation plan describes the approach, resources and schedule required for system validation.
The configuration management procedures and structures used are also described by the project plan.
The maintenance requirements of the system, maintenance cost and effort requirement information is
described by the software project plan.
45
25. What is error tracking?
Error tracking is a process of finding out and correcting the errors that may occur during the software
development process at various stages such as software design, coding or documenting.
26. What is the use of performing Earned Value Analysis? [ND 2018]
Earned Value Analysis (EVA) is an industry standard method of measuring a project's progress at any
given point in time, forecasting its completion date and final cost, and analyzing variances in the
schedule and budget as the project proceeds
27. State the importance of scheduling activity in Project management. [MJ 2015]
Software project scheduling is an activity that distributes estimated effort across the duration of
project cycle by allocating effort to each specific task that is associated with all process.
Software project scheduling guides the following
Compartmentalization of the project
Correct allocation of time,
Correct effort validation,
Defining responsibility
Defining outcomes
Simple and computable - The software metrics should be easy to learn and derive.
Empirically and intuitively persuasive - The software metrics should satisfy the intuitive notions
about the product attribute.
Consistent and objective - The software metrics should give the unambiguous results.
Consistent in its use of units and dimensions - The units and dimensions used in the software
metrics should be consistent.
Programming language independent - The software metrics should be based on analysis model,
design model and structure of the program. But it should be independent of syntax or semantics of the
program.
Effective mechanism for high quality feedback - The software metric should provide information to
software engineer whether the software product being developed is of quality or not.
29. What are project indicators and how do they help a project manager?
Project Indicators mean combination of metrics that provides insight into the software process, project
or product. An indicator is a tool that helps you and your organization know how far your project is
from achieving your goals and whether you are headed in the right direction.
Indirect metrics - Indirect metrics are the aspects that are not immediately measurable. For example
functionality, reliability, maintainability.
46
31. List down few process and product metrics. [MJ 2016]
Product metrics are
1. Size metric - This metric is used for measuring the size of the software.
a. LOC based meritc - This metric makes use of lines of code to measure the software.
b. FP based metric - This metric makes use of functional points to measure the software.
2. Complexity metric - A software module can be described by a control flow graph.
a. Cyclomatic complexity
b. McCabe complexity metric.
3. Quality metric -
a. Defects
b. Reliability metric
c. Maintainability metric
4. Process metrics are based on following factors
a. Application of methods and tools.
b. Use of standards for the system.
c. Effectiveness of management of system.
d. Performance of development of system.
47
37. What are the different types of productivity estimation measures? [MJ 2017]
There are various methods by which software productivity is measured, but whichever method is
employed the goal should be uniform: to give software managers and professionals a set of useful,
tangible data points for sizing, estimating, managing, and controlling software projects with rigor and
precision (Jones 1). Some of the more common methods of measuring software productivity are
Function Point Analysis, Constructive Cost Modeling, and Cyclomatic Complexity.
38. List two customer related and technology related risks. [MJ 2017]
Customer related risks
Have you worked with he customer in the past?
Does the customer have a solid idea of what is required?
Has the customer taken the time to write this down?
Will the customer agree to spend time in formal requirements gathering meetings to
identify project scope?
Technology risks
Is the technology to be built new to your company?
Do the customer requirements demand the creation of new algorithms, input or output
technology?
Does the software interface with new or unproven hardware?
48
41. List CASE tools for the following phases od SDLC : Design ,Testing: [MJ 2019]
Design Tools
These tools help software designers to design the block structure of the software, which may further
be broken down in smaller modules using refinement techniques. These tools provides detailing of
each module and interconnections among modules. For example, Animated Software Design
Maintenance Tools
Software maintenance includes modifications in the software product after it is delivered. Automatic
logging and error reporting techniques, automatic error ticket generation and root cause Analysis are
few CASE tools, which help software organization in maintenance phase of SDLC. For example,
Bugzilla for defect tracking, HP Quality Center.
43. Write any two differences between ‘Known Risks and predictable risks. [ND 2019]
Known Risk :
1) It can be uncovered after careful evaluation project plan, business and technical environment in
which the project is being developed, other reliable information resources.
2) E.g. unrealistic delivery date, lack of software poor development environment.
Predictable Risk:
1) Predictable risks are extrapolated from past project experience.
2) E.g. staff turnover, poor communication with the customer, dilution of staff effort as ongoing
maintenance requests are serviced.
49
8 Write a short note on RMMM
Explain why scheduling is considered to be an important activity of
Software Engineering process
9 [MJ 2015]
[OR]
Write short note on Project Scheduling [May/June 2015 – 8M]
Briefly discuss the role of Task Sets and Task Networks in effective
implementation and tracking of software projects.
10 [OR] [MJ 2015]
Write a short note on Timeline Charts and Task Networks. [May/June
2015 – 8M]
Explain why schedules are to be tracked in software development and
11 [ND 2012]
why time line charts are used [Nov/Dec 2012 – 16M]
Discuss why Earned Value Analysis and Error Tracking are to be done
[ND 2016]
12 and how they help in improving quality.
[MJ 2017]
(or) Explain Earned Value Analysis in Detail
Write a short note on various Qualitative metrics used in Process and
13
Project Quality assessment.
Explain in detail the various Metrics to measure the quality of the
14 [ND 2015]
software that is being developed.
Explain with an example how function point based estimation is
15 independent of the programming language being used. [Nov/Dec 2014 [ND 2014]
– 16M]
Identify the situation when outsourcing is done in a software project
16
and what decision does an software engineer has to make.
Define the term Risk Projection. Explain how it can be useful in
17
assessing the impact on software development activities
Explain the process of Cost estimation using COCOMO model in [MJ 2017]
18
detail [ND 2016]
19 Write Short Notes on Make./Buy Decision [MJ 2016]
21 Elaborate the cost estimation COCOMO II cost estimation model. [ND 2019]
23 Outline the steps in function point analysis with an example. [ND 2019]
List the features of LOC and FP Based estimation models. Compare [MJ 2019]
24
the two models and list the advantages of one over other.
Define Risk.
25 List the types of risk and give example for each. [MJ 2019]
List and explain the phases in risk management.
University Questions
Part A
1. Highlight the activities in Project planning. A/M 2015
50
2. State the importance of scheduling activity in Project Management. A/M 2015
3. Define Risk and list its types. N/D 2015
4. Mr. Koushan is the project manager on a project to build a new cricket stadium in Mumbai, india
after six months of work, the project is 27% complete. At the start of the project koushan estimated
that it would cost $ 50,0000.000. What is the Earned value? N/D 2015
5. List a few process and project metrics. M/J 2016
6. Will exhaustive testing guarantee that the program is 100% correct? M/J 2016
7. What is risk management? N/D 2016
8. How is productivity and cost related to function points? N/D 2016
9. What are different types of productivity estimation measures? A/M 2017
10. List two customers related and technology related risks. A/M 2017
11. List out the principles of project scheduling. N/D 2017
12. Write a note on Risk Information Sheet (RIS). N/D 2017
13. What is EVA?
Part B
A/M 2015
1. State the need for Risk management and explain the activities under Risk Management. (16)
2. Write short notes on the following
a. Project Scheduling (8)
b. Project Timeline chart and Task network. (8)
N/D 2015
3. Explain in detail about the risk management in a software development life cycle. (16)
4. Discuss about COCOMO II model for software estimation. (10)
5. Discuss about the metrics for small organizations (6)
M/J 2016
6. Write short notes on the following :
i) Make/Buy decision (8)
ii) COCOMO II (8)
7. An application has the following 10 low external inputs, 8 high external outputs, 13 low internal
logical files, 17 high external interface files, 11 average external inquires and complexity
adjustment factor of 1.10. What are the unadjusted and adjusted function point counts? (4)
8. Discuss Putnam resources allocation model. Drive the time and effort equations. (12)
N/D 2016
9. Suppose you have a budgeted cost of a project as Rs. 9,00,000. The project is to be completed in
9 months. After a month, you have completed 10 percent of the project at a total expense of Rs.
1,00,000. The planned completion should have been 15 percent. You need to determine whether
the project is on-time and on-budget? Use earned value analysis approach and interpret. (8)
10. Consider the following Function point components and their complexity. If the total degree of
influence is 52, find the estimated function points. (8)
Function type Estimated count Complexity
ELF 2 7
ILF 4 10
EQ 22 4
EO 16 5
EI 24 4
11. Describe in detail COCOMO model for software cost estimation. Use it to estimate the effort
required to build software for a simple ATM that produce 12 screens, 10 reports and has 80
software components. Assume average complexity and average developer maturity. Use
application composition model with object points. (16)
A/M2017
12. Describe in detail COCOMO model for software cost estimation. Illustrate considering a suitable
example. (13)
51
13. Given the following project plan of tables table1 and table2:
Table 1
Immediate Expected Duration
ID Task Budget($)
Predecessor (days)
A Meet with Client 5 500
B Write SW A 20 10000
C Debug SW B 5 1500
D Prepare draft manual B 5 1000
E Meet with clients D 5 1000
F Test SW C,E 20 2000
G Make modification F 10 8000
H Finalize manual G 10 5000
I Advertise C,E 20 8000
Perform an analysis of the project status at week13, using EVA. Use the CPI and SPI to
determine project efficiency. Explain the process involved.
N/D 2017
14. Explain in detail about the risk management in a software development life cycle. (13)
15. Discuss about COCOMO II model for software estimation. (8)
16. Explain about the factors that cause difficulty in testing software. (5)
A/M2018
17. Describe in detail COCOMO model for software cost estimation. (9)
18. If Team A found 342 errors prior to release of software and Team B found 182 errors. What
additional measures and metrics are needed to find out if the teams have removed the errors
effectively ? Explain. (4)
19. Discuss the process of function point analysis. Explain function point analysis with sample case
for components of different complexity. (13)
PART C
A/M2017
1. Consider the online book stores. It accept individual/bulk orders, process payments, triggers
delivery of the books. Some of the major features of the system include:
a. Order Books
b. User friendly online shopping cart function
c. Create, view, modify, and delete book to be sold
d. To store inventory and sales information in database
e. To provide an efficiency inventory system
f. Register for book payment options
g. Request book delivery
52
h. Add a wish list
i. Place request for book not available
j. To be able to print invoice to members and print a set of summary reports
k. Internet access.
Analysis the system using the context diagram and level 1 DFD for the system. Explain
the components of DFD.
N/D 2017
2. List out the various umbrella activities which support software development process and discuss
about their necessity in maintaining the quality in both software process and product that is being
developed for railway reservation system. (15)
3. Model a data flow diagram for a :library Management System” State the functional requirements
you are considering. (15)
A/M2018
4. What is the purpose of DFD? What are the components of DFD? Construct DFD for the
following system:
An on-line shopping system for XYZ provides many services and benefits to its members and
staffs. Currently, XYZ staffs manually handle the purchasing information with the use of basic
office software, such as Microsoft Office Word and Excel. It may results in having mistakes
easily and the process is very inconvenient. XYZ needs an online shopping system at their
Intranet based on the requirement. XYZ needs an online shopping system at their Intranet based
on the requirement of users. XYZ online shopping system has five key features:
i. To provide the user friendly online shopping cart function to members to replace
hardcopoy ordering form:
ii. To store inventory and sales information in database to resuce the human mistakes,
increase accuracy and enhance the flexibility of information processing;
iii. To provide an efficient inventory system which can help the xya staffs to gain enough
information to update the inventory;
iv. To be able to print invoice to members and print a set of summary reports for XYZ’s
internal usage;
v. To design the system that is easy to maintain and upgrade.
5. Consider the problem of determining the number of different words in an input file. Carry out
structured design by performing transform and transaction analysis construct the structured chart.
53