CONTENTS
CONTENTS
CONTENTS
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