Технология разработки программных средств
Характеристика этапов разработки программных средств. Спецификация, алгоритм, кодирование, отладка и тестирование. Создание справочной системы и установочного диска. Назначение программы, язык программирования. Технические требования к программе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.12.2013 |
Размер файла | 1006,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
7. Кнут Д.Е. Искусство программирования. т.3. - М.: Мир, 1984. - 724 с.
8. Кофман А. Введение в теорию нечетких множеств. - М.: Радио и связь, 1982. - 432 с.
9. Липаев В.В. Качество программного обеспечения. - М.: Финансы и статистика, 1983. - 366 с.
Приложение. Листинг программы
Модуль main
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, StdCtrls, ToolWin;
type
TForm1 = class (TForm)
ToolBar1: TToolBar;
Memo1: TMemo;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
addmno: TToolButton;
ToolButton4: TToolButton;
peresmno: TToolButton;
ssubmno: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ImageList1: TImageList;
submno: TToolButton;
mulmno: TToolButton;
procedure PrgEnd (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure InputMNO (Sender: TObject);
procedure OperationNM (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses op_mno, vvod;
{$R *. dfm}
var
a1, a2, a3: mno_mas;
n3,n1,n2: integer;
function vyvod (a: mno_mas; n: integer): string;
// вывод множества
var
i: integer;
s: string;
begin
s: = '';
for i: =1 to n do
s: = s + FloatToStrF (a [i], ffFixed, 4,2) + '; ';
vyvod: = s;
end;
procedure TForm1. PrgEnd (Sender: TObject);
// выход из программы
begin
Close;
end;
procedure TForm1. FormCreate (Sender: TObject);
// создание формы и инициализация множеств
var
i: integer;
begin
Randomize;
n1: = Random (10) + 5;
n2: = Random (10) + 5;
for i: = 1 to n1 do
a1 [i]: = Random (11) / 10;
for i: = 1 to n2 do
a2 [i]: = Random (11) / 10;
end;
procedure TForm1. InputMNO (Sender: TObject);
// ввод нечетких множеств
var
i: integer;
begin
if Sender = ToolButton1 then
begin
Form2. SpinEdit1. Value: = n1;
Form2. StringGrid1. ColCount: = n1;
Form2. Caption: = 'Ввод множества А';
for i: = 1 to n1 do
Form2. StringGrid1. Cells [i - 1, 0]: = FloatToStrF (a1 [i], ffFixed, 3, 1);
Form2. ShowModal;
n1: = Form2. SpinEdit1. Value;
for i: = 1 to n1 do
a1 [i]: = StrToFloat (Form2. StringGrid1. Cells [i - 1, 0]);
end;
if Sender = ToolButton2 then
begin
Form2. SpinEdit1. Value: = n2;
Form2. StringGrid1. ColCount: = n2;
Form2. Caption: = 'Ввод множества B';
for i: = 1 to n2 do
Form2. StringGrid1. Cells [i - 1, 0]: = FloatToStrF (a2 [i], ffFixed, 3, 1);
Form2. ShowModal;
n2: = Form2. SpinEdit1. Value;
for i: = 1 to n2 do
a2 [i]: = StrToFloat (Form2. StringGrid1. Cells [i - 1, 0]);
end;
end;
procedure TForm1. OperationNM (Sender: TObject);
// операции над множествами
begin
Memo1. Clear;
if Sender = addmno then
begin
Memo1. Lines. Add ('Операция: ' + addmno. Hint);
objed (a1,n1,a2,n2,a3,n3);
end;
if Sender = peresmno then
begin
Memo1. Lines. Add ('Операция: ' + peresmno. Hint);
peres (a1,n1,a2,n2,a3,n3);
end;
if Sender = submno then
begin
Memo1. Lines. Add ('Операция: ' + submno. Hint);
razn (a1,n1,a2,n2,a3,n3);
end;
if Sender = ssubmno then
begin
Memo1. Lines. Add ('Операция: ' + ssubmno. Hint);
simrazn (a1,n1,a2,n2,a3,n3);
end;
if Sender = mulmno then
begin
Memo1. Lines. Add ('Операция: ' + mulmno. Hint);
proizved (a1,n1,a2,n2,a3,n3);
end;
Memo1. Lines. Add ('Множество А');
Memo1. Lines. Add (vyvod (a1,n1));
Memo1. Lines. Add ('Множество В');
Memo1. Lines. Add (vyvod (a2,n2));
Memo1. Lines. Add ('Результат');
Memo1. Lines. Add (vyvod (a3,n3));
end;
end.
Модуль op_mno
unit op_mno;
interface
type
mno_mas = array [1.20] of real;
bin_mas = array [1.20] of 0.1;
procedure peres (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
procedure objed (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
procedure razn (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
procedure simrazn (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
procedure proizved (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
implementation
uses math;
procedure mu (a: mno_mas; n: integer; var b: bin_mas);
{характеристическая функция}
var
i: integer;
begin
for i: =1 to n do
if a [i] <0.5 then
b [i]: = 0
else
b [i]: = 1;
end;
procedure peres (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
{пересечение множеств}
var
i: integer;
begin
n3: =n1;
if n2<n3 then
n3: =n2;
for i: =1 to n3 do
a3 [i]: =min (a1 [i], a2 [i]);
end;
procedure objed (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
{объединение множеств}
var
i: integer;
begin
n3: =n1;
if n2<n3 then
n3: =n2;
for i: =1 to n3 do
a3 [i]: =max (a1 [i], a2 [i]);
end;
procedure razn (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
{разность множеств}
var
i: integer;
begin
n3: =n1;
if n2<n3 then
n3: =n2;
for i: =1 to n3 do
a2 [i]: =1-a2 [i];
peres (a1,n1,a2,n2,a3,n3);
end;
procedure simrazn (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
{симметричная разность множеств}
var
i: integer;
aa1, aa2: bin_mas;
begin
mu (a1, n1, aa1);
mu (a2, n2, aa2);
n3: =n1;
for i: =1 to n3 do
a3 [i]: =0;
for i: =1 to n3 do
if (aa1 [i] =1) and (aa2 [i] =1) then
a3 [i]: =a1 [i];
end;
procedure proizved (a1: mno_mas; n1: integer; a2: mno_mas; n2: integer;
var a3: mno_mas; var n3: integer);
{произведение множеств}
var
i: integer;
begin
n3: =n1;
if n2<n3 then
n3: =n2;
for i: =1 to n3 do
a3 [i]: =a1 [i] *a2 [i];
end;
end.
Модуль vvod
unit vvod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, Buttons, Grids;
type
TForm2 = class (TForm)
StringGrid1: TStringGrid;
BitBtn1: TBitBtn;
Label1: TLabel;
SpinEdit1: TSpinEdit;
procedure SpinEdit1Change (Sender: TObject);
end;
var
Form2: TForm2;
implementation
{$R *. dfm}
procedure TForm2. SpinEdit1Change (Sender: TObject);
// изменение размерности множества
begin
StringGrid1. ColCount: = SpinEdit1. Value;
end;
end.
Размещено на Allbest.ru
Подобные документы
Технические характеристики игрового приложения для операционной системы Microsoft Windows. Обоснование выбора состава технических и программных средств. Характеристика процесса разработки программы "Угадайка", ее спецификация, описание и тестирование.
курсовая работа [422,4 K], добавлен 10.06.2011Обоснование выбора языка программирования. Описание разработки структуры программы. Спецификация переменных и процедур. Руководство оператора, словесный алгоритм. Состав информационной системы поиска квартир и характеристика её программных интерфейсов.
отчет по практике [2,2 M], добавлен 15.09.2014Этапы технологического процесса разработки программных продуктов, их жизненный цикл. Общая характеристика языков программирования. Виды ошибок и принципы тестирования программ. Установление прав собственности на продукт посредством лицензий и контрактов.
презентация [1,9 M], добавлен 01.05.2011Общая характеристика языка программирования С++, его функции и возможности. Создание базы данных "Учет фототехники" для работников магазина. Этапы разработки алгоритма, спецификация, кодирование, отладка и тестирование программы. Руководство пользователя.
курсовая работа [3,2 M], добавлен 15.07.2012Этапы тестирования при испытаниях надежности программных средств. Комплексирование модулей и отладка автономных групп программ в статике без взаимодействия с другими компонентами. Испытания главного конструктора. Жизненный цикл программного средства.
презентация [339,6 K], добавлен 22.03.2014Стадии разработки программного средства. Средства, методологии и методы его разработки. Оценка надежности и качества проекта. Обоснование необходимости разработки программы. Тестирование как процесс выполнения тестовой программы с намерением найти ошибки.
презентация [57,0 K], добавлен 27.12.2013Обзор существующих аналогов программных средств, предназначенных для построения генеалогических деревьев, их достоинства и недостатки. Выбор программных средств, разработка и реализация архитектуры системы хранения данных, отладка и тестирование сервиса.
дипломная работа [177,1 K], добавлен 24.06.2012Реализация информационно-справочной системы на языке программирования C#. ее тестирование и отладка. Назначение, состав и структура программы "Адресная книга", описание операций. Программные и аппаратные требования к системе. Блок-схема и код программы.
курсовая работа [709,5 K], добавлен 11.06.2019Интегрированная среда разработки Lazarus. Среда программных продуктов Lazarus, объекты программных компонентов. Палитра компонентов Standard, Additional. Разработка справочной системы: структура проекта, интерфейс программы, компоненты приложения.
курсовая работа [695,2 K], добавлен 08.01.2023Обзор средств программирования. Описание и свойства языка Delphi. Основания для разработки, ее назначение, предъявляемые требования, стадии разработки. Описание схемы основного модуля, процедур, программы. Используемые технические и программные средства.
курсовая работа [42,8 K], добавлен 25.02.2012