- •Содержание
- •1. Теоретические разделы
- •1.2. Паттерн Abstract Factory
- •2. Постановка задачи
- •3. Разработка диаграмм uml
- •Формирование плана управления конфигурациями и план графика проекта
- •Разработка программы тестирования
- •Разработка основной программы
- •1) Project1.Dpr
- •2)Unit1.Pas
- •3)Unit2.Pas
- •7. Оформление индивидуальной программной документации
- •Заключение
- •1. Брауде э. Технология разработки программного обеспечения. – сПб.: Питер, 2004. – 655 с.
Разработка основной программы
Приложение состоит из одного класса: clsTimer.
Текст программы:
1) Project1.Dpr
library Project1;
uses
SysUtils,
Classes,
Forms,
ComServ,
Project1_TLB in 'Project1_TLB.pas',
Unit1 in 'Unit1.pas' {clsTimer: CoClass},
Unit2 in 'Unit2.pas' {Form2};
function ShowForm : integer; stdcall;
var
Form : TForm2;
begin
Form := TForm2.Create(application);
Result := Form.ShowModal;
Form.free;
end;
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer,
ShowForm;
begin
end.
2)Unit1.Pas
unit Unit1;
interface
uses
ComObj, ActiveX, Project1_TLB, StdVcl,Dialogs,unit2,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;
type
TclsTimer = class(TAutoObject, IclsTimer)
protected
function Get_Read: Integer; safecall;
function Get_Start: Integer; safecall;
procedure Set_Read(sec: Integer); safecall;
procedure Set_Start(sec: Integer); safecall;
end;
uses ComServ;
function TclsTimer.Get_Read: Integer;
begin
//Unit2.Form2.Timer1.Enabled:=True;
end;
function TclsTimer.Get_Start: Integer;
begin
end;
procedure TclsTimer.Set_Read(sec: Integer);
begin
Unit2.Form2.Edit1.Text:=IntToStr(sec);
end;
procedure TclsTimer.Set_Start(sec: Integer);
begin
end;
TAutoObjectFactory.Create(ComServer, TclsTimer, Class_clsTimer,
ciMultiInstance, tmApartment);
end.
3)Unit2.Pas
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm2 = class(TForm)
Label1: TLabel;
Timer1: TTimer;
Edit1: TEdit;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
var
// интервал
sec: integer; // количество секунд
procedure TForm2.Timer1Timer(Sender: TObject);
begin
sec := StrToInt(Edit1.Text);
sec:=sec- 1;
ifsec= 0then
// заданный интервал истек
begin
Timer1.Enabled := False; // стоп
ShowMessage('Заданный интервал истек!');
Label1.Visible:=False; // скрыть индикатор
// сделать видимыми поля ввода интервала
exit;
end;
end;
procedure ShowTime;
var
buf:string[20];
begin
// секунды выводим двумя цифрами
if sec < 10 then
buf := buf + '0' + IntToStr(sec)
else
buf := buf + IntToStr(sec);
Form2.Label1.Caption := buf;
end;
end.
Рис.8 Интерфейс программы
7. Оформление индивидуальной программной документации
Таблица 2. Индивидуальная программная документация
Верификация и валидация |
SVVP(План экспертизы программного обеспечения) |
В данном проекте не используется |
Контроль качества |
SQAP(План контроля качества программного обеспечения) |
В данном проекте не используется |
Конфигурация |
SCMP(План управления конфигурациями программного обеспечения) |
См пункт 5 данного отчета |
Статус проекта |
SPMP(План управления программным проектом) |
Высший приоритет имеет исполнение приложения в срок. На втором месте по приоритетности стоит достижение заданного уровня качества. Риск №1, «неисполнение программного приложения в срок» связан с тем, что разработчик помимо данного приложения выполняет другие поручения и задачи, не связанные с курсовой работой. В приложении для проектирования используется среда RationalRose, а реализация ведется на языкеDelphi. |
Требования |
SRS(Спецификация требований к программному обеспечению) |
Требования представлены в таблице 1 |
Проектирование
|
SDD(Проектная документация программного обеспечения) |
См пункт 7 данного отчета |
Код
|
Исходный код |
См пункт 6 данного отчета |
Тестирование |
STD(Документация по тестированию программного обеспечения) |
См пункт 5 данного отчета |
Использование |
Руководство пользователя |
В данном проекте не используется |