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

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

Достоинства: хорошая комплексная отладка, заказчик участвует в проектировании, промежуточные результаты можно показать заказчику.

Недостатки: слабая автономная отладка модулей, наличие программ‑заглушек.

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

2. Модульное программирование ‑ процесс разбиения программы на отдельные модули. Модуль ‑ это последовательность логически связан­ных фрагментов, оформленных как отдельная часть программы.

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

3. Защитное программирование. Это такой стиль написания прог­рамм, при котором появляющиеся ошибки легко обнаруживаются и идентифицируются программистом. Средства защитного программиро­ва­ния: все входные данные или действия пользователя подлежат обяза­тель­ной проверке; принцип немедленного обнаружения ошибок; изолирование последствий ошибок. Для предотвращения ошибок в программе рекомен­ду­ется не применять непроверенные способы программирования. Не исполь­зуйте принцип умолчания (когда при отсутствии некоторого параметра программа принимает некоторое определенное значение этого параметра). Не допускайте зависимости программ от недостоверности данных. Стремитесь минимизировать число обращений к пользователю.

Тестирование ‑ процесс обнаружения ошибок программы. Тестовые при­меры разрабатываются постановщиком на этапе разработки алгоритма. Обычно вместо одного теста готовится целая серия тестов. С целью выяв­ле­ния ошибок организуется сквозной структурный контроль (прос­мотр). В этом случае собираются 4‑6 специалистов, которые получают не­об­хо­ди­мые материалы за 5-7 дней до начала совещания. Время совещания огра­ни­чи­вает­ся двумя часами. Ведущий совещание обеспечивает сос­тавление пол­ного списка обнаруженных ошибок. В начале совещания экс­пер­ты ха­рактеризуют степень завершенности и качества проекта. Разра­ботчик дела­ет обзор проделанной работы, результаты подвергаются груп­повому ана­ли­зу. По окончании совещания председатель вручает каждому члену совещания список ошибок и проблем, требующих решения. Раз­работчик обя­зан устранить ошибки, донести до сведения эксперта. Реко­мен­дуется тестирование сверху вниз. Первый тест должен быть простым, так как он должен показывать работу этой программы вообще. Следующие тесты, пред­назначенные для проверки общей организации программы, обес­печивают обнаружение грубых ошибок. Повторно тестируйте исправ­лен­ный код. Ведите журнал обнаруженных ошибок и изменений программы.




3098421255589636.html
3098450424445664.html
    PR.RU™