Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы часть 1.doc
Скачиваний:
0
Добавлен:
24.02.2020
Размер:
193.54 Кб
Скачать

17

1. Жизненный цикл программного обеспечения

1. Какие два важных аспекта имеет понятие программной инженерии?

Программная инженерия – это совокупность инженерных методов, применяемых на протяжении жизненного цикла ПС;

Программная инженерия – это инженерная дисциплина, охватывающая все аспекты жизненного цикла ПС от начальной стадии разработки до завершения использования ПС.

2. Дайте определение понятия «жизненный цикл программного средства».

Жизненный цикл – период, который начинается с момента принятия решения о необходимости создания программного средства и заканчивается в момент его полного изъятия из эксплуатации.

3. Укажите основные отличительные особенности жизненного цикла ПС по сравнению с жизненным циклом технических объектов.

- в начале не удается четко определить неизменный набор требований к ПС;

- этап серийного производства не требует серьезный материальных затрат;

- физического износа ПС не происходит.

4. Каковы существенные особенности разработки «больших» и «малых» ПС?

Малые ПС

  • создаются для получения результатов автоматизации исследований или анализа процессов самим разработчиком;

  • не предназначены для массового тиражирования;

  • не имеют заказчика, осуществляющего финансирование и определяющего требования;

  • не ограничены стоимость, сроками создания, трудоемкостью, требованиями качества и документации;

  • не подлежит независимому тестированию, гарантированию качества и сертификации.

Большие ПС

  • большой объем, высокая трудоемкость и стоимость создания определяют необходимость тщательного анализа эконом. Эффективности всего ЖЦ и конкурентно способности (при необход.);

  • необходимость получать от заказчика конкретные требования к функциям и хак-кам ПС;

  • для координации деятельности проекта необходимы менеджеры проектов;

  • участие специалистов разной квалификации и специализации, от который требуется высокая ответственность за качество результатов;

  • от разработчиков требуется гарантии высокого качества, надежности функционирования и безопасности применения;

  • необходимость применять регламентированные стандартами процессы, этапы и документы, методы комплексы средств автоматизации и технологии обеспечения ЖЦ комплексов ПС.

5. Дайте определения следующих понятий, относящихся к элементам деятельности: субъект-исполнитель, цель деятельности, ресурсы и материалы, средства и инструменты, методы, результат деятельности, окружение системы деятельностей.

6. Дайте определение понятия «модель жизненного цикла программного средства». Перечислите известные Вам модели жизненного цикла ПС.

7. Объясните в чем разница между иллюстративными и инструментальными моделями жизненного цикла ПС?

8. Опишите основные свойства и возможности инструментальных моделей жизненного цикла ПС.

9. Каковы принципиальные особенности обобщенной модели жизненного цикла ПС? В каких случаях она применима?

10. Каковы принципиальные особенности каскадной модели жизненного цикла ПС? В чем состоят преимущества и недостатки данной модели?

11. Каковы принципиальные особенности модели жизненного цикла ПС Гантера? В чем состоят преимущества и недостатки данной модели?

12. Каковы принципиальные особенности спиральной модели жизненного цикла ПС? В чем состоят преимущества и недостатки данной модели?

13. Каковы принципиальные особенности модели жизненного цикла ПС RUP?

14. Каковы принципиальные особенности модели процессов MSF?

15. Каковы особенности представления о жизненном цикле ПС в методологиях быстрого развития проектов?

16. Дайте краткую характеристику моделям жизненного цикла ПС экстремального программирования.

17. Каковы принципиальные особенности адаптивной разработки по Хайсмиту?

18. Составьте две сводные таблицы, в одной из них отразите особенности моделей жизненного цикла ПС, которые вам известны, в другой – область применения этих моделей.

2.1. Сложность программного обеспечения

1. Приведите примеры сложных и простых программных систем, разница в подходах к их созданию (кратко).

2. Перечислите основные причины сложности программного обеспечения.

  1. Сложность реальной предметной области, из которой исходит заказ на разработку;

  2. Трудность управления процессом разработки;

  3. Необходимость обеспечения достаточной гибкости системы;

  4. Неудовлетворительные способы описания поведения больших систем.

3. Перечислите пять признаков сложной системы.

  1. Сложные системы являются иерархические и состоят из взаимных подсистем, которые тоже могут быть разделены на подсистемы.

  2. Выбор компонентов, считающихся элементарными произволен, и зависит от исследователя.

  3. Внутрикомпонентная связь в системе сильнее, чем связь между компонентами.

  4. Иерархические системы состоят из немногих типов подсистем, по-разному скомбинированных и организованных.

  5. Любая работающая сложная система – результат развития работавшей ранее более простой системы. Сложная система, спроектированная с нуля, никогда не заработает, следует начинать с работающей простой системы.

4. Объясните следующие понятия: «декомпозиция», «абстракция», «иерархия» (виды иерархий).

Декомпозиция – способ управления сложной системой, заключающийся в разделении на подсистемы.

Абстракция – выделение существенных, с точки зрения наблюдателя, особенностей объекта и игнорирование несущественных, один из принципов объектно-ориентированного подхода.

Иерархия - упорядочение абстракций, разложение их по уровням.

Алгоритмическая декомпозиция – основное внимание заостряется на порядке происходящих событий (процессов).

Объектно-ориентированная декомпозиция – придает значение объектам, которые в процессе взаимодействия друг с другом определяют значение системы.

Иерархия «обобщение-специализация» («общее и частное, «is-a») – подкласс представляет собой специализированный частный случай своего суперкласса. Также называется структура классов. (роза – цветок, цветок - растение)

Иерархия «быть часть» («целое-часть», «part-of») – элемент является часть другого. Также называется структура объектов. (лепестки - часть цветов)

5. Объясните понятие «каноническая форма системы».

Каноническая форма системы – объединение понятий структура классов, структура объектов и пять признаков сложной системы.

2.2. Введение в объектно-ориентированный анализ и проектирование

1. Объясните следующие понятия: «объектно-ориентированный анализ (ооа)», «объектно-ориентированное проектирование (ood)», «объектно-ориентированное программирование (оор)».

Объектно-ориентированный анализ (ООА) – методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области.

Объектно-ориентированное проектирование (OOD) – методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической и физической, а также статической и динамической моделей проектируемой системы.

Объектно-ориентированное программирование (ООР) – методология программирования, основанная на представлении программ в совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.