
- •1. Что такое программный продукт и его основные характеристики
- •2. Составляющие стоимости программного продукта
- •4. Что такое хорошая программа и ее основные свойства.
- •5. Профессиональные и этические требования ит-специалиста.
- •6. Роль стандартов в программной инженерии.
- •7. Жизненный цикл программного продукта.
- •8. Инкрементная модель жизненного цикла программного продукта.
- •9. Спиральная модель жизненного цикла программного продукта.
- •11. Фазы (этапы) жизненного цикла и их связь с процессами.
- •12. Основные процессы жизненного цикла программного обеспечения.
- •13. Вспомогательные процессы жизненного цикла программного обеспечения.
- •14. Организационные процессы жизненного цикла программного обеспечения.
- •15. Каскадная модель. Преимущества, недостатки, применимость.
- •16. Спиральная модель. Преимущества, недостатки, применимость.
- •17. Что такое проект и его основные характеристики.
- •18. Особенности управления ит-проектами.
- •19. Треугольник ограничений проекта.
- •20. Компетенции менеджера it проекта.
- •21. Ролевая модель команды. Роли и их ответственности.
- •22. Модель управления командой. Критерии выбора модели.
- •23. Административная модель управления командой. Особенности, преимущества и недостатки.
- •24. Модель хаоса управления командой. Особенности, преимущества и недостатки.
- •25. Модель открытой архитектуры управления командой. Особенности, преимущества и недостатки.
- •26. Роль и способы общения в команде. Преимущества и недостатки различных способов общения.
- •27. Чем компромисс отличается от консенсуса? Как достичь компромисса и добиться консенсуса?
- •28. Корпоративная политика. Типы внешних стратегий команд.
- •29. Что такое качество и мера качества? Какова мера качества программного продукта?
- •Основные фазы эволюции методов обеспечения качества. Роль стандартов в обеспечении качества.
- •Основные требования к программному продукту. Выявление и анализ требований.
- •Валидация требований к программному продукту.
- •Верификация требований к программному продукту.
- •Оптимизация программного продукта.
- •Виды ошибок. Обнаружение ошибок.
- •Что такое верификация?
- •Что такое тестирование программного продукта?
- •Тестирование методом черного ящика.
- •Нисходящее и восходящее тестирование.
- •Изолированное тестирование.
- •Промежуточное и комплексное тестирование.
- •Альфа и бета-тестирование.
- •Системное тестирование.
- •46. Пошаговое тестирование.
- •49. Стресс-тести́рование.
- •50. Функциональное тестирование.
- •53. Инструменты тестирования.
- •54,55,56. Предпродажная подготовка программного продукта. Лицензия на программный продукт. Контракт на программный продукт.
- •58. Эксплуатация программного продукта.
1. Что такое программный продукт и его основные характеристики
Программный продукт - комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции. Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, т.к. одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее. Основными характеристиками программ являются:
- алгоритмическая сложность (логика алгоритмов обработки информации);
- состав и глубина проработки реализованных функций обработки;
- полнота и системность функций обработки;
- объем файлов программ;
- требования к операционной системе и техническим средствам обработки со стороны программного средства;
- объем дисковой памяти;
- размер оперативной памяти для запуска программ;
- тип процессора;
- версия операционной системы;
- наличие вычислительной сети и др.
2. Составляющие стоимости программного продукта
Структура стоимости ПО существенно зависит от типа ПО, применяемых методов его разработки и метода оценки. Так, многие авторы отмечают высокую долю стоимости этапа сопровождения. Для некоторых типов ПО она может составлять 60 и более процентов от общей стоимости. Между тем, этап сопровождения включает выполнение двух видов работ: исправление ошибок в программе (несоответствий первоначальным требованиям) и внесение изменений в программу (добавление новых требований). При другом подходе к оценке можно считать, что этап сопровождения на стоит оценивать отдельно, т.к. исправление ошибок можно отнести к продолжению тестирования, а внесение изменений – к новому проекту. Типовое распределение стоимости между основными этапами (без сопровождения) выглядит следующим образом: 15% - спецификация – формулировка требований и условий разработки 25% - проектирование – разработка и верификация проекта 20% - разработка – кодирование и тестирование компонент 40% - интеграция и тестирование – объединение и сборочное тестирование продукта. 3. Дисциплина «Технология разработки программного продукта» и ее отличия от «Информатики»
ТРПП- предмет является специальным, базируется на основе таких дисциплин, как основы алгоритмизации и БД. Изучение данного предмета позволит вам грамотно организовывать процесс создания ПО, составлять программную документацию.
Информатика (computer science) занимается теорией и методами вычислительных и программных систем, в то время как программная инженерия занимается практическими проблемами создания ПО. Информатика составляет теоретические основы программной инженерии и инженер по программному обеспечению должен знать информатику.
4. Что такое хорошая программа и ее основные свойства.
Прежде всего, хорошая программа должна делать то, что ожидает от нее заказчик – т.е. удовлетворять требованиям заказчика. Такие требования называют функциональными. Но кроме функциональных требований, существует еще ряд общих характеристик, которым в той или иной степени должна обладать каждая программа. Эти характеристики принято называть нефункциональными требованиями. К нефункциональным требованиям относят:
Сопровождаемость (maintainability). Сопровождаемость означает, что программа должна быть написана с расчетом на дальнейшее развитие.
Надежность (dependability).
Надежность ПО включает такие элементы как:
Отказоустойчивость – возможность восстановления программы и данных в случае сбоев в работе
Безопасность – сбои в работе программы не должны приводить к опасным последствиям (авариям)Защищенность от случайных или преднамеренных внешних воздействий (защита от дурака, вирусов, спама).
Эффективность (efficiency). ПО не должно впустую тратить системные ресурсы, такие как память, процессорное время, каналы связи.
Удобство использования (usability). ПО должно быть легким в использовании, причем именно тем типом пользователей, на которых рассчитано приложение.