7100

Проектирование многомодульной программы

Книга

Информатика, кибернетика и программирование

Проектирование многомодульной программы Методические указания содержат основные теоретические сведения, рекомендации и примеры, необходимые для выполнения лабораторной работы и семестрового задания по курсу Алгоритмические языки и прог...

Русский

2013-01-16

177.5 KB

52 чел.

PAGE 7

Проектирование многомодульной  программы

Методические указания содержат основные теоретические сведения, рекомендации и примеры, необходимые для выполнения лабораторной работы и семестрового задания по курсу «Алгоритмические языки и программирование». Приводится примерный список контрольных вопросов и заданий к лабораторной работе. Рекомендуются студентам по специальности 2202 «Автоматизированные системы обработки информации и управления», 2203 «Системы автоматизированного проектирования» и 220000 «Информатика и вычислительная техника».

Цель работы

Дать понятие и основные принципы проектирования программ многомодульной  иерархической структуры.

Порядок выполнения лабораторной работы

Рекомендуется следующий порядок выполнения лабораторной работы:

  1.  изучить теоретический материал;
  2.  ответить на контрольные вопросы и упражнения;
  3.  изучить примеры;
  4.  получить задание у преподавателя;
  5.  выполнить проектирование программы;
  6.  оформить протокол;
  7.  выполнить кодирование и отладку программы в компьютерном классе;
  8.  ответить на вопросы преподавателя.

Проектирование программы осуществляется путем последовательного выполнения следующих процедур:

  1.  постановка задачи;
  2.  проектирование интерфейса программы;
  3.  проектирование структуры данных программы;
  4.  проектирование функциональной структуры программы;
  5.  проектирование схемы иерархии главного меню;
  6.  проектирование логической структуры программы;
  7.  проектирование схемы иерархии модулей программы;
  8.  составление паспортов модулей программы;
  9.  написание алгоритмов модулей, и их реализации.

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

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

Необходимо:

  1.  выявить объект проектирования, то есть предмет, процесс, явление, информация о котором будет храниться в базе данных;
  2.  выявить характерные признаки или свойства, которыми обладает  проектируемый объект, и определить информацию, которая будет храниться и обрабатываться в программе;
  3.  выделить функции, которые будут выполняться над проектируемым объектом (в начале – главную функцию, затем произвести ее простую декомпозицию на основные и сервисные функции);
  4.  определить требования, которые будут предъявляться к программе и ее интерфейсу;
  5.  определить входные/выходные и вводимые/выводимые данные для главной функции программы;
  6.  в постановке задачи определить дополнительные ограничения на информацию (например, на тип, диапазон) и на функции;
  7.  также определить, в каком виде информация будет храниться в файле и в оперативной памяти (статический или динамический способ обработки информации; если динамически, то вид – односвязный список, двусвязный список, очередь, стек, дек, дерево, кольцо и т.д.).

Пример выполнения

1) Спроектировать программу хранения и обработки информации  о частных предпринимателях г. Волгограда.

2) Объект - “частный предприниматель” (далее по тексту ЧП).

ЧП   имеет атрибуты:      - фамилию;

  - имя;

    - отчество;

  - место жительства;

  - название компании;

  - адрес регистрации компании;

  - паспортные данные.

Данная информация должна обрабатываться и храниться в программе. Отсюда – главная функция: «Обрабатывать и хранить информацию о частных предпринимателях г. Волгограда».

3) Программа должна  обеспечивать простейшую обработку БД и выполнять следующие функции:

- хранение информации в файлах;

- редактирование информации.

Эти функции являются основными. В программе должны быть также предусмотрены функции поиска информации, просмотра информации, печати информации и т.д.

4) Проектируемая программа должна быть многомодульной, иерархической. Форма диалога - многоуровневое меню (не менее двух уровней). К наиболее часто используемым командам должны быть назначены горячие клавиши. Во всех режимах программы должна быть предусмотрена помощь.

5) Выходные данные - файл, содержащий информацию БД.

Выводимые данные - информация о ЧП в окне просмотра, в окне редактирования. Сообщения об ошибках. Печать на принтер информации о ЧП.

Входные данные - файл, содержащий информацию БД.

Вводимые данные - информация о ЧП в окне ввода.

6) Например: поле “месяц рождения” должно содержать только числа от 1 до 12.

Функция сортировки в программе будет осуществляться только по полям “фамилия”, “имя”, “отчество”

7) Память под данные в программе будет выделяться динамически. Информация в программе будет организована в виде односвязного списка.

Таким образом, в пункте “постановка задачи” подробно определяют, какая информация будет обрабатываться и храниться в программе и что с этой информацией необходимо делать.

Проектирование интерфейса программы

Необходимо:

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

Необходимо спроектировать макеты экранов программы. Желательно спроектировать макеты экранов для всех режимов работы. Макет экрана лучше выполнять в цвете на бумаге в клетку (в текстовом режиме) или миллиметровой бумаге (в графическом режиме). Можно использовать тиражированные заготовки следующего вида:

Таблица 1

Y  X 

1

2

3

4

5

6

7

8

9

10

80

1

25

Проектирование структуры данных программы

Необходимо определить переменные, которые необходимы для описания  информации в программе, их имена, типы,  диапазоны:

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

Данная информация оформляется в таблице следующего вида:

Таблица 2

имя

Тип

описание

где  имя - имя данного в программе,

тип – тип данных, заданный словесно,

описание – назначение, ограничения и дополнения для задания области значений и др. обстоятельств.

  1.  По мере проектирования программы необходимо вводить новые переменные (те, которые будут проектироваться на внешнем уровне).

Пример выполнения

1) Структура данных

Таблица 3

Имя

Тип

Описание

-

Структура CHP

Для хранения информации о ЧП

Fаmily

Массив из 20 символов

Фамилия ЧП

Name

Массив из 15 символов

Имя ЧП

Tec

Указатель на структуру CHP

Указатель на текущий элемент списка ЧП

Next

Указатель на структуру CHP

Указатель на следующий элемент спискаЧП

First

Указатель на структуру CHP

Указатель  на первый элемент списка ЧП

Now

Указатель на структуру CHP

Указатель на текущий элемент списка ЧП

Проектирование функциональной структуры

Необходимо построить функциональную структуру программы. Главная функция программы в любой сложной программе является мультифункцией. Согласно технологии структурного программирования любая мультифункция (то есть сложная, составная функция) может, и должна быть разложена на элементарные для данного уровня функции. Подфункции, на которые была разложена мультифункция, могут быть также мультифункциями, должны быть подвергнуты разложению на элементарные подфункции.

Функция описывается по трехкомпонентной структуре F=(D,G,H),
где  D - действие, которое выполняет функция;

G -  объект, на который направлено действие;

H -  ограничения, т.е. обстоятельства действия.

Виды функций - главная, основные и вспомогательные.

Составление таблицы спецификаций функций

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

-  номер;

- формулировка  названия функции;

- действие;

- объект;

- ограничение;

- вид.

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

Как правило, при составлении таблицы пытаются разложить сложные функции, или так называемые “мультифункции”, на простые или элементарные, т.е. декомпозировать функции.

Анализ таблицы. Группировка функций по признакам

Необходимо  произвести анализ таблицы функций и, если необходимо, внести в таблицу функций исправления и дополнения. Затем необходимо сгруппировать функции по признакам. Обычно функции группируют или по признаку “ объект” или по признаку “действие”. Чаще всего группировка функций происходит по признаку “объект”. Вокруг признака “объект” группируют те функции, которые необходимы для работы с выбранным объектом. Группировка функций по признакам необходима для дальнейшего проектирования функциональной структуры программы.

Проектирование функциональной структуры программы

Функциональная структура программы - это и-или дерево, вершины которого – названия функций, а дуги – связи между ними.

При проектировании функциональной структуры программы необходимо:

главную функцию программы поместить в корень;

на верхние уровни дерева поместить основные функции программы;

из основных функций программы (они, как правило, сложные) выделить более простые функции, которые необходимы для того, чтобы работала основная функция (т.е. произвести декомпозицию функций). При этом  необходимо помнить, что выделенная функция в свою очередь может быть сложной и может делиться на простые далее;

производить декомпозицию функций до тех пор, пока функция не станет простой и не будет необходимости в ее дальнейшем разбиении.

Примечания:

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

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

После того, как удачный вариант функциональной структуры программы был получен, необходимо зафиксировать его в чистовом виде.

Если не построена иерархия функций или функции плохо расписаны, то разложение программы на модули будет затруднено. При правильном построении схемы иерархии функций, практически каждой функции (в идеале – каждой) будет соответствовать модуль, для которого эта функция будет являться главной. Но обратное не всегда верно, то есть не всякому модулю в программе будет соответствовать какая-либо функция из построенной иерархии, так как часть модулей будет по существу управляющими, и не будут непосредственно производить обработку базы данных.

Оценка функциональной структуры программы

Необходимо оценить построенную функциональную структуры программы. При оценке структуры необходимо учитывать следующие критерии:

функциональная полнота программы;

простота и читаемость структуры;

правильность сгруппированных функций;

возможность простого дополнения структуры новой функцией и др.

Пример выполнения

Таблица спецификации функций.

Составление таблицы спецификации функций (фрагмент)

Таблица 4

Название

Действие

Объект

Ограничение

Тип

Управление режимами работы базы данных

Выбор

режим работы

базы данных

главная

Редактирование информации о ЧП

Редактирование

Информация о частном предпринимателе

В ОЗУ с использованием клавиатуры, с возможностью просмотра старой инвормации в полях ввода

основная

Добавление информации о ЧП

Добавление

Информация о частном предпринимателе

В ОЗУ с использованием клавиатуры

основная

Автоматическое сохранение файлов базы данных

автосохранение

Информации о частных предпринимателях

Из ОЗУ на НЖМД

вспомогат.

.....

....

.....

.....

......

Анализ таблицы функций. Группировка функций по признакам.

 

 Считаем, что после первого варианта таблицы функций мы внесли изменения и дополнения, например:

в первом варианте мы не учитывали функций работы с интерфейсом;

в таблице встречались повторяющиеся функции;

часть функций были пропущены и т.п.

Группировка функций.

Анализируем полученную таблицу. По признакам “объект” или “действие” объединяем функции в группы.

1. Объект “файл”:  1.1. Создать (файл)

 1.2. Открыть (файл)

 1.3. Сохранить (файл)

1.4. Удалить (файл) и т.п.

2. Объект “запись”:  2.1. Редактировать

2.2. Добавить

2.3. Удалить     

2.2. Добавить запись: 2.2.1. По номеру

2.2.2. В конец файла

3. Рисовать: 3.1 Окно

3.2 Кнопку

3.3 Рамку                   

Примечание: после первой группировки функций может понадобиться новая итерация (новая перегруппировка или перераспределение функций). Процесс продолжается до тех пор, пока не будет получен приемлемый вариант.

Составление функциональной структуры программы (фрагмент)

Работа                  Создание файла

с файлами             Открытие файла  Опред. имя откр. файла

Проверить. наличие

      открыв-го файла ...

Сохранение файла

             

      Определение места            добавления записи....

Редактирование Добавить зап.     Ввод записи по полям...

записей       Сохранение введенной

      записи....

     Удалить зап.          ......

Просмотр записей    ....

Поиск записей         ....

Управление  БД

Сортировка записей    .....

Печать записей  .....      

Создание интерфейса     Создание конт.-зав. помощи   ....

       Создание “окна”    ....

      Создание “меню”    ....

     Создание “строки гор. клавиш” ....

О программе ....  

Выход из программы ....

Проектирование схемы иерархии главного меню

Анализируя функциональную структуру программы, необходимо выделить функции, которые будут доступны пользователю программы. На основе данного анализа проектируется схема иерархии главного меню программы.

Проектирование логической структуры программы

Логическая структура программы – структура, позволяющая определить все возможные логические переходы из одного режима работы в другой  (алгоритм работы программы).

Логическая структура программы может быть представлена в виде:

1) блок-схемы;

2) словесного алгоритма.

Логическая структура программы в виде блок-схемы более предпочтительна.

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

Пример выполнения

Обработка и хранение информации о ЧП (фрагмент)

Проектирование иерархии модулей программы

Иерархия модулей определяет взаимное соответствие модулей программы. Схема иерархии модулей отражает их соподчиненность. Схема иерархии модулей должна сохраняться неизменной до конца разработки вашей системы. Хорошо написанная иерархия модулей даст возможность проектировать программу в коллективе разработчиков. Этот процесс является итеративным, то есть иерархия модулей может переписываться несколько раз, пока не будет найден наилучший вариант. Хорошо написанная иерархия модулей позволяет работать над каждым модулем в отдельности, не думая о других, что облегчает работу над программой, и является неотъемлемым преимуществом технологии структурного программирования.

Проектирование схемы иерархии модулей программы

После того, как спроектирована функциональная структура программы, определен интерфейс программы и определена логическая структура программы, необходимо спроектировать схему иерархии модулей программы.

Схема иерархии модулей программы – и-или дерево, вершины которого -  это  названия модулей, а дуги - связи между ними. Для  выделенных и сгруппированных функций необходимо определить  модули программы, в которых эти функции будут реализовываться. Модуль - это логически законченный фрагмент программы, который обладает рядом свойств. Модуль реализуется через функции языка программирования. Физическое размещение модуля- это файл. Проектирование начинается с главного модуля  программы - main. Затем проектировщик определяет какие модули будет вызывать этот модуль, затем определяется какие модули будет вызывать этот модуль  и т.д. до тех пор пока на схеме иерархии модулей не будут отражены все модули программы и их связи.

Обозначаются:

Системные модули не декомпозируются. Обозначаются:

Повторяющиеся модули следует декомпозировать на схеме один раз. Обозначаются также –  

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

Пример выполнения схемы иерархии модулей

Фрагмент схемы иерархии модулей представлен на рис. 1.


 

 

 


Составление таблицы спецификации модулей

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

- имя (заголовок модуля на языке);

- реализуемая функция (реализуемая модулем функция);

- параметры (описание каждой из передаваемых и возвращаемой переменных).

Пример выполнения

Пример выполнения спецификации модулей программы

Таблица 5

Имя

Реализуемая функция

Параметры

Void main (void)

Обработка базы данных

struct MenuPoint *CreateMenuTree (void)

Создаёт дерево меню

void DeleteMenuTree (struct MenuPoint *Menu)

Уничтожает заданное дерево меню

Menu – указатель на корень уничтожаемого меню

void MenuRepaint (struct MenuPoint *Menu)

Выводит на экран заданное меню

Menu – указатель на корень выводимого меню

void PaintLinearMenu (struct MenuPoint *Menu, int Column, int Row)

Выводит в заданных координатах линейное меню

Menu – указатель на корень выводимого меню,

Column – столбец начала меню,

Row – строка, в которой расположено меню

void PaintListMenu (struct MenuPoint *Menu, int Column, int Row)

Выводит в заданных координатах ниспадающее меню

Menu – указатель на корень выводимого меню,

Column и Row – координаты левого верхнего угла меню

int CalculateLengthOfName (char *Names)

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

Names – указатель на строку с именами, имена разделяются знаком “_”

int NumberOfSymbol (int SymbolCode, int NumberOccurence, char *String)

Возвращает номер символа в строке, встречающегося в строке заданное количество раз

SymbolCode – код символа,

NumberOccurence – номер вхождения символа в строку, String – указатель на строку в которой идёт поиск

Составление иерархии файлов проекта, содержащих модули программы

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

Пример выполнения

Список программных файлов проекта:

wind.h – содержит объявления оконных функций интерфейса;

wind.c – содержит модули оконных функций интерфейса;

main.c – главный компилируемый файл проекта, содержит модуль main;

help.c – содержит модули помощи;

db.c – содержит модули работы с файлами данных;

data.c - содержит модули работы со структурой данных.

Составление паспортов модулей программы

Для проектирования модуля исходной информацией (заданием на проектирование, постановкой задачи) является его паспорт.

Паспорт модуля содержит:

  1.  Заголовок (Название модуля, параметры и возвращаемое значение).
  2.  Язык программирования, на котором модуль будет написан.
  3.  Главную функцию модуля (должна содержаться в иерархии).
  4.  Описание входной информации модуля – описание переменных (имя, тип, описание) согласно указаниям, приведенным выше.
  5.  Описание выходной информации – описание переменных (имя, тип, описание) согласно указаниям, приведенным выше.
  6.  Модули, вызываемые из описываемого модуля (по пп.1-5). Указывается передаваемая информация из описываемого модуля в вызываемый и возвращаемая информация из вызываемого модуля в описываемый.
  7.  Основные подфункции модуля с указанием логики функционирования.

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

Правильно написанный паспорт модуля даёт возможность разрабатывать и тестировать его автономно от остальных модулей.

Написание алгоритмов модулей и их реализации

После того как написаны иерархия модулей и паспорта модулей, можно приступать к работе над самими модулями.

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

После написания нескольких тестовых примеров появляется возможность в мыслительном процессе выделить отдельные этапы, которые реализуются управляющими структурами четырёх видов. Виды структур: следование, альтернатива (с одним действием, двумя действиями, и множеством действий), структура цикл и структура рекурсия. Структура следования – действия, выполняются одно за другим. Структура альтернатива (с одним или двумя действиями) или структура множественного выбора (выбор по одному параметру происходит из нескольких значений). Структура цикл – над множеством, состоящим из похожих элементов, производится одно и тоже действие над каждым элементом. Структура рекурсия – действие, которое производилось над всем множеством, производится и над частью данного множества.

После написания словесного алгоритма модуля (он удобен для кодирования модуля на язык программирования), необходимо написать его блок-схему, которую необходимо проверить – «протрассировать». Безмашинное тестирование необходимо – оно выявляет ошибки, которые трудно искать в модулях, размер которых превышает двадцать строк.

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

После того, как модуль был закодирован на языке программирования, его нужно протестировать. Программист, который проектировал и кодировал модуль, является заинтересованным лицом, и хочет он того, или нет, он мыслит так, как должен мыслить идеальный пользователь – согласно алгоритму модуля. Поэтому, по возможности, после самостоятельного тестирования модуля, его можно отдать на тестирование другому человеку.

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

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

При кодировании модулей на языке программирования необходимо делать комментарии. Комментировать следует:

Объявления переменных (для того, чтобы потом понять их назначение, и обнаружить лишние переменные).

Каждую алгоритмическую управляющую структуру.

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

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

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

Вывод

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

Варианты заданий

  1.  Напишите постановку задачи для проектирования многомодульной сервисной программы работы с оконным интерфейсом.
  2.  Создайте макеты экранов для функций работы с меню.
  3.  Спроектируйте структуру данных для хранения информации о соревновании спортсменов. Рекомендуется использовать «список» («кольцо», «дерево» и т.п.)
  4.  По существующей постановке задачи спроектировать дерево функций.
  5.  Спроектируйте иерархию модулей программы, позволяющей вводить строку. Программа один за другим помещает символы строки в стек, а затем выталкивает символы из стека и отображает их. В результате строка отображается в обратном порядке.
  6.  Спроектируйте иерархию модулей для работы с меню.
  7.  Спроектируйте иерархию модулей для работы с оконным интерфейсом.
  8.  Спроектируйте иерархию модулей для работы с файлами.
  9.  Спроектируйте иерархию модулей для работы со структурой данных список (дерево, дек, очередь, кольцо и т.п.)
  10.  Напишите паспорт модуля, осуществляющего вставку символа в произвольном месте строки. Символы строки занесены в динамический массив.
  11.  Закодируйте паспорт модуля.
  12.  Составить систему тестовых примеров для модуля.
  13.  По схеме иерархии модулей составить содержимое файлов проекта.

Контрольные вопросы и упражнения

  1.  часть 1 “Проектирование структуры данных программы”:
    1.  Какие существуют способы хранения данных?
    2.  Как в языке задается тип данных «структура»?
    3.  Как организуются списки? Какие основные процедуры работы со списками вы знаете?
    4.  Как организуются односвязные списки?
    5.  Как организуются двусвязные списки?
    6.  Как происходит динамическое выделение памяти  под структуры данных?
    7.  Как происходит работа с файлами (ввод/вывод в файл)?
  2.  часть 2 “Проектирование программы”:
    1.  Как описывается постановка задачи на проектирование программы?
    2.  Как происходит проектирование интерфейса программы?
    3.  Как происходит проектирование структуры данных программы?
    4.  Как происходит проектирование функциональной структуры программы?
    5.  Как происходит проектирование логической структуры программы?
    6.  Как происходит проектирование схемы иерархии главного меню?
    7.  Как происходит проектирование схемы иерархии модулей?
    8.  Как происходит проектирование логической структуры программы?
    9.  Как происходит составление паспортов модулей программы?
    10.  Как происходит составление файлов проекта?
    11.  Как происходит написание алгоритмов модулей, и их реализации.
    12.  Как происходит тестирование модулей?
    13.  Как происходит кодирование и комментирование модулей?

Приложения

  1.  Демонстрационная программа “demosubd.exe”.
  2.  Пример выполнения лабораторной работы:
    ftp://ftp.cad.vstu.ru/pub/Education/Algoritm&Prog/Metodics.

Список использованной литературы

  1.  Шилд Г. Программирование на Borland C++ для профессионалов /Пер. с англ.– Минск.: ООО “Попурри”, 1998. – 800 с.
  2.  Ю. В. Лепёхин. Сорок пять минут с компьютером: Сб. задач по программированию для ср. шк. – Волгоград: Перемена, 1996.


 

А также другие работы, которые могут Вас заинтересовать

52885. Погода взимку. Розваги 502.5 KB
  Winter is the fourth season. December, January and February are winter months. In winter it is cold. Winter is the coldest season of the year. All rivers and ponds are frozen. The ground is covered with snow. Trees and bushes are covered with snowflakes.
52886. Свята та традиції. New Year 1.98 MB
  Objectives: to develop the habits of reading, writing and speaking on the given topic; to practise the structure “there is/are”, asking and answering questions in Present Simple; to enlarge the students’ knowledge about holidays and traditions of the English-speaking countries.
52887. All About Us. Two Capitals: London, Kyiv 48 KB
  Objectives: - to develop pupils’ skills in listening, reading, speaking and writing; - to teach pupils to express their opinion; - to provide interactive work in pairs and small groups; - to teach pupils cooperative work;
52888. London Transport 83 KB
  There are lots of places of interest in London. From Tower Bridge you can see the Tower of London. From Tower Bridge you can see the Tower of London. It is a museum now. There are hundreds of interesting collections in it. There is a famous clock in London called Big Ben
52889. All Seasons Are Beautiful 55 KB
  Teacher: Different people have different tempers. On different parts of the day everybody has different mood. Let’s see how you are now. Take your “faces” and if you feel well, great – draw a smile; if you feel neither well nor bad, draw a face without a smile; and if you are sad and unhappy, draw a sad face...
52890. Love. Wedding. Marriage 185 KB
  Objectives to develop student’s fluency in speaking English, communicative activity using interactive forms; to motivate students in expressing their opinions; to develop students’ thinking skills;
52892. Eating habits. Good health is above wealth 52.5 KB
  At the lesson we are going to revise the words learned at the previous lessons ; improve reading ,listening and speaking skills; We are going to practice in grammar. We’ll give advice what food should we eat to be healthy.