- •Вопросы для подготовки к экзаменам по дисциплине «Разработка и стандартизация программных средств и информационных технологий»
- •Проблемы разработки сложных программных систем
- •Блочно-иерархический подход к созданию сложных систем
- •Жизненный цикл и этапы разработки программного обеспечения
- •Ускорение разработки программного обеспечения
- •Оценка качества процессов создания программного обеспечения
- •Понятие технологичности программного обеспечения
- •Модули и их свойства
- •Нисходящая и восходящая разработка программного обеспечения
- •Структурное и «неструктурное» программирование
- •Эффективность и технологичность
- •Сквозной структурный контроль
- •Определение требований к программному обеспечению и исходных данных для его проектирования
- •Классификация программных продуктов по функциональному признаку
- •Предпроектные исследования предметной области
- •Разработка технического задания
- •Анализ требований и определение спецификаций программного обеспечения при структурном подходе
- •Функциональные диаграммы
- •Диаграммы потоков данных
- •Диаграммы переходов состояний
- •Проектирование структур данных
- •Case-технологии, основанные на структурных методологиях анализа и проектирования
- •Анализ требований и определение спецификаций при объектном подходе
- •Определение «вариантов использования»
- •Построение концептуальной модели предметной области
- •Проектирование программного обеспечения при объектном подходе
- •Разработка структуры программного обеспечения при объектном подходе
- •Определение отношений между объектами
- •Типы пользовательских интерфейсов и этапы их разработки
- •Основные компоненты графических пользовательских интерфейсов
- •Реализация диалогов в графическом пользовательском интерфейсе
- •Психофизические особенности человека связанные с восприятием, запоминанием и обработкой информации.
- •Пользовательская и программная модели интерфейса
- •Виды контроля качества разрабатываемого программного обеспечения
- •Ручной контроль программного обеспечения
- •Структурное и функциональное тестирования
- •Тестирование модулей и комплексное тестирование
- •Отладка программного обеспечения
- •Классификация ошибок
- •Общая методика отладки программного обеспечения
- •Оценочное тестирование
- •Виды программных документов
- •1 Общие положения
- •3 Основные технические решения
- •4 Мероприятия по подготовке объекта автоматизации к вводу системы в действие
- •4.1 Приведение информации к виду, пригодному для обработки на эвм
- •4.2 Мероприятия по подготовке персонала
- •4.3 Организация необходимых подразделений и рабочих мест
- •4.4 Изменение объекта автоматизации
- •4.5 Дополнительные мероприятия
- •Руководство пользователя
- •3.3 Проверка работоспособности системы
- •4 Описание операций
- •6 Рекомендации по освоению
- •Руководство системного программиста
- •Основные правила оформления программной документации
- •Техническое задание
- •1. Общие положения
- •2. Содержание разделов
- •Стадии разработки (гост 19.102-77)
- •Описание программы (гост 19.402-78)
- •Текст программы (гост 19.401-78)
- •Программа и методика испытаний (гост 19.301-79)
- •Требования к программным документам, выполненным печатным способом (гост 19.106-78)
-
Case-технологии, основанные на структурных методологиях анализа и проектирования
К нашему времени накоплен опыт успешного использования большинства известных методологий структурного анализа и проектирования в соответствующих CASE-средствах. Наибольшее распространение получили методологии [30]: SADT (3,3%), структурного системного анализа Гейна-Сар-сона (20,2%), структурного анализа и проектирования Йордана-Де Марко (36,5%), развития систем Джексона (7,7%), развития структурных схем DSSD (Data Structured System Development) Варнье-Орра (5,8%), анализа и проектирования систем реального времени Уорда-Меллора и Хатли, информационного моделирования Мартина (22,1%).
Как видно из приведенных статистических данных, наибольшее применение нашли структурные методологии, использующие диаграммы потоп» данных. Это вызвано двумя причинами:
• диаграммы потоков данных более детально по сравнению с функциональными диаграммами отображают специфику многочисленных в настоящее время информационных систем: не требуют строгой типизации обрабатываемой информации, предусматривают возможность хранения данных, конкретизируют взаимодействие с внешним миром, предусматривают получение комплексной модели программного обеспечения и т. п.;
• разработан метод построения проектных спецификаций (структурных карт Джексона или Костантайна) по диаграммам потоков данных, что позволяет автоматически создавать такие спецификации.
В табл. 5.3 представлены данные о моделях, поддерживающих соответствующий пакет, а в табл. 5.4 - нотации представления соответствующей информации.
Несмотря на то, что последнее время все большее распространение получают объектно-ориентированные средства разработки программного обеспечения, структурные методологии продолжают совершенствовать. Их успешно применяют при разработке многих программных продуктов, например, для уточнения требований к системам, основной частью которых являются базы данных, очень часто используют диаграммы потоков данных.
-
Анализ требований и определение спецификаций при объектном подходе
Модели разрабатываемого ПО при объектном подходе основаны на предметах и явлениях реального мира. В основе этих моделей также лежит описание требуемого поведения разрабатываемого ПО, т. е. его функциональности, но это поведение связывается с состояниями элементов (объектов) конкретной предметной области.
Таким образом, на этапе анализа ставятся две задачи:
уточнить требуемое поведение разрабатываемого ПО;
разработать концептуальную модель его предметной области с точки зрения поставленных задач.
-
UML-стандартный язык описания разработки программных продуктов с использованием объектного подхода
В основе объектного подхода к разработке ПО лежит объектная декомпозиция, т. е. представление разрабатываемого ПО в виде совокупности объектов, в процессе взаимодействия которых через передачу сообщений и происходит выполнение требуемых функций (рис. 39.1).
Рисунок 39.1 Объектная декомпозиция программы построения таблиц и графиков
Однако при объектном подходе так же, как и при структурном подходе, сразу можно выполнить декомпозицию только очень простого программного обеспечения. Поэтому на заре эпохи объектно-ориентированного программирования были предложены различные методы анализа и проектирования ПО в рамках объектного подхода, использующие различные модели и нотации. Спорить о достоинствах и недостатках этих методов и моделей можно было бесконечно. Эта ситуация получила название «войны методов».
Конец «войне методов» положило появление в 1995 г. первой версии языка UML ( Unified Modeling Language – унифицированный язык моделирования), который в настоящее время признан стандартным средством описания проектов, создаваемых с использованием объектно-ориентированного подхода. Его создателями являются ведущие специалисты в этой области: Гради Буч, Айвар Джекобсон и Джеймс Рамбо, которые использовали в своем языке все лучшее, что появилось в подходах этих авторов во время «войны методов».
Спецификация разрабатываемого программного обеспечения при использовании UML объединяет несколько моделей: использования, логическую, реализации, процессов, развертывания (рис. 39.2).
Рисунок 39.2 Полная спецификация разрабатываемого ПО при объектном подходе (UML).
Модель использования представляет собой описание функциональности ПО с точки зрения пользователя.
Логическая модель описывает ключевые абстракции ПО (классы, интерфейсы и т.п.), т.е. средства, обеспечивающие требуемую функциональность.
Модель реализации определяет реальную организацию программных модулей в среде разработки.
Модель процессов отображает организацию вычислений и оперирует понятиями «процессы» и «нити». Она позволяет оценить производительность, масштабируемость и надежность ПО.
Модель развертывания показывает особенности размещения программных компонентов на конкретном оборудовании.
Таким образом, каждая из указанных моделей характеризует определенный аспект проектируемой системы, а все они вместе составляют относительно полную модель разрабатываемого ПО.
Всего UML предлагает девять дополняющих друг друга диаграмм, входящих в различные модели:
- диаграммы вариантов использования;
- диаграммы классов;
- диаграммы пакетов;
- диаграммы последовательностей действий;
- диаграммы кооперации;
- диаграммы деятельностей;
- диаграммы состояний объектов;
- диаграммы компонентов;
- диаграммы размещения.
Все указанные диаграммы по возможности используют единую графическую нотацию, что облегчает их понимание.
Помимо указанных диаграмм, как и при структурном подходе, спецификация обязательно включает словарь терминов, а также различного рода описания и текстовые спецификации. Конкретный набор документации определяется разработчиком.
UML и предлагаемая теми же авторами методика Rational Unified Process поддерживаются пакетом Rational Rose фирмы Rational Software Corporation . Ряд диаграмм UML можно построить также средствами программы Microsoft Visual Modeler и других Case средств. По данным « USA Today » в настоящее время 49 из 50-ти ведущих компьютерных компаний используют UML при разработке ПО с использованием объектного подхода, что и позволяет говорить о том, что сегодня UML фактически стал стандартом описания подобных разработок.