Файл: Учебное пособие по курсу Технология разработки программного обеспечения для студентов.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.10.2023
Просмотров: 353
Скачиваний: 2
СОДЕРЖАНИЕ
1Цели при разработке программного обеспечения
2Жизненный цикл ПО. Модели жизненного цикла
3.1Принципы структурного анализа
3.3Группы средств моделирования систем
4Построение модели в DFD на примере банковской задачи
7Методология функционального моделирования SADT (IDEF0)
7.1Structured Analysis and Design Technique
8Моделирование данных в нотации IDEF1x
9Комплексная интеграция BPWin, ERWin и Paradigm Plus.
9.1Соответствие объектов моделей процессов и моделей данных
9.2Экспорт между моделью данных и моделью процессов
9.3Paradigm Plus: двусторонняя связь с ERwin
10Создание физической модели данных в ERWin
10.2 Правила валидации и значения по умолчанию
10.4 Триггеры и хранимые процедуры
11Тестирование и сертификация программного обеспечения
11.1 Дестабилизирующие факторы и методы обеспечения высокого качества функционирования ПО
11.2Использование среды автоматизированного тестирования Platinum TESTBytes
11.3 Методы обеспечения качества и надежности программных средств
11.4 Использование CASE для повышения качества ПО
11.5 Влияние стандартов открытых систем на качество ПО
11.6 Повышение качества ПО путем тестирования
11.7 Основные особенности процесса тестирования ПО
11.8 Организационные особенности тестирования
12Организация и планирование тестирования для обеспечения качества ПО
12.1 Важнейшие разделы ISO 9003
12.3 Документирование системы качества
12.5 Внутренние проверки системы качества
13Стандарты, регламентирующие разработку ПО
13.1Стандарт ISO 12207:1995 - Процессы жизненного цикла программных средств
13.3 Серия стандартов ГОСТ 34-ХХХ «Информационная технология»
14Управление проектами разработки информационных систем
14.1 Процессы управления проектами
14.7 Процессы исполнения и контроля
15Определение концепции проекта (область применения, цели и подход)
16.3Диаграмма Гантта по проекту
16.4График движения денежных средств по проекту
-
Технологический процесс разработки ПО, применяемые в нем методы и средства. -
Изучение методов управления проектами при разработке ПО.
2Жизненный цикл ПО. Модели жизненного цикла
В основе деятельности по созданию и использованию программного обеспечения (ПО) лежит понятие его жизненного цикла (ЖЦ).
Жизненный цикл ПО – модель создания и использования ПО, отражающая его различные состояния, начиная с момента возникновения необходимости в данном программном изделии и заканчивая моментом его полного выхода из употребления у всех пользователей.
Принято выделять следующие этапы ЖЦ ПО:
-
анализ требований; -
проектирование; -
кодирование; -
тестирование и отладка; -
эксплуатация и сопровождение; -
вывод из эксплуатации и замена.
ЖЦ образуется в соответствии с принципом нисходящего проектирования и, как правило, носит итерационный характер: реализованные этапы, начиная с самых ранних, циклически повторяются в соответствии с изменением требований и внешних условий, изменениями ограничений и т.п.
На каждом этапе разработки создается определенный комплект документов и технических решений. Для каждого следующего этапа в качестве входных используются документы предыдущего. Каждый этап завершается верификацией порожденных документов с целью проверки их соответствия исходным документам этапа.
Модели ЖЦ определяют порядок исполнения этапов в ходе разработки, а также критерии перехода от этапа к этапу. Наибольшее распространение получили следующие модели:
Каскадная модель ЖЦ ПО (1970-1980 гг.) – предполагает переход к следующему этапу после полного завершения предыдущего (рис.1).
Поэтапная модель с промежуточным контролем (1980-1985 гг.) – итерационная модель разработки ПО с циклами обратной связи между этапами (рис. 2). Преимущество модели – уменьшение трудоемкости благодаря межэтапным корректировкам. Недостаток – отсутствие четко выделенных этапов разработки, растягивание их на весь ЖЦ.
Спиральная модель (1986–1990 гг.) – упор делается на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проводится проверка и обоснование реализуемости технических решений путем создания прототипов. Каждый виток спирали соответствует поэтапной модели создания фрагмента или версии программного изделия, уточняются цели и параметры проекта и в результате выбирается обоснованный вариант, который доводится до реализации (рис. 3).
Преимущества модели:
-
Накопление и повторное использование программных средств, моделей и прототипов. -
Ориентация на развитие и модификацию ПО в процессе проектирования. -
Анализ риска и издержек в процессе проектирования.
ЖЦ ПО в отличии от продуктов материального производства заканчивается не физическим износом, а моральным. ПО морально устарело, если оно перестало удовлетворять актуальным требованиям, а дальнейшая его модификация не представляется возможной или не выгодна.
Главная особенность индустрии ПО состоит в концентрации сложности на начальных этапах ЖЦ (анализ, проектирование) при относительно невысокой сложности и трудоемкости последующих этапов. Более того, нерешенные вопросы и ошибки, допущенные на этапах анализа и проектирования, порождают на последующих этапах трудные, часто неразрешимые проблемы и, в конечном счете, приводят к неуспеху всего проекта. Рассмотрим эти этапы более подробно.
-
Каскадная модель жизненного цикла программного обеспечения.
-
Поэтапная модель жизненного цикла программного обеспечения
-
Спиральная модель жизненного цикла программного обеспечения
Анализ требований– первая фаза разработки ПО, на которой требования заказчика уточняются, формализуются и документируются. Фактически на этом этапе дается ответ на вопрос: "Что должна делать будущая система". Именно здесь лежит ключ к успеху всего проекта. В практике создания больших систем ПО известно немало примеров неудачной реализации проекта именно из-за неполноты и нечеткости определения системных требований.
Список требований к разрабатываемой системе должен включать:
-
совокупность условий, при которых предполагается эксплуатировать будущую систему (аппаратные и программные ресурсы, предоставляемые системе; внешние условия ее функционирования; состав людей и работ, имеющих к ней отношение); -
описание выполняемых системой функций; -
ограничения в процессе разработки (директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия, обеспечивающие защиту информации).
Целью анализа является преобразование общих, неясных знаний о требованиях к будущей системе в точные (по возможности) определения. На этом этапе определяются:
-
архитектура системы, ее функции, внешние условия, распределение функций между аппаратурой и ПО; -
интерфейсы и распределение функций между человеком и системой; -
требования к программным и информационным компонентам ПО, необходимые аппаратные ресурсы, требования к БД, физические характеристики компонентов ПО, их интерфейсы.
Этап проектирования дает ответ на вопрос: "Как (каким образом) система будет удовлетворять предъявленным к ней требованиям?". Задачей этого этапа является исследование структуры системы и логических взаимосвязей ее элементов, причем здесь не рассматриваются вопросы, связанные с реализацией на конкретной платформе.
Проектирование – итерационный процесс получения логической модели системы вместе со строго сформулированными целями, поставленными перед нею, а также написания спецификаций физической системы, удовлетворяющей этим требованиям.
Обычно этот этап разделяют на два подэтапа:
-
проектирование архитектуры ПО, включающее разработку структуры и интерфейсов компонентов, согласование функций и технических требований к компонентам, методам и стандартам проектирования, производство отчетных документов; -
детальное проектирование, включающее разработку спецификаций каждого компонента, интерфейсов между компонентами, разработку требований к тестам и плана интеграции компонентов.
В результате деятельности на этапах анализа и проектирования должен быть получен проект системы, содержащий достаточно информации для реализации системы на его основе в рамках бюджета выделенных ресурсов и времени.
Кодирование. На этом этапе должны быть получены следующие результаты:
-
Верифицированная детальная спецификация каждого блока:
-
Спецификация каждой подпрограммы или модуля, имени, назначения, предположений, размеров, последовательности вызовов, ошибочных выходов, входных и выходных данных, алгоритмов и логической схемы. -
Описание базы данных до уровня атрибутов. -
Верификация полноты, непротиворечивости и соответствия требованиям проектных спецификаций системы и планам распределения ресурсов.
Одобренный план приемных испытаний.
Руководство пользователя и предварительный план комплексирования и отладки.
Проверка работы всех модулей не только для номинальных, но и для исключительных и предельных значений.
Проверка всех вариантов ввода и вывода, включая сообщения об ошибках.
Выполнение всех операторов и всех ветвей передачи управления.
Проверка выполнения стандартов разработки.
Завершение помодульного документирования внутренней структуры.
Эксплуатация и сопровождение. Содержание данного этапа следующее:
-
Проверка удовлетворения приемных испытаний системы. -
Проверка удовлетворения системных требований. -
Проверка производственной готовности, аппаратуры, средств обслуживания и персонала. -
Завершение всех специфицированных работ и ввод системы в действие.
Вывод из эксплуатации и замена. На данном этапе решаются следующие задачи:
-
Выбор новой системы. -
Миграция данных в новую систему. -
Очистка системы от старого ПО. -
Утилизация материальных носителей (диски, документация и т.п.). -
Документирование вывода и замены ПО.