Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ѕроектирование логики модул€




 

ѕоследним в длинной цепи процессов проектировани€ програм≠м≠ного обеспечени€ €вл€етс€ процесс проектировани€ и собственно про≠граммировани€ (кодировани€) внутренней логики каждого мо≠дул€. ќчень часто иде€ тщательного планировани€ здесь отбрасы≠ваетс€, и программист разрабатывает модуль более или менее хао≠тично. ќднако процесс разра≠ботки модул€ может и должен тщательно планироватьс€. —ледующие 11 шагов составл€ют набросок дис≠циплинированного подхода к проекти≠рова≠нию модул€.

1. ¬ыберите €зык. ¬ыбор €зыка обычно диктуетс€ требовани€ми контракта или прин€тыми в организации стандартами. ’от€ выбор €зыка и включен сюда, на самом деле €зык должен быть выбран в начальный пе≠риод работы над проектом, поскольку он вли€ет на планирование работы над проектом (например, обучение програм≠мистов, подготовка компил€то≠ров и средств тестировани€).

2. —проектируйте внешние спецификации модул€. Ёто процесс опре≠делени€ внешних характеристик каждого модул€, о котором шла речь в предыдущем разделе.

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

4. ¬ыберите алгоритм и структуры данных. ∆изненно важным шагом в процессе проектировани€ логики €вл€етс€ выбор алгоритма и со≠ответствующих структур данных. —егодн€ лишь немногие алго≠ритмы соз≠даютс€ впервые; огромное их число уже было изобретено, и весьма веро≠€тно, что уже имеетс€ один или несколько алгорит≠мов, вполне устраиваю≠щих проектировщика. ¬место того чтобы тратить врем€, заново изобрета€ алгоритмы и структуры данных, лучше поискать готовые решени€. ≈сли речь идет о нечисленных алгоритмах (т.е. о большинстве видов обработки данных), лучше всего начать с книги ƒ.  нута о фундаментальных алго≠ритмах [4] и последующих томов этой серии. ¬ случае численных алгорит≠мов начните с издаваемых ј—ћ Ђ»збранных алгоритмов из —ј—ћї (Col≠lected Algorithms from —ј—ћ). ƒругим источником алгоритмов обоих ти≠пов €вл€ютс€ учебники, технические статьи и существую≠щие программы.

ќбычно проектировщик обнаруживает несколько функциональ≠но эквивалентных алгоритмов и структур данных, и ему приходитс€ выбирать один из них. ѕоскольку многие современные вычислитель≠ные системы имеют многоуровневую пам€ть (обычно это основна€ пам€ть, виртуальна€ пам€ть, быстра€ буферна€ пам€ть), основ≠на€ тенденци€ у программи≠стов, стрем€щихс€ к истинной эффектив≠ности, Ц назад, к простейшим алго≠рит≠мам и структурам данных (на≠пример, в системе с многоуровневой па≠м€тью двоичный поиск может оказатьс€ не намного быстрее, чем более простой последовательный). Ёто пример того, как эффективность и про≠стота ста≠нов€тс€ не про≠тиворечивыми, а согласованными требовани€ми!

5. Ќапишите первое и последнее предложени€. —ледующий шаг Ц написать предложени€ PROCEDURE и END будущего модул€ (или их эк≠виваленты, в зависимости от избранного €зыка программировани€). ќтме≠тим, что мы здесь опустили традицион≠ный этап вычерчивани€ блок-схем; причины этого будут рассмот≠рены ниже.

6. ќбъ€вите все данные из сопр€жени€. —ледующий шаг состоит в написании тех предложений программы, которые определ€ют или объ€в≠л€ют все переменные дл€ сопр€жени€ создаваемого мо≠дул€.

7. ќбъ€вите остальные данные. Ќапишите предложени€, которые определ€ют или объ€вл€ют все другие необходимые переменные. ѕо≠скольку трудно предсказать все переменные, которые понадоб€тс€, этот шаг часто перекрываетс€ со следующим.

8. ƒетализируйте текст программы. —ледующий шаг Ц итера≠тив≠ный, он предполагает последовательную детализацию логики модул€, на≠чина€ с достаточно высокого уровн€ абстракции и за≠канчива€ готовым текстом программы. Ќа этом шаге используютс€ методы пошаговой дета≠лизации и структурного программировани€.

9. ќтшлифуйте текст программы. “еперь модуль нужно от≠шлифо≠вать дл€ достижени€ Ђ€сностиї и снабдить его дополнитель≠ными коммен≠тари€ми, отвечающими на вопросы, которые могут возникнуть при чтении программы.

10. ѕроверьте правильность программы. ¬ручную провер€етс€ пра≠вильность модул€. —оответствующие процедуры описаны в последнем разделе этой главы.

11.  омпилируйте модуль. ѕоследний шаг Ц компил€ци€ мо≠дул€. Ётот шаг отмечает переход от проектировани€ к тестированию; компил€≠цией, по существу, начинаетс€ тестирование программного обеспечени€.

 





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-05-08; ћы поможем в написании ваших работ!; просмотров: 1416 | Ќарушение авторских прав


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

Ћучшие изречени€:

„то разум человека может постигнуть и во что он может поверить, того он способен достичь © Ќаполеон ’илл
==> читать все изречени€...

631 - | 565 -


© 2015-2023 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.013 с.