Принципы структурного программирования — КиберПедия 

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

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Принципы структурного программирования

2017-10-16 338
Принципы структурного программирования 0.00 из 5.00 0 оценок
Заказать работу

1. Модульное программирование – процесс разбиения программы на отдельные программные модули (базовые классы, процедуры, функции, ActiveX – элементы, COM/DCOM‑компоненты и др.). Свойства модуля: возникает в результате отдельной компиляции; вызывается по имени; возвращает управление тому, кто его вызывал; может обращаться к другим модулям, непосредственно нижестоящим в схеме иерархии; должен быть небольшого размера; должен иметь один вход и один выход; не должен сохранять историю вызовов для управ­ления своим функционированием; обладает единственной функцией; дол­жен быть независимым от других модулей; должен содержать тесно свя­зан­ные элементы; должен проверять аргументы; при возникновении в модуле ошибок управление должно возвращаться обратно; должен быть замкнутым.

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

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

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

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

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

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

Этапы тестирования:

· Проверка в нормальных условиях для характерной совокупности до­­пус­­тимых значений.

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

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

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

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

Рекомендации. Вводный комментарий объясняет назна­чение и условия применения. Пояснительные комментарии сопровож­дают те части программы, которые трудно понять. Дополнительные пробелы указываются повсюду, где это приводит к улучшению чита­бель­ности прог­рам­мы. Пе­ре­менные следует явно объявлять и комментировать. Имена должны отображать смысл со­дер­жания. Допускается пре­фик­сная нотация (перед именем объекта), которая отражает тип объекта (cmdVixod – имя командной кнопки «Выход»). Составные имена следует писать через знак под­черкива­ния или на­чи­нать с прописных букв. Используйте общепри­ня­тые име­на, которые описывают действия.

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

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

5. Гибкость и эффективность программ. Выносите изме­ня­емые константы, адреса и имена файлов, баз данных в отдельные файлы на­строй­ки. Оптимизируйте програм­му пос­ле ее от­лад­ки. Используйте име­но­ван­ные константы вместо обыч­ных. Ми­ни­ми­зи­руй­те применение глобаль­ных переменных, вложенных структур и ко­манд перехода Goto. Огра­ни­чи­вай­те дей­ствия над параметрами под­прог­рамм (например, для Visual Basic – ByVal, ByRef; для Pascal – Optional, Var, Out, Const).

Общие рекомендации программисту. Помните: программы чи­тают­ся людьми, и поэтому их тексты должны быть легко чи­таемы­ми и понятными. Используйте вводные комментарии. Распола­гай­те ком­мен­тарии в программе таким образом, чтобы это не делало ее менее наглядной. Одного оператора в строке достаточно. Для выделения структуры ис­поль­зуйте отступы (начало и конец структуры сдвинуты на три позиции влево относительно тела структуры). Фиксируйте соответствие букв кирил­лицы и букв латинского алфавита (например, Щ (H), И (I), B (V)). Стремитесь к простоте и уни­вер­сальности (например, программа имеет средства настройки на форматы и значения данных). Используйте постоян­ные приемы программирования. Унифи­цируй­те форматы ввода и вывода ин­фор­мации. Обеспечивайте макси­маль­но удобный интерфейс пользователю. Интересуйтесь, как эксплуатируется программа (поработайте со своей прог­рам­мой в качестве пользователя). Устанавливайте более скромные цели (рабо­тающие программы гораздо полезнее и важнее незаконченных громадных проектов). Общая схема упроще­ния – разбиение прог­рам­мы на модули и оформление каждого модуля в виде процедуры, функции, класса, ActiveX‑элемента, компонента. Сложность возрастает квадратично размеру программы. Рекомендуется заменять циклы или вложенные конструкции на функции.

 


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

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.