Курсовая

Курсовая Разработка программного продукта для работы с числами палиндромами

Работа добавлена на сайт bukvasha.net: 2015-10-25

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 13.1.2025





ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ФИЛИАЛ ВЛАДИВОСТОКСКОГО ГОСУДАРСТВЕННОГО

УНИВЕРСИТЕТА ЭКОНОМИКИ И СЕРВИСА В ГОРОДЕ АРТЁМЕ

КОЛЛЕДЖ

КАФЕДРА БУХГАЛТЕРСКОГО УЧЕТА И КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
УТВЕРЖДАЮ

Зав. кафедрой БУИТ

______________ А.А. Власенко
«___»__________________________2010г.
Курсовая работа

по дисциплине «Технология разработки программных продуктов»
Разработка программного продукта для работы с числами палиндромами
ВТ-08-01.135.000.КР
Студент

гр. ВТ-08-01                                                                  ____________________Р.М. Китаев
Руководитель                                                                ____________________А.И. Будников
Нормоконтроль                                                              ___________________О.С. Приходько
Артём 2009
Задание

Задание на курсовой проект:

Разработать программное обеспечение (ПО) и документацию к нему.
Этапы КП:

1              Определить требования к программному обеспечению.

2              Составить техническое задание (ТЗ). Не забудьте указать функции программы, имеющие отношение к функциональности программы.

3              Выбрать модель жизненного цикла разработки ПО. Необходимо обосновать выбор модели жизненного цикла для данной разработки и описать использованную модель применительно к данной разработке

4              Выполнить проектирование программного обеспечения. Варианты использования должны быть представлены как в графическом виде (диаграмма UML, блок-схема), так и в текстовом виде! Также разработать и другие диаграммы в нотации UML и сопроводить их текстовым описанием (диаграммы последовательности и кооперации, диаграмма классов, диаграммы состояний, диаграмма реализации).

5              Реализовать проект с помощью выбранного языка программирования.

6              Выполнить тестирование и отладку.

a.      Обосновать выбор подхода к тестированию (структурное или объектно-ориентированное). Определить этапы тестирования (модульное, интеграции, правильности, системное). На этапе модульного тестирования создать необходимые заглушки и драйверы (должны быть предоставлены в комплекте с остальными файлами при сдаче КР). На этапе тестирования интеграции описать порядок подключения модулей. Какому методу тестирования (восходящее, нисходящее, комбинированное тестирование) соответствует выбранный порядок?

b.         Необходимо привести контрольный лист тестирования отдельных модулей (с использованием драйверов и заглушек) и основных функций программного обеспечения в целом. Кроме успешных сеансов тестирования, когда ошибки не обнаружены, также требуется описать выявление и исправление нескольких ошибок. Для этого ответьте на следующие вопросы. Что в поведении Вашей программы не так, как ожидалось, из чего Вы сделали вывод, что программа содержит ошибку(и)? Как Вы определили, в чем заключается эта ошибка и где в коде она допущена (местоположение, локализация ошибки)? Какие гипотезы о природе ошибки Вы выдвинули? Как Вы проверяли правильность выдвинутых гипотез? Использовали ли Вы аварийную печать, печать в контрольных точках и слежение за значениями переменных для получения дополнительных данных в поисках противоречий выдвинутым гипотезам? Какие исправления Вы внесли в код для устранения ошибки?

7.                  Разработать документацию к ПО (документы следует начать составлять на начальном этапе разработки и дорабатывать в течение всего проекта по мере разработки ПО). В начале каждого документа приводить его содержание. В руководстве оператора отметить реализацию требований, указанных в ТЗ.

8.                  Оформить пояснительную записку.
Пояснительная записка должна включать следующие разделы:

-       Содержание.

-       Введение.

-       Анализ предметной области.

-       Техническое задание.

-       Проектирование программного продукта (диаграмма UML, блок-схема).

-       Тестирование и отладка.

-       Описание программы (программный код).

-       Руководство оператора.

-       Оценка проекта.

-       Модель жизненного цикла.

-       Литература.
-       Оценка КП

-       Снижение количества баллов и оценки осуществляется в следующих случаях:

-       несвоевременное выполнение работы;

-       отсутствие какого-либо раздела;

-       наличие ошибок в разделах курсового проекта;

-       некачественное выполнение работы, в том числе небрежность в оформлении;

-       несамостоятельное выполнение работы.

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

Определяющим этапом при выставлении оценки является защита курсового проекта.

На каждом практическом занятии по КП необходимо показать выполненную работу, которая будет оцениваться согласно таблице, приведенной ниже. Полученные баллы будут выставлены при аттестации.

Вид работ

Балл

Получение задания на курсовой проект

2

Анализ задания на курсовой проект. Определение требований к программному продукту. Составление технического задания

10

Проектирование программного обеспечения. Моделирование с помощью диаграмм UML

17

Кодирование. Тестирование и отладка программы

13

Документирование

16

Модель жизненного цикла

12

Оформление пояснительной записки к курсовому проекту и сдача курсового проекта преподавателю на проверку (сдается пояснительная записка и программа)

10

Защита курсового проекта

20

Итого

100


Аннотация

В данной курсовой работе был показан метод разработки программного продукта  реализующего поиск всех чисел палиндромов в указанном интервале, которые при возведении в квадрат дают палиндромы. Палиндромы – это числа, которые одинаковы в прямой и обратной записи с применением компьютера. Для разработки программы была использована среда разработки Delphi.

Курсовая работа состоит из двух глав: первая глава состоит из … страниц, в ней описывается способ определения оптимального метода разработки программного продукта, метод разработки программного продукта. Вторая глава состоит из … страниц в ней описан процесс разработки программного продукта.
Содержание

1.

1.1

1.2

                                                                      



Введение

На сегодняшний день умение работать в среде разработки Delphi является ценным качеством для специалиста-программиста, поэтому для программиста необходимо разрабатывать навыки работы в данной среде, что, в свою очередь, поможет ему быть востребованным на рынке.

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

Целью работы является научится разрабатывать программный продукт, определять его жизненный цикл, составлять техническое описание, работать со средой разработки Delphi.

Задачи курсовой работы:

-     спецификация - определение требований к программе;

-     разработка алгоритма - определить последовательность действий, которые надо выполнить для получения результата;

-     кодирование – записать алгоритм на выбранном языке программирования;

-     отладка - процесс поиска и устранения ошибок;

-     тестирование - проверить, как ведет себя программа на как можно большем количестве входных наборов данных;

-     создание справочной системы - создать справочную систему и обеспечить пользователю удобный доступ к справочной информации во время работы;

-     создание установочного диска - установочный диск или CD-ROM создаются для того, чтобы пользователь мог самостоятельно, без помощи разработчика, установить программу на свой компьютер.


1

1.1 Среда разработки программного продукта

Delphi - это комбинация нескольких важнейших технологий:

-       высокопроизводительный компилятор в машинный код

-       объектно-ориентированная модель компонент

-       визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов

-       масштабируемые средства для построения баз данных

Основной упор  модели в Delphi делается на то, чтобы максимально производительно использовать код. Это позволяет очень быстро разрабатывать приложения, так как уже существуют заранее подготовленные объекты. А так же вы можете создавать свои собственные объекты, без каких-либо ограничений. Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.

В стандартную поставку Delphi входят основные объекты из 270 базовых классов. На этом языке очень удобно писать, как приложения к базам данных, так даже и игровые программы. Если принять во внимание и удобный интерфейс для создания графических оболочек, то можно с уверенностью заявить что язык Delphi – это очень доступный для понимания, но в то же время и очень мощный язык программирования.

Среди пользователей самой популярной операционной системой является Windows. И для разработчика несомненно очень важно, чтобы писать программы именно для этой оболочки. До недавнего времени практически все программы для этого пакета операционных систем на Borland С++, который в своё время мог освоить только пользователь с большим опытом программирования и требовал сёрьёзных знаний в теории.

Бурное развитие информационных технологий требовало качественной и быстрой разработке программного обеспечения. Именно для таких разработок проявил себя Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, и вам не надо будет думать над программным кодом и реализацией  стандартных задач, все что вам требуется это подключить определённый модуль (в зависимости от задачи) и правильно построить интерфейс программы.

По оценкам программистов седьмая версия идеально  подходит для того чтобы начать создавать свои собственные программы и приложения. Как и предыдущие версии, Borland Delphi 7 Studio позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы. Отличительной особенностью седьмой версии является поддержка технологии .NET.

Сайт, который посвящён программированию в конкретной среде разработки, необходим баланс между тремя линиями — языком программирования, техникой и технологией программирования (программированием как таковым) и средой разработки. Уже при первом знакомстве со средой разработки, представлении ее возможностей у автора возникает проблема: чтобы описать процесс разработки программы, объяснить, как работает программа, нужно оперировать такими терминами, как объект, событие, свойство, понимание которых на начальном этапе изучения программирования весьма проблематично. Приступаем к описанию языка, а затем приступить к описанию среды разработки и процесса программирования в Delphi. Очевидно, что это не лучший вариант. Поэтому при изложении материала принят подход, в основу которого положен принцип соблюдения баланса между языком программирования, методами программирования и средой разработки. Во введении изложены некоторые понятия, без которых просто невозможно изложение материала, даются на уровне определений.

Рассмотрим весь процесс создания программы: от разработки диалогового окна и функций обработки событий до создания справочной системы и установочного диска.

Цель изложенных материалов может быть сформулирована так: научить программировать в среде Delphi, т. е. создавать законченные программы различного назначения: от простых однооконных приложений до вполне профессиональных программ работы с базами данных.

В заключении хотелось бы отметить для того чтобы максимально хорошо научиться программировать необходимо реализовывать как можно больше примеров описанных на нашем сайте, что научит вас в дальнейшем не делать ошибки. Реализовывайте, как можно больше программ, экспериментируйте и вы всего добьетесь.

1.2 Rapid application development

RAD (от англ. rapid application development — быстрая разработка приложений) — концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования, созданию технологического процесса, позволяющего программисту максимально быстро создавать компьютерные программы. С конца XX века RAD получила широкое распространение и одобрение. Концепцию RAD также часто связывают с концепцией визуального программирования.

Основными принципами RAD являются:

-       Инструментарий должен быть нацелен на минимизацию времени разработки.

-       Создание прототипа для уточнения требований заказчика.

-       Цикличность разработки: каждая новая версия продукта основывается на оценке результата работы предыдущей версии заказчиком.

-       Минимизация времени разработки версии, за счёт переноса уже готовых модулей и добавления функциональности в новую версию.

-       Команда разработчиков должна тесно сотрудничать, каждый участник должен быть готов выполнять несколько обязанностей.

1.    Управление проектом должно минимизировать длительность цикла разработки.

Концепция RAD стала ответом на неуклюжие методы разработки программ 1970-х и начала 1980-х годов, такие как «модель водопада» (англ. Waterfall model). Эти методы предусматривали настолько медленный процесс создания программы, что зачастую даже требования к программе успевали измениться до окончания разработки. Основателем RAD считается сотрудник IBM Джеймс Мартин, который в 1980-х годах сформулировал основные принципы RAD, основываясь на идеях Барри Бойма и Скотта Шульца. А в 1991 году Мартин опубликовал известную книгу, в которой детально изложил концепцию RAD и возможности её применения. В настоящее время RAD становится общепринятой схемой для создания средств разработки программных продуктов.

1.3 Графический интерфейс пользователя

Графический интерфейс пользователя (ГИП), графический пользовательский интерфейс (ГПИ) (англ. Graphical user interface, GUI; сленг. ГУИ, ГУЙ) — разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т.п.), представленные пользователю на дисплее, исполнены в виде графических изображений.

В отличие от интерфейса командной строки, в ГПИ пользователь имеет произвольный доступ, с помощью устройств ввода (клавиатуры, мыши и т.п.), ко всем видимым экранным объектам (элементам интерфейса) и осуществляется непосредственное манипулирование ими. Чаще всего элементы интерфейса в ГУИ реализованы на основе метафор и отображают их назначение и свойства, что облегчает понимание и освоение программ пользователями.

Впервые концепция ГИП была предложена учеными из исследовательской лаборатории Xerox PARC в 1970-х.

В 1973 году в лаборатории Xerox PARC собрали молодых учёных и дали свободу исследований. В результате, кроме всего прочего, на свет появляется концепция графического интерфейса WIMP (Windows, Icons, Menus, Point-n-Click).[1] В рамках этой концепции создаётся компьютер Alto.

В 1979 году Three Rivers Computer Company выпускает рабочую станцию PERQ, похожую по принципам построения на Alto. В 1981 Xerox выпускает продолжение Alto — Star.

Коммерческое воплощение концепция ГИП получила в продуктах корпорации Apple Computer. В операционной системе AmigaOS ГИП с многозадачностью был использован в 1985 году. В настоящее время ГИП является стандартной составляющей большинства доступных на рынке операционных систем и приложений.

Примеры систем, использующих ГИП: Mac OS, Solaris, GNU/Linux, Microsoft Windows, NeXTSTEP, OS/2, BeOS.

Можно выделить следующие виды ГИП:

- простой: типовые экранные формы и стандартные элементы интерфейса, обеспечиваемые самой подсистемой ГИП;

- истинно-графический, двумерный: нестандартные элементы интерфейса и оригинальные метафоры, реализованные собственными средствами приложения или сторонней библиотекой;

- трёхмерный: на данный момент слабо классифицирован.

Одним из требований к хорошему графическому интерфейсу программной системы является концепция «делай то, что я имею в виду» или DWIM (англ. Do What I Mean). DWIM требует, чтобы система работала предсказуемо, чтобы пользователь заранее интуитивно понимал, какое действие выполнит программа после получения его команды.

Графический интерфейс пользователя (Graphical User Interface, GUI) это система средств для взаимодействия пользователя с устройством, основанная на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана (окон, кнопок, полос прокрутки и т. п.). При работе с GUI пользователь имеет произвольный доступ (с помощью клавиатуры или устройств координатного ввода, например, touch-screen) ко всем видимым экранным объектам. Впервые графический интерфейс пользователя был реализован в операционных системах персональных компьютеров, но сейчас элементы GUI стали неотъемлемой частью даже простых бытовых и медицинских приборов, сотовых телефонов, устройств промышленной автоматики и многих других. Поскольку графический интерфейс становится все более и более востребованным, то становится очевидным желание разработчиков интегрировать элементы GUI в свои устройства. Естественно, что разработчики заинтересованы в снижении стоимости готового устройства, но для многих практическая реализация сложного графического интерфейса пользователя становится затруднительной задачей, так как требует много усилий и времени для создания собственной библиотеки или покупки готовых программных продуктов сторонних фирм.

Компания Microchip, ведущий производитель микроконтроллеров, известна своими решениями позволяющими снизить затраты как на разработку, так и общую стоимость изделия благодаря комплексному подходу к реализации проекта. Бесплатная графическая библиотека Microchip позволяет легко реализовать графический интерфейс пользователя с использованием 16-и разрядных микроконтроллеров PIC24 и цветных QVGA дисплеев.

Бесплатная графическая библиотека Microchip может обслуживать как монохромные индикаторы, так и многоцветные CSTN/TFT (16, 256 и 65тыс. цветов) дисплеи, имеющие параллельный или последовательный (I2C или SPI) интерфейс связи с микроконтроллером. Применение индикатора с контроллером и графической памятью позволяет минимизировать требования по памяти, быстродействию и числу выводов управляющего микроконтроллера, поэтому, графическим цветным TFT-модулем может управлять даже дешевый, например, 28-выводный контроллер PIC24FJ32GA002 с 32КБ Flash памятью программ и 4КБ ОЗУ.

Библиотека разделена на три уровня: графические объекты (Graphics Objects Layer – GOL), графические примитивы (Graphics Primitive Layer) и драйвера устройств (Device Driver Layer). Уровень графических объектов содержит средства создания и управления сложными графическими объектами, которые, в свою очередь, создаются с помощью платформонезависимых графических примитивов, таких как линия, прямоугольник, окружность и т.п. Драйвера устройств специфичны для конкретного дисплея и предоставляют основные функции для более высоких уровней библиотеки.

Архитектура графической библиотеки Microchip.

-          Application Layer – пользовательская программа, которая использует графическую библиотеку.

-          User Message Interface – этот уровень должен быть создан пользователем для предоставления сообщений библиотеке. Графическая библиотека поддерживает передачу сообщений с помощью клавиатуры или touch-панели индикатора.

-          Graphics Object Layer – этот уровень отрисовывает такие элементы управления как кнопки, слайдеры, окна и т.д.

-          Graphics Primitives Layer – этот уровень реализует простейшие графические объекты (линии, прямоугольники, окружности и т.п.).

-          Device Display Driver – этот уровень управляет индикатором и зависит от типа применяемого дисплея.

-          Graphics Display Module – графический дисплей.

Каждый тип дисплея имеет свои характеристики (интерфейс связи, графический контроллер). Для связи библиотеки с дисплеем определен набор функций – драйвер дисплея. Текущая версия графической библиотеки (версия 1.0 на момент написания статьи) поддерживает несколько типов графических контроллеров Samsung S6D0129/S6D0139, Renesas R61505U, Solomon Systech SSD1339, LG LGDP4531 и Densitron HIT1270, однако возможна поддержка и других контроллеров, для этого из всей библиотеки нужно модифицировать лишь функции драйверов устройств. Доступность библиотеки в исходных кодах позволяет осуществить поддержку дисплеев с различными графическими контроллерами.

Программный интерфейс приложения уровня драйверов дисплея используется для сброса дисплея, определения размеров экрана, выделения области, установки текущего цвета и реализации аппаратно-зависимых функций для работы с дисплеем.

Графическая библиотека Microchip написана для работы с 16-и разрядными микроконтроллерами PIC24F и 32-х разрядными PIC32, которые имеют интегрированный параллельный мастер-порт (Parallel Master Port – PMP). Наличие параллельного мастер порта (PMP) в микроконтроллерах Microchip позволяет осуществить быстрый обмен данными между микроконтроллером и дисплеем. Большой объем памяти микроконтроллеров (до 512Кб) и широкий набор периферии (по 2 USART, SPI, I2C, часы реального времени, модуль вычисления CRC), делает контроллеры PIC24F и PIC32MX идеальными для широкого класса приложений.

В состав библиотеки входят подробные примеры использования графической библиотеки с PIC контроллерами Microchip. При задействовании всех функций библиотеки требуется примерно 24Кб программной памяти. Каждый объект динамически выделяет от 2 до 24 Байт ОЗУ, таким образом, графическим цветным TFT-индикатором может управлять даже дешевый, 28-и выводный контроллер PIC24FJ32GA002 с 32КБ Flash памятью программ и 4КБ ОЗУ. При необходимости, пользовательские шрифты и картинки могут храниться во внешней энергонезависимой памяти.

Библиотека разработана для легкой интеграции графического интерфейса в разрабатываемое устройство. Использование готовых графических объектов требует от программиста минимального количества строк кода. Библиотека содержит хорошо документированный API, с применением которого, можно создавать и управлять работой графических объектов. Обычно, поведение графического объекта управляется библиотекой. Управление поведением объекта облегчено реализацией механизма передачи сообщений, описанного ранее. Полученные сообщения обрабатываются и состояние объекта изменяется на основании содержания сообщения. Библиотека автоматически меняет вид объекта и перерисовывает его на экране дисплея.

Графическая библиотека Microchip написана для работы с 16-и разрядными микроконтроллерами PIC24F и 32-х разрядными PIC32, которые имеют интегрированный параллельный мастер-порт (Parallel Master Port – PMP). Наличие параллельного мастер порта (PMP) в микроконтроллерах Microchip позволяет осуществить быстрый обмен данными между микроконтроллером и дисплеем. Большой объем памяти микроконтроллеров (до 512Кб) и широкий набор периферии (по 2 USART, SPI, I2C, часы реального времени, модуль вычисления CRC), делает контроллеры PIC24F и PIC32MX идеальными для широкого класса приложений.

В состав библиотеки входят подробные примеры использования графической библиотеки с PIC контроллерами Microchip. При задействовании всех функций библиотеки требуется примерно 24Кб программной памяти. Каждый объект динамически выделяет от 2 до 24 Байт ОЗУ, таким образом, графическим цветным TFT-индикатором может управлять даже дешевый, 28-и выводный контроллер PIC24FJ32GA002 с 32КБ Flash памятью программ и 4КБ ОЗУ. При необходимости, пользовательские шрифты и картинки могут храниться во внешней энергонезависимой памяти.

Библиотека разработана для легкой интеграции графического интерфейса в разрабатываемое устройство. Использование готовых графических объектов требует от программиста минимального количества строк кода. Библиотека содержит хорошо документированный API, с применением которого, можно создавать и управлять работой графических объектов. Обычно, поведение графического объекта управляется библиотекой. Управление поведением объекта облегчено реализацией механизма передачи сообщений, описанного ранее. Полученные сообщения обрабатываются и состояние объекта изменяется на основании содержания сообщения. Библиотека автоматически меняет вид объекта и перерисовывает его на экране дисплея.

Определить требования к программному обеспечению.

Что это такое, как отпределяются ко всем ПП. + определить требования к разработанному студентом

Техническое задание

-     спецификация - определение требований к программе;

-     разработка алгоритма - определить последовательность действий, которые надо выполнить для получения результата;

-     кодирование – записать алгоритм на выбранном языке программирования;

-     отладка - процесс поиска и устранения ошибок;

-     тестирование - проверить, как ведет себя программа на как можно большем количестве входных наборов данных;

-     создание справочной системы - создать справочную систему и обеспечить пользователю удобный доступ к справочной информации во время работы;

-     создание установочного диска - установочный диск или CD-ROM создаются для того, чтобы пользователь мог самостоятельно, без помощи разработчика, установить программу на свой компьютер.

Не забудьте указать функции программы, имеющие отношение к функциональности программы.
Модель жизненного цикла ПП

Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Каскадная модель жизненного цикла («модель водопада», англ. waterfall model) была предложена в 1970 г. Уинстоном Ройсом. Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.

Этапы проекта в соответствии с каскадной моделью:

-                   Формирование требований;

-                   Проектирование;

-                   Реализация;

-                   Тестирование;

-                   Внедрение;

-                   Эксплуатация и сопровождение.определение потребностей;

-                   исследование и описание основных концепций, необходимых для разработки данного ПП;

-                   проектирование и разработка ПП;

-                   испытание ПП;

Спиральная модель (англ. spiral model) была разработана в середине 1980-х годов Барри Боэмом. Она основана на классическом цикле Деминга PDCA (plan-do-check-act). При использовании этой модели ПО создается в несколько итераций (витков спирали) методом прототипирования.

Прототип — действующий компонент ПО, реализующий отдельные функции и внешние интерфейсы. Каждая итерация соответствует созданию фрагмента или версии ПО, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации.

На каждой итерации оцениваются:

риск превышения сроков и стоимости проекта;

необходимость выполнения еще одной итерации;

степень полноты и точности понимания требований к системе;

целесообразность прекращения проекта.

Один из примеров реализации спиральной модели — RAD (англ. Rapid Application Development, метод быстрой разработки приложений).

К развитию итерационной модели, сближению и появлению современного итерационного подхода, который представляет рациональное сочетание этих моделей привело естественное развитие каскадной и спиральной моделе. Различные варианты итерационного подхода реализованы в большинстве современных технологий и методов (RUP, MSF, XP).

Была выбрана каскадная модель жизненного цикла поскольку, разрабатывая данный продукт, мы не планировали его последующего серийного выпуска.

-       определение потребностей – определялось то, что мы хотим разработать;

-       исследование и описание основных концепций, необходимых для разработки данного ПО – на данном этапе изучалась среда и способы, с помощью которых можно было разработать ПО, а именно: лекционные и практические занятия по предмету «Технология разработки программных продуктов», специализированные учебные пособия по среде разработки Delphi;

-       проектирование и разработка – сначала была разработана блок-схема для создаваемого программного продукта, затем на ее основе данный ПП был разработан в среде разработки Delphi;

-       испытание ПП – была проведена проверка на наличие ошибок и последующая отладка.
Глава 2

Выполнить проектирование программного обеспечения. Варианты использования должны быть представлены как в графическом виде (диаграмма UML, блок-схема), так и в текстовом виде! Также разработать и другие диаграммы в нотации UML и сопроводить их текстовым описанием (диаграммы последовательности и кооперации, диаграмма классов, диаграммы состояний, диаграмма реализации).
Реализовать проект с помощью выбранного языка программирования.
Выполнить тестирование и отладку.
Обосновать выбор подхода к тестированию (структурное или объектно-ориентированное). Определить этапы тестирования (модульное, интеграции, правильности, системное). На этапе модульного тестирования создать необходимые заглушки и драйверы (должны быть предоставлены в комплекте с остальными файлами при сдаче КР). На этапе тестирования интеграции описать порядок подключения модулей. Какому методу тестирования (восходящее, нисходящее, комбинированное тестирование) соответствует выбранный порядок?
Необходимо привести контрольный лист тестирования отдельных модулей (с использованием драйверов и заглушек) и основных функций программного обеспечения в целом. Кроме успешных сеансов тестирования, когда ошибки не обнаружены, также требуется описать выявление и исправление нескольких ошибок. Для этого ответьте на следующие вопросы. Что в поведении Вашей программы не так, как ожидалось, из чего Вы сделали вывод, что программа содержит ошибку(и)? Как Вы определили, в чем заключается эта ошибка и где в коде она допущена (местоположение, локализация ошибки)? Какие гипотезы о природе ошибки Вы выдвинули? Как Вы проверяли правильность выдвинутых гипотез? Использовали ли Вы аварийную печать, печать в контрольных точках и слежение за значениями переменных для получения дополнительных данных в поисках противоречий выдвинутым гипотезам? Какие исправления Вы внесли в код для устранения ошибки?
Разработать документацию к ПО (документы следует начать составлять на начальном этапе разработки и дорабатывать в течение всего проекта по мере разработки ПО). В начале каждого документа приводить его содержание. В руководстве оператора отметить реализацию требований, указанных в ТЗ.


Заключение

В соответствии с заданием на курсовую работу  я разрабатывать программный продукт в среде разработки Delphi. Для достижения цели были решены следующие задачи:

-                   были определены требования к программе: ;

-                   был разработан алгоритм, который необходимо выполнить для получения результата;

-                   был записан алгоритм на языке программирования Delphi;

-                   была произведена отладка: ;

-                   была осуществлена проверка того, как ведет себя программа на как можно большем количестве входных наборов данных:

для диапазона от 10 до 50000 - результат положительный, …;

-                   была создана инструкция по эксплуатации ПП и сведения о программе;

-                   был создан установочный диск.
Список литературы

1.   Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. — Харьков: Фолио, Ростов н/Д: Феникс, 1997.
2.   Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. — М.: Мир, 1981.
3.   Вирт Н. Алгоритмы и структуры данных. — М.: Мир, 1989.

4.  Культин Н.Б. Программирование в Turbo Pascal и Delphi.— СПб.: BHV — Санкт-Петербург, 1998.

Братищенко В.В. Проектирование информационных систем. — Иркутск: Изд-во БГУЭП, 2004. — 84 с.
Приложения А


(обязательное)

Функция проверки числа




Диаграмма1

Приложения Б


(обязательное)

Поиск палиндромов

C:\Documents and Settings\Kit\Рабочий стол\Диаграмма1.jpeg

Приложения В


(обязательное)

Программный код модуля 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);

begin

 if savedialog1.execute then memo1.Lines.SaveToFile (savedialog1.filename)
end;
procedure TForm1.N3Click(Sender: TObject);

begin

  Form2.ShowModal;

end;
procedure TForm1.N5Click(Sender: TObject);

begin

Close;

end;
procedure TForm1.N7Click(Sender: TObject);

begin

  About.AboutBox.ShowModal;

end;
end.
Программный код Unit2:

unit Unit2;
interface
uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;
type

  TForm2 = class(TForm)

    Edit1: TEdit;

Продолжение программного кода Unit2:

    Button1: TButton;

    Label1: TLabel;

    Label2: TLabel;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;
var

  Form2: TForm2;
implementation
{$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;
  result := (_on = nn);
end;
Продолжение программного кода Unit2:

procedure TForm2.Button1Click(Sender: TObject);

var

  p: uint64;

begin
   p:=StrToInt(Edit1.Text);
   if isPalindrom(p)

     then Label1.Caption:='Число палиндром'

     else Label1.Caption:='Число не палиндром';
   if IsPalindrom(p*p)

     then Label2.Caption:='Квадрат числа палиндром'

     else Label2.Caption:='Квадрат числа не палиндром';
end;
end.
Программный код AboutBox:

unit About;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

  Buttons, ExtCtrls;
type

  TAboutBox = class(TForm)

    Panel1: TPanel;

    ProgramIcon: TImage;

    ProductName: TLabel;

    Version: TLabel;

    Copyright: TLabel;

    OKButton: TButton;
Продолжение программного кода AboutBox:

    Memo1: TMemo;

  private

    { Private declarations }

  public

    { Public declarations }

  end;
var

  AboutBox: TAboutBox;
implementation
{$R *.dfm}
end.
Общий программный код программного продукта Project1.dpr:

program Project1;
uses

  Forms,

  Unit1 in 'Unit1.pas' {Form1},

  Unit2 in 'Unit2.pas' {Form2},

  ABOUT in 'ABOUT.pas' {AboutBox};
{$R *.res}
begin

  Application.Initialize;

  Application.CreateForm(TForm1, Form1);

  Application.CreateForm(TForm2, Form2);

  Application.CreateForm(TAboutBox, AboutBox);

  Application.Run;

end.
Приложение Г

Таблица описания объекта Form1:



Объект

Свойства

События

Методы

Form 1

Caption: ‘Palindrome 666’ ClientHeight:  439

ClientWidth:  216

Height: 483

Left: 286

Top: 220

Width: 222

Menu: MainMenu1



Label1

Caption: ‘От

Height: 13

Left: 8

Top: 39

Width: 15





Label2

Caption: ‘До

Height: 13

Left: 121

Top: 39

Width: 17





Memo1

Height 326, Left 8, Top 80, Width 201





Button1

Caption: ‘Найти

Height: 25

Left: 8

Top: 8

Width: 201

OnClick: ButtonClick 1



Edit1

Height: 21

Left: 8

Text: 10

Top: 53

Width: 89





Edit2

Height :21

Left: 120

Text: 50000

Top: 53

Width: 89





ProgressBar

Height: 17

Left: 8

Step: 5

TabOrder: 4

Top: 412

Width: 201





XPManifest1







SaveDialog1

DefaultExt: .txt

Filter: ‘Текстовый файл’ | *.txt





MainMenu1







N1

Caption: ‘Файл’






Продолжение таблицы объекта Unit1:



N2

Caption: ‘Сохранить’

OnClick: N2Click











N3

Caption: ‘Проверка’

OnClick: N3Click











N4

Caption: ‘?’














Таблица описания Form2:



Form2

Caption: ‘Проверка

ClientHeight: 76

ClientWidth: 221

Height: 103

Left: 0

Top: 0

Width: 229





Button1

Caption: Проверить

Height: 21

Left: 135

TabOrder: 1

Top: 8

Width: 75

OnClick: Button1Click



Label1

Caption: ‘’

Height: 13

Left: 8

Top: 35

Width: 3





Label2

Caption: ‘’

Height: 13

Left: 8

Top: 54

Width: 3






Таблица описания объекта AboutBox:



AboutBox

Caption: ‘Палиндром 666’

ClientHeight: 267

ClientWidth: 297

Height: 292

Left: 200

Top: 108

Width: 303





OKButton

Caption: ‘ОК

Height: 25

Left: 111

TabOrder: 1

Top: 239

Width: 75






Продолжение таблицы описания объекта AboutBox:



Panel1

Caption: ‘ ’

Height: 225

Left: 8

TabOrder: 0

Top: 8

Width: 281





Copyright

Caption: ‘Copyright  2010’

Height: 13

Left: 0

Top: 144

Width: 281





Memo1

Height: 52

Left: 0

TabOrder: 0

Top: 173

Width: 281





ProductName

Caption: ‘Палиндром 2010’

Height:13

Left: 0

Top: 80

Width: 281





ProgramIcon

Height:74

Left: 0

Top: 0

Width: 281





Version

Caption: ‘Версия 666’

Height:13

Left: 112

Top: 112

Width: 58






Приложение Д



1. Биография Конструктор Георгий Семёнович Шпагин основные жизненные вехи
2. Курсовая Анализ финансовых результатов деятельности предприятия 5
3. Реферат на тему Othello Act 5 Analysis Essay Research Paper 2
4. Диплом на тему Право собственности в международном частном праве
5. Реферат на тему Великая Отечественная война начало характер цели основные периоды и события
6. Реферат на тему Digital MultiTrack Recording Essay Research Paper Digital
7. Диплом на тему Методика та організація формування звітної інформації для балансу підприємства аналіз і аудит
8. Тесты на тему Самоанализ деятельности учителя как основа управления процессом обучения математике
9. Реферат Антитрестовское законодательство США сущность и последствия
10. Реферат на тему Personal Writing After