
- •Понятие программного обеспечения, классификация программного обеспечения
- •Жизненный цикл по и его стандартизация, процессы жц по, группы процессов жц по
- •Процесс разработки по: основные действия и их содержание
- •Анализ требований к по
- •Проектирование архитектуры по
- •Кодирование и тестирование по
- •Сертификация процессов разработки по, модель cmm
- •Стратегии жизненного цикла по: понятие, виды и их сравнительная характеристика
- •Каскадная модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
- •Процесс макетирования по: его содержание, преимущества и недостатки, критерии применения
- •Недостатки:
- •Инкрементная модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
- •Спиральная модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
- •Rad модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
- •Структурный подход к разработке по: основные принципы и методы
- •Методология idef0: назначение, icom-модель, правила построения диаграммы
- •Методология idef0: назначение, правила построения иерархии диаграмм, критерии завершения и стратегии декомпозиции
- •Методология dfd: назначение, элементы диаграммы и их назначение, правила построения диаграммы
- •Методология dfd: правила построения иерархии диаграмм, спецификации и их содержание
- •Модификация dfd п. Варда и с. Меллора
- •Модификация dfd д. Хетли и и. Пирбхаи
- •Методология idef1x: назначение, сущности и связи: понятие и их обозначения
- •Методология idef1x: назначение, виды и уровни моделей, порядок построения
- •21 Методология idef3: назначение, единица работы, связи и их виды, соединения и их виды
- •Типы связей idef3
- •Типы соединений
- •Виды указателей idef3
- •22 Основные этапы проектирования программных систем и их содержание
- •Информационные потоки процесса синтеза программной системы
- •23 Структурирование программной системы: цели и модели
- •Широковещательная модель
- •Модель, управляемая прерываниями
- •Модульность программной системы: понятие и свойства модуля, цели модульной декомпозиции
- •Затраты на модульность
- •26 Связность модуля: понятие, виды связности и их описание
- •Характеристика связностей модуля
- •27 Сцепление модулей: понятие, виды сцепления и их описание
- •28 Сложность программной системы, основные подходы к ее оценке
- •29 Структурные карты Констайнтайна
- •Элементы структурных карт: а) – модуль; б) – вызов модуля; в) – связь по данным; г) – связь по управлению
- •Типы вызовов модулей
- •30 Метод анализа и проектирования Джексона
- •Соединения между физическими процессами и их моделями
- •31.Объектно-ориентированный подход к разработке по: основные понятия и принципы
- •32.Язык uml: причины появления и история развития языка, структура языка
- •33.Канонические диаграммы языка uml: их виды и типы, рекомендации построения
- •34.Механизмы расширения uml: виды, примеры использования
- •35.Диаграмма вариантов использования: назначение, принципы построения
- •36.Диаграмма классов: назначение, классы, обозначение классов, их атрибутов и операций
- •37.Диаграмма классов: назначение, отношения между классами и их применение
- •38.Диаграмма композитной структуры: композитные классы и их части, принципы построения
- •39.Диаграмма композитной структуры: кооперации и их использование
- •40. Диаграмма пакетов: назначение, пакеты и отношения между ними
- •41.Диаграмма объектов, назначение, объекты и отношения между ними
- •42.Диаграмма последовательности: назначение, линии жизни, прием и передача сообщений между линиями жизни
- •43.Диаграмма последовательности: назначение, комбинированные фрагменты, их виды и использование
- •44.Диаграмма деятельности: назначение, понятие, семантика и обозначение деятельности, действия и дуг
- •45.Диаграмма деятельности: узлы управления, их виды и применение
- •46. Дополнительные элементы диаграммы деятельности: действия приема и передачи сигналов, центральный буфер и хранилище данных
- •Дополнительные элементы диаграммы деятельности: разбиения, регион прерываемой деятельности, обработчик исключений
- •Диаграмма коммуникации: назначение, принципы построения
- •Диаграмма обзора взаимодействия: назначение, принципы построения
- •Когда применяются диаграммы обзора взаимодействия
- •50. Временные диаграммы: назначение, принципы построения
- •51. Диаграмма конечного автомата: назначение, простое и композитное состояния
- •52. Диаграмма конечного автомата: простые и составные переходы, правила срабатывания переходов
- •6.3. Переход
- •6.6. Сложные переходы
- •53. Диаграмма конечного автомата: псевдосостояния, их виды и применение
- •54. Протокольные конечный автомат: назначение, элементы и принципы построения
- •55. Диаграмма компонентов: назначение, компоненты, интерфейсы и порты, соединения и их виды
- •56. Диаграмма развертывания: назначение, узлы, артефакты, соединения и их виды
- •57. Объектно-ориентированные метрики: назначение, связь с принципами ооп
- •58. Объектно-ориентированные метрики: связность по данным
- •59. Объектно-ориентированные метрики: связность по методам
- •60. Объектно-ориентированные метрики: сцепление объектов и локальность данных
- •61. Объектно-ориентированные метрики: набор метрик Чидамбера и Кемерера
- •62. Объектно-ориентированные метрики: набор метрик Лоренца и Кидда
- •63. Объектно-ориентированные метрики: набор метрик Фернандо Аббреу
Процесс макетирования по: его содержание, преимущества и недостатки, критерии применения
Макетирование (прототипирование) – это процесс создания модели разрабатываемого программного продукта. Модель может принимать один из трех видов:
бумажный макет или «электронный» макет, который представляет GUI;
работающий макет (выполняет только часть требуемых функций);
существующая программа (характеристики которой должны быть улучшены).
Макетирование
основывается
на многократном повторении итераций,
в которых участвуют заказчик и разработчик,
как это показано.
Преимущества:
пользователь может "увидеть" системные требования в процессе их сбора командой разработчиков;
снижается возможность возникновения путаницы, искажения информации при определении системных требований;
в процесс можно внести новые требования пользователя;
о
бразуются постоянные, видимые признаки прогресса;
качество продукта определяется при активном участии пользователя в процесс разработки;
благодаря меньшему объему доработок уменьшаются затраты на разработку;
обеспечивается управление рисками;
Недостатки:
разработанные "на скорую руку" прототипы страдают от неадекватной или недостающей документации;
с учетом создания рабочего прототипа, качеству всего ПО или долгосрочной эксплуатационной надежности может быть уделено недостаточно внимания.
решение трудных проблем может отодвигаться на будущее. Это приводит к тому, что последующие полученные продукты могут не оправдать надежды, которые возлагались на прототип;
если пользователи не могут участвовать в проекте, на конечном продукте могут отразиться неблагоприятные воздействия;
если выполнение проекта завершается досрочно, у конечного пользователя останется лишь частичная система;
вызывает зависимость и может продолжаться слишком долго;
Критерии применения:
требования не известны заранее, не постоянны или могут быть неудачно сформулированы;
существует потребность в разработке пользовательских интерфейсов;
осуществляются временные демонстрации;
выполняется новая, не имеющая аналогов разработка;
разработчики не уверены в том, какую оптимальную архитектуру или алгоритмы следует применять;
алгоритмы или системные интерфейсы усложнены;
разрабатывается ПО, когда проявляется средняя и высокая степень риска;
Инкрементная модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
Инкрементная модель описывает процесс, при выполнении которого первостепенное внимание уделяется системным требованиям, а затем их реализации в группах разработчиков.
Предполагается, что на ранних этапах жизненного цикла (планирование, анализ и разработка проекта) выполняется конструирование системы в целом. Каждый инкремент затем проходит через остальные фазы жизненного цикла: кодирование, тестирование и поставку.
Преимущества:
не требуется заранее тратить средства, необходимые для разработки всего проекта;
в результате выполнения каждого инкремента получается функциональный продукт;
заказчик располагает возможностью высказаться по поводу каждой версии системы;
ускоряется начальный график поставки (позволяет соответствовать требованиям рынка);
снижается риск неудачи и изменения требований;
риск распределяется на несколько меньших по размеру инкрементов;
в конце каждой инкрементной поставки существует возможность пересмотреть риски;
можно ограничить количество;
поскольку переход из настоящего в будущее не происходит моментально, заказчик может привыкать к новой технологии постепенно;
Недостатки:
определение полной функциональной системы должно осуществляться в начале жизненного цикла, чтобы обеспечить определение инкрементов;
формальный критический анализ и проверку намного труднее выполнить для инкрементов, чем для системы в целом;
заказчик должен осознавать, что общие затраты на выполнение проекта не будут снижены;
поскольку создание некоторых модулей будет завершено значительно раньше других, возникает необходимость в четко определенных интерфейсах;
может возникнуть тенденция к оттягиванию решений трудных проблем на будущее с целью продемонстрировать руководству успех, достигнутый на ранних этапах разработки.
Критерии применения:
если большинство требований можно сформулировать заранее;
если рыночное окно слишком "узкое" и существует потребность быстро поставить на рынок продукт, имеющий функциональные базовые свойства;
для проектов, на выполнение которых предусмотрен большой период времени разработки;
при равномерном распределении свойств различной степени важности;
при разработке программ, связанных с низкой или средней степенью риска;
при выполнении проекта с применением новой технологии, что позволяет пользователю адаптироваться к системе путем выполнения более мелких инкрементных шагов, без резкого перехода к применению основного нового продукта;
когда однопроходная разработка системы связана с большой степенью риска;