Разработка программного обеспечения для интерполирования функций с помощью полиномов Лагранжа
Интерполяция функция с помощью полиномов Лагранжа. Требование к программному продукту, его функциональным характеристикам, составу и параметрам технических средств, информационной и программной совместимости. Разработка руководства пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.10.2017 |
Размер файла | 563,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
30
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ
СООБЩЕНИЯ
КАФЕДРА "МЕХАТРОНИКА В АВТОМАТИЗИРОВАННЫХПРОИЗВОДСТВАХ"
КУРСОВОЙ ПРОЕКТ
По дисциплине "Теория и технология программирования"
На тему "Разработка программного обеспечения для интерполирования функций с помощью полиномов Лагранжа"
Выполнил: студент гр. САУ-21
Калашников И.В.
Проверил доцент ф. м наук: Луканов А.С.
Самара 2015
Содержание
- Введение
- 1. Анализ предметной области
- 1.1 Интерполяция функция с помощью полиномов Лагранжа
- 2. Техническое задание
- 2.1 Краткая характеристика области применения
- 2.2 Аналоги
- 2.3 Основание для разработки
- 3. Требование к программному продукту
- 3.1 Требования к функциональным характеристикам
- 3.2 Требования к составу и параметрам технических средств
- 3.3 Требования к информационной и программной совместимости
- 3.4 Требования к программной документации
- 4.2 Руководство пользователя
- Заключение
- Учебно-методическое обеспечение дисциплины
Введение
Данная курсовая работа выполнена на языке программирования высокого уровня С++ с использованием компилятора Microsoft Visual Studio 2013. Этот язык был разработан в начале 80-х годов в Bell Laboratories. С++ - расширение С, т.е. он обеспечивает кардинальное преимущество языка С++, как над своим предшественником языком С так и над другими языками высокого уровня: поддержка объектно-ориентированного программирования, перегруженных операций и возможность разработки полномасштабных windows - приложений. Можно сказать, что язык С++ является одним из совершенных и сложных языков программирования на сегодняшний день.
С помощью языка С++ можно решать всевозможные задачи ставящиеся перед современным программистом: написание системных программ, разработка полноценных windows-приложений, объектное моделирование. Благодаря тому, что язык С++ первоначально разрабатывался как язык системного программирования, то он предоставляет программисту широкие возможности для работы с аппаратурой. Но так как язык С++ подвергся полномасштабной обработки, то он обеспечивает пользователя широким набором средств для решения задач объектно-ориентированного программирования, благодаря этому язык С++ позволяет осуществить интеграцию принципов объектно-ориентированного программирования на аппаратный уровень.
В данной курсовой работе была реализовано создание класса и его дальнейшее использование в программном продукте для интерполирования функции с помощью полинома Лагранжа
1. Анализ предметной области
1.1 Интерполяция функция с помощью полиномов Лагранжа
Интерполяция, интерполирование - в вычислительной математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений.
Многим из тех, кто сталкивается с научными и инженерными расчётами, часто приходится оперировать наборами значений, полученных опытным путём или методом случайной выборки. Как правило, на основании этих наборов требуется построить функцию, на которую могли бы с высокой точностью попадать другие получаемые значения. Такая задача называется аппроксимацией. Интерполяцией называют такую разновидность аппроксимации, при которой кривая построенной функции проходит точно через имеющиеся точки данных.
Рассмотрим систему несовпадающих точек () из некоторой области . Пусть значения функции известны только в этих точках:
Задача интерполяции состоит в поиске такой функции из заданного класса функций, что
· Точки называют узлами интерполяции, а их совокупность - интерполяционной сеткой.
· Пары называют точками данных или базовыми точками.
· Разность между "соседними" значениями - шагом интерполяционной сетки. Он может быть как переменным, так и постоянным.
· Функцию - интерполирующей функцией или интерполянтом.
Интерполяционный многочлен Лагранжа - многочлен минимальной степени, принимающий данные значения в данном наборе точек. Для n+1 пар чисел (x0, y0), (x1, y1),…, (xn, yn), где все xj различны, существует единственный многочлен L (x) степени не более n, для которого L (xj) = yj.
В простейшем случае (n=1) - это линейный многочлен, график которого - прямая, проходящая через две заданные точки.
Лагранж предложил способ вычисления таких многочленов:
где базисные полиномы определяются по формуле:
li (x) обладают следующими свойствами:
· являются многочленами степени n
· li (xi) = 1
· li (xj) = 0 при j ? i
Отсюда следует, что L (x), как линейная комбинация li (x), может иметь степень не больше n, и L (xi) = yi.
Пример
Найдем формулу интерполяции для f (x) = tan (x) имеющей следующие значения:
Получим
2. Техническое задание
Программа для интерполирования функций с помощью полиномов Лагранжа.
2.1 Краткая характеристика области применения
Данное ПО должно применятся в вычислительной математике и связанные с ней научные области. Благодаря интуитивно простому интерфейсу, данное ПО подойдет для широкого круга людей.
2.2 Аналоги
Технология нахождения полиномов Лагранжа реализована в пакетах Mathcad и MatLab. Однако для их нахождения нужно построить необходимые алгоритмы. Во вторых, недостатком является и необходимость наличия пакетов Mathcad или же Matlab.
2.3 Основание для разработки
Документ, на основании которого ведется разработка
Индивидуальное задание по дисциплине "Технология программирования".
Организация, утвердившая документ
Самарский Государственный Университет Путей Сообщений.
Назначение разработки
Программное обеспечение для интерполирования функций с помощью полиномов Лагранжа позволит упростить данную задачу. Потому что, все алгоритмы уже реализованы в самой программе, и не требуют от пользователя наличия громоздких пакетов типа MatLab или MathCad
3. Требование к программному продукту
3.1 Требования к функциональным характеристикам
Разрабатываемое ПО должно реализовывать нахождение полиномов по формуле Лагранжа.
· Интуитивно понятный графический интерфейс
· Легкость в эксплуатации
· Надежность
· Гибкость. Наличие возможности для доработки и усовершенствования
· Программа должна быть реализована на основе ООП
· Программная система должна использовать визуальные требования для ввода исходных данных и вывода результатов
3.2 Требования к составу и параметрам технических средств
Для функционирования программы необходим персональный компьютер соответствующий минимальным требованиям к составу данного программного продукта:
· процессор IntelPentium или совместимый,
· объем свободной оперативной памяти 3000 Кб,
· объем необходимой памяти на жестком диске 1000 Кб,
· стандартный VGA монитор,
· стандартная клавиатура,
· манипулятор "мышь"
3.3 Требования к информационной и программной совместимости
Программа должна работать под операционной системой Microsoft Windows XP и выше.
3.4 Требования к программной документации
В пакет программной системы должен входить "Руководство пользователя", документ, благодаря которому пользователь, впервые использующий программный продукт, будет без труда ориентироваться.
Стадии и этапы разработки
Стадии |
Результат |
Время выполнения |
|
Системный анализ |
Математическая постановка задачи |
1 день |
|
Проектирование и программная реализация |
Исходный код и графический интерфейс |
4 дня |
|
Документирование |
Руководство пользователя |
2 дня |
Алгоритм решения задачи
1. Вводим количество узлов интерполяции (N).
2. Вводим элементы массива X и Y.
3. Вычислениям шаг (h), где h=x [1] - x [0].
Листинг программы
#include "Interpolation. h"
#pragma once
namespace InterpolationLagrange {
using namespace System;
using namespace System:: ComponentModel;
using namespace System:: Collections;
using namespace System:: Windows:: Forms;
using namespace System:: Data;
using namespace System:: Drawing;
// / <summary>
// / Сводка для Form1
// / </summary>
public ref class Form1: public System:: Windows:: Forms:: Form
{
public:
Form1 (void)
{
InitializeComponent ();
//
// TODO: добавьте код конструктора
//
}
protected:
// / <summary>
// / Освободить все используемые ресурсы.
// / </summary>
~Form1 ()
{
if (components)
{
delete components;
}
}
private: System:: Windows:: Forms:: GroupBox^ groupBox1;
protected:
private: System:: Windows:: Forms:: Button^ button2;
private: System:: Windows:: Forms:: Button^ button1;
private: System:: Windows:: Forms:: TextBox^ textBox2;
private: System:: Windows:: Forms:: TextBox^ textBox1;
private: System:: Windows:: Forms:: Label^ label2;
private: System:: Windows:: Forms:: Label^ label1;
private: System:: Windows:: Forms:: GroupBox^ groupBox2;
private: System:: Windows:: Forms:: TextBox^ textBox3;
private: System:: Windows:: Forms:: Label^ label3;
private: System:: Windows:: Forms:: DataGridView^ dataGridView1;
private: System:: Windows:: Forms:: DataGridViewTextBoxColumn^ X;
private: System:: Windows:: Forms:: DataGridViewTextBoxColumn^ Y;
private:
// / <summary>
// / Требуется переменная конструктора.
// / </summary>
System:: ComponentModel:: Container ^components;
#pragma region Windows Form Designer generated code
// / <summary>
// / Обязательный метод для поддержки конструктора - не изменяйте
// / содержимое данного метода при помощи редактора кода.
// / </summary>
void InitializeComponent (void)
{
this->groupBox1 = (gcnew System:: Windows:: Forms:: GroupBox ());
this->button2 = (gcnew System:: Windows:: Forms:: Button ());
this->button1 = (gcnew System:: Windows:: Forms:: Button ());
this->textBox2 = (gcnew System:: Windows:: Forms:: TextBox ());
this->textBox1 = (gcnew System:: Windows:: Forms:: TextBox ());
this->label2 = (gcnew System:: Windows:: Forms:: Label ());
this->label1 = (gcnew System:: Windows:: Forms:: Label ());
this->groupBox2 = (gcnew System:: Windows:: Forms:: GroupBox ());
this->textBox3 = (gcnew System:: Windows:: Forms:: TextBox ());
this->label3 = (gcnew System:: Windows:: Forms:: Label ());
this->dataGridView1 = (gcnew System:: Windows:: Forms:: DataGridView ());
this->X = (gcnew System:: Windows:: Forms:: DataGridViewTextBoxColumn ());
this->Y = (gcnew System:: Windows:: Forms:: DataGridViewTextBoxColumn ());
this->groupBox1->SuspendLayout ();
this->groupBox2->SuspendLayout ();
(cli:: safe_cast<System:: ComponentModel:: ISupportInitialize^ > (this->dataGridView1)) - >BeginInit ();
this->SuspendLayout ();
//
// groupBox1
//
this->groupBox1->Controls->Add (this->button2);
this->groupBox1->Controls->Add (this->button1);
this->groupBox1->Controls->Add (this->textBox2);
this->groupBox1->Controls->Add (this->textBox1);
this->groupBox1->Controls->Add (this->label2);
this->groupBox1->Controls->Add (this->label1);
this->groupBox1->Location = System:: Drawing:: Point (15, 15);
this->groupBox1->Name = L"groupBox1";
this->groupBox1->Size = System:: Drawing:: Size (250, 220);
this->groupBox1->TabIndex = 0;
this->groupBox1->TabStop = false;
this->groupBox1->Text = L" Ввод данных ";
//
// button2
//
this->button2->Location = System:: Drawing:: Point (13, 180);
this->button2->Name = L"button2";
this->button2->Size = System:: Drawing:: Size (220, 23);
this->button2->TabIndex = 5;
this->button2->Text = L"Найти решение";
this->button2->UseVisualStyleBackColor = true;
this->button2->Click += gcnew System:: EventHandler (this, &Form1:: button2_Click);
//
// button1
//
this->button1->Location = System:: Drawing:: Point (205, 25);
this->button1->Name = L"button1";
this->button1->Size = System:: Drawing:: Size (39, 23);
this->button1->TabIndex = 4;
this->button1->Text = L"Ok";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System:: EventHandler (this, &Form1:: button1_Click);
//
// textBox2
//
this->textBox2->Location = System:: Drawing:: Point (78, 147);
this->textBox2->Name = L"textBox2";
this->textBox2->Size = System:: Drawing:: Size (121, 20);
this->textBox2->TabIndex = 3;
this->textBox2->KeyPress += gcnew System:: Windows:: Forms:: KeyPressEventHandler (this, &Form1:: textBox2_KeyPress);
//
// textBox1
//
this->textBox1->Location = System:: Drawing:: Point (124, 27);
this->textBox1->Name = L"textBox1";
this->textBox1->Size = System:: Drawing:: Size (75, 20);
this->textBox1->TabIndex = 2;
this->textBox1->KeyPress += gcnew System:: Windows:: Forms:: KeyPressEventHandler (this, &Form1:: textBox1_KeyPress);
//
// label2
//
this->label2->AutoSize = true;
this->label2->Location = System:: Drawing:: Point (10, 150);
this->label2->Name = L"label2";
this->label2->Size = System:: Drawing:: Size (62, 13);
this->label2->TabIndex = 1;
this->label2->Text = L"Введите X: ";
//
// label1
//
this->label1->AutoSize = true;
this->label1->Location = System:: Drawing:: Point (10, 30);
this->label1->Name = L"label1";
this->label1->Size = System:: Drawing:: Size (108, 13);
this->label1->TabIndex = 0;
this->label1->Text = L"Введите к-во узлов: ";
//
// groupBox2
//
this->groupBox2->Controls->Add (this->textBox3);
this->groupBox2->Controls->Add (this->label3);
this->groupBox2->Location = System:: Drawing:: Point (15, 240);
this->groupBox2->Name = L"groupBox2";
this->groupBox2->Size = System:: Drawing:: Size (250, 60);
this->groupBox2->TabIndex = 1;
this->groupBox2->TabStop = false;
this->groupBox2->Text = L" Результат ";
//
// textBox3
//
this->textBox3->Location = System:: Drawing:: Point (55, 27);
this->textBox3->Name = L"textBox3";
this->textBox3->ReadOnly = true;
this->textBox3->Size = System:: Drawing:: Size (150, 20);
this->textBox3->TabIndex = 1;
//
// label3
//
this->label3->AutoSize = true;
this->label3->Location = System:: Drawing:: Point (15, 30);
this->label3->Name = L"label3";
this->label3->Size = System:: Drawing:: Size (34, 13);
this->label3->TabIndex = 0;
this->label3->Text = L"P (x) =";
//
// dataGridView1
//
this->dataGridView1->AllowUserToAddRows = false;
this->dataGridView1->AllowUserToDeleteRows = false;
this->dataGridView1->AllowUserToResizeColumns = false;
this->dataGridView1->AllowUserToResizeRows = false;
this->dataGridView1->ColumnHeadersHeightSizeMode = System:: Windows:: Forms:: DataGridViewColumnHeadersHeightSizeMode:: AutoSize;
this->dataGridView1->Columns->AddRange (gcnew cli:: array< System:: Windows:: Forms:: DataGridViewColumn^ > (2) {this->X, this->Y});
this->dataGridView1->Location = System:: Drawing:: Point (275, 15);
this->dataGridView1->Name = L"dataGridView1";
this->dataGridView1->RowHeadersVisible = false;
this->dataGridView1->ScrollBars = System:: Windows:: Forms:: ScrollBars:: Vertical;
this->dataGridView1->Size = System:: Drawing:: Size (154, 285);
this->dataGridView1->TabIndex = 2;
//
// X
//
this->X->Frozen = true;
this->X->HeaderText = L"X";
this->X->Name = L"X";
this->X->SortMode = System:: Windows:: Forms:: DataGridViewColumnSortMode:: NotSortable;
this->X->Width = 75;
//
// Y
//
this->Y->Frozen = true;
this->Y->HeaderText = L"Y";
this->Y->Name = L"Y";
this->Y->SortMode = System:: Windows:: Forms:: DataGridViewColumnSortMode:: NotSortable;
this->Y->Width = 75;
//
// Form1
//
this->AutoScaleDimensions = System:: Drawing:: SizeF (6, 13);
this->AutoScaleMode = System:: Windows:: Forms:: AutoScaleMode:: Font;
this->ClientSize = System:: Drawing:: Size (444, 312);
this->Controls->Add (this->dataGridView1);
this->Controls->Add (this->groupBox2);
this->Controls->Add (this->groupBox1);
this->Name = L"Form1";
this->Text = L"Интерполяция методом Лагранжа";
this->Load += gcnew System:: EventHandler (this, &Form1:: Form1_Load);
this->groupBox1->ResumeLayout (false);
this->groupBox1->PerformLayout ();
this->groupBox2->ResumeLayout (false);
this->groupBox2->PerformLayout ();
(cli:: safe_cast<System:: ComponentModel:: ISupportInitialize^ > (this->dataGridView1)) - >EndInit ();
this->ResumeLayout (false);
}
#pragma endregion
String^ decSeparator;
private: System:: Void Form1_Load (System:: Object^ sender, System:: EventArgs^ e)
{
decSeparator = Globalization:: NumberFormatInfo:: CurrentInfo->NumberDecimalSeparator;
}
private: System:: Void button1_Click (System:: Object^ sender, System:: EventArgs^ e)
{
if (! int:: TryParse (textBox1->Text, (int) n))
{
MessageBox:: Show (L"Ошибка! Проверте правильность ввода параметра - n");
return;
}
n = int:: Parse (textBox1->Text);
if (! n)
{
MessageBox:: Show (L"Ошибка! Проверте правильность ввода n > 0");
return;
}
while (dataGridView1->RowCount! = 0) // Удалим все строки из dataGridView1
dataGridView1->Rows->RemoveAt (0);
for (int i=0; i! =n; ++i) // Добавить n строк
dataGridView1->Rows->Add ();
}
private: System:: Void button2_Click (System:: Object^ sender, System:: EventArgs^ e)
{
if (! int:: TryParse (textBox1->Text, (int) n))
{
MessageBox:: Show (L"Ошибка! Проверте правильность ввода параметра - n");
return;
}
n = int:: Parse (textBox1->Text);
if (! n)
{
MessageBox:: Show (L"Ошибка! Проверте правильность ввода n > 0");
return;
}
double x = 0.0;
if (! Double:: TryParse (textBox2->Text,x))
{
MessageBox:: Show (L"Ошибка! Проверте правильность ввода параметра - x");
return;
}
Points *points = new Points [n];
for (unsigned int i=0; i! =n; ++i)
{
String ^str;
str = dataGridView1->Rows [i] - >Cells [0] - >FormattedValue->ToString ();
if (! Double:: TryParse (str,points [i]. x))
{
MessageBox:: Show (L"Ошибка! Проверте правильность ввода узлов");
return;
}
str = dataGridView1->Rows [i] - >Cells [1] - >FormattedValue->ToString ();
if (! Double:: TryParse (str,points [i]. y))
{
MessageBox:: Show (L"Ошибка! Проверте правильность ввода узлов");
return;
}
}
textBox3->Text = interpolation. Lagrange (x, points, n). ToString ();
delete [] points;
}
private: System:: Void textBox1_KeyPress (System:: Object^ sender, System:: Windows:: Forms:: KeyPressEventArgs^ e)
{
if (Char:: IsDigit (e->KeyChar))
return;
if (e->KeyChar == (char) Keys:: Back)
return;
e->Handled = true;
}
private: System:: Void textBox2_KeyPress (System:: Object^ sender, System:: Windows:: Forms:: KeyPressEventArgs^ e)
{
bool flDecSeparator = false;
if (! (textBox2->Text->Length) && (e->KeyChar == '-'))
return;
if (Char:: IsDigit (e->KeyChar))
return;
if (e->KeyChar == (char) Keys:: Back)
return;
if (textBox2->Text->IndexOf (decSeparator)! = - 1)
flDecSeparator = true;
if (flDecSeparator)
{
e->Handled = true;
return;
}
if (e->KeyChar. ToString () == decSeparator)
return;
e->Handled = true;
}
};
}
Блок схема
4.2 Руководство пользователя
Назначение системы
Данное ПО разработана специально для широкого круга людей для более быстрого и удобного вычисления интерполяции функции полиномами Ньютона.
Основные возможности
В программе реализованы возможности:
· Ввод данных, в частности ввод массивов путем поочередной записи значений элементов.
· Вывод решения на экран.
· Изменение размеров окна программы.
Установка и удаление системы
Для установки ПО необходимо копировать все файлы системы на жесткий диск.
Запуск системы
Для того, что бы запустить программу необходимо запустить исполняемый файл Interpolation Lagrange. exe из директории программы на жестком диске.
Инструкция использования
При запуске ПО пользователь видит на экране форму (рис.1), где:
1. Приглашение ввести количество узлов
2. Кнопка подтверждения
3. Таблицы для записи значений X,Y
4. Приглашение ввести Х
5. Кнопка “Найти решение”, после нажатия которой вычисляется значение функции
6. Результат вычисления
Рис 1. Интерфейс программы.
Пример решения задачи
[Расход, л/с] [Диаметр, мм] [Скорость м/с]
[100] л/с [400] мм [1,1] м/с
[100] л/с [450] мм [0,9] м/с
[100] л/с [500] мм [0,75] м/с
[100] л/с [550] мм [0,68] м/с
[100] л/с [600] мм [0,6] м/с
Вы, в таблице из нормативного документа видите, что нашего диаметра трубы (510 мм) просто нету (как и скорости потока который нам нужен в результате). но зато есть (известно) такое:
диаметр трубы (500) мм - для которого скорость - 0,75 м/с
для диаметра трубы (510) мм - т. е X-?
диаметр трубы (550) мм - для которого скорость - 0,68 м/с
В промежуток которого [500.550] попадает наше значение (диаметр) 510 мм и соответственно мы можем интерполировать, то есть найти, как вы уже поняли, промежуточное значение (в данном случаи найти какая будет скорость воды в трубе при пропуске 100 литров для диаметра 510 мм) вам поможет в этом не сложном ремесле подпрограмма интерполятор
1) Количество узлов 5. Значения для X: 400; 450; 500; 550; 600. Y: 1,1; 0,9; 0,75; 0,68; 0,6
Значение точки X, для которого необходимо найти значение 510. Ответ при решении аналитическим способом 0,7318
Количество узлов 5. Значения для X: 1,6; 1,7; 1,8; 1,9;
2. Значения для Y: 1,6416; 2,3961; 3,3536; 4,5441;
6. Значение точки X, для которого необходимо найти значение 1,68 Ответ при решении аналитическим способом 2,2299
программное обеспечение полином лагранж
Заключение
В результате выполнения курсовой работы была разработана программа на языке С++ в среде Microsoft Visual Studio 2013,реализующая процесс, описанный в постановке задачи.
Программа не имеет исходных данных. Начальное количество данных может быть изменено в процессе работы программы. Количество узлов и искомый интервал задаются пользователем.
Учебно-методическое обеспечение дисциплины
Литература обязательная
1. Единая система программной документации (ЕСПД).
2. Брауде Э. Технология разработки программного обеспечения. -
СПб.: "Питер", 2004. - 655 с.
3. Брукс Ф. Мифический человеко-месяц или как создаются программные системы: Пер. с англ. - СПб.: Символ-Плюс, 1999. - 304 с.
4. Орлов С.А. Технологии разработки программного обеспечения, 2-е изд. - СПб.: "Питер", 2003. - 473 с.
5. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. - СПб.: "Питер", 2002. - 496 с.
Литература дополнительная
6. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд. /Пер. с англ. - М.: "Издательство Бином", СПб: "Невский диалект", 1998. - 560с.
7. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. - СПб.: "Питер", 2001. - 368 с.
8. Йордан Э. Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте. - М.: "Лори", 2003. - 255 с.
9. Крачтен Ф. Введение в RationalUnifiedProcess/ 2-eизд.: Пер. с англ. - М.: Изд. дом "Вильямс", 2002. - 240 с.
10. Липаев В.В. Проектирование программных средств: учеб. пособие для вузов по спец. "Автом. сист. обр. информ. и упр.". - М.: Высш. шк., 1990. - 303с.
11. Орлик С. Введение в программную инженерию и управление жизненным циклом ПО
http://www.almportal.ru/public/so/book/4-software_lifecycle_models. pdf,
http://www.almportal.ru/public/so/book/2
project_management. Pdf
Размещено на Allbest.ru
...Подобные документы
Роль интерполяции функций в вычислительной математике. Реализация интерполирования функций полиномом Лагранжа в программном продукте MatLab. Интерполяционная формула Лагранжа. Интерполяция по соседним элементам, кубическими сплайнами. Анализ результатов.
курсовая работа [1,4 M], добавлен 10.06.2012Разработка игровой программы "разгадывания кроссворда". Создание схемы хранения данных, изучение возможности среды программирования. Требования к функциональным характеристикам, составу и параметрам технических средств, информационной совместимости.
курсовая работа [403,9 K], добавлен 26.03.2015Развитие эффективных способов воспроизведения музыкальной информации без потери качества. Требования к функциональным характеристикам, к надежности и безопасности, к составу и параметрам технических средств, к информационной и программной совместимости.
курсовая работа [496,0 K], добавлен 03.12.2010Требования к функциональным характеристикам, составу и параметрам технических средств, информационной и программной совместимости. Описание программы: общие сведения, логическая структура. Средства и порядок испытаний. Входные и выходные данные.
курсовая работа [6,3 M], добавлен 12.01.2015Эффективность и оптимизация программ. Разработка программных продуктов. Обеспечение качества программного продукта. Назначение, область применения, требование к программному продукту. Требования к функциональным характеристикам, надежности, совместимости.
курсовая работа [46,8 K], добавлен 05.04.2009Системный анализ предметной области. Требования к программе и программному изделию, к функциональным характеристикам, к надежности, составу и параметрам технических средств. Обоснование выбора средств выбора для хранения и обработки базы данных.
реферат [403,8 K], добавлен 02.02.2014Требования к функциональным характеристикам программы, составу и параметрам технических средств, программной совместимости. Особенности программирования в среде Access. Описание интерфейса программы, ввод и редактирование данных, добавление новых книг.
курсовая работа [1,5 M], добавлен 17.11.2010Анализ программной системы, способной облегчить действия руководителя тушения пожара и повысить эффективность пожарных работ. Требования к функциональным характеристикам, составу и параметрам технических средств. Разработка программной документации.
курсовая работа [381,6 K], добавлен 13.08.2013Назначение и цели создания системы. Требования к программе или программному изделию, к информационной и программной совместимости, к составу и параметрам технических средств. Алгоритм Rijndael. Назначение и условия применения программного продукта.
дипломная работа [1,3 M], добавлен 01.03.2009Требования к составу и параметрам технических средств, информационной и программной совместимости. Разработка функциональных моделей автоматизированной системы "Деятельность бетонно-растворного узла". Интерфейс Web-приложения, руководство пользователя.
курсовая работа [4,6 M], добавлен 04.10.2014Разработка программы, позволяющей реализовать шифрование и дешифрование текстового файла методом замены и методом перестановки. Требования к функциональным характеристикам, надежности, составу и параметрам технических средств ПО. Интерфейс пользователя.
курсовая работа [19,0 K], добавлен 30.04.2011Документ, на основании которого ведется разработка. Требования к составу и параметрам технических средств, к информационной и программной совместимости. Проработка программных средств. Переопределение стандартных операций для абстрактных типов данных.
курсовая работа [371,5 K], добавлен 21.02.2012Стадии и этапы разработки программного продукта для осуществления упрощенной работы с клиентами и учёта услуг оказываемых "Интернет-центром". Требования к функциональным характеристикам и надежности программы, к составу и параметрам технических средств.
лабораторная работа [29,4 K], добавлен 13.06.2014Общие сведения об электронных учебниках, структура и функции. Обзор методов решения поставленной задачи и обоснование их выбора. Требования к информационной и программной совместимости, составу и параметрам технических средств. Характеристика программы.
курсовая работа [3,0 M], добавлен 20.09.2014Интерполирование рабочих точек в пакете Mathcad с помощью полиномов (канонического, Лагранжа и Ньютона) и сплайнов (линейного, квадратичного, кубического). Реализация программы для решения системы линейных алгебраических уравнений на языке Pascal.
лабораторная работа [202,8 K], добавлен 15.11.2012Анализ требований к программному продукту. Требования к информационной и программной совместимости. Проектирование архитектуры программного продукта. Виды программ и программных документов. Общие сведения о С++. Технология разработки программного модуля.
дипломная работа [1,2 M], добавлен 05.08.2011Разработка программного продукта "2D-макет фильтра" для производства ООО ПК "ХимМаш". Назначение программы, требования к информационной и программной совместимости, параметрам технических средств. Проектирование архитектуры программного продукта.
курсовая работа [1,3 M], добавлен 14.02.2016Разработка системы управления базой данных "Структура ВУЗа". Требования к программе: функциональным характеристикам, надежности, эксплуатации, составу и параметрам технических средств. Требования к программной документации. Порядок контроля и приемки.
курсовая работа [982,7 K], добавлен 08.06.2015Технико-экономические показатели деятельности организации. Требования к информационной и программной совместимости. Описание нормативно-справочной информации. Требования к функциональным характеристикам. Руководство пользователя и программиста.
отчет по практике [43,4 K], добавлен 23.02.2011Требования к функциональным характеристикам проектируемого интернет-магазина. Требования к составу и параметрам технических средств и программной документации. Стадии и этапы разработки интернет-магазина, проверка и контроль правильности ее работы.
курсовая работа [598,2 K], добавлен 17.05.2011