
- •1. Основные операции языка Си.
- •3. Язык Си: указатели и массивы. Определения, примеры.
- •4. Язык Си: объявления функций, передача аргументов. Примеры.
- •5. Язык Си: строки и указатели. Определения, примеры.
- •8. Язык Си: структуры. Пример.
- •9 . Язык Си: битовые поля и объединения. Примеры.
- •10. Язык Си: оператор определения типа. Примеры.
- •11.Язык Си: препроцессор. Директивы препроцессора, примеры
- •12.Язык Си: программный стек. Пример работы стека.
- •13. Линейные списки. Операции с линейными списками.
- •14 Hash-таблицы
- •15 Двоичные деревья
- •17. Язык Си: ссылочные типы. Пример.
- •18. Язык Си: защита указателей и объектов, неявное изменение объектов.
- •19. Язык Си: организация ввода/вывода. Пример: слияние файлов. Организация ввода/вывода
- •Открытие файла
- •Закрытие файла
- •Ввод из файла
- •Вывод в файл
- •Особые ситуации
- •Пример: слияние файлов
- •20. Язык Си: произвольный доступ к файлам. Пример.
- •22. Язык Си: примеры реализаций функций ввода/вывода (getc,putc).
- •23. Язык Си: примеры реализаций функций ввода/вывода (fgets, fputs).
- •24. Язык Си: работа с файловой системой. Пример.
- •25. Основные понятия ооп: абстракция, инкапсуляция, наследование, полиморфизм.
- •27. Объекты классов: статические,автоматические, динамические. Примеры.
- •28. Управление доступом к элементам классов. Пример.
- •29. Шаблоны функций и шаблоны классов. Примеры.
- •30. Наследование. Пример.
- •31. Множественное наследование. Пример.
- •П оскольку классы-потомки наследуют все данные и методы классов-предков, в итоге имеем следующую картину:
- •32. Виртуальные функции. Раннее и позднее связывание.
- •33. Абстрактные классы. Их назначение, пример.
- •34. Полиморфный контейнер (пример).
- •36. Конструкторы, их виды, примеры. Вызов конструкторов при наследовании.
- •37. Деструкторы. Их назначение, примеры.
- •39. Перегруженные операции. Примеры.
- •40. Обработка нештатных ситуаций. Объекты-исключения. Примеры.
- •Вопрос 1: какова дальнейшая судьба этих ресурсов, будут ли они освобождены?
- •Вопрос 2: как распознавать подобные ситуации и корректно их обрабатывать?
- •41. Модели жизненного цикла программного обеспечения. Модели жизненного цикла по
- •Спиральная модель жизненного цикла по.
- •42. Проектирование программного обеспечения и uml.
- •Uml (основные понятия)
- •Канонические диаграммы языка uml 2.X
- •43. Диаграммы прецедентов. Нотация, семантика, примеры.
- •Основные обозначения на диаграммах прецедентов:
- •44. Сценарии выполнения прецедентов (пример).
- •45. Диаграммы классов. Нотация, семантика, отношения.
- •46. Атрибуты на диаграммах классов. Нотация и семантика. Примеры.
- •47. Операции на диаграммах классов. Нотация и семантика. Примеры.
- •48. Отношения ассоциации на диаграммах классов.
- •Отношения ассоциации
- •Предприятие
- •Сотрудник
- •Отношения обобщения
- •Отношения композиции
- •53. Язык c#: сборки, манифесты, домены, компоненты.
- •55. Java как язык ооп для машинно-независимых приложений.
- •56. Обзор Java-технологий NetBeans ide.
- •57. Компонентные технологии разработки программного обеспечения.
- •59.Обёртки в языках c# и Java.
- •60. Архитектурный паттерн mvc. Область применения, схема взаимодействия.
Канонические диаграммы языка uml 2.X
43. Диаграммы прецедентов. Нотация, семантика, примеры.
Назначение диаграмм прецедентов:
1. определить границы функциональности ПО в контексте предметной области.
2. Специфицировать функциональные требования к ПО в форме прецедентов.
3. Получить концептуальную модель ПО для ее последующей детализации.
4. Подготовить документацию для взаимодействия разработчиков и заказчиков ПО.
Основные обозначения на диаграммах прецедентов:
Прецедент (use case) есть общая спецификация совокупности выполняемых системой действий с целью предоставления некоторого наблюдаемого результата, который имеет значение для одного или нескольких акторов.
Прецедент отвечает на вопрос «Что должна выполнять система?», не отвечая на вопрос «Как она должна выполнять это?».
Прецедент именуется отглагольным существительным или глаголом в неопределенной форме.
Актор есть любая внешняя по отношению к проектируемой системе сущность, которая взаимодействует с системой и использует ее функциональные возможности для достижения определенных целей или решения частных задач.
Примеры акторов: кассир, клиент банка, банковский служащий, продавец магазина, пассажир авиарейса, администратор гостиницы, сотовый телефон.
На диаграммах прецедентов взаимодействие актора с прецедентом всегда обозначается отношением ассоциации, например, так:
Отношение включения (include) отражает тот факт, что некоторый прецедент содержит поведение, определенное в другом прецеденте, например:
Отношение расширения (extend) определяет взаимосвязь одного прецедента с некоторым другим прецедентом, функциональность или поведение которого задействуется первым прецедентом не всегда, а только при выполнении некоторых дополнительных условий.
Отношение обобщения (generalization relationship) предназначено для отражения того факта, что один элемент модели является специальным или частным случаем другого элемента модели.
Например, так:
Или так:
Легко видеть, что отношение обобщения действует аналогично отношению наследования, но направлено оно «в обратную сторону».
Диаграммы прецедентов должны отражать функциональные требования к ПО
Требование к ПО – это некоторое свойство, которым должна обладать система или ее компонент, чтобы удовлетворять условиям контракта, положениям стандартов, формальной спецификации или технической документации.
Функциональные требования определяют действия, которые должна быть способна выполнить система, без рассмотрения физических особенностей их реализации.
Функциональные требования определяют внешнее поведение системы. Лучше всего они описываются в форме прецедентов. Каждому функциональному требованию должен соответствовать отдельный прецедент.
Пример 1. Диаграмма прецедентов для продажи товаров через Интернет-магазин.
44. Сценарии выполнения прецедентов (пример).
Для каждого базового прецедента диаграммы прецедентов необходимо продумать,
разработать и описать текстовый сценарий его выполнения. Сценарий выполнения каждого базового прецедента имеет, в общем случае, три раздела, которые оформляются как таблицы. В качестве примера рассмотрим сценарий выполнения базового прецедента «Снятие наличных по банковской карточке» для модели банкомата (разделы сценария: «Общее описание сценария», «Типичный ход событий», «Исключения».
Раздел «Общее описание сценария»
Прецедент - Снятие наличных по банковской карточке
Акторы - Клиент, Банк
Цель - Получение Клиентом требуемой суммы наличными
Краткое описание - Клиент запрашивает требуемую сумму. Банкомат обеспечивает доступ к счету Клиента. Банкомат выдает Клиенту наличные
Тип - Базовый прецедент
Ссылки на другие прецеденты - Идентификация банковской карточки; Проверка PIN-кода банковской карточки
Раздел «Типичный ход событий»
Действия акторов |
Отклик системы |
1. Клиент вставляет кредитную карточку в устройство чтения банкомата Исключение №1: Банковская карточка недействительна или неверно вставлена
|
2. Банкомат выполняет идентификацию банковской карточки 3. Банкомат предлагает ввести РIN-код
|
4. Клиент вводит РIN-код Исключение №2: Клиент вводит неверный РIN-код
|
5. Банкомат проверяет РIN-код 6. Банкомат отображает опции меню |
7. Клиент выбирает в меню опцию «Снятие наличных со своего счета» |
8. Система делает запрос в Банк и выясняет текущее состояние счета Клиента 9. Банкомат предлагает ввести требуемую сумму
|
10. Клиент вводит требуемую сумму 11. Банк проверяет введенную сумму Исключение №3: Требуемая сумма превышает лимит средств на счете Клиента, доступных для снятия
|
12. Банкомат изменяет состояние счета Клиента, выдает наличные и чек |
13. Клиент получает наличные и чек |
14. Банкомат предлагает Клиенту забрать банковскую карточку |
15. Клиент получает свою банковскую карточку |
16. Банкомат отображает сообщение о готовности к работе. |
Раздел «Исключения»
Действия акторов |
Отклик системы |
Исключение №1: Банковская карточка недействительна или неверно вставлена |
3. Банкомат отображает информацию о недействительной или неверно вставленной банковской карточке 14. Банкомат предлагает Клиенту забрать банковскую карточку
|
15. Клиент получает свою банковскую карточку |
|
Исключение №2: Клиент вводит неверный PIN-код |
6. Банкомат отображает информацию о неверном PIN-коде |
4. Клиент вводит новый PIN-код |
|
Исключение №3: Требуемая сумма превышает лимит средств на счете Клиента, доступных для снятия |
12. Банкомат отображает информацию о превышении лимита средств на счете Клиента, доступных для снятия |
10. Клиент вводит новую требуемую сумму |
|