
- •Технология: понятия, особенности создания программного продукта разработки программного продукта
- •Жизненный цикл программного продукта (жцпп)
- •Каскадная модель жизненного цикла
- •Основные процессы жцпп
- •Вспомогательные принципы жцпп
- •Организационные процессы жцпп
- •Основные этапы работ по созданию программного продукта
- •Единая система программной документации. Общие определения
- •Единая система программной документации. Виды программных документов
- •Единая система программной документации. Стадии разработки
- •Примерная структура организации, занимающаяся разработкой пп
- •Управления качеством разработки пп с помощью системы стандартов iso
- •Обеспечение качества разработки. Модель cmm-sei.
- •Метрики. Роль метрик в процессах разработки пп
- •Метрики и модели cmm-sei. Парадигмы Бейзили
- •Функционально-ориентированные метрики.
- •Эффективные алгоритмы. Оптимизирующие компиляторы
- •Выполнение оценки в ходе руководства проектом. Конструктивная модель стоимости cocomo
- •Основы проектирования программных систем. Особенности этапа проектирования.
- •Структурирование. Методы структурирования прорамм. Декомпозиция подсистем на модули. Модульность.
- •Ошибки программного обеспечения. Ошибки, возникающие на стадии разработки
- •Ошибки программного обеспечения. Виды ошибок.
технология: понятия, особенности создания программного продукта разработки программного продукта
жизненный цикл программного продукта (ЖЦПП)
каскадная модель жизненного цикла
V-образная модель жизненного цикла
RAD-модель, многопроходная, спиральная модели жизненного цикла.
основные принципы ЖЦПП
вспомогательные принципы ЖЦПП
организационные процессы ЖЦПП
основные этапы работ по созданию программного продукта
единая система программной документации. Общие определения
единая система программной документации. Виды программных документов
единая система программной документации. Стадии разработки
примерная структура организации, занимающаяся разработкой ПП
управления качеством разработки ПП с помощью системы стандартов ISO
обеспечение качества разработки. Модель CMM-SEI.
метрики. Роль метрик в процессах разработки ПП
метрики и модели CMM-SEI. Парадигмы Бейзили
функционально-ориентированные метрики.
эффективные алгоритмы. Оптимизирующие компиляторы
выполнение оценки в ходе руководства проектом. Конструктивная модель стоимости COCOMO.
формирование требований к программному продукту
основы проектирования программных систем. Особенности этапа проектирования.
структурный подход к разработке программ. Комбинация базовых структур.
структурирование. Методы структурирования прорамм. Декомпозиция подсистем на модули. Модульность.
цели модульного программирования. Основные характеристики программного модуля.
типовая структура программного модуля
локальные и глобальные переменные
ошибки программного обеспечения. Ошибки, возникающие на стадии разработки
ошибки программного обеспечения. Виды ошибок.
отладка, инструментальные средства отладки
тестирование
структурное тестирование программного обеспечения
разновидности тестирования «белого ящика». Способ базового пути.
разновидности тестирования «белого ящика». Способ тестирования условий.
разновидности тестирования «белого ящика». Способ тестирования ветвей и операторов отношений.
разновидности тестирования «белого ящика». Тестирование циклов.
тестирование «черного ящика»
организация процессов тестирования программного обеспечения
драйвер тестирования
тестирование интеграций. Нисходящее тестирование.
тестирование интеграций. Восходящее тестирование.
объектно-ориентированный подход в информационных технологиях.
объекты и классы в среде Windows.
методы и свойства объекта в среде Windows.
использование виртуальных компонентов.
унифицированный процесс разработки ООПС. Этапы унифицированного процесса разработки
объектно-ориентированное тестирование
проектирование объектно-ориентированных тестовых вариантов.
общее понятие методики RAD. Использование визуальных компонентов.
структура и формат данных
стили программирования.
1. технология: понятия, особенности создания программного продукта разработки программного продукта 3
2. жизненный цикл программного продукта (ЖЦПП) 4
3. каскадная модель жизненного цикла 5
4. V-образная модель жизненного цикла 6
5. RAD-модель, многопроходная, спиральная модели жизненного цикла. 8
6. основные процессы ЖЦПП 12
7. вспомогательные принципы ЖЦПП 13
8. организационные процессы ЖЦПП 14
9. основные этапы работ по созданию программного продукта 15
10. единая система программной документации. Общие определения 16
11. единая система программной документации. Виды программных документов 17
12. единая система программной документации. Стадии разработки 19
13. примерная структура организации, занимающаяся разработкой ПП 21
14. управления качеством разработки ПП с помощью системы стандартов ISO 22
15. обеспечение качества разработки. Модель CMM-SEI. 23
16. метрики. Роль метрик в процессах разработки ПП 25
17. метрики и модели CMM-SEI. Парадигмы Бейзили 27
18. функционально-ориентированные метрики. 31
19. эффективные алгоритмы. Оптимизирующие компиляторы 32
20. выполнение оценки в ходе руководства проектом. Конструктивная модель стоимости COCOMO 33
22. основы проектирования программных систем. Особенности этапа проектирования. 35
24. структурирование. Методы структурирования прорамм. Декомпозиция подсистем на модули. Модульность. 36
Технология: понятия, особенности создания программного продукта разработки программного продукта
«Технология - совокупность методов обработки, изготовления, изменения состояния, свойств, форм сырья, материала или полуфабрикатов в процессе производства; наука о способах воздействия на сырье, материалы или полуфабрикаты соответствующими орудиями производства»
Словарь иностранных слов
«Технология – способ реализации людьми конкретного сложного процесса путем разделения его на систему последовательных взаимосвязанных процедур, операций, которые выполняются более или мене однозначно и имеют целью достижения высокой эффективности»
Под процедурой понимается набор действий (операции), по средствам которых осуществляется тот или иной главный процесс, выражающий суть конкретной технологии.
Операция – непосредственное практическое решение задачи в рамках главной процедуры, т. е. однородная логически неделимая часть конкретного процесса.
Наш продукт – программное обеспечение информационных систем, медиасистем и т.д. Это результат интеллектуального труда – интеллектуальный продукт, но, несмотря на творческий характер труда программиста, этот труд необходимо правильно организовывать, ввести правила для облегчения работы, для возможности передачи программного продукта на сопровождение и эксплуатацию.
ТКПО
Технология Конструирования Программного Обеспечения – система инженерных принципов для создания экономичного ПО, которая надежно и эффективно работает.
Программный продукт (software product) – набор машинных программ, процедур и возможно связанных с ним документаций и данных.
Утилиты – средства для автоматизированного проектирования.
Объединение различных утилит называют CASE (Computing Access System Engineering) –утилитами.
Процесс конструирования ОП состоит из последовательности шагов, использующих методы, утилиты, процедуры. Эти последовательности шагов называются парадигмами
Жизненный цикл программного продукта (жцпп)
Жизненный Цикл ПП – непрерывный процесс, который начинается с момента принятия решения о необходимости создания программы и заканчивается моментом полного изъятия его из эксплуатации.
Основным нормативным документов, регламентирующим жизненный цикл программы является международный стандарт ISO/IEC 12207.
Принят в 1999 году.
Он определяет структуру жизненного цикла, который базируется на 3 группах процессов:
основные процессы;
вспомогательные процессы;
организационные процессы.
Каскадная модель жизненного цикла
Принципиальная особенность каскадного подхода состоит в том, что пока не закончен один этап нельзя переходить к следующему, возвраты на предыдущие этапы не рассматриваются. Требования к программному продукту оформляются в техническое задание, которое на изменяется до окончания всех этапов. Критерием качества разработки является строгое следование по модели и точное выполнение требований в техническом задании.
Преимущества: на каждой стадии формируется законченный набор документации, отвечающий критериям полноты и согласованности; выполняемые в логической последовательности этапы позволяют планировать сроки выполнения всех работ и соответствующие затраты.
Недостатки: каскадная модель не гибкая, не итерационная.
Так как в жизни постоянно возникает потребность вернуться на предыдущие этапы, то возникает каскадная модель с возвратом.
Требования к программному продукту фиксируется в техническом задании на все время создания продукта, а согласование производится после каждого этапа.
V-образная модель жизненного цикла
Эта модель была разработана как разновидность каскадной. От каскадной модели v-образная модель унаследовала последовательную структуру, в соответствии с которой каждая последующая фаза начинается только после успешного завершения предыдущей фазы. В этой модели определены четыре базовых этапа:
анализ;
проектирование;
разработка;
обзор.
Проектирование подразделяется на высокоуровневое и детальное (низкоуровневое). При выполнении анализа производится планирование проекта.
Разработка включает в себя кодирование. Обзор это различные виды тестирования.
Модели включают в себя следующие фазы:
составление требования к проекту и планирование – определяются системные требования и определяется планирование работ;
составление требования к продукту и их анализ – составляется полная спецификация требований к программному продукту;
высокоуровневое проектирование - определяется структура ПП, взаимосвязи между его компонентами и реализуемые ими функциями;
детальное – определяется алгоритм работы каждого компонента;
модульное тестирование – выполняется проверка каждого модуля, каждого компонента;
интеграционное тестирование – осуществляется интеграция ПП и его тестирование;
системное тестирование – выполняется проверка функционирования ПП после помещения его в программную среду в соответствии со спецификацией требований;
эксплуатация и сопровождение – запуск ПП в производство, внесение поправок и модернизация.
Преимущества:
большое значение придается верификации, аттестации не только самого ПП, но и всех полученных внутренних и внешних данных
удобное прослеживание хода работ, так как завершение каждой фазы является контрольной точкой;
все действия можно планировать.
Недостатки:
не учитывается итерация между фазами;
нельзя вносить изменения на разных этапах жизненного цикла;
тестирование требований происходит слишком поздно, поэтому внесение изменений влияет на выполнение графика работ.
Целесообразно использовать с теми программными продуктами, для которых требуется высокая надежность.
RAD-модель, многопроходная, спиральная модели жизненного цикла.
RAD – модель
В RAD-модели пользователь играет решающую роль, он участвует в разработке и формировании требований, апробации их в работе
В традиционном ЖЦПП разработки наибольшую часть времени затрачивают на программирование и тестирование, а в RAD-модели большую часть времени занимают планированием и проектированием.
Модель включает следующие фазы:
составление требований и планирование – осуществляется с использованием метода совместного планирования требований;
создание – детальное проектирование, кодирование, тестирование, поставка, сдача в эксплуатацию и сопровождение;
сопровождение.
Достоинства:
использование современных инструментальных средств позволяет сократить время цикла разработки;
привлечение пользователя к разработке на ранних стадиях сводят к минимуму риск того, что он не останется недовольным готовым ПП;
повторно используются компоненты уже существующих программ.
Недостатки:
если заказчик не может постоянно участвовать в процессе разработки, то это может негативно сказаться на качестве ПП;
для работы нужны высококвалифицированные кадры, умеющие пользоваться современными инструментальными средствами;
существует риск, что программа не будет решена.
Можно применять при разработке ПП, которая хорошо поддается моделированию, когда требования к ПП хорошо известны, а заказчик может принять непосредственное участие в процессе разработки.
Многопроходная модель
Многопроходная модель - несколько итераций процесса построения прототипа ПП с добавлением на каждой следующей итерации новых функций или повышением эффективности.
Предполагается, что на первый трех стадиях выполняется конструирование ПП в целом, здесь определяется количество итераций (инкрементов) и относящихся к ним функции. Каждый инкремент проходит через этапы кодирования и тестирования.
Преимущества: в начале разработки требуются средства только на анализ и проектирование.
Основные функции ПП: после каждого инкремента получается готовый продукт; снижается риск неудачи и изменения требований, улучшается понимание, как разработчика, так и пользователя ПП требований для более поздних итераций. Инкременты функциональных возможностей легко тестируются.
Недостатки: не предусмотрены итерации внутри инкремента; определение полной функциональности должно быть определено в самом начале ЖЦПП, может возникнуть желание оттянуть решение сложных задач; общие затраты на создание не будут снижены по сравнению с другими моделями; обязательными условиями является наличие хорошего планирования.
Применяем если большинство требований будет сформулировано заранее, а для выполнения проекта выделен большой отрезок времени.
Спиральная модель
Принципиальной особенностью спиральной модели заключается в том, что ПП создается не сразу, а по частям с использованием метода прототипирование. Под прототипом понимается действующий программный компонент, реализующий некоторые функции и внешние интерфейсы пользователя. Создание прототипов, осуществляется за несколько итераций или витков модели.
Основная проблема спирального цикла – определение момента перехода на следующую стадию. Для ее решения необходимо ввести временные ограничения на каждую из стадий ЖЦ разработки. Переход осуществляется даже, если запланированная работа не завершена. План составляется на основе статистических данных, полученных в предыдущих проектах и личного опыта разработчика.
Достоинства:
заказчик имеет возможность увидеть ПП на ранних стадиях разработки;
заказчик принимает активное участие в разработке;
в модели воплощены преимущества каскадной и многопроходной модели.
Недостатки:
усложненная структура модели;
спираль может продолжаться до бесконечности, т.к. каждая ответная реакция заказчика может породить новый виток итерации.
Качестве модели разработки ПП большое распространение получила улучшенная спиральная модель.
В отличие от простой спиральной модели эта модель использует каскадный процесс на завершающих стадиях разработки.
Применяют, если существует, хотя бы одна из причин:
целесообразно создание прототипов;
организация обладает навыками, требуемыми для адаптации модели;
заказчики не уверены в своих потребностях;
требования слишком сложные;
проект слишком большой;
требуется выполнить проект со средней или высокой степенью риска.