Проектирование модели прогнозирования финансовой устойчивости предприятия
Суть метода взвешенных тангенсов и фазовых трендов. Характеристика временных рядов на базе графов и матриц подобия. Построение модели внешне несвязанных регрессий. Этапы анализа и проектирования веб-приложения. Особенность тестирования программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 21.09.2018 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
{
Label8.Visible = true;
if (CheckBoxList1.Items[0].Selected != true)
{
Label6.Visible = true;
Label6.Text = "Текущие обязательства";
TextBox1.Visible = true;
if (TextBox1.Text != "")
{
double tek = Convert.ToDouble(TextBox1.Text);
Label9.Text = "По Спрингейту: " + ec.Sprin(my_data, tek);
Label9.Visible = true;
Label13.Visible = true;
}
}
else
{
Label7.Visible = true;
Label7.Text = "Текущие обязательства";
TextBox2.Visible = true;
if (TextBox2.Text != "")
{
double tek = Convert.ToDouble(TextBox2.Text);
Label10.Text = "По Спрингейту: " + ec.Sprin(my_data, tek);
Label10.Visible = true;
Label13.Visible = true;
}
}
}
if (CheckBoxList1.Items[2].Selected == true)
{
Label8.Visible = true;
if (CheckBoxList1.Items[1].Selected != true)
{
if (CheckBoxList1.Items[0].Selected != true)
{
Label6.Visible = true;
Label6.Text = "Средняя стоимость активов";
TextBox1.Visible = true;
Label7.Visible = true;
Label7.Text = "Затраты компании";
TextBox2.Visible = true;
if (TextBox1.Text != "" && TextBox2.Text != "")
{
double act = Convert.ToDouble(TextBox1.Text);
double zat = Convert.ToDouble(TextBox2.Text);
Label9.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label9.Visible = true;
Label13.Visible = true;
}
}
else
{
Label7.Visible = true;
Label7.Text = "Средняя стоимость активов";
TextBox2.Visible = true;
Label14.Visible = true;
Label14.Text = "Затраты компании";
TextBox3.Visible = true;
if (TextBox2.Text != "" && TextBox3.Text != "")
{
double act = Convert.ToDouble(TextBox2.Text);
double zat = Convert.ToDouble(TextBox3.Text);
Label10.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label10.Visible = true;
Label13.Visible = true;
}
}
}
else
{
if (CheckBoxList1.Items[0].Selected != true)
{
Label7.Visible = true;
Label7.Text = "Средняя стоимость активов";
TextBox2.Visible = true;
Label14.Visible = true;
Label14.Text = "Затраты компании";
TextBox3.Visible = true;
if (TextBox2.Text != "" && TextBox3.Text != "")
{
double act = Convert.ToDouble(TextBox2.Text);
double zat = Convert.ToDouble(TextBox3.Text);
Label11.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label10.Visible = true;
Label13.Visible = true;
}
}
else
{
Label14.Visible = true;
Label14.Text = "Средняя стоимость активов";
TextBox3.Visible = true;
Label15.Visible = true;
Label15.Text = "Затраты компании";
TextBox4.Visible = true;
if (TextBox3.Text != "" && TextBox4.Text != "")
{
double act = Convert.ToDouble(TextBox3.Text);
double zat = Convert.ToDouble(TextBox4.Text);
Label11.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label11.Visible = true;
Label13.Visible = true;
}
}
}
}
if (CheckBoxList1.Items[3].Selected == true)
{
Label8.Visible = true;
if (CheckBoxList1.Items[2].Selected != true)
{
if (CheckBoxList1.Items[1].Selected != true)
{
if (CheckBoxList1.Items[0].Selected != true)
{
Label6.Visible = true;
Label6.Text = "Средняя стоимость активов";
TextBox1.Visible = true;
Label7.Visible = true;
Label7.Text = "Текущие обязательства";
TextBox2.Visible = true;
if (TextBox1.Text != "" && TextBox2.Text != "")
{
double act = Convert.ToDouble(TextBox1.Text);
double zat = Convert.ToDouble(TextBox2.Text);
Label9.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label9.Visible = true;
Label13.Visible = true;
}
}
else
{
Label7.Visible = true;
Label7.Text = "Средняя стоимость активов";
TextBox2.Visible = true;
Label14.Visible = true;
Label14.Text = "Текущие обязательства";
TextBox3.Visible = true;
if (TextBox2.Text != "" && TextBox3.Text != "")
{
double act = Convert.ToDouble(TextBox2.Text);
double zat = Convert.ToDouble(TextBox3.Text);
Label10.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label10.Visible = true;
Label13.Visible = true;
}
}
}
else
{
if (CheckBoxList1.Items[0].Selected != true)
{
Label7.Visible = true;
Label7.Text = "Средняя стоимость активов";
TextBox2.Visible = true;
if (TextBox2.Text != "" && TextBox1.Text != "")
{
double act = Convert.ToDouble(TextBox2.Text);
double zat = Convert.ToDouble(TextBox1.Text);
Label10.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label10.Visible = true;
Label13.Visible = true;
}
}
else
{
Label14.Visible = true;
Label14.Text = "Средняя стоимость активов";
TextBox3.Visible = true;
if (TextBox3.Text != "" && TextBox2.Text != "")
{
double act = Convert.ToDouble(TextBox3.Text);
double zat = Convert.ToDouble(TextBox2.Text);
Label11.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label11.Visible = true;
Label13.Visible = true;
}
}
}
}
else
{
if (CheckBoxList1.Items[1].Selected != true)
{
if (CheckBoxList1.Items[0].Selected != true)
{
Label14.Visible = true;
Label14.Text = "Текущие обязательства";
TextBox3.Visible = true;
if (TextBox1.Text != "" && TextBox3.Text != "")
{
double act = Convert.ToDouble(TextBox1.Text);
double zat = Convert.ToDouble(TextBox3.Text);
Label10.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label13.Visible = true;
}
}
else
{
Label15.Visible = true;
Label15.Text = "Текущие обязательства";
TextBox4.Visible = true;
if (TextBox2.Text != "" && TextBox4.Text != "")
{
double act = Convert.ToDouble(TextBox2.Text);
double zat = Convert.ToDouble(TextBox4.Text);
Label11.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label11.Visible = true;
Label13.Visible = true;
}
}
}
else
{
if (CheckBoxList1.Items[0].Selected != true)
{
if (TextBox1.Text != "" && TextBox2.Text != "")
{
double act = Convert.ToDouble(TextBox2.Text);
double zat = Convert.ToDouble(TextBox1.Text);
Label11.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label11.Visible = true;
Label13.Visible = true;
}
}
else
{
if (TextBox2.Text != "" && TextBox3.Text != "")
{
double act = Convert.ToDouble(TextBox3.Text);
double zat = Convert.ToDouble(TextBox2.Text);
Label12.Text="По Сайфулина-Кадыкова:"+ec.Say(my_data,act,zat);
Label12.Visible = true;
Label13.Visible = true;
}
}
}
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
namespace WebApplication1
{
public class Econometric_model
{
double[] Zh_y = new double[8] { 0.03037293, 0.004508092, 0.012287257, 0.014187398, 0.014491574, -0.076430333, -0.069947505, 0.004129624 };
double[] Tr_y = new double[8] { 0.388894539, 0.468095538, 0.439915323, 0.616140321, 0.418361232, 0.359315784, 0.38452303, 0.399975509 };
double [,] Zh_x = new double [8, 3] { { 1, 2989, 95422 }, { 1, 849, 187479 }, { 1, 2913, 241075 }, { 1, 4167, 300523 }, { 1, 3195, 327039 }, { 1, -25463, 356588 }, { 1, -25389, 386235 }, { 1, 1572, 413577 } };
double[,] Tr_x = new double [8, 5] { { 1, 3232, 801, -22617, 1689 }, { 1, 5091, 800, -49382, 5092 }, { 1, 9883, 1000, -39331, 3430 }, { 1, 13305, 6224, -24388, 2439 }, { 1, 11843, 4579, -42729, 1471 }, { 1, 12667, 99, -42514, 1086 }, { 1, 11706, 700, -46679, 2384 }, { 1, 14908, 700, -34238, 36 } };
double[] Zh_uhat_full = new double[8] { 0.007175, -0.007661, -0.003023, -0.001617, 0.002891, -0.003684, 0.004145, 0.001774 };
double[] Tr_uhat_full = new double[8] { -0.00411, 0.02496, -0.02875, 0.006275, - 0.006795, -0.005897, -0.00892, 0.02324 };
double[] Beta = new double[12] { 0.985599, 2.02E-08, -6.71E-07, 1.94E-08, 0.0195856, 2.89E-06, -5.26E-08, 0.380329, 1.11E-05, 1.42E-05, 5.27E-06, 5.01E-05 };
public double SUR_data(DataSet data, DataSet prog)
{
int count = data.Tables["XLData"].Rows.Count;
double[] y = new double[count];
double[] y_raschet = new double[count];
double [,] x = new double [count, 4];
double[] uhat = new double[count];
for (int i = 0; i < count; i++)
x[i, 0] = 1;
for (int i = 0; i < count; i++)
{
y[i] = (double)data.Tables["XLData"].Rows[i][11];
x[i, 1] = (double)data.Tables["XLData"].Rows[i][2];
x[i, 2] = (double)data.Tables["XLData"].Rows[i][5];
x[i, 3] = (double)data.Tables["XLData"].Rows[i][10];
y_raschet[i] = 0.985599 + x[i, 1] * 2.02E-08 - 6.71E-07 * x[i, 2] + 1.94E-08 * x[i, 3];
uhat[i] = y[i] - y_raschet[i];
}
double [] result=Matrix(y, x, count, uhat);
double x2 = (double)prog.Tables["XLData2"].Rows[0][2];
double x5 = (double)prog.Tables["XLData2"].Rows[0][5];
double x10 = (double)prog.Tables["XLData2"].Rows[0][10];
double res = result[0] + x2 * result[1] + result[2] * x5 + result[3] * x10;
return res;
}
public double Regres_data(DataSet data)
{
double x1 = (double)data.Tables["XLData2"].Rows[0][1];
double x3 = (double)data.Tables["XLData2"].Rows[0][3];
double x5 = (double)data.Tables["XLData2"].Rows[0][5];
double res = 0.987 - 2.57E-08 * x1 + 3.06E-08 * x3 - 6.51E-07 * x5;
return res;
}
public double[] Matrix(double[] y, double [,] x, int count, double[] uhat)
{
double[] Sur_y = new double[count * 3];
double [,] Sur_x = new double [count * 3, 12];
double[] Zh_uhat = uhat_correct(Zh_uhat_full, count);
double[] Tr_uhat = uhat_correct(Tr_uhat_full, count);
for (int i = 0; i < Sur_y.Length; i++)
{
if (i < count) Sur_y[i] = y[i];
else if (i < count * 2) Sur_y[i] = Zh_y[i-count];
else Sur_y[i] = Tr_y[i-count*2];
}
for (int i = 0; i < Sur_y.Length; i++)
for (int j = 0; j < 12; j++)
{
if (i < count)
{
if (j < 4) Sur_x[i, j] = x[i, j];
else Sur_x[i, j] = 0;
}
else if (i < count * 2)
{
if (j < 4) Sur_x[i, j] = 0;
else if (j < 7) Sur_x[i, j] = Zh_x[i-count, j-4];
else Sur_x[i, j] = 0;
}
else
{
if (j < 7) Sur_x[i, j] = 0;
else Sur_x[i, j] = Tr_x[i-count*2, j-7];
}
}
double[,] cov = new double[3, 3] { { Cov(uhat, uhat), Cov(uhat, Zh_uhat), Cov(uhat, Tr_uhat) }, { Cov(Zh_uhat, uhat), Cov(Zh_uhat, Zh_uhat), Cov(Zh_uhat, Tr_uhat) }, { Cov(Tr_uhat, uhat), Cov(Tr_uhat, Zh_uhat), Cov(Tr_uhat, Tr_uhat) } };
double[,] inverse_cov = inverse_matrix(cov);
double[,] one_matr = new double[count, count];
for (int i = 0; i < count; i++)
for (int j = 0; j < count; j++)
if (i == j) one_matr[i, j] = 1;
else one_matr[i, j] = 0;
double[,] kroneker = Kroneker(count, inverse_cov, one_matr);
double[,] Sur_x_trans = Transp(Sur_x, count);
double[,] first = Multipl(Sur_x_trans, kroneker);
double[,] second = Multipl(first, Sur_x);
double[,] third = inverse_matrix(second);
double[,] fourth = Multipl(third, Sur_x_trans);
double[,] fifth = Multipl(fourth, kroneker);
double[] resultmatrix = Multipl_1(fifth, Sur_y);
return resultmatrix;
}
public double Cov(double[] arr1, double[] arr2)
{
double x_y = 0;
double x = 0;
double y = 0;
for (int i = 0; i < arr1.Length; i++)
x_y += arr1[i] * arr2[i];
x_y = x_y / arr1.Length;
for (int i = 0; i < arr1.Length; i++)
x += arr1[i];
x = x / arr1.Length;
for (int i = 0; i < arr2.Length; i++)
y += arr2[i];
y = y / arr2.Length;
double cov = x_y - x * y;
return cov;
}
public double[] uhat_correct(double[] arr, int count)
{
double[] temp = new double[count];
for (int i = 0; i < count; i++)
temp[i] = arr[i];
return temp;
}
public double[,] Kroneker(int count, double[,] inverse_cov, double[,] one_matr)
{
double[,] kroneker = new double[count * 3, count * 3];
int str = 0;
int stl = 0;
int kroneker_icount = count;
int kroneker_jcount = count;
foreach (double el in inverse_cov)
{
int k = 0;
for (int i = str; i < kroneker_icount; i++)
{
int m = 0;
for (int j = stl; j < kroneker_jcount; j++)
{
kroneker[i, j] = el * one_matr[k, m];
m++;
}
k++;
}
if (k == count)
{
kroneker_jcount = kroneker_jcount + count;
stl = stl + count;
}
if (stl == count * 3)
{
kroneker_jcount = count;
str = kroneker_icount;
kroneker_icount = kroneker_icount + count;
stl = 0;
}
}
return kroneker;
}
public double[,] Transp(double[,]x, int count)
{
double[,] trans = new double[12,count * 3];
for (int i = 0; i < count*3; i++)
for (int j = 0; j < 12; j++)
trans[j, i] = x[i, j];
return trans;
}
public double[,] Multipl(double[,] a, double[,] b)
{
int a_rows=a.GetLength(0);
int b_rows=b.GetLength(0);
int b_col=b.GetLength(1);
double[,] multi = new double[a_rows, b_col];
for (int i = 0; i < a_rows; i++) // каждая строка A
{
for (int j = 0; j < b_col; j++) // каждый столбец B
for (int k = 0; k < b_rows; k++)
multi[i, j] += a[i, k] * b[k, j];
}
return multi;
}
public double[] Multipl_1(double[,] a, double[] b)
{
double[] result = new double[a.GetLength(0)];
for (int i = 0; i < a.GetLength(0); ++i) // каждая строка A
for (int k = 0; k < a.GetLength(1); ++k)
result[i] += a[i, k] * b[k];
return result;
}
public double[,] inverse_matrix(double[,] hhh)
{ //'единичная матрица
// h = 3; //активаровать для проверки. результат найдите тут: http://matrixcalc.org/
int h = hhh.GetLength(0);
double[,] ggg = new double[h, h];// единичная матрица
// Dim A_edin(k + 1, k + 1) As Double 'затем она перейдёт в обратную
for (int i = 0; i < h; )
{
for (int j = 0; j < h; )
{
if (i == j)
{ ggg[i, j] = 1; }
else
{ ggg[i, j] = 0; }
j++;
}
i++;
}
for (int i = 0; i < h; i++)
{
// normalizing row (making first element =1)
double tmp = hhh[i, i];
for (int j = h - 1; j >= 0; j--)
{
ggg[i, j] /= tmp;
hhh[i, j] /= tmp;
}
// excluding i-th element from each row except i-th one
for (int j = 0; j < h; j++)
if (j != i)
{
tmp = hhh[j, i];
for (int k = h - 1; k >= 0; k--)
{
ggg[j, k] -= ggg[i, k] * tmp;
hhh[j, k] -= hhh[i, k] * tmp;
}
}
}
// now e contains inverted matrix so we need only to copy e to matrix
for (int i = 0; i < h; i++)
for (int j = 0; j < h; j++)
hhh[i, j] = ggg[i, j];
return hhh;
}
public string Lis (DataSet data, double pr)
{
double obor_capital = (double)data.Tables["XLData2"].Rows[0][2] - (double)data.Tables["XLData2"].Rows[0][5];
double x1 = obor_capital / ((double)data.Tables["XLData2"].Rows[0][1] + (double)data.Tables["XLData2"].Rows[0][2]);
double x2 = (double)data.Tables["XLData2"].Rows[0][9] / ((double)data.Tables["XLData2"].Rows[0][1] + (double)data.Tables["XLData2"].Rows[0][2]);
double x3 = pr / ((double)data.Tables["XLData2"].Rows[0][1] + (double)data.Tables["XLData2"].Rows[0][2]);
double x4 = (double)data.Tables["XLData2"].Rows[0][3] / ((double)data.Tables["XLData2"].Rows[0][1] + (double)data.Tables["XLData2"].Rows[0][2]);
double lis = Math.Round(0.063 * x1 + 0.092 * x2 + 0.057 * x3 + 0.001 * x4, 4);
string inter = "";
if (lis > 0.037) inter = " - низкая вероятность";
else inter = "- высокая вероятность";
string result = "расчетный показатель = " + lis.ToString() + inter;
return result;
}
public string Sprin(DataSet data, double tek)
{
double obor_capital = (double)data.Tables["XLData2"].Rows[0][2] - (double)data.Tables["XLData2"].Rows[0][5];
double x1 = obor_capital / ((double)data.Tables["XLData2"].Rows[0][1] + (double)data.Tables["XLData2"].Rows[0][2]);
double x2 = (double)data.Tables["XLData2"].Rows[0][8] / ((double)data.Tables["XLData2"].Rows[0][1] + (double)data.Tables["XLData2"].Rows[0][2]);
double x3 = (double)data.Tables["XLData2"].Rows[0][9] / tek;
double x4 = (double)data.Tables["XLData2"].Rows[0][6] / ((double)data.Tables["XLData2"].Rows[0][1] + (double)data.Tables["XLData2"].Rows[0][2]);
double spr = Math.Round(1.03 * x1 + 3.07 * x2 + 0.66 * x3 + 0.4 * x4, 4);
string inter = "";
if (spr > 0.862) inter = " - низкая вероятность";
else inter = "- высокая вероятность";
string result = "расчетный показатель = " + spr.ToString() + inter;
return result;
}
public string Dav (DataSet data, double sr_act, double zat)
{
double obor_capital = (double)data.Tables["XLData2"].Rows[0][2] - (double)data.Tables["XLData2"].Rows[0][5];
double x1 = obor_capital / ((double)data.Tables["XLData2"].Rows[0][1] + (double)data.Tables["XLData2"].Rows[0][2]);
double x2 = (double)data.Tables["XLData2"].Rows[0][10] / (double)data.Tables["XLData2"].Rows[0][3];
double x3 = (double)data.Tables["XLData2"].Rows[0][6] / sr_act;
double x4 = (double)data.Tables["XLData2"].Rows[0][10] / zat;
double dav = Math.Round(8.38 * x1 + x2 + 0.054 * x3 + 0.063 * x4, 4);
string inter = "";
if (dav > 0.42) inter = " - вероятность банкротства меньше 10%";
else if (dav > 0.32) inter = "- вероятность банкротства от 10% до 35%";
else if (dav > 0.18) inter = "- вероятность банкротства от 35% до 50%";
else if (dav > 0) inter = "- вероятность банкротства от 60% до 80%";
else inter = "- вероятность банкротства от 90% до 100%";
string result = "расчетный показатель = " + dav.ToString() + inter;
return result;
}
public string Say(DataSet data, double sr_act, double tek)
{
double x1 = (double)data.Tables["XLData2"].Rows[0][3] / (double)data.Tables["XLData2"].Rows[0][2];
double x2 = (double)data.Tables["XLData2"].Rows[0][2] / tek;
double x3 = (double)data.Tables["XLData2"].Rows[0][6] / sr_act;
double x4 = (double)data.Tables["XLData2"].Rows[0][8] / (double)data.Tables["XLData2"].Rows[0][6];
double x5 = (double)data.Tables["XLData2"].Rows[0][10] / (double)data.Tables["XLData2"].Rows[0][3];
double say = Math.Round(2 * x1 + 0.1 * x2 + 0.08 * x3 + 0.045 * x4 + x5, 4);
string inter = "";
if (say >= 1) inter = " - низкая вероятность";
else inter = "- высокая вероятность";
string result = "расчетный показатель = " + say.ToString() + inter;
return result;
}
}
Таблица Г.1. Тесты по стратегии черного ящика
Входные данные |
Ожидаемый результат |
Полученный результат |
Тест |
|
Excel-файл с числовыми данными не по шаблону. Год {2009, 2010, 2011} 1 переменная {23,24,25} …. |
Ошибка загрузки |
Сообщение «Ошибка: неверных формат заголовков. Заполните данные в подготовленном шаблоне» |
+ |
|
Excel-файл с числовыми данными по шаблону. Год {2009, 2010, 2011} X1 {23,24,25} …. |
Загрузка данных, расчет результатов |
Значение прогноза коэффициента финансовой стабильности: по SUR-модели: 0,5112 или 51,12% по регрессионной модели: 0,4852 или 48,52% Таблица с данными |
+ |
|
Excel-файл не с числовыми данными не по шаблону. Год {2009, 2010, 2011} 1 переменная {23,24,25} …. |
Ошибка загрузки |
Сообщение «Ошибка: неверных формат данных» |
+ |
|
Excel-файл не с числовыми данными по шаблону. Год {2009, 2010, 2011} X1{23,24,25} …. |
Ошибка загрузки |
Сообщение «Ошибка: неверных формат данных» |
+ |
|
Не выбрана ни одна модель: галочка не проставлена |
Ошибка |
Сообщение: «Необходимо выбрать хотя бы одно значение» |
+ |
|
Выбор моделей: модель Лиса |
Доступ к вводу верных доп. полей |
Доп. поле «Нераспределенная прибыль» |
+ |
|
Выбор моделей: модель Спрингейта |
Доступ к вводу верных доп. полей |
Доп. поле «Текущие обязательства» |
+ |
|
Выбор моделей: модель Давыдовой-Беликова |
Доступ к вводу верных доп. полей |
Доп. поля «Средняя стоимость активов» и «Затраты компании» |
+ |
|
Выбор моделей: модель Сайфулина-Кадыкова |
Доступ к вводу верных доп. полей |
Доп. поля «Средняя стоимость активов» и «Текущие обязательства» |
+ |
|
Выбор моделей: модель Лиса и модель Спрингейта |
Доступ к вводу верных доп. полей |
Доп. поля «Нераспределенная прибыль» и «Текущие обязательства» |
+ |
|
Выбор моделей: модель Лиса, модель Спрингейта и модель Давыдовой-Беликова |
Доступ к вводу верных доп. полей |
Доп. поля «Нераспределенная прибыль», «Текущие обязательства», «Средняя стоимость активов» и «Затраты компании» |
+ |
|
Выбор моделей: все модели |
Доступ к вводу верных доп. полей |
Доп. поля «Нераспределенная прибыль», «Текущие обязательства», «Средняя стоимость активов» и «Затраты компании» |
+ |
|
Выбор моделей: модель Спрингейта и модель Давыдовой_Беликова |
Доступ к вводу верных доп. полей |
Доп. поля «Текущие обязательства», «Средняя стоимость активов» и «Затраты компании» |
+ |
Таблица Г.1. Тесты по стратегии черного ящика (продолжение)
Входные данные |
Ожидаемый результат |
Полученный результат |
Тест |
|
Выбор моделей: модель Спрингейта, модель Давыдовой_Беликова и модель Сайфулина-Кадыкова |
Доступ к вводу верных доп. полей |
Доп. поля «Текущие обязательства», «Средняя стоимость активов» и «Затраты компании» |
+ |
|
Выбор моделей: модель Давыдовой_Беликова и модель Сайфулина-Кадыкова |
Доступ к вводу верных доп. полей |
Доп. поля «Текущие обязательства», «Средняя стоимость активов» и «Затраты компании» |
+ |
|
Ввод не числовых дополнительных данных: раыарворлвы |
Ошибка ввода |
Блокировка ввода |
+ |
|
Ввод слишком больших числовых значений: 4342354354355345435435435435455 |
Ошибка ввода |
Блокировка ввода по истечению лимита символов |
+ |
|
Ввод десятичных значений через запятую: Нераспределенная прибыль: 10,2 |
Загрузка данных |
Вероятность банкроства компании: По Лису: 0,037 - низкая вероятность |
+ |
|
Ввод десятичных значений через точку: Нераспределенная прибыль: 10.2 |
Ошибка |
Сообщение: «Введите верные значения. Десятичные числа указываются через запятую» |
+ |
|
Ввод пустого поля: Нераспределенная прибыль: _____ |
Ошибка |
Сообщение: «Введите верные значения. Десятичные числа указываются через запятую» |
+ |
|
Одно значение буквы, другое число: Нераспределенная прибыль: 10.2 Текущие обязательства: авроврмов |
Ошибка |
Сообщение: «Введите верные значения. Десятичные числа указываются через запятую» |
+ |
|
Одно значение пустое, другое число: Нераспределенная прибыль: 10.2 Текущие обязательства: ______ |
Ошибка |
Сообщение: «Введите верные значения. Десятичные числа указываются через запятую» |
+ |
|
Оба значение числа: Нераспределенная прибыль: 10.2 Текущие обязательства: 11 |
Расчет вероятности банкротства |
Вероятность банкротства компании: По Лису: расчетный показатель = 0,0371 - низкая вероятность По Спрингейту: расчетный показатель = 15846,0485 - низкая вероятность |
+ |
Размещено на Allbest.ru
...Подобные документы
Описание проектного решения стратегической системы, этапы объектно-ориентированного анализа и проектирования. Описание связей между объектами. Программная реализация, построение модели состояний объекта. Руководство пользователя и описание программы.
курсовая работа [388,8 K], добавлен 17.11.2011Понятие сетей и связи их компонентов. Характеристики и структура сетей. Основные модели, описывающие поведение сетей. Проектирование и реализация взвешенных сетей: требования к интерфейсу, выбор среды разработки, структура приложения. Анализ результатов.
курсовая работа [1,1 M], добавлен 29.06.2012Сущность обратного проектирования, принцип работы лазерных сканеров. Этапы обратного проектирования модели существующего объекта. Построение модели по фотографиям, обработка полигональной сетки и построение параметрических поверхностей в Geomagic Wrap.
курсовая работа [4,8 M], добавлен 19.11.2017Приведена оптимизация расходов и трудозатрат персонала. Реализация модели ARIMA (модели Бокса-Дженкинса), являющейся интегрированной композицией метода авторегрессии и модели скользящего среднего. Применение средств программного продукта Matlab 2013a.
дипломная работа [876,7 K], добавлен 19.09.2019Разработка информационно-торгового сайта для ООО "Аккаунт". Характеристика компании, основные принципы работы с клиентами. Построение концептуальной модели базы данных: структура, этапы проектирования. Создание интернет-сайта, программы для тестирования.
дипломная работа [1,2 M], добавлен 29.05.2012Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.
курсовая работа [1,7 M], добавлен 18.01.2012История и суть задачи "Ханойские башни", построение ее математической модели в виде рекуррентного соотношения. Решение задачи с помощью рекурсии и кода Грея, ее связь с теорией графов. Анализ временных затрат. Различные головоломки с измененным условием.
курсовая работа [1021,6 K], добавлен 06.08.2013Теоретические основы проектирования и разработки баз данных. Этапы физической реализации. Даталогическое и инфологическое проектирование. Определение сущностей, атрибутов, взаимосвязей между сущностями, ключей. Построение ER-модели. Управляющая программа.
курсовая работа [1,5 M], добавлен 02.06.2015Методика и основные этапы проектирования логической и физической модели базы данных. Реализация спроектированной модели в системе управления базами данных, принципы создания и апробация специального клиентского приложения для работы данной программы.
курсовая работа [1,3 M], добавлен 27.06.2013Разработка технического задания на проектирование, определение требований к программе. Предварительный выбор метода решения синтаксического анализатора, проектирование программного приложения, конфигурация технических средств программы и её тестирование.
курсовая работа [28,5 K], добавлен 28.06.2011Построение концептуальной модели, процесс моделирования смыслового наполнения базы данных. Основные компоненты концептуальной модели. Построение реляционной модели. Целостность данных в реляционной базе. Нормализация. Проектирование базы данных в ACCESS.
курсовая работа [1,8 M], добавлен 29.10.2008Общая характеристика ателье "Вита", схема модели рабочего процесса. Исследование заданной системы с помощью моделирования динамических рядов, модели типа "система массового облуживания". Построение имитационной модели деятельности данного ателье.
курсовая работа [1,4 M], добавлен 01.06.2016Основные области проектирования информационных систем: базы данных, программы (выполнение к запросам данных), топология сети, конфигурации аппаратных средств. Модели жизненного цикла программного обеспечения. Этапы проектирования информационной системы.
реферат [36,1 K], добавлен 29.04.2010Структура математической модели линейной задачи, алгоритм симплекс-метода. Разработка программы: выбор языка программирования, входные и выходные данные, пользовательский интерфейс. Описание программы по листингу, тестирование, инструкция по применению.
курсовая работа [1,2 M], добавлен 31.05.2013Создание модели с использованием шаблона, предложенного программой по умолчанию. Создание твердотельной модели. Построение траектории обработки и получение управляющей программы. Построение траектории обработки профиля. Отображение удаленного материала.
курсовая работа [1,3 M], добавлен 25.07.2012Суть программирования с использованием библиотеки OpenGL, его назначение, архитектура, преимущества и базовые возможности. Разработка приложения для построения динамического изображения трехмерной модели объекта "Компьютер", руководство пользователя.
курсовая работа [866,8 K], добавлен 22.06.2011Процессы, протекающие в отделе кадров любой организации. Проектирование ER-модели тестирования кандидатов. Разработка веб-приложения, позволяющего вносить данные о заявках на пропуска, формировать отказы и автоматически подготавливать общий отчет.
дипломная работа [1,8 M], добавлен 05.04.2017Проектирование базы данных, предназначенной для хранения информации о деканате (сотрудниках, кафедрах, факультетах, специальностях). Анализ запросов на кафедру, выделение основных необходимых записей. Построение инфологической модели приложения.
контрольная работа [85,8 K], добавлен 12.03.2013Проведение исследования опыта взаимодействия в сети. Методы улучшения согласования с пользователем web-сервиса. Особенность проектирования онлайн-приложения. Изучение разработки контроллеров и моделей. Характеристика создания интерфейса программы.
дипломная работа [1,3 M], добавлен 11.08.2017Пример матрицы смежности для соответствующей сети. Функция распределения степеней узлов. Вариант матрицы смежности для взвешенной сети. Распределение степеней для случайных графов. Требования к интерфейсу. Алгоритм модели Баррат-Бартелэмью-Веспиньяни.
контрольная работа [1,4 M], добавлен 13.06.2012