Технология разработки программных средств

Характеристика этапов разработки программных средств. Спецификация, алгоритм, кодирование, отладка и тестирование. Создание справочной системы и установочного диска. Назначение программы, язык программирования. Технические требования к программе.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.