Разработка программного обеспечения

Автор работы: Пользователь скрыл имя, 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. Сценарий интерфейса программы

Диалог с пользователем  происходит следующим образом:

  1. Первый шаг – запуск программы (1);
  2. Второй шаг  предполагает несколько вариантов – пользователь может настроить интерфейс «под себя», а именно цветовую палитру и шрифт (2), или настроить параметры отсчета для вывода тех данных, что необходимы (3), и выбрать соответствующий график (4);
  3. Третий шаг предполагает непосредственный ввод данных (5);
  4. Четвертым шагом является цикл расчета пользовательских  данных (6);
  5. Пятый шаг вновь предполагает несколько вариантов – возврат к вводу данных (5) и параметрам отсчета (3), выбору графика (4), настройке интерфейса (2) или сохранению данных и выходу (7).


 


 



 

 

 


 

Рисунок 4 - Сценарий интерфейса программы

 

 

  1. Рабочий проект
    1. Описание пользовательского интерфейса программы

Программа запускается посредством ярлыка «Резервуар» и сразу переходит в пользовательское меню, что представлено на рисунке 5.

Рисунок 5 – Главное окно программы «Резервуар»

Перед тем, как ввести необходимые данные и произвести расчет, пользователю необходимо обратиться к параметрам отсчета и выбрать график в соответствующих полях. Также можно настроить интерфейс в настройках – палитры и шрифт доступны для пользовательских изменений. На рисунках 6 и 7 представлены типовые настройки.

 

Рисунок 6 – Настройка шрифтов

Рисунок 7 – Настройка  цвета

В распоряжении пользователя вкладка Помощь в основном Меню, где можно ознакомиться с заданием, посмотреть блок-схему и данные о  программе. Все это отражено на рисунках 8, 9, 10.

Рисунок 8 – Проектное задание

Рисунок 8 – О программе

 

Рисунок 10 – Блок-схема программы

    1. Тестирование, отладка и сборка модулей

Сборка системы проводилась пошаговым методом.

Данный метод сборки был  выбран  из-за меньшей трудоемкости идентификации ошибок за счет постепенного наращивания объема (в данном случае все сводилось к предварительному решению задачи, т.е. математическому расчету) тестируемого кода. Так, к основному модулю постепенно прикреплялись остальные, несущие вспомогательные функции, и каждый «обрастал» своим кодом.

В качестве метода тестирования системы был выбран детерминированный подход.

Тестирование данным подходом требует многократного выполнения алгоритмов системы (отображение, просмотр, добавление и удаление данных) с  использованием определенных, специальным  образом подобранных, тестовых наборов данных (в данном случае это числовые выражения, которые многократно вводились для проверки работоспособности алгоритма).

Тестирование программы  проходило следующим образом:

  1. запуск программы;
  2. ввод в каждое окна недопустимых данных (например, если везде ввести нули, то программа откликнется специальным сообщением внутри окна вывода расчетных данных (рисунок 11));
  3. отслеживание реакции программы на ввод недопустимых данных;
  4. фиксирование неудачных попыток ответа программы;
  5. исправление ошибок в программе;
  6. ввод корректных тестовых данных.

При тестировании программы  была выявлена ошибка: программа разрешает вводить недопустимые символы (например, несколько запятых) с последующим системным уведомлением отладчика (рисунок 12) и программа прекращает свою работу, хотя должна запрещать вводить более одной запятой для дробных чисел.

Рисунок 11 – Сообщение  о некорректном вводе параметров

Рисунок 12 – Сообщение о некорректном вводе параметров

После исправления программного кода (тут не был отключен Debugger Exception Notification, но именно был изменен основной алгоритм ввода данных), пользователь может вводить только корректные значения и программа выполнит все расчеты и выдаст результат, что соответствует запросу пользователя (рисунок 12).

Рисунок 13 – Корректная работа программы

Заключение

В результате выполнения практической работы было выполнено подробное  описание всех основных документов на разработку игрового проекта. Процесс проектирования выполнен в соответствии с ГОСТ 34.601-90 «Автоматизированные системы. Стадии создания» и подразумевает создания четырех основных документов.

В результате моей работы была создана  программа, проведен анализ надежности разработки, были изучены государственные стандарты по созданию программной документации, такие как ГОСТы 19.102, 19.201, 19.404, а также в результате выполнения работы было выполнено подробное описание всех стадий разработки программной документации системы.

Процесс описания стадий разработки программ и программной документации для систем выполнен в соответствии с ГОСТ 19.102 и подразумевает создания четырех основных документов:

  1. Техническое задание, служащее для разработки проекта;
  2. Эскизный проект, подразумевающий разработку предварительных проектных решений по программе и е частям;
  3. Технический проект, строящийся на основе эскизного проекта;
  4. Рабочий проект, предназначенный для подготовки материалов, обеспечивающих программный  продукт, и включающий в себя разработку и адаптация программного изделия.

В заключении, хотелось бы отметить, что ГОСТы более подходят для  объемных и сложных проектов. Простые  проекты описывать в рамках реально  действующей документации затруднительно.

 

 

 

 

Список использованных источников

  1. ГОСТ 19.102-77. Стадии разработки. – Введ. 01.01.80. – М.: Изд-во стандартов, 1988 – 3 с.
  2. ГОСТ 19.201-78. Техническое задание. Требования к содержанию и оформлению. –  Введ. 01.01.80. – М.: Изд-во стандартов, 1988 – 3 с.
  3. ГОСТ 19.404-79. Пояснительная записка. Требования к содержанию и оформлению. –  Введ. 01.01.81. – М.: Изд-во стандартов, 1988 – 2 с.
  4. ГОСТ 34.602-89. Техническое задание на создание автоматизированной системы; Введ. 01.01.90. – Группа П87.
  5. ГОСТ 34.601-90. Автоматизированные системы. Стадии создания; Введ. 01.01.92. – Группа П87.
  6. ГОСТ 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:='м^3/c';

end;

If RadioButton2.Checked=True then begin

Chart1.Title.Text.Clear;

Chart1.Title.Text.Add('График изменения скорости со временем');

Chart1.LeftAxis.Title.Caption:='м/c';

end;

Chart1.BottomAxis.Title.Caption:='с';

 

Form1.Memo1.Font.Size:=8;

Form1.Memo1.Font.Color:=clWindowText;

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

// Расчет скорости, обємних  расходов и объему

Информация о работе Разработка программного обеспечения