Суть метода заключается в определении спецификаций компонентов системы путем последовательного выделения в ее составе отдельных составляющих и их постепенной детализации до уровня, обеспечивающего однозначное понимание того, что и как необходимо разрабатывать и реализовывать.
Этот метод является незаменимым при разработке сложных по характеру и больших по объему программ, когда к их разработке необходимо привлекать большое число программистов, работающих параллельно. Он позволяет концентрировать внимание разработчиков на наиболее ответственных частях программы, а также облегчает возможность постоянного контроля за ее работоспособностью по мере разработки, отладки и объединения отдельных составляющих программ за счет организации непрерывности этого процесса в течение всей разработки.
Для ускорения разработки программного комплекса часто вместо некоторых программ нижнего уровня, находящихся в процессе разработки, могут применяться специальные «программы-заглушки» Программы-заглушки требуются только на ранних стадиях разработки для того, чтобы не сдерживать общий ход создания программного комплекса. Суть программы-заглушки заключается в том, что при обращении к ней в соответствии с заданным набором исходных тестовых данных она не формирует, а выбирает результат «решения» из заранее подготовленного набора. Благодаря этому обеспечивается возможность имитировать работу на ЭВМ реально создаваемой программы, а следовательно, осуществлять проверку работоспособности программ верхнего уровня еще до того, как будут разработаны и отлажены все составляющие программы нижнего уровня.
C++. Паттерн проектирования программ «Команда (Command)».
Реализация метода нисходящего проектирования тесно связана с другим понятием программирования — модульным проектированием, так как на практике при декомпозиции сложной программы возникает вопрос о разумном пределе ее дробления на составные части. Вместе с тем понятие модульности нельзя сводить только к представлению сложных программных комплексов в виде набора отдельных функциональных блоков.
Модуль — это последовательность логически взаимосвязанных фрагментов задачи, оформленных как отдельная часть программы. При этом программные модули должны обладать следующими свойствами:
§ на модуль можно ссылаться (т.е. обращаться к нему) по имени, в том числе и из других модулей;
§ по завершении работы модуль должен возвращать управление тому модулю, который его вызывал;
§ модуль должен иметь один вход и выход;
§ модуль должен иметь небольшой размер, обеспечивающий его обозримость.
При разработке сложных программ в них выделяют головной управляющий модуль, подчиненные ему модули, обеспечивающие реализацию отдельных функций управления, функциональную обработку (т.е. непосредственную реализацию основного назначения программного комплекса), а также вспомогательные модули, обеспечивающие сервисное обслуживание пакета (например, сбор и анализ статистики работы программы, обработка различного рода ошибочных ситуаций, обучение и выдача подсказок и т.п.).
Проектирование программного обеспечения. Модульное приложение.
Модульный принцип разработки программ обладает следующими преимуществами:
§ большую программу могут разрабатывать одновременно несколько исполнителей, и это позволяет сократить сроки ее разработки;
§ появляется возможность создавать и многократно использовать в дальнейшем библиотеки наиболее употребимых программ;
§ упрощается процедура загрузки больших программ в оперативную память, когда требуется ее сегментация;
§ возникает много естественных контрольных точек для наблюдения за осуществлением хода разработки программ, а в последующем для контроля за ходом исполнения программ;
§ обеспечивается более эффективное тестирование программ, проще осуществляются проектирование и последующая отладка.
Преимущества модульного принципа построения программ особенно наглядно проявляются на этапе сопровождения и модификации программных продуктов, позволяя значительно сократить затраты сил и средств на реализацию этого этапа.
Структурное программирование
Актуальная для начального периода развития и использования ЭВМ проблема разработки программ, занимающих минимум основной памяти и выполняющихся за кратчайшее время, в последующем в связи резким падением стоимости аппаратной части ЭВМ, значительным возрастанием их быстродействия и объемов памяти сменилась необходимостью разработки и применения принципиально новых методов составления программ. Все это нашло свое воплощение в разработке принципа структурного программирования. Одной из целей структурного программирования было стремление облегчить разработку и отладку программных модулей, а главное — их последующее сопровождение и модификацию.
В настоящее время структурное программирование — это целая дисциплина, объединяющая несколько взаимосвязанных способов создания ясных, легких для понимания программ. Эффективность применения современных универсальных языков программирования во многом определяется удобством написания с их помощью структурных программ.
CASE-технологии
За последнее десятилетие в области средств автоматизации программирования сформировалось новое направление под общим названием CASE-технологии (Computer Aided Software Engineering).
CASE-технология представляет собой совокупность средств системного анализа, проектирования, разработки и сопровождения сложных программных систем, поддерживаемых комплексом взаимоувязанных инструментальных средств автоматизации всех этапов разработки программ. Благодаря структурным методам CASE-технология на стадиях анализа и проектирования обеспечивает разработчиков широкими возможностями для различного рода моделирования, а централизованное хранение всей необходимой для проектирования информации и контроль за целостностью данных гарантируют согласованность взаимодействия всех специалистов, занятых в разработке ПО.
Технологии RAD
В начале 80-х годов появилась методология, по которой разработка программы начиналась не после завершения процесса выработки окончательных требований к ней, а как только устанавливались требования на первый, “стартовый” (пилотный) вариант прикладной программы, позволяющий начать содержательную работу по ее реализации на компьютере.
Это дало пользователю возможность, получая уже с первых шагов конкретное представление о характере реализации задачи, уточнять ее постановку. Тем самым облегчался процесс экспериментального поиска нужного решения автоматизации задачи. Благодаря тесному взаимодействию разработчика с заказчиком (пользователем) на самом ответственном этапе создания прикладных программ между ними достигалось быстрое взаимопонимание цели поставленной задачи и возможности ее автоматизации в данных конкретных условиях. Это повышало скорость разработки программ и послужило основанием для названия такой технологии RAD (Rapid Application Development — быстрая разработка программ), которая получила широкое распространение.
Data Warehouse
Другое направление разработки прикладных программных средств, олицетворяющее собой современный подход к реализации широкого круга задач для принятия управленческих решений, базируется на концепции создания специального хранилища данных (Data Warehouse). Основное отличие концепции Data Warehouse от традиционного представления баз данных заключается в следующем:
§ во-первых, в том, что актуализация данных в Data Warehouse означает не обновление элементов информации, а добавление новых элементов к уже имеющимся (что расширяет возможности проведения различного рода сравнительного анализа);
§ во-вторых, в том, что наряду с информацией, непосредственно отражающей состояние системы управления, в Data Warehouse аккумулируются и метаданные.
Метаданные (данные о данных) облегчают возможность визуального представления содержимого Data Warehouse, позволяют, «перемещаясь» по хранилищу, быстро отбирать необходимые данные для последующей обработки.
Основные типы метаданных Data Warehouse отражают:
§ структуру и содержимое хранилища;
§ соответствие между исходными и выходными данными;
§ объемные характеристики данных;
§ отношения между данными;
§ информацию по кодированию;
§ интервал жизни данных и т.п.
Концепция Data Warehouse поддерживается RAD средствами разработки прикладного ПО.
Концепция Data Warehouse обеспечивает возможность разработки программных приложений для поддержки процессов принятия решений с использованием OLAP-систем.
Система OLAP (On-Line Analytical Process) предоставляет возможность разработки информационных систем, ориентированных на yна организацию многомерных баз данных и создание корпоративных сетей, а также обеспечивает поддержку Web-технологий в сетях Internet/Intranet
Успешное применение инструментальных средств OLAP-систем объясняется быстротой разработки приложений, гибкостью и широкими возможностями в области доступа к данным и их преобразования. В настоящее время на рынке ПО предлагается большое число OLAP-стем, разработчиками которых являются различные фирмы, например IBM, Informix, Microsoft, Oracle, Sybase и др.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Модульное проектирование программных средств
Понятие
модульного проектирования и модуля
Свойства программных модулей
Преимущества модульного принципа
Недостатки модульного принципа
Понятие модульной программы и принципы модульности
программы
Методы проектирования модульных программ
Краткое описание методов проектирования модульных
программ
4.
Модульное проектирование отражает
определенную технологию
проектирования, в соответствии с которой
любая часть системы синтезируется из
более мелких фрагментов (модулей).
Модуль — это последовательность
логически взаимосвязанных фрагментов
задачи, оформленных как отдельная часть
программы.
5.
Программные модули должны обладать
следующими свойствами:
на модуль можно ссылаться (т.е.
обращаться к нему) по имени, в том числе и
из других модулей;
по завершении работы модуль должен
возвращать управление тому модулю,
который его вызывал;
модуль должен иметь один вход и выход;
модуль должен иметь небольшой размер,
обеспечивающий его обозримость.
6.
При разработке сложных программ в них выделяют
головной управляющий модуль, подчиненные ему
модули, обеспечивающие реализацию отдельных
функций управления, функциональную обработку
(т.е. непосредственную реализацию основного
назначения программного комплекса), а также
вспомогательные модули, обеспечивающие
сервисное обслуживание пакета (например, сбор и
анализ статистики работы программы, обработка
различного рода ошибочных ситуаций, обучение и
выдача подсказок и т.п.).
7.
Модульный принцип разработки программ
обладает следующими преимуществами:
большую программу могут разрабатывать
одновременно несколько исполнителей, и это
позволяет сократить сроки ее разработки;
появляется возможность создавать и многократно
использовать в дальнейшем библиотеки наиболее
употребимых программ;
упрощается процедура загрузки больших
программ в оперативную память, когда требуется ее
сегментация;
8.
Модульный
принцип разработки программ
обладает следующими преимуществами:
возникает много естественных контрольных точек
для наблюдения за осуществлением хода
разработки программ, а в последующем для
контроля за ходом исполнения программ;
обеспечивается более эффективное тестирование
программ, проще осуществляются проектирование
и последующая отладка.
9.
Недостатки:
модульность требует большей дополнительной
работы программиста и определенных навыков
проектирования программ.
модульный подход в среднем требует большего
времени работы ЦП(на 5-10%) за счет времени
обращения к модулям.
модульность программ приводит к увеличению
объема программ(на 5-10%).
10.
Модульная программа – это программа, в которой
любую часть логической структуры можно
изменить не вызывая изменений в других частях
программы.
Признаки модульности программы:
Программа состоит из модулей.
Независимость модулей.
Условие : один вход, один выход.
11.
Методы проектирования модульных программ
делятся на 3 группы:
1.методы нисходящего проектирования.
2.Методы расширения ядра.
3.Методы восходящего проектирования.
12.
Нисходящее проектирование служит средством
разбиения большой задачи на меньшие подзадачи
так, чтобы каждую подзадачу можно было
рассматривать независимо. Существуют различные
стратегии реализации нисходящего
проектирования. Основные из них – пошаговое
уточнение и анализ сообщений.
13.
При использовании метода восходящего
проектирования в первую очередь реализуются
функции нижнего уровня программы. На основе
полученных модулей проектируются программные
компоненты более высокого уровня. Часто
используется сочетание методов нисходящего и
восходящего проектирования. Такое сочетание
возможно различными способами.
14.
При использовании метода расширения ядра в
первую очередь создается ядро (основная часть)
программы. Затем данное ядро постепенно
расширяется, пока не будет полностью
сформирована управляющая структура
разрабатываемой программы.
Источник: ppt-online.org
Презентация, доклад по МДК. 03.01 Технология разработки программного обеспечения Модульное проектирование программных средств
СодержаниеПонятие модульного проектирования и модуляСвойства программных модулейПреимущества модульного принципаНедостатки модульного принципаПонятие модульной программы и принципы модульности программыМетоды проектирования модульных программКраткое описание методов проектирования модульных программ
- Главная
- Разное
- Презентация по МДК. 03.01 Технология разработки программного обеспечения Модульное проектирование программных средств
Слайд 1Презентация на тему «модульное проектирование программных средств»
Слайд 2Содержание
Понятие модульного проектирования и модуля
Свойства программных модулей
Преимущества модульного принципа
Недостатки модульного принципа
Понятие
модульной программы и принципы модульности программы
Методы проектирования модульных программ
Краткое описание методов проектирования модульных программ
Слайд 3Модульное проектирование отражает определенную технологию проектирования, в соответствии с которой любая
часть системы синтезируется из более мелких фрагментов (модулей).
Модуль — это последовательность логически взаимосвязанных фрагментов задачи, оформленных как отдельная часть программы.
Слайд 4Программные модули должны обладать следующими свойствами:
на модуль можно ссылаться (т.е.
обращаться к нему) по имени, в том числе и из других модулей;
по завершении работы модуль должен возвращать управление тому модулю, который его вызывал;
модуль должен иметь один вход и выход;
модуль должен иметь небольшой размер, обеспечивающий его обозримость.
Слайд 5При разработке сложных программ в них выделяют головной управляющий модуль, подчиненные
ему модули, обеспечивающие реализацию отдельных функций управления, функциональную обработку (т.е. непосредственную реализацию основного назначения программного комплекса), а также вспомогательные модули, обеспечивающие сервисное обслуживание пакета (например, сбор и анализ статистики работы программы, обработка различного рода ошибочных ситуаций, обучение и выдача подсказок и т.п.).
Слайд 6Модульный принцип разработки программ обладает следующими преимуществами:
большую программу могут разрабатывать одновременно
несколько исполнителей, и это позволяет сократить сроки ее разработки;
появляется возможность создавать и многократно использовать в дальнейшем библиотеки наиболее употребимых программ;
упрощается процедура загрузки больших программ в оперативную память, когда требуется ее сегментация;
Слайд 7Модульный принцип разработки программ обладает следующими преимуществами:
возникает много естественных контрольных точек
для наблюдения за осуществлением хода разработки программ, а в последующем для контроля за ходом исполнения программ;
обеспечивается более эффективное тестирование программ, проще осуществляются проектирование и последующая отладка.
Слайд 8Недостатки:
модульность требует большей дополнительной работы программиста и определенных навыков проектирования программ.
модульный
подход в среднем требует большего времени работы ЦП(на 5-10%) за счет времени обращения к модулям.
модульность программ приводит к увеличению объема программ(на 5-10%).
Слайд 9Модульная программа – это программа, в которой любую часть логической структуры
можно изменить не вызывая изменений в других частях программы.
Признаки модульности программы:
Программа состоит из модулей.
Независимость модулей.
Условие : один вход, один выход.
Слайд 10Методы проектирования модульных программ делятся на 3 группы:
1.методы нисходящего проектирования.
2.Методы расширения
ядра.
3.Методы восходящего проектирования.
Слайд 11Нисходящее проектирование служит средством разбиения большой задачи на меньшие подзадачи так,
чтобы каждую подзадачу можно было рассматривать независимо. Существуют различные стратегии реализации нисходящего проектирования. Основные из них – пошаговое уточнение и анализ сообщений.
Слайд 12При использовании метода восходящего проектирования в первую очередь реализуются функции нижнего
уровня программы. На основе полученных модулей проектируются программные компоненты более высокого уровня. Часто используется сочетание методов нисходящего и восходящего проектирования. Такое сочетание возможно различными способами.
Слайд 13При использовании метода расширения ядра в первую очередь создается ядро (основная
часть) программы. Затем данное ядро постепенно расширяется, пока не будет полностью сформирована управляющая структура разрабатываемой программы.
Источник: shareslide.ru