Приветствую Вас, Гость
Главная » 2010 » Май » 31 » ВМП, Тема13
16:35
ВМП, Тема13
ВМП, Тема 13. Методы проектирования программ. (скачать)

ТЕМА 13. МЕТОДЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ.
13.1 Метод пошаговой детализации.

Термин проекта применительно к научно-тех­ни­че­с­ким приложениям обозначает план, прообраз какого-либо объекта.

Определение. Под проектированием понимается процесс создания проекта, то есть прототипа, прообраза предполагаемого или возможного объекта и его состояния.

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

В настоящее время большое внимание уделяется созданию стройных теоретических и практических принципов научно обоснованной технологии проектирования и разработки программного обеспечения. Это один из основных инструментов повышения эффективности использования ЭВМ. Составным элементом этой технологии является метод пошаговой детализации.

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

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

Рис.9. Схема стадий пошаговой детализации методом ие­ра­р­хи­че­с­кой декомпозиции на функциональные элементы с 5-ю уровнями при проектировании программы.

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

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

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

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

Модуль определяется как идентифицируемая часть программы, удовлетворяющая требованиям, предъявляемым к программе на конкретном языке программирования. Таким образом стремятся достичь рационального разбиения больших алгоритмов и программ, чтобы упростить процесс их разработки и обеспечить корректность и надежность при функционировании.
13.2 Метод нисходящего проектирования программ.

Другим важным составным элементом современной те­х­но­ло­гии проектирования программ является нисходящее про­е­к­ти­ро­ва­ние на основе структурного программирования.

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

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

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

При проектировании сверху вниз в первую очередь устанавливается цель программы, которая представляется как нулевой уровень абстракции, используемой при разбиении программы на самостоятельные модули или этапы решения задачи. Входом этого уровня является исходные данные, а выходом - требуемые результаты. Следующим уровнем абстракции выступает первый уровень (рис.9), где выделяются наиболее крупные типовые логически замкнутые функции программы (модули М1, М2, М3 на рис.9).

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

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

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

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

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

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

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

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

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

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

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

Описание программы включает: наименование программы; язык программирования; программное обеспечение, необходимое для функционирования программы; логическое строение, состоящее из алгоритмов модулей, используемых методов, структуры программы с описанием функций составных частей (модулей) и связи между ними, связей данной программы с другими программами. Здесь содержаться также разделы: "используемые технические средства", где указаны типы ЭВМ и устройств, необходимых для эксплуатации программы; "входные и выходные данные", т.е. характер, организация предварительная подготовка (для входных данных), а также формат и способ кодирования данных.

Текст программы состоит из символических записей на исходном языке программирования с подробными комментариями, которые должны составлять около 30% текста модуля. В комментариях рекомендуется описывать назначение программы, связь (интерфейс) с другими программами, основные особенности алгоритма отдельных участков, особенности ввода и вывода и т.д.

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

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

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

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

Категория: Шпоры | Просмотров: 834 | Добавил: di-santi | Рейтинг: 5.0/1


Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]