- •Питання для підготовки до семестрового іспиту Спеціальність: 5.05010301 «Розробка програмного забезпечення»
- •Загальні відомості про стандарт swebok
- •1. Основы программных требований (Software Requirements)
- •2. Проектирование по (Software design)
- •3. Конструирование по (Software Construction)
- •4. Тестирование по (Software Testing)
- •5. Сопровождение по (Software maintenance)
- •6. Управление конфигурацией по (Software Configuration Management-scm)
- •7. Управление инженерией по (Software Engineering Management)
- •8. Процесс инженерии по (Software Engineering Process)
- •9. Методы и средства инженерии по (Software Engineering Tools and Methods)
- •10. Качество по (Software Quality)
- •Стандарт 12207: процеси життєвого циклу програмного забезпечення
- •Каскадна модель життєвого циклу програмного забезпечення
- •Інкрементна модель життєвого циклу програмного забезпечення
- •Спіральна модель життєвого циклу програмного забезпечення
- •Важковагові та полегшені процеси розробки програмного забезпечення
- •Види вимог
- •Аналіз та збирання вимог
- •Верифікація та формалізація вимог
- •Об’єктно-орієнтована інженерія вимог
- •Метод інженерії вимог а. Джекобсона
- •Визначення об’єктів в моделі аналізу вимог
- •Трасування та атрибути вимог
- •Перевірка та вимірювання вимог
- •Основні поняття аналізу предметної області
- •Метод аналіз та побудови моделей с. Шлаер та с. Меллора
- •Методи проектування архітектури пз
- •Структурний підхід до проектування
- •Об’єктно-орієнтований підхід до проектування
- •Методи моделювання uml
- •Предмети в uml
- •Відношення в uml
- •24. Діаграми в uml
- •Діаграми класів в uml
- •Діаграми схем станів
- •Діаграми діяльності
- •Діаграми взаємодії
- •Діаграми співробітництва
- •Діаграми послідовності
- •Діаграми Use Case
- •Діаграми об’єктів в uml
- •Основи конструювання
- •Стандарти конструювання програмного забезпечення
- •Моделі конструювання програмного забезпечення
- •Планування конструювання
- •Проектування в конструюванні
- •Статичні методи тестування програм
- •Динамічні методи тестування програм
- •Функціональне тестування програм
- •Організація підготовки тестів
- •Команда тестувальників
- •Організація процесу тестування
- •Модель якості програмного забезпечення
- •5). Сопровождаемость
- •Стандартний метод оцінки значень показників якості
- •Керування якістю програмного забезпечення
- •Моделі оцінки надійності
- •Методи керування проектами
- •Планування проекту
- •Організаційні аспекти керування в проекті
- •Оцінка проекту
- •Методи керування ризиками
- •Керування конфігурацією програмної системи
- •Проблеми організації документування
- •Формування вимог до документації
- •Планування документування проектів
- •Керування спеціалістами при документуванні
- •Документообіг в життєвому циклі
- •Стандарти, що регламентують документування програмних проектів
- •Стандарти, що регламентують експлуатаційну документацію
Основи конструювання
Конструирование ПО - создание работающего ПО с привлечением методов верификации, кодирования и тестирования компонентов. К инструментам конструирования ПО отнесены языки программирования и конструирования, а также программные методы и инструментальные системы (компиляторы, СУБД, генераторы отчетов, системы управления версиями, конфигурацией, тестированием и др.). К формальным средствам описания процесса конструирования ПО, взаимосвязей между человеком и компьютером и с учетом среды окружения отнесены языки конструирования.
Область знаний «Конструирование ПО (Software Construction)» включает следующие разделы:
снижение сложности (Reduction in Complexity),
предупреждение отклонений от стиля (Anticipation of Diversity),
структуризация для проверок (Structuring for Validation),
использование внешних стандартов (Use of External Standards)
Основу данной области составляют задачи понижения сложности конструирования программного продукта, предупреждение отклонений от стиля (лингвистического, формального, визуального и др.), которое обеспечивается применением наиболее подходящих стилей конструирования, структуризация ПО и использование внешних стандартов.
Лингвистический стиль основан на использовании словесных инструкций и выражений для представлений отдельных элементов (конструкций) программ. Он используется при конструировании несложных конструкций и приводится к виду традиционных функций и процедур, логическому и функциональному их программированию и др.
Формальный стиль используется для точного, однозначного и формального определения компонентов системы. В результате его применения обеспечивается конструирование сложных систем с минимальным количеством ошибок, которые могут возникнуть в связи с неоднозначностью определений или обобщений при конструировании ПО неформальными методами.
Визуальный стиль является наиболее универсальным стилем конструирования ПО. Он позволяет разработчикам проекта представлять в наглядном виде сложные программные конструкции. Например, графический интерфейс пользователя освобождает разработчика от подбора необходимых координат и свойств объектов интерфейса. Визуальный язык проектирования UML представляет разработчику набор удобных диаграмм для задания статической и динамической структуры ПО [31].
При применении визуального стиля конструирования создается текстовое и диаграммное описание структуры ПО, которое выводится на экран дисплея не только для их рассмотрения, но и корректировки.
В процессе конструирования должны использоваться внешние стандарты ЯП (Ада 95, С++ и др.), языков описания данных (XML, SQL и др.), средств коммуникации (COM, CORBA и др.), интерфейсов компонентов (POSIX, IDL, APL) [33], сценариев UML [31] и др.
Управление конструированием базируется на моделях конструирования, планировании и внесении изменений.
Модели конструирования включают набор операций, последовательность действий и результаты. Виды моделей определяются стандартом ЖЦ, методологиями и практиками. Основные стандарты ориентированы на экстремальное программирование и RUP [32].
Планирование состоит в определении порядка создания компонентов и методов обеспечения качества. Измерение в конструировании ориентировано на количественную оценку объема кода, степени использования ПИК, вероятности появления дефектов и количественных показателей качества ПО.
Внесение изменений проводится с целью сохранения функциональной целостности системы и рефакторинга кода на основе проведенного метрического анализа необходимости проведения изменений в конструируемое ПО.
Тестирование в конструировании. Проводится две формы тестирования созданного кода - модульное и интеграционное. Виды тестирования описаны в специальной области знаний (см. ниже). При этом используются два стандарта (IEEE 829-1996 и IEEE 1008-1987) тестирование элементов ПО и документации. Обеспечение качества конструирования базируется не только на тестировании и отладке отдельных программ, а и на просмотрах, инспектировании, анализе и оценках результатов тестирования.
Таким образом, рассмотренные механизмы конструирования позволяют разработчику проекта принять решение об использовании методов конструирования или проектирования. Наиболее современным считается метод моделирования UML.