Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Порядок изучения и классификация учебного материала




Специализация Уровень изучения материала
Начальный Основной Углубленный
1. Delphi 1.1. Язык программиро-вания 1.2. Среда разработки приложений 1.3. Базы данных, запросы, формы, отчеты 1.4. Взаимодей­ст-­ вие приложе­- ний 1.1.1, 1.1.2, 1.1.3, 1.1.4.1, 1.1.4.3, 1.1.5, 1.1.6, 1.2.1-1.2.5, 1.2.8,   1.3.2.1, 1.3.3.1-1.3.3.4, 1.3.6.1-1.3.6.4,   1.4.1-1.4.8,   1.7.1     2.1, 2.2.1, 2.3.1, 2.3.2.1-2.3.2.3, 2.3.4.1, 2.3.4.4, 2.3.4.5, 2.3.7.1, 2.3.8.1,   2.3.10.1, 2.3.11.1, 8.1.1-8.1.6 3.1-3.6, 3.9, 3.10.1     1.1.4.2, 1.1.4.4, 1.1.7, 1.2.6, 1.2.9, 1.3.1.1, 1.3.2.2, 1.3.5.1, 1.3.6.5, 1.3.7.1-1.3.7.3, 1.4.9, 1.5.1, 1.7.2, 1.7.3, 1.7.5, 1.7.6, 1.8.1, 1.8.2     2.3.2.7, 2.3.3, 2.3.4.2, 2.3.4.3, 2.3.4.6, 2.3.7.2-2.3.7.7, 2.3.8.2,     2.3.11.2-2.3.11.4, 8.1.7, 8.1.8 3.7.1, 3.10.2-3.10.4, 3.11, 3.14     4.1-4.6     1.1.8-1.1.10, 1.2.7, 1.3.1.2,   1.3.5.2, 1.3.5.3,   1.3.7.4-1.3.7.9, 1.4.10, 1.5.2-1.5.8, 1,6, 1.7.4, 1.7.7-1.7.10, 1.8.3-1.8.5, 1.9 2.2.2-2.2.8,   2.3.2.4-2.3.2.6,   2.3.5, 2.3.6,   2.3.8.3-2.3.8.6, 2.3.9, 2.3.10.2, 2.3.10.3, 2.3.11.5-2.3.11.10, 8.1.9 3.7.2, 3.8, 3.10.5, 3.10.6, 3.13, 3.15, 3.16     4.7-4.10, 5  
2. C++ Builder 6.1.1-6.1.5, 6.2.1-6.2.3, 6.2.9,6.2.10, 6.4.4,6.4.5, 6.4.11       6.2.4-6.2.8,   6.4.6, 6.4.7   6.5.1   6.1.6, 6.1.7,   6.3, 6.4.1-6.4.3, 6.4.8-6.4.10, 6.4.12-6.4.14, 6.5.2, 6.5.3, 6.6, 8.1.9  
3. Visual C++ 7.1, 7.2, 8.1.10 7.3, 7.4 [5]  

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· Проверка в исключительных ситуациях.

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

Необходимо стандартизировать свой стиль программирования. Если существует более одного способа сделать что‑либо, то вы должны остано­ви­ться на одном из них и придерживаться его всегда.

Рекомендации. Вводный комментарий объясняет назна­чение и условие применения. Пояснительные комментарии сопровож­дают те части программы, которые трудно понять. Пробелы вставляют повсюду, где это приводит к улучшению читабельности прог­рам­мы. Имя переменной формируют на основе хранящейся информации. Пе­ре­менные следует явно объявлять. Имена должны отображать смысл со­дер­жания. Допускается пре­фик­сная или венгерская нотация (предложенная венгром Шарле Симони в начале 80­‑х годов), которая отражает тип пе­ре­мен­ной или объекта (п. 5.1). Составные имена следует писать через знак под­черкива­ния или на­чи­нать с прописных букв. Используйте общепри­ня­тые име­на (Get, Put, Calc и др.), которые описывают действия.

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

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

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...