18699

Проектирование логики модуля

Доклад

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

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

Русский

2013-07-08

16.07 KB

2 чел.

Проектирование логики модуля

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

Следующие предложения составляют набросок дисциплинированного подхода к проектированию модуля:

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

2.  Проектирование внешних спецификаций модуля.

3. Выбор алгоритма и структуры данных.

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

4. Запись первого и последнего предложения модуля.

 В языке Паскаль:              PROGRAM ... BEGIN ... END;

5.  Объявить все данные и сопряжения.

6. Детализирование текста программы — шаг итеративный.

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

7.  Объявить остальные данные. Поскольку трудно предсказать все переменные, которые понадобятся. Это предложение часто перекрывается с предыдущим.

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

9.  Проверка правильности программы (ручная проверка).

10. Тестирование.

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

Типовая структура модуля в общем случае включает:

—  заголовок модуля;

—  описание переменных;

—  тело модуля.

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

Блок комментариев обычно содержит общую информацию описания программного модуля:

1. Имя модуля.

2. Функция модуля.

3. Список параметров, передаваемых вызывающим модулем.

4. Входные, выходные данные.

5. Внешние эффекты.

6. Из какого модуля вызывается данный модуль.

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

Описание обменной зоны «связывается» с некоторым множеством ячеек оперативной памяти, предназначенных для хранения значений и адресов входных и выходных параметров.

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

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

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

В общем случае тело модуля выполняет следующие функции:

- сохранение регистров ЭВМ для последующего восстановления их при возврате управления от вызываемого его модуля;

- переключение по параметру, задающему точку входа в модуль, если его исполнение может начинаться с некоторого внутреннего оператора;

- выполнение операторов, реализующих функциональную задачу модуля;

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

- передачу управления на начало вызываемого модуля с запоминанием возврата в вызывающий модуль в точку, следующую за вызовом;

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

- --- возврат управления в данный модуль из вызванного модуля;

- перепись результатов исполнения вызванного модуля из обменной зоны в локальную зону рассматриваемого модуля или в глобальную зону;

- переключение по параметру, задающему точку возврата в вызывающий модуль, если возврат должен осуществляться к оператору, непосредственно не следующему за вызовом;

- выполнение операторов, реализующих функциональную задачу программы;

- восстановление регистров ЭВМ;

- возврат в модуль, который вызвал рассматриваемый модуль.

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


 

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

41968. Дослідження стійкості ланки другого порядку 114.05 KB
  Для лінійних систем автоматичного керування, які описуються характеристичним рівнянням виду a0pn+a1pn-1+…+an-1p+an=0 стійкість не залежить від величини і вигляду збурення і визначається коренями характеристичного рівняння, яке залежить від параметрів системи Для зручності зафіксуємо L C та змінюватимемо R withinttrns; urovnenie:=TTpp2xiTp1; h:=k p urovnenie; l:=invlplcehpt; sol:=solveurovneniep: sol[1];sol[2]; Аперіодичний процес Вибираємо L=50мГн.05;C:=2010^6;R:=250;T:=sqrtLC;xi:=RsqrtC L 2;k:=1;p1:=sol[1];p2:=sol[2];задання параметрів для даного виду процесу l:=invlplcehpt;розрахунок зворотнього перетворення Лапласа plotlt=0.05;C:=2010^6;R:=100;T:=sqrtLC;xi:=RsqrtC L 2;k:=1;p1:=sol[1];p2:=sol[2]; l:=invlplcehpt:...
41969. ДОСЛIДЖЕННЯ ВЕКТОРНИХ ПЛОТТЕРІВ 78.68 KB
  Все рассматриваемые здесь команды находятся в основной части языка HPGL 2. Первыми идут команды ини рйализации для установки размера изображения и другие параметры после них следуют команды для прорисовки линий фигур и трок символов а также одна или две команды для завершения процесса. Некоторые команды имеющие числовые аргументы требуют целых значений в то время как другие команды допускают наличие чисел с десятичной точкой. Некоторые команды передают результаты обратно хосткомпьютеру: например 01 сообщает идентификацию модели...
41970. Функції введення/виведення printf(), scanf(). Лінійні обчислювальні процеси 14.14 KB
  Обладнання: ПКПО Borlnd C Хід роботи Вивчити теоретичні відомості Ознайомитися з форматом функцій printf і scnf.h void min { long ; double b; unsigned c; flot d; cout Вводите n ; cin b c d; cout Long n ; printf 16.5d ; printf n double n ; printf 16.
41971. Обчислювальний процес, що розгалужується, з різними логічними умовами: оператор if... else, умовна операція (?:), оператор switch, оператор break, оператор goto 23.72 KB
  else умовна операція : оператор switch оператор brek оператор goto Ціль роботи: Вивчити реалізацію в мові ветвящихся обчислювальних процесів . Навчитися писати програми використовуючи оператори: розгалуження if.else переключення switch у парі з оператором brek оператор переходу goto тернарную умовну операцію .
41972. Розробка програм з циклічними обчислювальними процесами 44.87 KB
  Розробка програм з циклічними обчислювальними процесами Ціль роботи: Вивчити написання програм мовою С, використовуючи ітераційні (циклічні) методи, освоїти основні оператори, що підтримують роботу з циклами (for, while, do... while). Навчитися писати програми, використовуючи дані оператори.
41973. ПОБУДОВА ОПТИМАЛЬНОГО НЕРІВНОМІРНОГО КОДУ ЗА МЕТОДИКОЮ ХАФФМАНА 53.47 KB
  0 проводиться перехід до побудови дерева коду за допомогою проміжних вузлів. 161 00074 3 В 893 00412 21 Х 156 00072 11 Л 745 00344 29 Ю 148 00068 16 Р 699 00322 22 Ц 126 00058 №п п Символ ni pi №п п Символ ni pi 12 М 656 00303 25 Щ 108 00050 10 К 574 00265 24 Ш 60 00028 5 Д 507 00234 28 Э 59 00027 26 Ы 467 00215 20 Ф 30 00014 19 У 399 00184 8 З 4 00002 Дерево коду за методикою Хаффмана: Визначаємо ентропію джерела за формулою: Визначаємо максимальний ступінь стиснення інформації: Середня довжина кодової комбінації:...