- •1. Технология разработки программного обеспечения. Определение. Основные этапы на примере классического жизненного цикла.
- •2. Два взгляда на по: научная разработка, программное изделие. Свободное по.
- •3. Парадигмы проектирования программных систем. Макетирование.
- •4.Парадигмы проектирования пс. Инкрементная модель.
- •5. Парадигмы проектирования программных систем. Быстрая разработка приложений.
- •6. Парадигмы проектирования программных систем. Спиральная модель.
- •7. Парадигмы проектирования программных систем. Компонентно-ориентированная модель.
- •8. Парадигмы проектирования программных систем. Унифицированный процесс. Rup.
- •1. Начало
- •2. Уточнение
- •3. Построение (Конструирование)
- •4. Внедрение
- •9. Парадигмы проектирования программных систем. Экстремальное программирование.
- •10. Спецификация требований. Виды требований.
- •1) Пользовательские требования
- •2) Системные требования
- •3) Проектная системная спецификация.
- •11. Функциональные требования.
- •12. Нефункциональные требования.
- •13. Требования предметной области.
- •14. Пользовательские требования.
- •15. Системные требования.
- •16. Описание технического задания по гост.
- •17. Прецеденты. Определение. Актеры. Сценарии.
- •18. Задачи и рамки прецедентов.
- •19. Степень формализации прецедентов. Сжатый, свободный и развёрнутый формат описания.
- •20. Пояснения к прецедентам. Предусловия и постусловия. Альтернативные сценарии.
- •22. Объектно-ориентированные анализ и проектирование программных систем. Основные определения.
- •23. Основные принципы объектно-ориентированной разработки программ.
- •24. Обязанности объектов. Разложение системы на объекты. Crc-карты.
- •25. Инкапсуляция. Связность внутри классов и зацепление между классами.
- •26. Композиция и наследование. Абстрактные классы. Интерфейс класса. Рекомендации.
- •27. Методы, операции, сообщения. Разделение команд и запросов.
- •28. Проектирование по контракту. Предусловия и постусловия в методах. Инварианты.
- •29. Паттерны проектирования. Определение. Формат описания.
- •30. Виды паттернов по уровню абстракции и по цели. Примеры.
- •36. Минимальное грубое тестирование
- •37. Автоматизированные тесты. Основные определения. XUnit
- •38. Разработка через тестирование
- •39. Особенности командной разработки по
- •40. Оценка стоимости по. Модели и методики. Модель cocomo
3. Парадигмы проектирования программных систем. Макетирование.
Заказчик часто не может сформулировать подробные требования по вводу, обработке и выводу данных для будущей программы. Заказчик часто сомневается в своих требованиях. В этих случаях целесообразно использовать макетирование (прототипирование) – процесс создания модели требуемого программного продукта.
Макет может иметь одну из следующих форм:
Неработающий макет – используется для проектирования пользовательского интерфейса.
Работающий макет – программа пишется, как черновой вариант, без ухищрений, для демонстрации, далее использоваться не будет.
Пишется программа, затем дорабатывается, дополняется и используется.
Достоинства:
Обеспечивает определение полных требований к ПО
Недостатки:
Заказчик может принять макет за продукт
Разработчик может принять макет за продукт
4.Парадигмы проектирования пс. Инкрементная модель.
Первая создаваемая промежуточная версия системы (выпуск 1) реализует часть требований, в последующую версию (выпуск 2) добавляют дополнительные требования и так до тех пор, пока не будут окончательно выполнены все требования и решены задачи разработки системы. Для каждой промежуточной версии на этапах ЖЦ выполняются необходимые процессы, работы и задачи, в том числе, анализ требований и создание новой архитектуры, которые могут быть выполнены одновременно.
Процессы разработки технического проекта ПС, его программирование и тестирование, сборка и квалификационные испытания ПС выполняются при создании каждой последующей версии.
В соответствии с данной моделью ЖЦ, процессы которой практически такие же, что и в каскадной модели, ориентир делается на разработку некоторой законченной промежуточной версии, а задачи процесса разработки выполняются последовательно или частично параллельно для ряда отдельных промежуточных структур версии.
Работы и задачи процесса разработки следующей версии системы с дополнительными требованиями или функциями могут выполняться неоднократно в той же последовательности для всех промежуточных версий системы. Процессы сопровождения и эксплуатации могут быть реализованы параллельно с процессом разработки версии путем проверки частично реализованных требований в каждой промежуточной версии и так до получения законченного варианта системы. Вспомогательные и организационные процессы ЖЦ обычно выполняются параллельно с процессом разработки версии системы и к концу разработки будут собраны данные, на основании которых может быть установлен уровень завершенности и качества изготовленной системы.
При применении данной модели необходимо учитывать следующие факторы риска:
требования составлены с учетом возможности их изменения при реализации продукта;
все возможности системы требуется реализовать с начала;
быстрое изменение технологии и требований к системе может привести к нарушению полученной структуры системы;
ограничения в ресурсном обеспечении (исполнители, финансы) могут привести к затягиванию сроков сдачи системы в эксплуатацию.
Данную модель ЖЦ целесообразно использовать, в случаях когда:
желательно реализовать некоторые возможности системы быстро за счет создания промежуточной версии продукта;
система декомпозируется на отдельные составные части, которые можно реализовывать как некоторые самостоятельные промежуточные или готовые продукты;
возможно увеличение финансирования на разработку отдельных частей системы.