- •Тема 1. Введение. Основы методологии проектирования информационных систем 5
- •Жизненный цикл программного обеспечения
- •Модели жизненного цикла программного обеспечения
- •Макетирование
- •Спиральная модель жизненного цикла
- •Компонентно-ориентированная модель
- •Тема 2. Структурный анализ и проектирование Определение структурного анализа
- •Средства структурного анализа
- •Моделирование потоков данных
- •Контекстная диаграмма
- •Построение иерархии диаграмм потоков данных
- •Методология функционально стоимостного анализа
- •Методология функционального моделирования sadt (Structured Analysis and Design Technique)
- •Состав функциональной модели sadt
- •Иерархия диаграмм
- •Словарь данных
- •Тема 3. Построение информационной модели системы. Проектирование баз данных Диаграммы сущность-связь (erd)
- •Сущности, отношения и связи в нотации Чена
- •Типы связей в нотации Чена
- •Ассоциативная связь
- •Диаграммы атрибутов в классической модели Чена
- •Диаграмма категоризации
- •Нотация Баркера. Модель сущность- связь в нотации Баркера
- •Методология idef1x
- •Тема 4. Методика построения информационной модели данных (модели «сущность-связь»)
- •Идентификация отношений между сущностями
- •Разрешение неспецифических отношений
- •Использование средств и техники структурного системного анализа
- •Основные виды работ, рекомендуемые при построении логической и физической моделей программной системы
- •Подход Мартина (ie–методология)
- •Тема 5. Методология rad (Rapid Application Development)
- •Основные принципы методологии rad
- •Состав, структура и функциональные особенности case-средств
- •Поддержка графических моделей
- •Требования к современному диаграммеру
- •Тема 6. Структурное тестирование программного обеспечения Основные понятия и принципы тестирования программного обеспечения
- •Особенности тестирования белого ящика
- •Способ тестирования базового пути
- •Потоковый граф
- •Цикломатическая сложность
- •Шаги способа тестирования базового пути
- •Способы тестирования условий
- •Тестирование ветвей и операторов отношения
- •Способ тестирования потоков данных
- •Тестирование циклов
- •Тема 7. Функциональное тестирование программного обеспечения Особенности тестирования черного ящика
- •Способы разбиения на эквивалентности
- •Способ анализа граничных значений
- •Способ диаграмм причин–следствий
- •Тема 8. Организация процесса тестирования программного обеспечения
- •Методика тестирования программных систем
- •Тестирование элементов
- •Тестирование итераций
- •Восходящее тестирование интеграции
- •Тестирование правильности
- •Системное тестирование
Основные принципы методологии rad
Разработка приложений итерациями.
Необязательно полное завершение работ на каждом этапе жизненного цикла.
Обязательное вовлечение пользователя в процесс разработки программной системы.
Применение CASE-средств, обеспечивающее целостность проекта.
Применение средств управления конфигурацией, упрощающее внесение изменений в проект.
Необходимость использования автоматических генераторов кода.
Использование прототипирования позволяет полнее выяснить и выполнить требования конечного пользователя.
Тестирование и развитие проекта осуществляется одновременно с разработкой.
Разработка ведется немногочисленной хорошо управляемой командой профессионалов.
10) Грамотное руководство разработкой программной системы, четкое планирование и контроль выполнения работ.
Состав, структура и функциональные особенности case-средств
Case-средства – это инструментарий для поддержки методов структурного анализа и проектирования. Case-пакет поддерживает работу пользователя по созданию и редактированию графического проекта системы в диалоговом режиме, а также выполняет проверку соответствия разработанных компонентов замыслу проектировщика.
Case-средства представляют собой графически ориентированные инструменты для поддержки жизненного цикла программного обеспечения и имеют следующие отличительные черты:
мощная графика для описания и проектирования функционирования системы, развивающая творческие способности специалистов и не отвлекающая их от проектирования на решение второстепенных вопросов;
интеграция, обеспечивающая легкость передачи данных между case-средствами;
использование электронных носителей данных для хранения всей информации о проекте.
Кроме основных признаков в основе case-средств лежат следующие концептуальные положения:
разработка программного обеспечения среди case-пакетов для разработчика представляется удобным и экономичным процессом;
используются популярные базовые программные средства такие, как система управления базами данных, компиляторы, отладчики, документаторы, оболочки экспертных систем и т.д.
автоматизированная или автоматическая кодогенерация нескольких видов. Например, автоматическая генерация схемы базы данных, получение машинных кодов программ, автоматическая сборка модулей, автоматическое конвертирование используемых файлов в новые форматы;
ограничение сложностей. Компоненты case-пакета должны быть доступны для понимания, поддаваться управлению, обладать простой и ясной структурой;
доступность case-пакета для разных категорий пользователей.
Типовой case-пакет содержит четыре основных компонента:
средства централизованного хранения всей информации о проектируемом программном обеспечении в течение всего жизненного цикла. Вся информация хранится в так называемом репозитарии (хранилище), который является основой case-пакета. Соответствующая репозитарию база данных должна включать систему описаний и характеристик проекта, а также предусматривать надежные меры по защите от ошибок и потерь информации. Репозитарий также должен обеспечивать реализацию следующих функций:
при вводе описания объекта старое описание сохраняется, а к нему добавляется новое;
распространение действия нового описания на информационное пространство всего проекта;
синхронизация поступления информации от различных пользователей;
хранение версии проекта и его отдельных компонентов;
возможность сборки любой запрошенной версии;
контроль информации на корректность, полноту и состоятельность.
Средства ввода предназначены для ввода данных в репозитарий, а также для организации взаимодействия пользователя с case-пакетом. Средства ввода должны поддерживать разные методологии и должны использоваться различными категориями разработчиков, то есть аналитиками, проектировщиками, администраторами и т.д.
Средства анализа, проектирования и разработки. Они предназначены для того, чтобы обеспечить проектирование и анализ различных описаний, а также различные преобразования этих описаний в процессе разработки.
Средства вывода. Они предназначены для документирования, управления проектом и для генерации кода.
Все четыре компонента в совокупности должны:
поддерживать графические модели;
контролировать ошибки;
организовывать и поддерживать репозитарий;
поддерживать процессы проектирования и разработки.