02.04.2013 Views

CONTENTS

CONTENTS

CONTENTS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SOFTWARE COST ESTIMATION MODEL BASED ON NEURAL NETWORKS 207<br />

• Constraints and priorities.<br />

One approach starts by decomposing the expected deliverable of the project into<br />

manageable chunks (product breakdown structure), using it to build a work breakdown<br />

structure (WBS) and making a direct estimation of the required effort using<br />

expert opinion (experienced professionals who can make estimations based on previous<br />

experience). Size of the project and required effort can be converted afterwards<br />

in project duration and project cost using empirical formulas. Estimations made for<br />

each phase of the project are summed up generating overall size, effort, schedule and<br />

cost [17]. For better estimations, the results could be weighted by factors (e.g. complexity<br />

of the project, familiarity of the team with the required technology or business<br />

knowledge, risks), generating the final project estimations. In the last 3 decades different<br />

models for software cost estimation have been proposed, ranging from empirical<br />

models [12] to elaborated analytical models [3], [5], [16]. Empirical models use data<br />

from previous software development projects in order to make predictions for similar<br />

projects. The analytical model uses a formal approach, based on global presumptions,<br />

like how well can a team member solve a task and how many issues are possible to<br />

appear. Both approaches lead to the conclusion that accurate cost estimation in a<br />

software development project remains a very difficult task [11].<br />

2. Estimation process for software development<br />

An estimation process follows a number of steps [3]:<br />

(1) Setting cost estimation objectives;<br />

(2) Developing a Project Plan for each request and each resource;<br />

(3) Analyzing the software development requests;<br />

(4) Working out as much detail about the software development project;<br />

(5) Using an alternative cost estimation technique for cross validation;<br />

(6) Comparison between estimations and through repeated iterations;<br />

(7) Permanent controlling of the project during the development phase.<br />

In order to achieve a precise estimation, no matter what cost estimation model<br />

has been chosen, there must be a permanent fine tuning of several parameters during<br />

the whole project development life cycle. The fine tuning can have influence on the<br />

resource allocation strategy for the estimated software development project without<br />

changing the overall cost estimation.<br />

3. Software metrics<br />

The software metrics have a great influence in the estimation of the cost of a<br />

software development project. There are several software metrics used to estimate<br />

the size of a software development project: Lines Of Code (LOC) and Functional<br />

Points (FP) metrics being the most popular.<br />

• Lines of Code metrics (LOC): this software metrics is based on the calculation<br />

of the number of source code instructions, excepting comments. LOC metrics<br />

is unfortunately dependent on the technology and programming language used for

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!