Автор работы: Пользователь скрыл имя, 02 Апреля 2010 в 11:37, Не определен
В данной курсовой работе был показан метод разработки программного продукта реализующего поиск всех чисел палиндромов в указанном интервале, которые при возведении в квадрат дают палиндромы. Палиндромы – это числа, которые одинаковы в прямой и обратной записи с применением компьютера. Для разработки программы была использована среда разработки Delphi.
Курсовая работа состоит из двух глав: первая глава состоит из … страниц, в ней описывается способ определения оптимального метода разработки программного продукта, метод разработки программного продукта. Вторая глава состоит из … страниц в ней описан процесс разработки программного продукта.
Что это такое, как отпределяются ко всем ПП. + определить требования к разработанному студентом
Техническое задание
Не забудьте
указать функции программы, имеющие отношение
к функциональности программы.
Модель жизненного цикла ПП
Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Каскадная модель жизненного цикла («модель водопада», англ. waterfall model) была предложена в 1970 г. Уинстоном Ройсом. Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Этапы проекта в соответствии с каскадной моделью:
Спиральная модель (англ. spiral model) была разработана в середине 1980-х годов Барри Боэмом. Она основана на классическом цикле Деминга PDCA (plan-do-check-act). При использовании этой модели ПО создается в несколько итераций (витков спирали) методом прототипирования.
Прототип — действующий компонент ПО, реализующий отдельные функции и внешние интерфейсы. Каждая итерация соответствует созданию фрагмента или версии ПО, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации.
На каждой итерации оцениваются:
риск превышения сроков и стоимости проекта;
необходимость выполнения еще одной итерации;
степень полноты и точности понимания требований к системе;
целесообразность прекращения проекта.
Один из примеров реализации спиральной модели — RAD (англ. Rapid Application Development, метод быстрой разработки приложений).
К развитию итерационной модели, сближению и появлению современного итерационного подхода, который представляет рациональное сочетание этих моделей привело естественное развитие каскадной и спиральной моделе. Различные варианты итерационного подхода реализованы в большинстве современных технологий и методов (RUP, MSF, XP).
Была выбрана каскадная модель жизненного цикла поскольку, разрабатывая данный продукт, мы не планировали его последующего серийного выпуска.
Глава 2
Выполнить
проектирование программного обеспечения. Варианты использования
должны быть представлены как в графическом
виде (диаграмма UML, блок-схема), так и в
текстовом виде! Также разработать и другие
диаграммы в нотации UML и сопроводить их
текстовым описанием (диаграммы последовательности
и кооперации, диаграмма классов, диаграммы
состояний, диаграмма реализации).
Реализовать
проект с помощью выбранного языка программирования.
Выполнить
тестирование и отладку.
Обосновать
выбор подхода к тестированию (структурное
или объектно-ориентированное). Определить
этапы тестирования (модульное, интеграции,
правильности, системное). На этапе модульного
тестирования создать необходимые заглушки
и драйверы (должны быть предоставлены
в комплекте с остальными файлами при
сдаче КР). На этапе тестирования интеграции
описать порядок подключения модулей.
Какому методу тестирования (восходящее,
нисходящее, комбинированное тестирование)
соответствует выбранный порядок?
Необходимо
привести контрольный лист тестирования
отдельных модулей (с использованием драйверов
и заглушек) и основных функций программного
обеспечения в целом. Кроме успешных сеансов
тестирования, когда ошибки не обнаружены,
также требуется описать выявление и исправление
нескольких ошибок. Для этого ответьте
на следующие вопросы. Что в поведении
Вашей программы не так, как ожидалось,
из чего Вы сделали вывод, что программа
содержит ошибку(и)? Как Вы определили,
в чем заключается эта ошибка и где в коде
она допущена (местоположение, локализация
ошибки)? Какие гипотезы о природе ошибки
Вы выдвинули? Как Вы проверяли правильность
выдвинутых гипотез? Использовали ли Вы
аварийную печать, печать в контрольных
точках и слежение за значениями переменных
для получения дополнительных данных
в поисках противоречий выдвинутым гипотезам?
Какие исправления Вы внесли в код для
устранения ошибки?
Разработать документацию к ПО (документы следует начать составлять на начальном этапе разработки и дорабатывать в течение всего проекта по мере разработки ПО). В начале каждого документа приводить его содержание. В руководстве оператора отметить реализацию требований, указанных в ТЗ.
Заключение
В соответствии с заданием на курсовую работу я разрабатывать программный продукт в среде разработки Delphi. Для достижения цели были решены следующие задачи:
для диапазона от 10 до 50000 - результат положительный, …;
Список литературы
(обязательное)
(обязательное)
Поиск палиндромов
(обязательное)
Программный код модуля Unit1:
unit Unit1;
interface
uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
ComCtrls, XPMan, Menus;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
ProgressBar1: TProgressBar;
XPManifest1: TXPManifest;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
SaveDialog1: TSaveDialog;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
Продолжение программного кода Unit1:
N7: TMenuItem;
procedure N7Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses unit2, about;
{$R *.dfm}
function isPalindrom(num: uint64): boolean;
var
_on, nn, r: uint64;
begin
_on := num;
nn := 0;
while (num <> 0) do
begin
r := num mod 10;
num := num div 10;
nn := nn * 10 + r;
end;
Продолжение программного кода Unit1:
result := (_on = nn);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
iFrom, iTo, i: integer;
ix: uInt64;
begin
Button1.Enabled := False;
Memo1.Clear;
iFrom := StrToIntDef(Edit1.Text, 0);
iTo := StrToIntDef(Edit2.Text,
0);
ProgressBar1.Max := iTo;
for i := iFrom to iTo do
begin
ix := i;
if isPalindrom(ix) and isPalindrom(ix * ix) {} then
begin
Memo1.Lines.Add(Format('%d <--> %d', [ix, ix * ix]));
Memo1.SelStart := Length(Memo1.Text);
ProgressBar1.Position := i;
Application.ProcessMessages;
end;
end;
ProgressBar1.Position := i;
Button1.Enabled := True;
end;
Продолжение программного кода Unit1:
procedure TForm1.N2Click(Sender: TObject);
Информация о работе Разработка программного продукта для работы с числами палиндромами