- •1. Общие методические указания
- •1.1. Цель и тематика курсовой работы
- •1.2. Системный анализ
- •1.3. Проектирование
- •1.3.1. Порядок применения объектно-ориентированного подхода
- •1.3.2. Система графических обозначений
- •1.4. Программирование
- •1.5. Тестирование
- •2. Пример разработки программной системы
- •2.1. Формулировка задачи
- •2.2. Системный анализ
- •2.3. Проектирование
- •2.3.1. Идентификация классов и объектов
- •2.3.2. Идентификация содержания классов
- •2.3.3. Идентификация связей между классами и объектами
- •2.3.4. Реализация классов и объектов
- •2.4. Программирование
- •2.5. Тестирование
- •3. Порядок выполнения работы
- •Приложение 1. Тексты программы учебного примера “Бильярд”
- •Приложение 2. Текст программы-драйвера
- •Приложение 3. Листинг тестирования
- •Список рекомендуемой литературы
-
Министерство общего и профессионального образования
Российской Федерации
Владимирский государственный университет
Кафедра информатики и вычислительной техники
ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ
Методические указания к курсовой работе
Составители:
И.Р.ДУБОВ
В.А.БАРКОВ
А.Г.ДОЛИНИН
Владимир 1999
УДК 681.326(076.5)
Рецензент доктор технических наук, профессор Владимирского государственного университета В.Н.Ланцов
Печатается по решению редакционно-издательского совета Владимирского государственного университета.
Технология программирования: Метод. указания к курс. работе / Владим. гос. ун-т; Сост.: И.Р.Дубов, В.А.Барков, А.Г.Долинин. Владимир, 1999. 48 с.
Изложен порядок выполнения курсовой работы по дисциплине "Технология программирования". Предлагаемое задание имеет целью сформировать представление о взаимосвязи различных стадий единого процесса проектирования сложных программных систем. В основу выполнения работы положен объектно-ориентированный подход. Рассматриваются особенности системного анализа, проектирования, программирования и тестирования.
Предназначены для студентов специальности 2201 дневной формы обучения.
Библиогр.: 6 назв.
УДК 681.326(076.5)
1. Общие методические указания
1.1. Цель и тематика курсовой работы
Цель выполнения данной курсовой работы - формирование представления о взаимосвязи различных стадий единого процесса проектирования сложных программных систем. В результате выполнения работы студенты должны получить практические навыки реализации основных стадий разработки: системного анализа, проектирования, программирования и тестирования. Варианты курсовой работы выбираются из различных предметных областей таким образом, чтобы разрабатываемое программное обеспечение имело признаки сложной системы.
1.2. Системный анализ
Объектно-ориентированный анализ предметной области заключается в идентификации и моделировании основных классов и объектов, логических отношений и взаимодействий между ними. В процессе анализа (внешнего проектирования) выполняются следующие действия:
1. Определение границ предметной области посредством формирования словаря предметной области.
2. Анализ предметной области:
формализация реального состояния задачи;
определение внешних событий;
моделирование частей будущей системы.
3. Создание прототипа, если это необходимо.
При объектно-ориентированном анализе большинство понятий, которые являются кандидатами в классы, могут быть отнесены к одной из категорий: абстракция существования предмета в физическом мире (реальный объект); абстракция цели или назначения (роль); абстракция чего-либо произошедшего или случившегося (событие); класс объектов, получаемых из отношений между другими объектами (взаимодействие).
На стадии системного анализа формулируются цели и назначение разработки, определяются методы решения, моделируются основные алгоритмы. Главный результат данного этапа - техническое задание на проектирование, в котором изложены требования к разрабатываемой системе. Список требований включает:
- описание выполняемых системой функций;
- совокупность условий, при которых предполагается эксплуатировать будущую систему (аппаратные и программные ресурсы, предоставляемые системе; внешние условия ее функционирования; состав людей и работ, имеющих к ней отношение, и другие условия);
- ограничения в процессе разработки (директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия).
1.3. Проектирование
1.3.1. Порядок применения объектно-ориентированного подхода
Проектирование является процессом получения логической модели системы в соответствии с поставленными целями, а также составления спецификаций физической системы, удовлетворяющей заданным требованиям. На этом этапе выполняются следующие работы:
проектирование архитектуры программной системы: разработка структуры и интерфейсов компонентов, согласование функций и технических требований к компонентам, методам и стандартам проектирования, производство отчетных документов;
детальное проектирование: разработка спецификаций каждого компонента, интерфейсов между компонентами, разработка требований к тестам и плана интеграции компонентов.
Объектно-ориентированное проектирование состоит из следующих шагов, выполняемых итеративно:
идентификация новых классов и объектов;
идентификация содержания (сущностей) классов и объектов;
идентификация связей между классами и объектами;
реализация классов и объектов.
Шаг идентификации новых классов и объектов представляет собой процесс разработки механизмов, обеспечивающих требуемое поведение системы, в виде новых классов и объектов. В результате дополняется список имен классов и объектов.
При выполнении шага идентификации содержания классов и объектов фиксируются все статические и динамические свойства каждой абстракции, при этом каждый класс и объект анализируется с точки зрения перспективы его взаимодействия с другими классами и объектами. В результате уточняются спецификации и диаграммы.
Шаг идентификации связей между классами и объектами предполагает уточнение механизмов взаимодействия внутри системы. Для этого уточняются типы отношений между классами и объектами, корректируются протоколы классов для обеспечения взаимодействия объектов, определяются границы видимости классов и объектов. Результатом является завершение создания логических моделей проекта в таком виде, чтобы их можно было распределить по модулям.
На шаге реализации классов и объектов решается две задачи: принимается решение относительно включения в систему конкретных классов и объектов; распределяются классы и объекты по отдельным модулям, а программы по процессорам. В результате формируется архитектура системы в виде диаграмм модулей и процессов.