Автор работы: Пользователь скрыл имя, 09 Января 2014 в 17:30, курсовая работа
Актуальность данной работы заключается в том, что у студента есть реальная возможность на примере данного руководящего документа ознакомиться с действующими ГОСТами, а также понять важность последних, т.к. ГОСТы защищают уникальный проект владельца и упрощают жизнь пользователя.
Введение 3
1. Техническое задание 4
1.1 Обоснование необходимости разработки 4
1.1.1 Постановка задачи 4
1.1.2 Назначение разработки 5
1.2 Выполнение научно-исследовательских работ 5
1.2.1 Структура входных и выходных данных 5
1.2.2 Определение требований к техническим средствам 6
1.2.3 Определение требований к надежности 6
1.2.4 Требования к информационной и программной совместимости 7
1.2.5 Требования к маркировке и упаковке 7
1.2.6 Требования к транспортированию и хранению 7
1.2.7 Специальные требования 7
1.2.8 Технико-экономические показатели 7
1.3 Разработка и утверждение технического задания 7
1.3.1 Определение требований к программе 8
1.3.2 Порядок контроля и приемки 8
2 Эскизный проект 8
2.1 Иерархическая схема структуры программы 8
2.2 Описание модулей 9
3 Технический проект 10
3.1 Логическая структура программного продукта 10
3.2 Алгоритмическая структура 11
3.3 Спецификации входных и выходных данных 13
3.4 Сценарий интерфейса программы 13
4 Рабочий проект 15
4.1 Описание пользовательского интерфейса программы 15
4.2 Тестирование, отладка и сборка модулей 18
Заключение 21
Список использованных источников 22
Приложение А 23
Диалог с пользователем происходит следующим образом:
Рисунок 4 - Сценарий интерфейса программы
Программа запускается посредством ярлыка «Резервуар» и сразу переходит в пользовательское меню, что представлено на рисунке 5.
Рисунок 5 – Главное окно программы «Резервуар»
Перед тем, как ввести необходимые данные и произвести расчет, пользователю необходимо обратиться к параметрам отсчета и выбрать график в соответствующих полях. Также можно настроить интерфейс в настройках – палитры и шрифт доступны для пользовательских изменений. На рисунках 6 и 7 представлены типовые настройки.
Рисунок 6 – Настройка шрифтов
Рисунок 7 – Настройка цвета
В распоряжении пользователя вкладка Помощь в основном Меню, где можно ознакомиться с заданием, посмотреть блок-схему и данные о программе. Все это отражено на рисунках 8, 9, 10.
Рисунок 8 – Проектное задание
Рисунок 8 – О программе
Рисунок 10 – Блок-схема программы
Сборка системы проводилась пош
Данный метод сборки был выбран из-за меньшей трудоемкости идентификации ошибок за счет постепенного наращивания объема (в данном случае все сводилось к предварительному решению задачи, т.е. математическому расчету) тестируемого кода. Так, к основному модулю постепенно прикреплялись остальные, несущие вспомогательные функции, и каждый «обрастал» своим кодом.
В качестве метода тестирования системы был выбран детерминированный подход.
Тестирование данным подходом
требует многократного
Тестирование программы проходило следующим образом:
При тестировании программы была выявлена ошибка: программа разрешает вводить недопустимые символы (например, несколько запятых) с последующим системным уведомлением отладчика (рисунок 12) и программа прекращает свою работу, хотя должна запрещать вводить более одной запятой для дробных чисел.
Рисунок 11 – Сообщение о некорректном вводе параметров
Рисунок 12 – Сообщение о некорректном вводе параметров
После исправления программного кода (тут не был отключен Debugger Exception Notification, но именно был изменен основной алгоритм ввода данных), пользователь может вводить только корректные значения и программа выполнит все расчеты и выдаст результат, что соответствует запросу пользователя (рисунок 12).
Рисунок 13 – Корректная работа программы
В результате выполнения практической работы было выполнено подробное описание всех основных документов на разработку игрового проекта. Процесс проектирования выполнен в соответствии с ГОСТ 34.601-90 «Автоматизированные системы. Стадии создания» и подразумевает создания четырех основных документов.
В результате моей работы была создана программа, проведен анализ надежности разработки, были изучены государственные стандарты по созданию программной документации, такие как ГОСТы 19.102, 19.201, 19.404, а также в результате выполнения работы было выполнено подробное описание всех стадий разработки программной документации системы.
Процесс описания стадий разработки программ и программной документации для систем выполнен в соответствии с ГОСТ 19.102 и подразумевает создания четырех основных документов:
В заключении, хотелось бы отметить, что ГОСТы более подходят для объемных и сложных проектов. Простые проекты описывать в рамках реально действующей документации затруднительно.
В данном приложении будет представлен листинг кода программы.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, TeeProcs, TeEngine, Chart, Series,
Menus, ExtDlgs, ComCtrls;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Chart1: TChart;
Series1: TLineSeries;
MainMenu1: TMainMenu;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Memo1: TMemo;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
SaveDialog1: TSaveDialog;
SavePictureDialog1: TSavePictureDialog;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N16: TMenuItem;
ProgressBar1: TProgressBar;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
RadioGroup1: TRadioGroup;
N24: TMenuItem;
ColorDialog1: TColorDialog;
FontDialog1: TFontDialog;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N9: TMenuItem;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure BitBtn1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure FormClick(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var D1,d2,z,v1,V2,Q:real;
i,i1:integer;
p:string;
begin
// Проверка
if (Edit1.Text='')or (Edit2.Text='')or (Edit3.Text='')or (Edit4.Text='') or (Edit1.Text='0')or (Edit2.Text='0')or (Edit3.Text='0')or (Edit4.Text='0') then
begin
Form1.Memo1.Lines.Clear;
Form1.Memo1.Font.Size:=16;
Form1.Memo1.Font.Color:=clRed;
Form1.Memo1.Lines.Add('
exit;
end;
// Введение начальных данных
D1:=StrToFloat (Edit1.Text);
d2:=StrToFloat (Edit2.Text);
z:=StrToFloat (Edit3.Text);
i1:=StrToInt (Edit4.Text);
// Очистка текстового
и графического поля. Проверка
параметров отчета Вывод
Form1.Memo1.Lines.Clear;
If (CheckBox1.Checked=False) and (CheckBox2.Checked=False) and (CheckBox3.Checked=False) and (CheckBox4.Checked=False) and (CheckBox5.Checked=False) then begin
Form1.Memo1.Font.Size:=12;
Form1.Memo1.Font.Color:=clRed;
Form1.Memo1.Lines.Add('
exit;
end;
If RadioButton1.Checked=True then begin
Chart1.Title.Text.Clear;
Chart1.Title.Text.Add('График
Chart1.LeftAxis.Title.Caption:
end;
If RadioButton2.Checked=True then begin
Chart1.Title.Text.Clear;
Chart1.Title.Text.Add('График изменения скорости со временем');
Chart1.LeftAxis.Title.Caption:
end;
Chart1.BottomAxis.Title.
Form1.Memo1.Font.Size:=8;
Form1.Memo1.Font.Color:=
Form1.Memo1.Lines.Add('
Form1.Memo1.Lines.Add('');
Form1.Memo1.Lines.Add('Диаметр резервуара: '+FloatToStr(D1)+'м');
Form1.Memo1.Lines.Add('Диаметр трубопровода: '+FloatToStr(d2)+'м');
Form1.Memo1.Lines.Add('Высота столба воды: '+FloatToStr(z)+'м');
Form1.Memo1.Lines.Add('Задано чистло шагов повторения: '+FloatToStr(i1));
Form1.Memo1.Lines.Add('');
Form1.Memo1.Lines.Add('');
Form1.Memo1.Lines.Add('
Form1.Memo1.Lines.Add('');
ProgressBar1.Max:=i1;
Series1.clear;
// Расчетный цикл
V2:=(z*pi*D1*D1)/4;
For i:=0 to i1 do
begin
// Расчет скорости, обємних расходов и объему