Осуществление разработки ИС
Виды и особенности ИТ-проектов, риски и управление ими, способы оценки. Описание и правила операций над нечеткими лингвистическими переменными. Программная реализация алгоритмов. Требования к составу, параметрам технических средств. Тестирование системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.06.2013 |
Размер файла | 3,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
// заполнение StringGrid значениями из Excel-таблицы
Variant vCells = MyExcel. OlePropertyGet («Cells»);
int** Mas2 = new int*[iRowsCount-1];
for (int i=0; i<=iRowsCount-1; i++)
Mas2 [i]=new int [iColsCount-1];
AnsiString *name_ind= new AnsiString [iRowsCount-1];
ss=vCells. OlePropertyGet («Item», iFirstRow, iFirstCol);
if (CompareText (ss, «»)!= 0)
{
for (int i = iFirstRow+1; i < iFirstRow+iRowsCount; i++)
{
for (int j = iFirstCol+1; j < iFirstCol+iColsCount; j++)
{
AnsiString iValue = vCells. OlePropertyGet («Item», i, j);
Mas2 [i-2] [j-2]=StrToInt(iValue);
}
name_ind [i-2]=vCells. OlePropertyGet («Item», i, 1);
}
MyExcel. OleProcedure («Quit»); // закрытие Excel
float *m= new float [iRowsCount-1];
float *sko= new float [iRowsCount-1];
float *var= new float [iRowsCount-1];
for (int i = 0; i <iRowsCount-1; i++)
{m[i]=0;
sko[i]=0;
var[i]=0;
float Quality=0;
// расчет математического ожидания
for (int j = 0; j < iColsCount-1; j++)
{
// цикл по оценкам (от 5 до 1)
m[i]=m[i]+Mas2 [i] [j]*(4-j+1);
Quality=Quality+Mas2 [i] [j];
}
m[i]=m[i]/Quality;
// расчет СКО
// цикл по оценкам
for (int j = 0; j < iColsCount-1; j++)
for (int k = 0; k <Mas2 [i] [j]; k++)
sko[i]=sko[i]+(((4-j+1) - m[i])*((4-j+1) - m[i]));
sko[i]=sqrt (sko[i]/Quality);
// расчет коэффициента вариации
var[i]=sko[i]/m[i];
}
// отбор индикаторов
int l=0; // счетчик отобранных индикаторов
for (int i = 0; i <iRowsCount-1; i++)
{
// цикл по количеству индикаторов
if ((m[i]>=3.4)&&(var[i]<0.3))
{ost = new mm;
ost->name=name_ind[i];
ost->ii=i;
List->Add(ost);
fm_risk->SpisOI->Lines->Add(((mm*) List->Items[l])->name+» «+IntToStr(((mm*) List->Items[l])->ii));
l=l+1;
}
}}
}
if (ss. Length()<10)
{
MessageBox (0, «Файл excel пуст», «Ошибка», MB_OK);
}
}
void __fastcall Tfm_risk: OtbIndClick (TObject *Sender)
{
OtborID();
}
// -
void __fastcall Tfm_risk: ZokClick (TObject *Sender)
{
ZagrIND();
}
// -
void __fastcall Tfm_risk: ZeoClick (TObject *Sender)
{ZagrEO();
}
// -
void __fastcall Tfm_risk:OPClick (TObject *Sender)
{
TList *Listt= new TList;
struct mmm {
AnsiString name;
int ii;
}*pr;
// Вычисления
Rez->Lines->Clear();
obsh_ind=new float*[z];
for (int i=0; i<z; i++)
obsh_ind[i] = new float[2];
for (int j = 0; j < z; j++) // цикл по количеству экспертов
for (int i = 0; i < x; i++) // цикл по количеству критериев
{for (int q = 0; q < w; q++)
{
obsh_ind[j] [q]=obsh_ind[j] [q]+MassKrit[i] [j] [q];
}
}
for (int j = 0; j < z; j++)
for (int q = 0; q < w; q++)
{
obsh_ind[j] [q]=obsh_ind[j] [q]/x;
}
obsh_pr= new float**[z];
for (int i=0; i<z; i++)
obsh_pr[i]=new float*[y];
for (int i=0; i<z; i++)
{for (int j=0; j<y; j++)
obsh_pr[i] [j]=new float[w];
}
for (int k = 0; k < z; k++)
for (int j = 0; j < y; j++)
for (int q = 0; q < w; q++)
obsh_pr[k] [j] [q]=0;
for (int k = 0; k < z; k++)
for (int i = 0; i < x; i++)
for (int j = 0; j < y; j++)
for (int q = 0; q < w; q++)
{
obsh_pr[k] [j] [q]=obsh_pr[k] [j] [q]+ MassVs2 [i] [j] [k] [q];
}
for (int k = 0; k < z; k++)
for (int j = 0; j < y; j++)
for (int q = 0; q < w; q++)
{
obsh_pr[k] [j] [q]=obsh_pr[k] [j] [q]/x;
}
// *************************
MassVs1= new float*[y];
for (int i=0; i<y; i++)
MassVs1 [i]=new float[z];
Projects= new float[z];
for (int i = 0; i < z; i++)
{
for (int j = 0; j < y; j++)
{
MassVs1 [j] [i]=(obsh_pr[i] [j] [1]+alpha*obsh_pr[i] [j] [0])/(alpha+1);
}
Projects[i]=(obsh_ind[i] [1]+alpha*obsh_ind[i] [0])/(alpha+1);
}
for (int i = 0; i < z; i++)
for (int j = 0; j < y; j++)
for (int j = 0; j < z; j++)
ProjectsYporiad= new float[y];
for (int i = 0; i < y; i++)
{ProjectsYporiad[i]=0;
for (int j = 0; j < z; j++)
{
ProjectsYporiad[i]=ProjectsYporiad[i]+Projects[j]* MassVs1 [i] [j];
}
pr = new mmm;
pr->name=name_proj[i];
pr->ii=i;
Listt->Add(pr);
}
int k, m;
float b;
int *id=new int[y];
for (int i = 0; i < y; i++)
{id[i]=i;
}
int hh;
for (int i = 0; i < y-1; i++)
{
k=y-i-1; //k - номер последнего элемента в проверяемой части массива}
m=k; //m - номер элемента с наибольшим значением}
for (int j = 0; j < y-i; j++)
{
if (ProjectsYporiad[j] < ProjectsYporiad[m])
{m = j; // запоминаем значение «m»
}
hh=id[k];
id[k]=id[m];
id[m]=hh;
b= ProjectsYporiad[k];
ProjectsYporiad[k]= ProjectsYporiad[m];
ProjectsYporiad[m]= b; // переставляем элементы
}
}
for (int i = 0; i < y; i++)
Rez->Lines->Add(((mmm*) Listt->Items [id[i]])->name +» «+ FloatToStr (ProjectsYporiad[i]));
}
// -
void __fastcall Tfm_risk: SettingsClick (TObject *Sender) // обработчик кнопки меню настройки
{
fm_rsk=this;
fm_options->Show();
}
// -
void __fastcall Tfm_risk: ExitClick (TObject *Sender) // обработчик кнопки меню выход
{
Close();
}
// -
void __fastcall Tfm_risk: OtborClick (TObject *Sender) // обработчик нажатия кнопки отбора критериев
{
OtborID();
}
// -
void __fastcall Tfm_risk: Click (TObject *Sender) // обработчик нажатия кнопки оценки значимости критериев
{
ZagrIND();
}
// -
void __fastcall Tfm_risk: ZagrEcspClick (TObject *Sender) // обработчик нажатия кнопки загрузка экспертных оценок
{
ZagrEO();
}
// -
void __fastcall Tfm_risk:N5Click (TObject *Sender) // обработчик нажатия кнопки выпадающего меню отбор критериев
{
OtborID();
}
// -
void __fastcall Tfm_risk:N6Click (TObject *Sender) // обработчик нажатия кнопки выпадающего меню оценки значимости критериев
{
ZagrIND();
}
// -
void __fastcall Tfm_risk:N7Click (TObject *Sender) // обработчик нажатия кнопки выпадающего меню загрузка экспертных оценок
{
ZagrEO();
}
// -
void __fastcall Tfm_risk: OtborClick (TObject *Sender)
{
TList *Listt= new TList;
struct mmm {
AnsiString name;
int ii;
}*pr;
// Вычисления пошли
Rez->Lines->Clear();
obsh_ind=new float*[z];
for (int i=0; i<z; i++)
obsh_ind[i] = new float[2];
for (int j = 0; j < z; j++)
for (int i = 0; i < x; i++)
{for (int q = 0; q < w; q++)
{
obsh_ind[j] [q]=obsh_ind[j] [q]+MassKrit[i] [j] [q];
}
}
for (int j = 0; j < z; j++)
for (int q = 0; q < w; q++)
{
obsh_ind[j] [q]=obsh_ind[j] [q]/x;
}
obsh_pr= new float**[z];
for (int i=0; i<z; i++)
obsh_pr[i]=new float*[y];
for (int i=0; i<z; i++)
{for (int j=0; j<y; j++)
obsh_pr[i] [j]=new float[w];
}
for (int k = 0; k < z; k++)
for (int j = 0; j < y; j++)
for (int q = 0; q < w; q++)
obsh_pr[k] [j] [q]=0;
for (int k = 0; k < z; k++)
for (int i = 0; i < x; i++)
for (int j = 0; j < y; j++)
for (int q = 0; q < w; q++)
{
obsh_pr[k] [j] [q]=obsh_pr[k] [j] [q]+ MassVs2 [i] [j] [k] [q];
}
for (int k = 0; k < z; k++)
for (int j = 0; j < y; j++)
for (int q = 0; q < w; q++)
{
obsh_pr[k] [j] [q]=obsh_pr[k] [j] [q]/x;
}
// *************************
MassVs1= new float*[y];
for (int i=0; i<y; i++)
MassVs1 [i]=new float[z];
Projects= new float[z];
for (int i = 0; i < z; i++)
{
for (int j = 0; j < y; j++)
{ // 1.5 1
MassVs1 [j] [i]=(obsh_pr[i] [j] [1]+alpha*obsh_pr[i] [j] [0])/(alpha+1);
}
Projects[i]=(obsh_ind[i] [1]+alpha*obsh_ind[i] [0])/(alpha+1);
}
for (int i = 0; i < z; i++)
for (int j = 0; j < y; j++)
for (int j = 0; j < z; j++)
ProjectsYporiad= new float[y];
for (int i = 0; i < y; i++)
{ProjectsYporiad[i]=0;
for (int j = 0; j < z; j++)
{
ProjectsYporiad[i]=ProjectsYporiad[i]+Projects[j]* MassVs1 [i] [j];
}
pr = new mmm;
pr->name=name_proj[i];
pr->ii=i;
Listt->Add(pr);
}
int k, m;
float b;
int *id=new int[y];
for (int i = 0; i < y; i++)
{id[i]=i;
}
int hh;
for (int i = 0; i < y-1; i++)
{
k=y-i-1; // {k - номер последнего элемента в проверяемой части массива}
m=k; // {m - номер элемента с наибольшим значением}
for (int j = 0; j < y-i; j++)
{
if (ProjectsYporiad[j] < ProjectsYporiad[m])
{m = j; // {запоминаем значение «m»}
}
hh=id[k];
id[k]=id[m];
id[m]=hh;
b= ProjectsYporiad[k];
ProjectsYporiad[k]= ProjectsYporiad[m];
ProjectsYporiad[m]= b; // {переставляем элементы}
}
}
for (int i = 0; i < y; i++)
Rez->Lines->Add(((mmm*) Listt->Items [id[i]])->name +» «+ FloatToStr (ProjectsYporiad[i]));
}
// -
Размещено на Allbest.ru
Подобные документы
Анализ использования разработки, обзор средств программирования и описание языков. Требования к составу и параметрам технических средств. Построение алгоритма и требования к его функциональности. Описание рабочего места на вычислительном центре.
дипломная работа [2,6 M], добавлен 19.06.2017Основные требования к составу и параметрам технических средства. Верификация программного продукта. Расширение функционала программы и его реализация. Отладка и тестирование программного продукта. Тестирование программы в граничных и реальных условиях.
курсовая работа [1,3 M], добавлен 29.12.2014Функциональное и эксплуатационное назначение данного изделия. Требования к составу и параметрам технических средств. Описание алгоритма ГОСТ 28147-89 в режиме гаммирования. Технико-экономические показатели разработки. Интерфейс программного продукта.
курсовая работа [1,7 M], добавлен 27.02.2015Основные особенности эволюционных алгоритмов. Описание алгоритмов селекции, мутации, скрещивания, применяемых для реализации генетических алгоритмов. Вычисление функции приспособленности. Программная реализация. Тестирование и руководство пользователя.
курсовая работа [1,3 M], добавлен 11.03.2014Целые числа в позиционных системах счисления. Недостатки двоичной системы. Разработка алгоритмов, структур данных. Программная реализация алгоритмов перевода в различные системы счисления на языке программирования С. Тестирование программного обеспечения.
курсовая работа [593,3 K], добавлен 03.01.2015Документ, на основании которого ведется разработка. Требования к составу и параметрам технических средств, к информационной и программной совместимости. Проработка программных средств. Переопределение стандартных операций для абстрактных типов данных.
курсовая работа [371,5 K], добавлен 21.02.2012Анализ создания информационной системы. Анализ существующих систем управления базами данных ремонтно-строительной фирмы. Требования к составу и параметрам технических средств. Структура программной системы. Описание входной и выходной информации.
курсовая работа [409,9 K], добавлен 29.04.2015Функциональное и эксплуатационное назначение изделия, методологические ограничения. Требования к составу и параметрам технических средств. Описание алгоритма, входные и выходные данные. Стадии и этапы разработки, технико-экономическое обоснование.
курсовая работа [564,4 K], добавлен 18.01.2014Функциональное и эксплуатационное назначение генератора. Требования к составу и параметрам технических средств. Информационная и программная совместимость. Результирующие компоненты изделия. Безопасность и секретность. Удобства эксплуатации, мобильность.
курсовая работа [2,1 M], добавлен 07.03.2013Разработка информационной системы для увеличение прибыли за счет своевременности заказов на поставку товаров в склад магазина и снижения трудоемкости учетных операций. Физическая модель базы данных. Требования к составу и параметрам технических средств.
курсовая работа [1,0 M], добавлен 04.02.2013