Смекни!
smekni.com

Методические указания по курсовому проектированию для студентов направления 071900 Составители: А. Е. Докторов (стр. 1 из 7)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ

УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

РАЗРАБОТКА И ДОКУМЕНТИРОВАНИЕ ПРОГРАММ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО КУРСОВОМУ ПРОЕКТИРОВАНИЮ

ДЛЯ СТУДЕНТОВ НАПРАВЛЕНИЯ 071900

Составители: А.Е.Докторов,

Е.А.Докторова

Ульяновск 2000


УДК 681.3.08 (076)

ББК 32.973-01 я 7

Р 17

Рецензент доцент кафедры «Высшая математика», канд. техн. наук В.В. Селиванов

Одобрено секцией методических пособий научно-методического совета университета

Разработка и документирование программ: Методические указания по

Р 17 курсовому проектированию для студентов направления 071900 / Сост.: А.Е. Докторов, Е.А. Докторова. – Ульяновск: УлГТУ, 2000. – 38 с.

Составлены в соответствии с учебным планом направления 091700. Преследуют цель ориентировать студентов на содержание и порядок выполнения курсовой работы по программированию. Даются основные принципы и технология структурного программирования. Излагаются необходимые сведения по составу программной документации и требования к ней, соответствующие государственным стандартам ЕСПД. Работа подготовлена на кафедре ИВК.

УДК 681.3.08 (076)

ББК 32.973-01 я 7

© Оформление УлГТУ, 2000

© А.Е. Докторов,

Е.А. Докторова, 2000

Содержание

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

ВВЕДЕНИЕ.................................................................................................... 4

1. ЦЕЛЬ КУРСОВОЙ РАБОТЫ................................................................. 4

2. СУЩНОСТЬ СТРУКТУРНОГО ПРОГРАММИРОВАНИЯ.............. 5

2.1. Проектирование «сверху вниз»......................................................... 5

2.2. Модульное программирование......................................................... 6

2.3. Структурное кодирование.................................................................. 8

2.4. Технология структурного программирования............................... 8

3. ДОКУМЕНТИРОВАНИЕ И СТАДИИ РАЗРАБОТКИ ПРОГРАММЫ 10

3.1. Общие сведения о ЕСПД................................................................... 13

3.2. Содержание программных документов......................................... 15

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

3.2.2. Текст программы............................................................................ 16

3.2.3. Описание программы.................................................................... 16

3.2.4 Программа и методика испытаний............................................... 17

3.2.5. Описание применения.................................................................... 17

3.3. Стадии разработки программы...................................................... 18

4. ПРИМЕР РАЗРАБОТКИ ПРОГРАММЫ............................................ 18

4.1. Постановка задачи............................................................................ 18

4.2. Предварительный анализ задачи.................................................... 19

4.3. Проектирование программы........................................................... 20

4.3.1. Подготовительный этап работы программы.......................... 21

4.3.2. Основной цикл работы программы.......................................... 30

4.3.3. Завершение работы программы................................................ 35

5. ОФОРМЛЕНИЕ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ............................ 36

СПИСОК ЛИТЕРАТУРЫ.......................................................................... 37

ВВЕДЕНИЕ

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

Данные методические указания призваны воспол­нить этот пробел и помочь в выполнении курсовой работы, когда возникает необходимость решения достаточно сложной задачи прог­раммирования. В указаниях приводится краткое изложение особенностей структурного, модульного программирования. Значительная часть по­собия посвящена ознакомлению студентов со стандартами, входящими в единую систему программной документации (ЕСПД), поскольку они регламентируют состав и содержание программных документов, оформ­ляемых в процессе курсового проектирования. В указаниях также при­водится иллюстрация процесса проектирования программы методом «сверху вниз» на примере решения относительно несложной задачи.

1. ЦЕЛЬ КУРСОВОЙ РАБОТЫ

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

В процессе проектирования программы практически осваиваются основные этапы этого процесса, а также правила документального оформления результатов каждого этапа в соответствии с требования­ми ЕСПД, включающей в себя около 30 государственных стандартов.

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


2. СУЩНОСТЬ СТРУКТУРНОГО ПРОГРАММИРОВАНИЯ

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

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

Структурное программирование включает три главные составляю­щие:

1. Проектирование «сверху вниз».

2. Модульное программирование.

3. Структурное кодирование.

2.1. Проектирование «сверху вниз»

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

Сначала необходимо уяснить постановку задачи и четко ее из­ложить. Приступая к проектированию, нужно на естественном языке описать то, что надлежит сделать. До этого момента к программиро­ванию приступать нельзя, поскольку такая попытка заведомо будет обречена на провал. Считается, что правильная постановка задачи - это 90% ее решения.

Метод проектирования «сверху вниз» предусматривает сначала оп­ределение задачи в общих чертах, а затем постепенное уточнение структуры путем внесения более мелких деталей. На каждом шаге вы­являются основные функции, которые нужно выполнить.

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

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

Неизбежным этапом разработки является тестирование. В про­цессе описания каждого модуля должны быть описаны и его тестовые данные. Логическая проверка фрагментов программы уменьшает объем тестирования конечной программы. При использовании структурного программирования правильность программы обеспечивается уже самим методом программирования. Проектирование должно быть завершено до начала программирования.

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

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

2.2. Модульное программирование

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