- связь входов и выходов системы с основными процессами (операциями)
обработки данных может показываться с помощью схем Н1РО;
- состав проектируемой автоматизированной системы (ее подсистемы, функ
ции) может быть изображен с помощью наглядных таблиц содержания;
- по каждой функции системы необходимо показать с использованием струк
турных средств: входы - функция - выходы (экранные формы, документы);
- логическая схема создаваемой базы данных может быть представлена в
виде ЕВ-диаграммы;
- при проектировании программной системы следует руководствоваться
принципом абстракции (уровни абстракции Дейкстры) и методом иерархической де
тализации;
- для представления архитектуры создаваемой программной системы реко
мендуются структурные схемы;
- должна быть проведена декомпозиция программной системы; при проекти
ровании состава программной системы должны использоваться принципы модуль
ного профаммирования;
- алгоритмы модулей рекомендуется представлять с помощью схем дейст
вий;
- кодирование модулей должно выполняться средствами структурного про
граммирования (в частности, должны использоваться только канонические конструк
ции структурного программирования, структурная запись программ);
- тексты исходных модулей должны быть документированы и содержать
комментарии;
6
• тесты для испытаний модулей следует разрабатывать на основе деревьев
и таблиц решений; план испытаний должен отражать их многоуровневую структуру и
базироваться на методах функционального и структурного тестирования;
• план приемо-сдаточных испытаний должен включать условия проведения
испытаний, ожидаемые результаты по каждой функции системы с учетом требова
ний к программным средствам;
• словарь типов данных системы должен содержать не менее 3-4-х статей.
Исходными данными для каждого проекта служат конкретные характеристики
реального информационного объекта, для которого создается автоматизированная система, как, например, банк, библиотека, железнодорожный вокзал, склад, метрополитен и т.п.
Студентами изучаются технологии и операции, имеющие место в существующей неавтоматизированной системе, информационные потоки (документооборот) с выявлением количественных и временных характеристик, с указанием источников и получателей информации, входных и выходных документов, анализируются последовательности операций обработки и требований к оперативности, надежности, точности.
3. Содержание курсового проекта
Курсовой проект должен содержать следующие обязательные составляющие: 1. Техническое задание на разработку программного изделия с приложениями:
• Описание существующей информационной (неавтоматизированной) систе
мы, снабженное описанием информационных потоков (документооборота) с поопе
рационным описанием выполнения основных функций технологического процесса с
привязкой к соответствующим формам документов. Документопотоки должны быть
снабжены сведениями о количественных и временных характеристиках потоков, о
источниках и приемниках информации.
• Описание концепции проектируемой автоматизированной системы, полу
ченное на основе сравнительного анализа вариантов решения поставленной про
блемы. Развернутые и подробные требования пользователя.
• Технико-экономическое обоснование целесообразности разработки про
граммного изделия. Демонстрация осуществимости системы на основе анализа за
трат на разработку и выгод от ее внедрения. Результаты расчета трудозатрат, рас
пределение усилий по этапам разработки.
• Структурная модель системы, построенная на основе схем потоков данных
в проектируемой системе. Схемы потоков данных с подробной детализацией. Опре
деление подсистем и функций, включая функции обеспечения защиты и безопасно
сти системы. Описание с использованием структурных средств каждой функции и
подфункции с указанием входов и выходов.
• Требования к программному изделию. Описание приводится в соответствии
с принятыми категориями и метриками требований.
(^^Архитектура программного комплекса на уровне физической модели совокупности модулей, реализующих программное изделие.
V/ ^Внутренние спецификации модулей с кратким и точным описанием алгоритма решения каждой задачи. Описание логики наиболее интересных алгоритмов с использованием структурных средств.
\^ /ЗЛГДокументированные тексты программных модулей и программы на магнитном носителе. База данных должна содержать не менее 50 записей каждого типа.
5. План приемо-сдаточных испытаний с тестовыми наборами данных по каждой функции системы и по требованиям к программному изделию. Дополнительно план иллюстрируется результатами прогонов тестов (контрольный пример).
Гб/Руководство пользователя программного изделия.
(При м е ч а н и е . Подробное описание содержания работ и основных документов представлено в приложении 1.
4. Организация курсового проектирования
При выполнении данного курсового проекта используется бригадная форма организации работ, являющаяся в практике разработки программных изделий общепринятой и наиболее эффективной. Каждая бригада (2-3 студента) получает отдельное задание согласно выбранной теме (список тем приведен в разделе 1); тема может быть предложена и студентами с обоснованием целесообразности ее разработки. Работу бригады возглавляет главный программист, остальные выполняют роль программистов, на одного из членов бригады возлагается роль секретаря (библиотекаря). За каждым членом бригады закрепляется выполнение конкретных работ и оформление соответствующей системной и пользовательской документации.
Задание на курсовой проект выдается в 5-м семестре, в котором предполагается разработка и согласование требований пользователя. В этом же семестре разрабатывается модель базы данных и создается прототип, который рассматривается в качестве последней лабораторной работы семестра.
Выданное бригаде задание уточняется, конкретизируется, согласовывается с преподавателем в ходе разработки технического задания на систему. Одновременно определяется состав модулей проектируемой системы, которые распределяются для разработки и отладки между членами бригады.
Техническое задание разрабатывается бригадой студентов в течение первого месяца 6-го семестра. Утвержденное преподавателем после согласования техническое задание является для студентов руководящим документом для дальнейшей работы над проектом.
Работа по анализу и проектированию, не требующая использования машинного времени, выполняется вне учебного расписания, т.е. в личное время студентов.
Студенты изучают реальные информационные объекты (библиотеки, склады, вокзалы и т.п.), практику их работы как на основе литературных источников, информационных материалов, бюллетеней, так и с помощью "натуральных исследований" (посещений соответствующих объектов, опросов, анкетирования).
Учитывая большой объем работ по программированию, отладке и тестированию необходимых программных модулей, отдельные задания на лабораторные работы в 6-м семестре не выдаются. Лабораторные работы выполняются и защищаются как промежуточные этапы курсового проекта. Отладка программ и их компоновка проводятся на ПЭВМ во время, выделенное для лабораторных работ, в присутствии преподавателя.
Дополнительное машинное время для курсового проектирования выделяется группам по соответствующим заявкам. В это время студенты работают самостоятельно, без преподавателя.
В согласованное с группами время преподаватель проводит консультации бригад, согласовывает и принимает решения по проектированию программной системы, проводит промежуточную защиту подготовленных материалов.
Контроль за работой над проектом осуществляется в сроки, установленные в техническом задании.
График выполнения курсового проекта (перечень работ)
Завершение работы (неделя) | Содержание работ |
2 | Уточнение и согласование исходного задания. |
4 | Анализ предметной области и документопотоков в системе, спецификация требований пользователя. |
5 | Определение требований к программному изделию. |
6 | Технико-экономическое обоснование и оценка осуществимости концепции выбранной информационной системы, определение трудозатрат на разработку. |
•: .-•: ; 7 | Системный структурный анализ потоков данных, определение архитектуры программного комплекса, структуры и содержания базы данных. |
: .8 • -•••••'-' • | Разработка и утверждение технического задания. |
9 | Разработка архитектуры программного комплекса, алгоритмов и спецификаций программных модулей. |
10 | Кодирование и автономная отладка программных модулей. |
11 | Оформление «Руководства пользователя». |
12 | Подготовка «Плана приемо-сдаточных испытаний». |
14 | Комплексная отладка программного изделия и оформление контрольного примера. |
16 | Оформление пояснительной записки и сдача ее на проверку. |
17 | Приемо-сдаточные испытания программного изделия и защита курсового проекта. |
Следует иметь в виду, что приведенный перечень работ и сроки их завершения достаточно ориентировочные, поскольку студенты могут использовать разные модели жизненного цикла программного изделия, например, с использованием прототипа или спиральной модели, либо использовать объектно-ориентированный подход. В каждом конкретном случае график должен конкретизироваться и уточняться. Однако основные пункты курсового проектирования, включающие окончательную разработку и утверждение технического задания, подготовку документов и написание пояснительной записки должны соблюдаться.