You are on page 1of 6

Theses

1. Relevance of the topic – Costs of software projects development is a very important


financial criteria and its calculation is an actual problem, because each company needs to
know its value with big accuracy to be able to correct it in order of increasing of financial
benefit and costs declining.

2. Elements of novelty:
- New soft with graphical interface as a part of company’s financial system.

- Realization of a few algorithms of software estimation costs, research of effectiveness


of application of regression analysis on average project level

- Comparing analysis of a few algorithms

The structure of the work


1. Study the available material
2. Analytically investigate a new regression model of the definite project case
3. Select the development tools and environment
4. Program the module of software estimation costs computing
5. Realize 3 or more algorithms of estimation
6. Develop a graphical interface
7. Justify the correctness of results
8. Develop the module of integration with already existing system
9. Compare the received results with testing ones
10. Make a conclusion of regression estimating model effectiveness
Regression model

Regression algorithms fall under the family of Supervised Machine Learning


algorithms which is a subset of machine learning algorithms. One of the main
features of supervised learning algorithms is that they model dependencies and
relationships between the target output and input features to predict the value for
new data. Regression algorithms predict the output values based on input features
from the data fed in the system. The go-to methodology is the algorithm builds a
model on the features of training data and using the model to predict the value for
new data.

Simple Linear Regression model: Simple linear regression is a statistical method


that enables users to summarize and study relationships between two continuous
(quantitative) variables. Linear regression is a linear model wherein a model that
assumes a linear relationship between the input variables (x) and the single output
variable (y). Here the y can be calculated from a linear combination of the input
variables (x). When there is a single input variable (x), the method is called a
simple linear regression. When there are multiple input variables, the procedure is
referred as multiple linear regression.

Picture 1. Regression
Application: some of the most popular applications of Linear regression algorithm
are in financial portfolio prediction, salary forecasting, real estate predictions and
in traffic in arriving at ETAs. Software flowchart

A review of the literature


1. Software Cost Estimation with COCOMO II (paperback) 1st Edition by Barry W. Boehm

In this book, a team led by world-renowned software economics expert Dr. Barry Boehm
demonstrates breakthrough techniques for creating software cost estimates and schedules
you can actually depend upon. Using Boehm's COCOMO II model and new MBASE
approach, it's possible to finally predict when software will be delivered, what it will cost
-- and that it will actually meet the needs of its users. Thanks to this book, I learned how
to use COCOMO model in software estimation

2. Machine Learning by Tom M. Mitchell

Machine Learning by Tom M. Mitchell is a fitting book for getting started with machine
learning. It offers a comprehensive overview of machine learning theorems with
pseudocode summaries of the respective algorithms. The Machine Learning book is full
of examples and case studies to ease a reader’s effort for learning and grasping ml
algorithms. If you wish to start your career in machine learning, then this book is a must-
have. Thanks to a well-explained narrative, a thorough explanation of ml basics, and
project-oriented homework assignments, the book on machine learning is a suitable
candidate to be included in any machine learning course or program. This book describes
in detail the problems that engineers face when creating automatic control systems and
methods of analytical design of autopilots for different classes of aircraft based on the
functionality of generalized work.

3. An Introduction to Statistical Learning: with Applications in R (Springer Texts in


Statistics): 103 Hardcover – 12 Aug. 2013

An Introduction to Statistical Learning provides an accessible overview of the field of


statistical learning, an essential toolset for making sense of the vast and complex data sets
that have emerged in fields ranging from biology to finance to marketing to astrophysics
in the past twenty years. This book presents some of the most important modeling and
prediction techniques, along with relevant applications. Topics include linear regression,
classification, resampling methods, shrinkage approaches, tree-based methods, support
vector machines, clustering, and more. Color graphics and real-world examples are used
to illustrate the methods presented. Since the goal of this textbook is to facilitate the use
of these statistical learning techniques by practitioners in science, industry, and other
fields, each chapter contains a tutorial on implementing the analyses and methods
presented in R, an extremely popular open source statistical software platform. Nonlinear
and adaptive control of complex dynamic systems.
4. Estimating Software Costs: Bringing Realism to Estimating 2nd Edition by Capers Jones
This book is about complete understanding of how to estimate software costs, schedules,
and quality using the real-world information contained in this comprehensive volume.
Find out how to choose the correct hardware and software tools, develop an appraisal
strategy, deploy tests and prototypes, and produce accurate software cost estimates. Plus,
you'll get full coverage of cutting-edge estimating approaches using Java, object-oriented
methods, and reusable components.
Plan for and execute project-, phase-, and activity-level cost estimations
Estimate regression, component, integration, and stress tests
Compensate for inaccuracies in data collection, calculation, and analysis
Assess software deliverables and data complexity
Test design principles and operational characteristics using software prototyping
Handle configuration change, research, quality control, and documentation costs
Capers Jones work offers a unique contribution to the understanding of the economics of
software production. It provides deep insights into why our advances in computing are
not matched with corresponding improvements in the software that drives it. This book is
absolutely required reading for an understanding of the limitations of our technological
advances.
5. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts,
Tools, and Techniques to Build Intelligent Systems 2nd Edition.

Through a series of recent breakthroughs, deep learning has boosted the entire field of
machine learning. Now, even programmers who know close to nothing about this
technology can use simple, efficient tools to implement programs capable of learning
from data. This practical book shows you how.

By using concrete examples, minimal theory, and two production-ready Python


frameworks—Scikit-Learn and TensorFlow—author Aurélien Géron helps you gain an
intuitive understanding of the concepts and tools for building intelligent systems. You’ll
learn a range of techniques, starting with simple linear regression and progressing to deep
neural networks. With exercises in each chapter to help you apply what you’ve learned,
all you need is programming experience to get started.

Explore the machine learning landscape, particularly neural nets


Use Scikit-Learn to track an example machine-learning project end-to-end
Explore several training models, including support vector machines, decision trees,
random forests, and ensemble methods
Use the TensorFlow library to build and train neural nets
Dive into neural net architectures, including convolutional nets, recurrent nets, and deep
reinforcement learning
Learn techniques for training and scaling deep neural nets.
Analogs
There are three main analogs of software estimation costs program products. Let’s discuss their
pros and cons.

Picture 2. The existing analogs

Advantages:

 Big number of economical tools for different situations


 Good performance and integration possibility
 Great accuracy of results

Disadvantages:

 Only UNIX systems are supported


 The English-language only
 Suits only for big projects
 Expensive price

Requirements for the intended software


The requirements will be based on GOST R 51904-2002.

Reliability requirements:

 to increase the level of performance, an integrational module will be developed to


connect a software to company’s database for data receiving and processing speed
increase.
 the system have to work with Excel tables data format, with Databases structures and
table; have to provide a possibility to input the data set manually/

Requirements for operation:

 cross-platform support

Requirements for the safety of the information:


 all satisfactory data will be stored in the database, in case of emergency all data will
remain in the database

You might also like