Николай Соловьев - Системы автоматизации разработки программного обеспечения
- Название:Системы автоматизации разработки программного обеспечения
- Автор:
- Жанр:
- Издательство:Литагент БИБКОМ
- Год:2012
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Николай Соловьев - Системы автоматизации разработки программного обеспечения краткое содержание
Системы автоматизации разработки программного обеспечения - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Отсутствие четких моделей описания подпрограмм и методов их проектирования, создание каждой подпрограммы превращалось в непростую задачу: интерфейсы подпрограмм получались сложными и при сборке программного продукта выявлялось большое количество ошибок согласования (80 % времени разработки ПО уходило на тестирование).
Таким образом, эволюция технологий разработки ПО является объективной реальностью и определяется необходимостью преодоления проблем, связанных с ростом сложности ПО, отсутствием автоматизированных средств описания программных систем, потребностью в коллективной разработке и увеличению степени повторяемости программного кода.
1.2.3 Вопросы и задания для самоконтроля
1 Дайте определение технологии проектирования ПО?
2 Что понимают под архитектурой ПО? 3 Что представляют собой модели ПО?
4 В каких случаях строятся модели?
5 Что является центральным процессом моделирования? Что включает в себя язык моделирования?
6 Перечислите последовательность операций технологии процедурного программирования.
7 Какие объекты включает в себя технологические операции?
8 Дайте определение методу проектирования.
9 В чем заключается сущность стихийного программирования?
10 Перечислите и поясните последовательность операций технологий процедурного программирования и их исполнителей.
1.3 Базовые технологии разработки программного обеспечения
Программирование – сравнительно молодая и быстро развивающаяся отрасль науки и техники. Опыт ведения реальных разработок и совершенствование имеющихся программно-аппаратных средств постоянно переосмысливается, в результате чего появляются новые технологии и методы их реализации, которые, в свою очередь, служат основой более современных средств разработки ПО. Однако, в основе любой технологии лежат две базовые парадигмы: структурное и объектноориентированное программирование.
1.3.1 Технологии на основе парадигмы структурного программирования
Дальнейший рост сложности разрабатываемого ПО потребовал структурирования данных и, как следствие, в языках появилась возможность определения пользовательских типов данных. Кроме того, анализ причин возникновения большинства ошибок технологии процедурного программирования позволил сформулировать новый подход к программированию, который был назван «структурным».
Сущность структурного подходак разработке АИС заключается в декомпозициипроектируемой системы на автоматизируемые функции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и так далее. В отличии от используемого ранее процедурного подхода к декомпозиции, структурный подход предполагает представление задачи в виде иерархииподзадач простейшей структуры (40..50 операторов). Проектирование осуществляется «свреху-вниз» и подразумевает реализацию общей идеи за счет разработки интерфейсов подпрограмм, а также специальный метод проектирования алгоритмов – метод пошаговой детализации.
При этом последовательность технологических операций, характерная для технологий структурного программирования, практически не изменилась (см. рисунок 1.8).
Все наиболее распространенные технологии структурного подхода базируются на ряде общих принципов:
– принцип "разделяй и властвуй" – принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, легких для понимания и решения;
– принцип иерархического упорядочивания – принцип организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
– принцип абстрагирования – заключается в выделении существенных аспектов системы и отвлечения от несущественных;
– принцип структурирования данных – заключается в том, что данные должны быть структурированы и иерархически организованы.
Поддержка принципов структурного программирования заложено в основу так называемых структурных языков программирования – Pascal, C, PL/1.
В структурном анализе используются модели, иллюстрирующих функции, выполняемые системой, и модели, описывающие отношения между данными:
– SADT (Structured Analysis and Design Technique) – функциональные модели;
– DFD (Data Flow Diagrams) – диаграммы потоков данных;
– ERD (Entity-Relationship Diagrams) – диаграммы «сущность-связь».
Технология SADTразработана Дугласом Россом и на ее основе принят известный стандарт IDEF0 (Icam DEFinition), который является основной частью программы ICAM (Интеграция компьютерных и промышленных технологий). Технология возникла под влиянием PLEX, концепции клеточной модели человекоориентированных функций Хори, общей теории систем, технологий программирования и кибернетики.
SADT представляет собой совокупность концепций, нотаций и правил, предназначенных для построения функциональной модели объекта предметной области.
Элементы этой технологии основываются на концепции графического представление блочного моделирования – SADT-диаграммы отображают функции в виде блоков, взаимодействующих друг с другом посредством интерфейсных дуг. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу.
На рисунке 1.9 представлена основная нотацияSADT-модели любой предметной области.

Рисунок 1.9 – Функциональный блок и интерфейсные дуги
ПравилаSADT включают:
– ограничение количества блоков на каждом уровне декомпозиции (правило 3-6 блоков);
– связность диаграмм (номера блоков), уникальность меток и наименований (отсутствие повторяющихся имен);
– разделение входов и управлений (правило определения роли данных) и отделение организации от функций, т.е. исключение влияния организационной структуры на функциональную модель.
Одной из наиболее важных особенностей технологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель. На рисунке 1.10 приведены четыре уровня диаграммы SADT-модели и их взаимосвязи.

Рисунок 1.10 – Декомпозиция диаграмм SADT-модели
Читать дальшеИнтервал:
Закладка: