Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




 

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

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

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

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

4. Выберите алгоритм и структуры данных. Жизненно важным шагом в процессе проектирования логики является выбор алгоритма и со­ответствующих структур данных. Сегодня лишь немногие алго­ритмы соз­даются впервые; огромное их число уже было изобретено, и весьма веро­ятно, что уже имеется один или несколько алгорит­мов, вполне устраиваю­щих проектировщика. Вместо того чтобы тратить время, заново изобретая алгоритмы и структуры данных, лучше поискать готовые решения. Если речь идет о нечисленных алгоритмах (т.е. о большинстве видов обработки данных), лучше всего начать с книги Д. Кнута о фундаментальных алго­ритмах [4] и последующих томов этой серии. В случае численных алгорит­мов начните с издаваемых АСМ «Избранных алгоритмов из САСМ» (Col­lected Algorithms from САСМ). Другим источником алгоритмов обоих ти­пов являются учебники, технические статьи и существую­щие программы.

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

5. Напишите первое и последнее предложения. Следующий шаг – написать предложения PROCEDURE и END будущего модуля (или их эк­виваленты, в зависимости от избранного языка программирования). Отме­тим, что мы здесь опустили традицион­ный этап вычерчивания блок-схем; причины этого будут рассмот­рены ниже.

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

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

8. Детализируйте текст программы. Следующий шаг – итера­тив­ный, он предполагает последовательную детализацию логики модуля, на­чиная с достаточно высокого уровня абстракции и за­канчивая готовым текстом программы. На этом шаге используются методы пошаговой дета­лизации и структурного программирования.

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

10. Проверьте правильность программы. Вручную проверяется пра­вильность модуля. Соответствующие процедуры описаны в последнем разделе этой главы.

11. Компилируйте модуль. Последний шаг – компиляция мо­дуля. Этот шаг отмечает переход от проектирования к тестированию; компиля­цией, по существу, начинается тестирование программного обеспечения.

 





Поделиться с друзьями:


Дата добавления: 2015-05-08; Мы поможем в написании ваших работ!; просмотров: 1515 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

В моем словаре нет слова «невозможно». © Наполеон Бонапарт
==> читать все изречения...

2174 - | 2121 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.