Разработка программного обеспечения
Автор работы: Пользователь скрыл имя, 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
Прикрепленные файлы: 1 файл
Отчет. Стандартизация ПО.docx
— 552.72 Кб (Скачать документ)- Сценарий интерфейса программы
Диалог с пользователем происходит следующим образом:
- Первый шаг – запуск программы (1);
- Второй шаг предполагает несколько вариантов – пользователь может настроить интерфейс «под себя», а именно цветовую палитру и шрифт (2), или настроить параметры отсчета для вывода тех данных, что необходимы (3), и выбрать соответствующий график (4);
- Третий шаг предполагает непосредственный ввод данных (5);
- Четвертым шагом является цикл расчета пользовательских данных (6);
- Пятый шаг вновь предполагает несколько вариантов – возврат к вводу данных (5) и параметрам отсчета (3), выбору графика (4), настройке интерфейса (2) или сохранению данных и выходу (7).
Рисунок 4 - Сценарий интерфейса программы
- Рабочий проект
- Описание пользовательского интерфейса программы
Программа запускается посредством ярлыка «Резервуар» и сразу переходит в пользовательское меню, что представлено на рисунке 5.
Рисунок 5 – Главное окно программы «Резервуар»
Перед тем, как ввести необходимые данные и произвести расчет, пользователю необходимо обратиться к параметрам отсчета и выбрать график в соответствующих полях. Также можно настроить интерфейс в настройках – палитры и шрифт доступны для пользовательских изменений. На рисунках 6 и 7 представлены типовые настройки.
Рисунок 6 – Настройка шрифтов
Рисунок 7 – Настройка цвета
В распоряжении пользователя вкладка Помощь в основном Меню, где можно ознакомиться с заданием, посмотреть блок-схему и данные о программе. Все это отражено на рисунках 8, 9, 10.
Рисунок 8 – Проектное задание
Рисунок 8 – О программе
Рисунок 10 – Блок-схема программы
- Тестирование, отладка и сборка модулей
Сборка системы проводилась пош
Данный метод сборки был выбран из-за меньшей трудоемкости идентификации ошибок за счет постепенного наращивания объема (в данном случае все сводилось к предварительному решению задачи, т.е. математическому расчету) тестируемого кода. Так, к основному модулю постепенно прикреплялись остальные, несущие вспомогательные функции, и каждый «обрастал» своим кодом.
В качестве метода тестирования системы был выбран детерминированный подход.
Тестирование данным подходом
требует многократного
Тестирование программы проходило следующим образом:
- запуск программы;
- ввод в каждое окна недопустимых данных (например, если везде ввести нули, то программа откликнется специальным сообщением внутри окна вывода расчетных данных (рисунок 11));
- отслеживание реакции программы на ввод недопустимых данных;
- фиксирование неудачных попыток ответа программы;
- исправление ошибок в программе;
- ввод корректных тестовых данных.
При тестировании программы была выявлена ошибка: программа разрешает вводить недопустимые символы (например, несколько запятых) с последующим системным уведомлением отладчика (рисунок 12) и программа прекращает свою работу, хотя должна запрещать вводить более одной запятой для дробных чисел.
Рисунок 11 – Сообщение о некорректном вводе параметров
Рисунок 12 – Сообщение о некорректном вводе параметров
После исправления программного кода (тут не был отключен Debugger Exception Notification, но именно был изменен основной алгоритм ввода данных), пользователь может вводить только корректные значения и программа выполнит все расчеты и выдаст результат, что соответствует запросу пользователя (рисунок 12).
Рисунок 13 – Корректная работа программы
Заключение
В результате выполнения практической работы было выполнено подробное описание всех основных документов на разработку игрового проекта. Процесс проектирования выполнен в соответствии с ГОСТ 34.601-90 «Автоматизированные системы. Стадии создания» и подразумевает создания четырех основных документов.
В результате моей работы была создана программа, проведен анализ надежности разработки, были изучены государственные стандарты по созданию программной документации, такие как ГОСТы 19.102, 19.201, 19.404, а также в результате выполнения работы было выполнено подробное описание всех стадий разработки программной документации системы.
Процесс описания стадий разработки программ и программной документации для систем выполнен в соответствии с ГОСТ 19.102 и подразумевает создания четырех основных документов:
- Техническое задание, служащее для разработки проекта;
- Эскизный проект, подразумевающий разработку предварительных проектных решений по программе и е частям;
- Технический проект, строящийся на основе эскизного проекта;
- Рабочий проект, предназначенный для подготовки материалов, обеспечивающих программный продукт, и включающий в себя разработку и адаптация программного изделия.
В заключении, хотелось бы отметить, что ГОСТы более подходят для объемных и сложных проектов. Простые проекты описывать в рамках реально действующей документации затруднительно.
Список использованных источников
- ГОСТ 19.102-77. Стадии разработки. – Введ. 01.01.80. – М.: Изд-во стандартов, 1988 – 3 с.
- ГОСТ 19.201-78. Техническое задание. Требования к содержанию и оформлению. – Введ. 01.01.80. – М.: Изд-во стандартов, 1988 – 3 с.
- ГОСТ 19.404-79. Пояснительная записка. Требования к содержанию и оформлению. – Введ. 01.01.81. – М.: Изд-во стандартов, 1988 – 2 с.
- ГОСТ 34.602-89. Техническое задание на создание автоматизированной системы; Введ. 01.01.90. – Группа П87.
- ГОСТ 34.601-90. Автоматизированные системы. Стадии создания; Введ. 01.01.92. – Группа П87.
- ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов. Программ, данных и систем. Условные обозначения и правила выполнения; Введ. 01.01.92. – Группа Т55.
Приложение А
В данном приложении будет представлен листинг кода программы.
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
// Расчет скорости, обємних расходов и объему