Программное обеспечение вычислительной техники и автоматизированных систем

Скачать курсовую: Программное обеспечение вычислительной техники и автоматизированных систем

Содержание курсовой работы

Введение 

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 с.