- •Лекция 17
- •Источники литературы
- •Основные виды деятельности программной инженерии
- •Основные виды деятельности программной инженерии
- •Основные виды деятельности программной инженерии
- •Реализация и Построение
- •Выполнение и Конструирование
- •Реализация, Внедрение, Сопровождение
- •Реализация в RUP
- •Конструирование, согласно SWEBOK
- •Смежные области знаний
- •Конструирование ПО, SWEBOK
- •1. Основы конструирования (Software Construction Fundamentals)
- •1.1. Минимизация сложности
- •1.1.Минимизация сложности - 2
- •1.2. Ожидание изменений (Anticipating Changes)
- •1.3 Конструирование с возможностью проверки (Constructing for Verification)
- •1.4. Стандарты в конструиро- вании (Standards in Constructing):
- •2. Управление конструированием (Managing Construction)
- •3. Практические соображения
- •3.1 Проектирование в конструировании
- •3.2 Языки конструирования (Construction Languages)
- •3.3Кодирование (Coding)
- •3.3Кодирование - 2
- •3.4 Тестирование в конструиро- вании (Construction Testing)
- •3.5. Повторное использование (Reuse)
- •Задачи повторного исп-я
- •3.6 Качество конструирования (Construction Quality)
- •3.7Интеграция (Integration)
- •Фаза внедрения (Transition) в RUP
- •Планирование фазы внедрения
- •Деятельность фазы внедрения
- •Подготовка бета-версии
- •Адаптация продукта под условия пользователей
- •Проверка системы
- •Работа с сообщениями бета- тестеров
- •Завершение артефактов
- •Определение факта окончания проекта
- •Внедрение – резюме
- •Эксплуатация (ISO IEC 12207)
- •Эксплуатация-2
- •Эксплуатация-3
- •Эксплуатация-4
- •Испытание
- •Документирование
- •Обучение
- •Источники литературы
Смежные области знаний
•Наиболее сильная связь существует с
•проектированием (Software Design) и
•тестированием (Software Testing).
•Достаточно сложно определить границы между проектированием, конструированием и тестированием, так как все они связаны в
единый комплекс процессов жизненного цикла.
•В зависимости от выбранной методологии, такое разделение может выглядеть по разному.
Конструирование ПО, SWEBOK
1. Основы конструирования (Software Construction Fundamentals)
•Минимизация сложности
•Ожидание изменений
•Конструирование с возможностью проверки
•Стандарты в конструировании
1.1. Минимизация сложности
•Основной причиной того, почему люди используют компьютеры в бизнес-целях, являются их ограниченные возможности в обработке и хранении сложных структур и больших объемов информации
•Потребность в уменьшении сложности влияет на все аспекты конструирования и особенно критична для процессов верификации результатов конструирования.
1.1.Минимизация сложности - 2
•Уменьшение сложности в конструировании программного обеспечения достигается при уделении особого внимания созданию простого и легко читаемого кода, пусть и в ущерб стремлению сделать его идеальным (например, с точки зрения гибкости)
•Достигается, в частности, следованием стандартам (1.4), использованием техник (3.3) и нацеленностью на качество (3.5).
1.2. Ожидание изменений (Anticipating Changes)
•Программное обеспечение не является изолированным от внешнего окружения
•Более того, программные системы являются частью изменяющейся среды и должны меняться вместе с ней, а, иногда, и быть источником изменений самой среды
•Ожидание изменений поддерживается рядом техник, представленных в теме 3.3 “Кодирование”.
1.3 Конструирование с возможностью проверки (Constructing for Verification)
•«Конструирование для проверки» предполагает, что построение программных систем должно вестись таким образом, чтобы
•сама программная система помогала вести поиск причин сбоев, будучи прозрачной для применения различных методов проверки, как на стадии тестирования, так и в процессе эксплуатации.
1.4. Стандарты в конструиро- вании (Standards in Constructing):
•коммуникации (например, форматов документов и оформления содержания)
•языков программирования и соответствующих стилей кодирования (например, Java Language Specification, являющийся частью стандартной документации JDK – Java Development Kit
•платформы (например, стандарты программных интерфейсов для вызовов функций ОС),
•инструментов (например, UML).
2. Управление конструированием (Managing Construction)
•2.1 Модели (жизненного цикла)
конструирования (Construction Models)
•2.2 Планирование конструирования (Construction
Planning)
•2.3 Измерения в конструировании (Construction Measurement)
3. Практические соображения
(Practical Considerations)
•3.1 Проектирование в конструировании (Construction Design)
•3.2 Языки конструирования (Construction Languages)
•3.3 Кодирование (Coding)
•3.4 Тестирование в конструировании (Construction Testing)
•3.5 Повторное использование (Reuse)
•3.6 Качество конструирования (Construction Quality)
•3.7 Интеграция (Integration).