МАТЕРИАЛЫ для комплексной контрольной работы по дисциплине «Технология разработки программного обеспечения»
1. Дайте понятие и назовите признаки сложной системы и особенности функционирования сложных программных систем.
При моделировании будущего программного средства, разработчик определил, что будущая система состоит не менее чем из 105 элементов. Для этой системы в данной модели оказалось недостаточно информации для эффективного ее управления. О какой сложности системы идет речь. Укажите признаки.
Какое количество отделов вы создали бы у себя в компании, если бы являлись руководителем компании, а управленческого персонала было 67 человек? Почему?
2. Опишите основные стадии ЖЦ ПО (системный анализ, анализ требований, проектирование, кодирование, сопровождение) и задачи, решаемые на различных этапах ЖЦ ПО.
При разработке программного продукта, на одном из этапов, для принятия решения был применен следующий подход:
- постановка проблемы
- обоснование цели
- построение модели
- принятие решения (выбор одного решения)
- уточнение конечной цели.
Какой из основных этапов ЖЦ ПО рассматривался. Ответ обосновать.
Назовите известный программный продукт, жизненный цикл которого прекратил свое существование.
3. Описать каскадную (водопадную) модель ЖЦ ПО. Дать графическое изображение.
Заказчик обратился к разработчику создать программный модуль «Учет успеваемости учащихся» предназначенный для оперативного учета успеваемости учащихся в сессию заведующим отделением, куратором и сотрудниками колледжа. Будущий программный продукт хорошо специфицирован, и последовательное выполнение этапов проекта велось в строгом фиксированном порядке. Определить, какой вид модели ЖЦ ПО для разработки был использован. Ответ обосновать.
4. Опишите спиральную модель ЖЦ ПО, её существенное отличие от других моделей. Дайте ее графическое представление. Опишите достоинства и недостатки данной модели. недостатки.
Предприятие ОАО «Спартак» обратилось в компанию по разработке ПО для создания сайта предприятия. На протяжении всего времени работы компания-разработчик тесно сотрудничала с заказчиком. Процессы специфицирования, разработки и аттестации ПО в данный период выполнялись параллельно. Определить, какой вид модели ЖЦ ПО был использован для разработки. Что выясняла компания разработчик у заказчика.
5. Опишите модель с промежуточным контролем ЖЦ ПО, её существенное отличие от других моделей. Опишите два подхода её реализации. Опишите её достоинства и недостатки.
При разработке программного продукта на протяжении всего этапа разработки уточнялись цели и требования к программному обеспечению, оценивалось качество разработанного фрагмента, планировались новые стадии разработки. Определить вид модели ЖЦ ПО, использованной в данном случае.
Какая модель ЖЦ ПО, по-вашему мнению, наиболее часто используется крупными компаниями разработчиками при создании ПС
6. Дайте понятие функциональным и нефункциональным требованиям к системе. Опишите три группы нефункциональных требований (требования к продукту, организационные требования, внешние требования).
Компания хочет выиграть контракт на разработку большого программного проекта. Она вынуждена, пока решение не принято, представлять требования в самом обобщенном виде, чтобы, с одной стороны, удовлетворить требования заказчика, а с другой – иметь возможность для маневра при конкуренции с другими компаниями-разработчиками. После того как контракт выигран, компания должна представить заказчику более подробное описание системы с указанием всех выполняемых ею функций. Что должно быть представлено в обеих ситуациях. Ответ обосновать.
Как вы считаете, всегда ли требования предметной области выполняются так, как подразумевается заказчиками программной системы
7. Перечислите и опишите требования, предъявляемые к разрабатываемой программе. Форма представления требований. Дайте понятие пользовательских требований.
8. Опишите принципы восходящего и нисходящего проектирования. Описать последовательность реализации компонентов уровней разработки. Применение специальных программ. Методы определения последовательности проектирования и реализации. Достоинства и недостатки принципов.
Заказной программный продукт обладал рядом следующих недостатков:
-увеличение вероятности несогласованности компонентов вследствие неполноты спецификаций;
-наличие издержек на проектирование и реализацию тестирующих программ, которые нельзя преобразовать в компоненты;
-позднее проектирование интерфейса, а соответственно невозможность продемонстрировать его заказчику для уточнения спецификаций.
Какими из указанных недостатков обладает восходящее проектирование.
К чему приводят данные недостатки?
9. Опишите методологию IDEF0. Принципы построения SADT-модели. Концепция разработки основных элементов метода. Создание диаграмм.
При разработке программного продукта выполнение разработки производилось строго по уровням. Исключения допускались при наличии зависимости по данным, т.е. если обнаруживалось, что некоторый модуль использует результаты другого. Основной проблемой данного метода является большое количество достаточно сложных заглушек. Какой подход разработки ПО был использован? Указать признаки.
«Постройка должна была начинаться с крыши и кончаться фундаментом» Возможно ли это. Как это применимо в разработке ПО.
10. Дайте понятие концептуальной модели «сущность-связь». Дать определение сущности, атрибута, связи между ними. Графически представить пример диаграммы.
По заказу некоторой оптовой торговой фирмы необходимо разработать информационную систему, которая должна выполнять следующие действия:
- хранить информацию о покупателях (каждый покупатель является юридическим лицом и имеет наименование, адрес, банковские реквизиты);
- печатать накладные на отпущенные товары (каждый товар имеет наименование, цену, а также характеризуется единицами измерения).
Определить все сущности, их атрибуты и ключевые атрибуты каждой сущности в вышеуказанных предложениях.
11. Назовите и представьте графически компоненты диаграммы потоков данных (внешняя сущность системы, подсистемы, процессы, накопители данных, потоки данных). Опишите правила построения модели потоков данных.
Описать, какой компонент DFD диаграммы изображен на рисунке. Указать его отличительные особенности.

Как вы считаете, в чем преимущество графического изображения процесса перед другими?
12. Опишите модели представления данных (иерархические, сетевые, реляционные). Представьте модели в виде графических схем. Опишите достоинства и недостатки данных моделей.
Какая модель базы данных изображена на рисунке. Указать признаки.

Как вы считаете, обязательны ли связи в современных базах
13. Объясните основные концепции объектно-ориентированного подхода: объектно-ориентированный анализ, объектно-ориентированное проектирование, объектно-ориентированное программирование, прикладной анализ.
Программистами при решении одной из задач была использована модель, которая позволяла отвлечься от реального объекта, подменяя его изучение исследованием формальной модели. Были выделены основные элементы предметной области, обладающие одинаковой структурой и поведением. Что позволило такое разбиение предметной области? Определить принцип объектно-ориентированного проектирования. Указать его признаки.
Как вы считаете, какой проект программной системы, позволяет получить последовательное применение объектно-ориентированного анализа и проектирования. Объясните свою точку зрения.
14. Опишите принципы объектно-ориентированного подхода (абстрагирование, модульность, иерархия, наследование, типизация, параллелизм и устойчивость) при построении объектной системы.
При разработке программного модуля «Автосервис» статическая структура системы была описана в терминах объектов и связей между ними, а поведение системы - в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением. А при разработке программного модуля «Кадровое агентство» структура системы была описана в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами. Какие два вида декомпозиции были использованы, произвести сравнительный анализ.
Какой вид декомпозиции для вас наиболее приемлем? Почему?
15. Объясните понятия: CASE-технологии, CASE-методологии, инструментальных средств проектирования.
Большинство организаций осуществляет внедрение CASE-средств для того, чтобы повысить продуктивность процессов разработки и сопровождения ПО, а также качество результатов разработки. Ряд организаций не занимались ранее и не занимаются сбором количественных данных по указанным параметрам. К чему приводит отсутствие таких результатов?
Как вы считаете, существует ли необходимость дополнительного обучения и тренировки различных категорий специалистов, которые имеют какое-либо отношение к процессу разработки ПО при использовании СASE-технологии. Почему?
16. Расскажите о концептуальной модели языка моделирования программных систем – UML. Описать виды строительных блоков: (сущности, отношения, диаграммы). Указать типы сущностей и виды отношений между сущностями.
17. Дать понятие диаграммы вариантов использования. Описать и графически представить действующее лицо, прецедент, виды связей.
Изобразить диаграмму вариантов использования тестовой системы, которую разрабатывает и использует в своей работе сам преподаватель, он также является составителем тестов.
Можно ли утверждать: «Хотя диаграмма вариантов использования иногда оказывается полезной, без нее можно обойтись». Ответ обоснуйте.
18. Дать понятие диаграммы деятельности. Описать и графически представить состояние действия, начальное и конечное состояние, разделения и слияния параллельных потоков управления.
Постройте с помощью основных компонентов диаграмму деятельности для моделирования алгоритма нахождения корней квадратного уравнения.
Какое существенное отличие диаграммы деятельности от блок-схемы
19. Дать понятие диаграммы классов. Перечислить основные виды статических связей. Дать понятие ассоциации, атрибута, операции обобщения. Графически представить изображение класса на диаграмме.
Классы, подобно объектам, не существуют в изоляции. Почему?
20. Опишите основные принципы разработки пользовательского интерфейса. Перечислите стили взаимодействия пользователя с системой, наиболее важные правила эффективного использования цвета.
Программа, разработанная программистом Ивановым, не имела возможности предоставлять справочную информацию, и однотипные операции выполнялись различными способами. Какие принципы проектирования интерфейса пользователя были нарушены. Ответ обосновать.
При создании пользовательского интерфейса вводимая информация может отображаться непосредственно на дисплее или преобразовываться в графическую форму. Какая из них на ваш взгляд наиболее удобна для понимания начинающему пользователю. Почему?
21. Описать правила выбора средств программирования ПО. Перечислить критерии выбора. Дать понятие технического проекта.
22. Перечислить типы шаблонов. Изложить назначение и принципы следующих видов шаблонов: архитектурные шаблоны, шаблоны проектирования, шаблоны анализа, шаблоны классов.
23. Дать понятие тестирования и отладки ПО. Описать этапы тестирования и отладки программы и задачи программистов на каждом этапе. Изложить типы ошибок.
При проектировании программного продукта для выполнения некой задачи специалист по тестированию формирует тесты, используя как структурный, так и функциональный подходы, обеспечивая всестороннее тестирование. Какую задачу ставит специалист?
Можно ли провести тестирование ПО и выявить 100% ошибки. Если воз-можно, то в каких случаях?
24. Раскройте суть методов тестирования (стратегия «белого и черного ящика»). Достоинства и недостатки данных методов.
При проведении тестирования целью являлось выяснение обстоятельств, в которых поведение программы не соответствует спецификации. Какой способ тестирования был использован. Ответ обосновать.
Работу тестировщика ПО сравнивают с работой следователя или детектива. Что общего, на ваш взгляд, в работе этих специалистов?
25. Назовите задачи этапа сопровождения, средства их реализации. Описать цели и задачи процесса верификации.
Обычно с началом реализации созданного программного продукта начинается работа с его следующей версией. Но исходя из требований маркетинга предпочтительнее представить новую версию как новый (но совместимый со старой версией) программный продукт, а не как модифицированную версию того продукта, которую пользователь уже купил. О каком этапе идет речь?
Можно ли на начальном этапе разработки ПО рассчитать стоимость, в которую обойдется этап сопровождения? Почему?
26. Объясните основные принципы и методики экстремального программирования (XP). Описать распределение ролей в процессе разработки.
Разработчики программных продуктов работают в разных ситуациях. Они могут целый день не отрываться от задачи, а могут полдня потратить на консультации других разработчиков, исследования и т.п. Это непредсказуемо. Возможно лишь статистическое накопление информации. Так вот, как правило, на разработку из-за таких отвлекающих факторов тратится больше времени, нежели изначальная оценка. Какой подход будет принят в данной ситуации при применении экстремального программирования.
Можно ли применять метод экстремального программирования одновременно с другими методами? Почему?
27. Назовите правила и критерии оценки качества ПО, современные подходы к оценке качества ПО.
28. Охарактеризовать показатели и факторы, определяющие надёжность системы. Описать методы и средства разработки качественного ПО.
29. Дать понятие о «гибких» подходах к разработке ПО, методах управления проектами.
30. Объяснить и сравнить особенности технологий RUP, MSF. Описать преимущество в использовании.






