
Программное обеспечение вычислительной техники и автоматизированных систем
Скачать курсовую: Программное обеспечение вычислительной техники и автоматизированных систем |
|||
|
Содержание курсовой работы
Введение
1. Цель и задачи курсового проектирования
2. Содержание и этапы курсового проектирования
3. Общие рекомендации по разработке ПО
Литература
Приложение 1. Техническое задание. Требования к содержанию и оформлению (ГОСТ 19.201-78)
Приложение 2. Виды программ и программных документов (ГОСТ 19.101-77)
Приложение 3. Обозначения программ и программных документов (ГОСТ 19.103-77)
Приложение 4. Основные надписи (ГОСТ 19.104-78)
Приложение 5. Общие требования к программным документам (ГОСТ 19.105-78)
Приложение 6. Требования к программным документам, выполненным печатным способом (ГОСТ 19.106-78)
Приложение 7. Спецификация (ГОСТ 19.202-78)
Приложение 8. Программа и методика испытаний (ГОСТ 19.301-79)
Приложение 9. Текст программы (ГОСТ 19.401-78)
Приложение 10.Описание программы (ГОСТ 19.402-78)
Приложение 11.Пояснительная записка (ГОСТ 19.404-79)
Приложение 12.Формуляр (ГОСТ 19.501-78)
Приложение 13.Описание применения (ГОСТ 19.502-78)
Приложение 14.Руководство системного программиста (ГОСТ 19.503-79)
Приложение 15.Руководство программиста (ГОСТ 19.504-79)
Приложение 16.Руководство оператора (ГОСТ 19.505-79)
Приложение 17.Ведомость эксплуатационных документов (ГОСТ 19.507-79)
Приложение 18.Руководство по техническому обслуживанию (ГОСТ 19.508-79)
Приложение 19.Форма титульного листа курсового проекта (работы)
Приложение 20.Использование формальных спецификаций.
Приложение 21.Организация графического интерфейса
Введение
Методические указания содержат общие требования и рекомендации к курсовому проектированию для студенов специальности 220400. В приложениях даны выдержки основных стандартов Единой системы программной документации (ЕСПД).
1. Цель и задачи курсового проектирования
Целью курсового проектирования является закрепление и углубление теоретических знаний и приобретение практических навыков по изучаемой дисциплине при разработке программного обеспечения (ПО) для заданной проблемы.
В задачи курсового проектирования входят:
- изучение особенностей конкретной предметной области, относящихся к теме курсового проекта (работы);
- анализ возможных подходов и методов решения с обоснованием выбранного подхода;
- выбор или разработка модели (математической, структурной, информационной и т.д.), необходимой для достижения цели;
- выбор эффективных алгоритмов с учетом их точности, устойчивости, сходимости и т.д.;
- разработка программного обеспечения;
- анализ полученных результатов работы ПО.
2. Содержание и этапы курсового проектирования
Курсовой проект (работа) должен включать оттестированное программное обеспечение и пояснительную записку. В зависимости от дисциплины в курсовой проект (работу) может быть включена графическая часть.
Пояснительная записка проекта (работы) должна иметь следующую структуру:
Титульный лист установленного образца (Приложение 19)
Техническое задание
Реферат (краткое содержание работы на русском и иностранном языке)
Содержание
Введение
1.Программная документация
2.Эксплуатационная документация
Заключение
Литература
Приложения
Во введении кратко описывается состояние вопроса, формулируются цель и задачи проекта (работы).
Программная документация может включать следующий комплекс документов [1]:
- техническое задание (ГОСТ 19.201-78), определяющее требования, предъявляемые к ПО, необходимые стадии и сроки разработки, виды испытаний (Приложение 1);
- спецификация (ГОСТ 19.202-78), содержащая состав ПО и документации на него (Приложение 7);
- программа и методика испытаний (ГОСТ 19.301-79), содержащая требования, подлежащие проверке при испытании ПО, а также порядок и методы их контроля (Приложение 8);
- тексты программ (ГОСТ 19.401-78) - записи программ с необходимыми коментариями (Приложение 9);
- описание программы (ГОСТ 19.402-78), в котором содержатся сведения о логической структуре и функционировании ПО (Приложение 10);
- пояснительная записка (ГОСТ 19.201-78), включающая общее описание алгоритмов и функционирования ПО (Приложение 11).
Эксплуатационная документация может включать следующий комплекс документов [1]:
- ведомость эксплуатационных документов (ГОСТ 19.507-79) - перечень эксплуатационных документов на ПО (Приложение 17);
- формуляр (ГОСТ 19.501-78), который определяет основные характеристики ПО, комплектность и сведения об эксплуатации (Приложение 12);
- описание применения (ГОСТ 19.502-78), в котором содержаться сведения о назначении, области применения ПО, методах и классе решаемых задач (Приложение 13);
- руководство системного программиста (ГОСТ 19.503-79), включающее сведения для проверки, обеспечения функционирования и настройки программ на условия конкретного приложения (Приложение 14);
- руководство программиста (ГОСТ 19.504-79), содержащее сведения, необходимые для эксплуатации ПО (Приложение 15);
- руководство оператора (ГОСТ 19.505-79) - сведения, необходимые для обеспечения процедуры общения оператора с ЭВМ в процессе выполнения (работы) ПО (Приложение 16);
- руководство по техническому обслуживанию (ГОСТ 19.508-79) - содержит описание применяемых тестовых и диагностических программ при обслуживании технических средств (Приложение 18).
Заключение включает основные выводы и перспективы дальнейшего развития защищаемого ПО.
В графической части курсового проекта (работы) могут быть представлены следующие результаты:
- функциональная структура ПО, показывающая функциональное назначение всей программы и ее отдельных частей;
- модульная (иерархическая) структура ПО, фиксирующая результаты проектирования ПО;
- диаграммы наследования, зависимостей, классов и структур классов ПО, фиксирующие результаты объектно-ориентированного проектирования ПО [2];
- схемы алгоритмов, иллюстрирующих основные методы и алгоритмы, реализованные в ПО;
- результаты работы ПО, показывающие наиболее типичные результаты в форме графиков, таблиц, примеров выходной документации и т.п.
Объем графической части может составлять 3-5 листов формата А1 для проекта и 1-2 - для работы.
Этапы выполнения и форма отчетности устанавливаются в методических указаниях по курсовому проектированию для конкретных дисциплин c учетом данных таблиц 1 и 2.
3. Общие рекомендации по разработке ПО
Разработка ПО является определяющим элементом курсового проектирования и может вестись с использованием лавинообразной (рис.1.а) или итеративной (рис.1.б) моделей разработки [3,4,5].
Лавинообразная модель (модель "водопада" [5]) может быть использована для разработки ПО небольшого размера (до 10000 операторов исходного языка) с хорошо определенной алгоритмической базой.
Этапы жизненного цикла ПО
-------------------¬ -------------------¬ ¦ Анализ ¦ ----+ Анализ ¦ ¦ ¦ +---¦ ¦ ¦ L--------T---------- ¦ L------------------- -------------------¬ ¦ -------------------¬ ¦ Проектирование ¦ ¦---+Проектирование ¦ ¦ ¦ +---¦ ¦ ¦ L--------T---------- ¦ L------------------- -------------------¬ ¦ ¦ Программирование ¦ ¦ ¦ ¦ ¦ ¦ L--------T---------- ¦ -------------------¬ ¦ ¦---+ Эволюция ¦ ¦ +---¦ ¦ -------------------¬ ¦ L------------------- ¦ Тестирование ¦ ¦ ¦ и отладка ¦ ¦ L--------T---------- ¦ -------------------¬ ¦ -------------------¬ ¦ Сопровождение ¦ ¦---+ Модификация ¦ ¦ ¦ L---¦ ¦ ¦ L------------------- L-------------------
а) б)
а - традиционная лавинообразная модель
б - итеративная модель с использованием объектно ориентированного подхода
Целью этапа анализа является описание задачи, которое должно быть полным, последовательным, доступным для чтения и обзора различными заинтересованными сторонами, позволяющим производить сравнение с реальными условиями.
В ходе этого этапа решаются задачи:
- уточнение требований, приведенных в задании на проектирование;
- разработка спецификаций на ПО.
Итогом выполнения этого этапа являются эксплуатационные и функциональные спецификации, содержащие конкретное описание ПО.
Эксплуатационные спецификации должны содержать сведения о быстродействии ПО, затратах памяти, требуемых технических средствах, надежности и т.д. Функциональные спецификации определяют функции, которые должно выполнять ПО. Спецификации должны быть полными, точными и ясными.
Цель этапа проектирования - иерархическое разбиение сложной задачи создания ПО на подзадачи меньшей сложности.
На этапе проектирования решаются следующие задачи:
- формирование структуры ПО и разработка алгоритмов, задаваемых спецификациями;
- определение состава модулей с разделением их на иерархические уровни;
- выбор структуры информации в базе данных;
- фиксация межмодульных интерфейсов.
Результатом работы на этом этапе являются спецификации на отдельные модули, дальнейшая декомпозиция которых нецелесообразна.
Цель этапа тестирования и отладки - выявление в ПО ошибок, проверка работоспособности ПО, его соответствие спецификациям.
В ходе этого этапа решаются следующие задачи:
- подготовка данных для отладки;
- планирование отладки;
- разработка драйверов тестов;
- испытание ПО.
Результатом работы должно являться оттестированное и отлаженное ПО.
Примерные временные соотношения между отдельными видами работ при лавинообразной модели можно представить сетевым графиком разработки ПО (рис.2), цифры на котором означают время в %% от полной длительности курсового проектирования.
Сетевой график разработки ПО
------------T---¬ ------------T---¬ ------------T---¬ ¦Разработка¦ 18¦-----¦Проектиро- ¦ 18¦-----¦Документи- ¦ 8 ¦--¬ ¦требований L---+ ¦вание L---+ ¦рование L---+ ¦ L---------------- L---------------- L---------------- ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ----------¬ ------------T---¬ ------------T---¬ ---------¬ ¦ Выдача ¦ ¦Подготовка ¦ 5 ¦ ¦Программи- ¦ 18¦ ¦ Защита ¦ ¦ задания ¦ ¦данных для L---+ ¦рование L---+ ¦ работы ¦ L---------- ¦отладки ¦ L---------------- L--------- ¦ L---------------- ¦ ¦ ¦ ¦ T------+ ¦ L----------------------¬ ¦ ¦ ¦ ¦ ¦ ¦ ------------T---¬ ------------T---¬ ¦ ------------T---¬ ¦Разработка ¦ 17¦ ¦Испытание ¦ 11¦ ¦ ¦Планирова- ¦ 5 ¦--------¦драйверов L---+----- ¦программно-L---+--- ¦ние отладкиL---+ ¦тестов ¦ ¦го изделия ¦ L---------------- L---------------- L----------------
Рис.2 Распределение временных затрат по этапам разработки представлено в табл.1.
Таблица 1 Распределение времени по этапам разработки ПО для лавинообразной модели (в %% к общему времени разработки)
-------T----------------T------T--------T--------T------------T-----¬ ¦ L----¬ Этапы ¦Анализ¦Проекти-¦Программ¦Тестирование¦Всего¦ ¦Виды работ ¦ разработки¦ ¦рование ¦ирование¦и отладка ¦ ¦ +-----------+-----------+------+--------+--------+------------+-----+ ¦Анализ требований и ¦ 13 ¦ ¦ ¦ ¦ 13 ¦ ¦разработка спецификаций¦ ¦ ¦ ¦ ¦ ¦ +-----------------------+------+--------+--------+------------+-----+ ¦Подготовка данных для ¦ ¦ 2 ¦ 2 ¦ 4 ¦ 8 ¦ ¦отладки ¦ ¦ ¦ ¦ ¦ ¦ +-----------------------+------+--------+--------+------------+-----+ ¦Планирование отладки ¦ 2 ¦ ¦ 2 ¦ 4 ¦ 8 ¦ +-----------------------+------+--------+--------+------------+-----+ ¦Проектирование ¦ ¦ 13 ¦ ¦ ¦ 13 ¦ +-----------------------+------+--------+--------+------------+-----+ ¦Разработка драйверов ¦ 5 ¦ 5 ¦ 4 ¦ 11 ¦ 25 ¦ ¦тестов ¦ ¦ ¦ ¦ ¦ ¦ L-----------------------+------+--------+--------+------------+------ ¦Программирование ¦ ¦ ¦ 8 ¦ ¦ 8 ¦ +-----------------------+------+--------+--------+------------+-----+ ¦Испытание программного ¦ ¦ ¦ ¦ 17 ¦ 17 ¦ ¦изделия ¦ ¦ ¦ ¦ ¦ ¦ +-----------------------+------+--------+--------+------------+-----+ ¦Документирование ¦ ¦ ¦ 4 ¦ 4 ¦ 8 ¦ +-----------------------+------+--------+--------+------------+-----+ ¦Всего ¦ 20 ¦ 20 ¦ 20 ¦ 40 ¦ 100 ¦ L-----------------------+------+--------+--------+------------+------
Объектно-ориентированный подход разрушает монотонность от дельных этапов лавинообразной модели разработки ПО и их строгую последовательность. Объектно-ориентированная разработка ПО базируется не только на итеративности этапов, но и на их произвольном чередовании.
Цель и задача и этапа объектно-ориентированного анализа те же, что и для лавинообразной модели. Итогом выполнения этого этапа является идентификация и моделирование основных классов и объектов, логических отношений и взаимодействий между ними.
На этапе объектно-ориентированного проектирования результаты анализа модифицируются путем ввода новых абстракций и механизмов, которые позволяют более эффективно использовать уже идентифицированные классы и объекты. Признак завершения процесса объектно-ориентированного проектирования состоит в том, что полученные ключевые абстракции становятся достаточно простыми и не требуют дальнейшей де композиции.
Эволюция в жизненном цикле разработки объектно-ориентированного ПО совмещает традиционные этапы, включающие составление программ, их тестирование и интеграцию (комплексирование). Таким образом, процесс разработки превращается в постепенное составление ряда прототипов, которые затем входят в конечную реализацию. Составление развивающихся прототипов в свою очередь стимулирует разработку и оценку альтернативных решений, что позволяет получить разумный компромисс, удовлетворяющий ряду ограничений, которые соответствуют функциональным требованиям, требованиям на сроки разработки и занимаемый объем.
В процессе эволюции ПО в нем могут произойти следующие изменения:
- добавление нового класса;
- изменение реализации класса;
- изменение представления класса;
- реорганизация структуры класса;
- изменение интерфейса класса.
Рассмотрение этапа модификации для итеративной модели разработки ПО не проводится, так же как и для этапа сопровождения в лавинообразной модели в связи с тем, что это этапы жизненного цикла для долговременно эксплуатируемых программных изделий.
Примерные временные соотношения между отдельными этапами объектно-ориентированной разработки ПО представлены в табл.2.
Таблица 2 Распределение времени по этапам разработки ПО для итеративной модели (в %% к общему времени разработки)
------------------------------T--------T----------------T----------¬ ¦Этапы объектно-ориентирован- ¦ Анализ ¦ Проектирование ¦ Эволюция ¦ ¦ной разработки ПО ¦ ¦ ¦ ¦ +-----------------------------+--------+----------------+----------+ ¦Продолжительность этапа ¦ 20 ¦ 30 ¦ 50 ¦ L-----------------------------+--------+----------------+-----------
Разработка ПО должна начинаться с тщательного изучения задания
на курсовое проектирование, представленного в методических указаниях для конкретной дисциплины в форме частично подготовленного технического задания. Первоочередной задачей разработчика является формирование полного технического задания в соответствии с ГОСТ
19.201-78 [1].
Этапы анализа и проектирования должны быть формализованы с по мощью одного из рекомендуемых средств:
- аппарат формальных спецификаций [6];
- методы структурного анализа [7];
- методы объектно-ориентированного анализа [2];
- методы объектно-ориентированного проектирования [4].
В Приложении 20 дано краткое описание аппарата формальных спецификаций.
Подготовка и проведение отладки и тестирования могут быть проведены в соответствии с рекомендациями [4,5,6].
Разрабатываемое в курсовом проектировании ПО должно быть обязательно оснащено графическим пользовательским интерфейсом [8,9,10], что соответствует современным тенденциям и требованиям рынка. Основные требования по организации такого интерфейса приведены в Приложении 21.
Состав программной документации, входящей в состав курсового проекта (работы) определяется методическими указаниями по конкретным дисциплинам. При разработке документации необходимо придерживаться требований следующих стандартов ЕСПД:
- "Виды программ и программных документов" (Приложение 2);
- "Обозначение программ и программных документов" (Приложение 3);
- "Основные надписи" (Приложение 4);
- "Общие требования к программным документам" (Приложение 5);
- "Требования к программным документам, выполненным печатным способом" (Приложение 6).
Литература
1. Единая система программной документации. - М.: Изд-во стандартов, 1985.- 128 с.
2. Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях.- К.: Диалектика, 1993.- 240 с.
3. Боэм Б.У. Инженерное проектирование программного обеспечения.- М.: Радио и связь, 1985.- 512 с.
4. Буч Г. Объектно-ориентированное проектирование. - М.: Конкорд, 1992.519 с.
5. Страуструп Б. Язык программирования С++. В 2-х кн. Часть первая. К.: ДиаСофт, 1993.- 264 с. Часть вторая.- К.: ДиаСофт, 1993.- 296 с.
6. Лисков Б., Гатэг Дж. Использование абстракций и спецификаций при разработке программ.- М.: Мир, 1989.- 424 с.
7. Росс Д.Т. Структурный анализ (SA): язык для передачи понимания. В кн.Требования и спецификации в разработке программ.- М.:Мир, 1984.С. 240-284.
8. Шикин Е.В., Боресков А.В., Зайцев А.А. Начала компьютерной графики. М.: ДИАЛОГ-МИФИ, 1993.- 138 с.
9. Хокс Б. Автоматизированное проектирование и производство.- М. :Мир, 1991.- 296 с.
10. Гардан И., Люка М. Машинная графика и автоматизация конструирования. М.: Мир, 1987.- 272 с.