Информатика. Курс лекций. Громов Ю.Ю - 158 стр.

UptoLike

б) Если один из модулей отвечает за получение элемента данных z от пользователя удаленного терминала, то какой
именно?
15. Начертите простую диаграмму классов, представляющую взаимоотношения между издателями, журналами и под-
писчиками.
16. Расширьте предыдущую диаграмму классов до диаграммы совместно выполняемых действий.
17. Чем диаграмма классов отличается от диаграммы взаимодействий?
18. Что такое UML?
19. Воспользовавшись структурной схемой, представьте структуру процедур системы реального времени для обработки
заказов и учета клиентов компании по доставке товаров почтой. Какие модули этой системы потребуется изменить в случае
внесения изменений в закон о налогах на продажи? Что произойдет в случае изменения длины почтового индекса?
20. Разработайте решение для предыдущей задачи с использованием объектно-ориентированной парадигмы и пред-
ставьте его в виде диаграммы классов.
21. Приведите несколько примеров шаблонов проектирования в областях, отличных от архитектуры и программирова-
ния.
22. Охарактеризуйте роль шаблонов проектирования в технологии разработки программного обеспечения.
23. Начертите схему потоков данных, наглядно отображающую процесс регистрации студента в университете.
24. Сравните информацию, представленную на схеме потоков данных, с информацией, отображаемой на структурной
схеме.
25. Чем отличаются связи типов "один ко многим" и "многие ко многим"?
26. Начертите диаграмму "сущностьсвязь" для отношений между поварами, официантами, посетителями и кассирами
в ресторане.
27. Начертите диаграмму "сущностьсвязь", представляющую отношения между журналами, издателями и подписчи-
ками.
28. В каждом из следующих случаев определите, о чем идет речьо структурной схеме, схеме потоков данных, диа-
грамме "сущностьсвязь" или словаре данных.
а) Определяет данные, относящиеся к разрабатываемой системе.
б) Определяет взаимоотношения между различными элементами данных, существующими в системе.
в) Определяет характеристики каждого элемента данных в системе.
г) Определяет, какие элементы данных совместно используются различными частями системы.
29. В чем отличие между диаграммой классов и диаграммой "сущностьсвязь"?
30. Охарактеризуйте различие между нисходящей и восходящей стратегиями проектирования.
31. В чем отличие между тестированиями по принципам "черного ящика" и "прозрачного" ящика?
32. Предположим, что перед окончательным тестированием крупной системы программного обеспечения в нее было
намеренно внесено 100 ошибок. Допустим, во время этого тестирования было обнаружено и исправлено 200 ошибок, из ко-
торых 50 оказались из группы намеренно помещенных в систему. Если исправить оставшиеся 50 известных ошибок, сколько
не выявленных ошибок, по-Вашему, еще останется в системе? Объясните, почему.
33. В каких случаях закон о защите авторских прав не может защитить инвестиции разработчиков программного обес-
печения?
34. По каким причинам патентное право не может защитить инвестиции разработчиков программного обеспечения?
Ответы на вопросы для самопроверки
Раздел 6.1
1. В контексте разработки программы длинная последовательность операторов присваивания не сложнее нескольких
вложенных операторов if.
2. Один подход заключается в преднамеренном внесении некоторых ошибок в программное обеспечение при его разра-
ботке. Затем, после того как программное обеспечение предположительно отлажено, проверяют, много ли внесенных оши-
бок осталось неисправленными. Если из 7 внесенных ошибок 5 было исправлено, можно сделать вывод, что только
5
/
7
от
общего количества ошибок было исправлено.
3. Как возможный вариант, в качестве метрики можно предложить количество ошибок, найденных после некоторого периода
эксплуатации программного обеспечения. В данном случае одна из возможных проблем заключается в том, что эту величину не-
возможно измерить заранее.
Раздел 6.2
1. Системные требования формулируются в терминах предметной области приложения, тогда как спецификации фор-
мулируются в технических терминах и определяют, как именно будут удовлетворяться системные требования.
2. При анализе определяются задачи, которые должна решать предполагаемая система. На стадии разработки уточняет-
ся, как именно система будет выполнять свои задачи. При реализации осуществляется реальное создание системы. Стадия