
- •Основи програмної інженерії питання для підготовки до семестрового іспиту Спеціальність: 5.05010301 «Розробка програмного забезпечення»
- •Загальні відомості про стандарт swebok
- •Стандарт 12207: процеси життєвого циклу програмного забезпечення
- •Каскадна модель життєвого циклу програмного забезпечення
- •Інкрементна модель життєвого циклу програмного забезпечення
- •Спіральна модель життєвого циклу програмного забезпечення
- •Важковагові та полегшені процеси розробки програмного забезпечення
- •Види вимог
- •Аналіз вимог
- •Верифікація та формалізація вимог
- •Об’єктно-орієнтована інженерія вимог
- •Метод інженерії вимог а. Джекобсона
- •Визначення об’єктів в моделі аналізу вимог
- •Трасування та атрибути вимог
- •Перевірка та вимірювання вимог
- •Основні поняття аналізу предметної області
- •Метод аналізу предметної області
- •Інформаційна модель в даграмі с. Шлаер та с. Меллора для аналізу предметної області
- •Модель станів в діаграмі с. Шлаер та с. Меллора для аналізу предметної області
- •Модель процесів в діаграмі с. Шлаер та с. Меллора для аналізу предметної області
- •Методи проектування архітектури пз
- •Структурний підхід до проектування
- •Об’єктно-орієнтований підхід до проектування
- •Методи моделювання uml
- •Предмети в uml
- •Відношення в uml
- •Діаграми в uml
- •Діаграми класів в uml
- •Діаграми схем станів
- •Діаграми діяльності
- •Діаграми взаємодії
- •Діаграми співробітництва
- •Діаграми послідовності
- •Діаграми Use Case
- •Діаграми об’єктів в uml
- •Основи конструювання
- •Стандарти конструювання програмного забезпечення
- •Моделі конструювання програмного забезпечення
- •Планування конструювання
- •Проектування в конструюванні
- •Статичні методи тестування програм
- •Динамічні методи тестування програм
- •Функціональне тестування програм
- •Організація підготовки тестів
- •Команда тестувальників
- •Організація процесу тестування
- •Ошибки на этапах жц тестирования
- •Связь ошибки с отказом и источники ошибок
- •Модель якості програмного забезпечення
- •Характеристики якості програмного забезпечення
- •5). Сопровождаемость
- •Метрики оцінки якості програмного забезпечення
- •Стандартний метод оцінки значень показників якості
- •Керування якістю програмного забезпечення
- •Моделі оцінки надійності
- •Методи керування проектами
- •Метод критичного шляху для керування проектом
- •Метод аналізу та оцінки pert
- •Планування проекту
- •Організаційні аспекти керування в проекті
- •Оцінка проекту
- •Методи керування ризиками
- •Керування конфігурацією програмної системи
- •Проблеми організації документування
- •Проблеми формування системи, функцій та характеристик програмного продукту
- •Проблеми оцінки та керування масштабом проекту
- •Проблеми побудови коректної системи документів
- •Проблеми організаційної структури колективу, який забезпечує документування
- •Проблема узгодження та затвердження вимог замовника
- •Проблеми прогнозування об’єму документації
- •Формування вимог до документації
- •Планування документування проектів
- •Керування спеціалістами при документуванні
- •Документообіг в життєвому циклі
- •Стандарти, що регламентують документування програмних проектів
- •Стандарти, що регламентують експлуатаційну документацію
Трасування та атрибути вимог
Одной из главных проблем сбора требований является проблема изменения требований. Требования появляются в процессе общения между группой заказчиков и аналитиками системы в виде интервью, обсуждений, которые не приносят желаемого результата. Это объясняется тем, что составляющих элементов требований последовательно изменяются, благодаря чему их содержание и форма постепенно становятся более точными и полными, т.е. соответствуют действительности.
Инструменты трассировки поддерживают развитие и обработку требований с сохранением их описания и внутренних связей между ними. Трассировка помогает проверять особенности системы на спецификациях требований, выявлять источники разнообразных ошибок и управлять изменениями требований. Если требования разрабатывались в объектной ориентации, то объектами трассировки являются классы и суперклассы и поддерживаемые отношения между ними.
Некоторые методы трассировки базируются на формальных спецификациях отношений (фреймы, соглашения сотрудничества и др.), другие ограничиваются описаниями действий, ситуаций, контекста и возможных решений.
Трассировку можно описать исходя из следующего:
требования изменяются во время функционирования системы;
возникновение требований и их расположение зависит от деталей практической ситуации и контекста их возникновения (требования можно изменить, изменяя эти детали);
трассировка требований должна поддерживаться и изменятся на протяжении всего ЖЦ программного продукта (т. к. изменяются сами требования, необходимо проводить изменение и промежуточных результатов, полученных при анализе, спецификации, кодировке и т. д.);
для удобства трассировки использовать иерархическую структуру связей между требованиями, основу которой составляет информация об атрибутах требований.
Чтобы принять решение о возможных модификациях, необходимо иметь достаточно информации о частях и связях между ними. Более того, различные аспекты требований могут быть по-разному представлены и изменены их контексты путем персонального вмешательства аналитиков или заказчика.
Механизмы трассировки должны учитывать следующее:
вместо простых связей вводить более сложные отношения (например, транзитивное отношение для выделения цепочек связей) или вводить специфические отношения;
использовать сложные и гибкие пути трассировки;
поддержать базы данных объектов трассировки и отношений между ними.
Желательно наличие механизмов поддержки возможностей объектно-ориентированного программирования, операций над классами, а также механизмов унификации функций и отношений (1:1, 1:М,уничтожение и изменение связей, установка стандартных связей).
Трассировка может быть выборочной для определенных объектов, беспорядочной проверкой объектов, связанных с другими объектами, а также с возможными переходами от одного объекта к другим. Она проводится с использованием механизмов поддержания контекста и отношений, соответствующих данной ситуации (например, трассировка с регулярными выражениями, когда контекст может быть изменен только при модификации соответствующего регулярного выражения). Человеческий фактор. Любой процесс постановки требований напрямую связан с умением людей контактировать друг с другом, кооперироваться или эффективно распределять разноплановые производственные функции между собой. Необходимо уметь достигнуть соглашения в спорных вопросах, касающихся дизайна или технических решений. Организационные функции не должны выходить за рамки понимания проблемы. Важно чтобы лица, работающие над проектом на разных уровнях, имели возможность эффективно общаться друг с другом.
Технологии проекта должны обращать внимание на динамику людских отношений в коллективе. Они должны способствовать эффективному достижению согласия и управления разногласиями, давать возможность снижать сложность отношений в группе сотрудников, работающих над проектом, особенно в повседневной работе при создании высококачественного продукта.
Наиболее привычной и результативной моделью отношений между заказчиком и проектировщиком является модель типа «учитель - ученик». На практике заказчик наблюдает за работой проектировщика системы. Когда заказчик его не беспокоит, проектировщик обращает внимание на примеры и сам отвечает себе на возникающие вопросы. В порядке исключения, заказчик может остановить свою работу, обдумать поставленный вопрос для пояснения и удовлетворения проектировщика.
Это даже помогает разработчику разобраться в деталях своей работы и избавляет его от описания излишних абстракций. Проектировщик должен сформировать свои независимые идеи относительно проектировки будущей системы и постоянно консультироваться с заказчиком, что избежать ошибок на самых ранних этапах проектирования системы Использование данной модели на практике возможно только при хороших взаимоотношениях между заказчиком и исполнителем проекта.