- •1. Тенденции развития ит. Понятие программного обеспечения.
- •2. Рынок по в России и других странах. Защита авторских прав разработчиков.
- •3. Обобщенные критерии качества по.
- •4. Элементарные критерии качества и метрики по.
- •5. Факторы, влияющие на выбор системы программирования.
- •6. Жизненный цикл по.
- •7. Функционально-ориентированная стратегия разработки по.
- •8. Принципы построения схемы иерархии.
- •9. Объектно-ориентированная стратегия разработки по.
- •10. Гибкая технология разработки по.
- •11. Риски при разработке по.
- •12. Стандарт uml.
- •13. Диаграммы прецедентов.
- •14. Сценарии.
- •15. Этап анализа требований.
- •16. Отношения между классами: ассоциации.
- •17. Отношение агрегирования.
- •18. Отношение зависимости.
- •19. Диаграммы классов.
- •20. Диаграммы объектов.
- •21. Эволюция в процессе объектно-ориентированной разработки.
- •22. Понятие объекта и класса.
- •23. Диаграммы последовательностей.
- •24. Case-средства.
- •25. Сопоставление объектно-ориентированной и функционально-ориентированной стратегий.
- •26. Базовые конструкции структурного программирования.
- •27. Теоремы структурного программирования.
- •28. Декомпозиция структурных схем.
- •29. Типы структурных схем, тождественные преобразования. (???).
- •30. Оптимизация выражений
- •31. Оптимизация циклов.
- •32. Псевдокод и пошаговая детализация.
- •33. Диаграммы деятельности.
- •34. Методы экономии оперативной памяти.
- •35. Методы экономии внешней памяти.
- •36. Способы организации памяти на внешних носителях.
- •37. Организация коллективов программистов.
- •38. Организация графического интерфейса.
- •39. Тестирование: стратегия белого ящика.
- •40. Тестирование: стратегия черного ящика.
- •41. Тестирование программной системы.
- •42. Автономное и комплексное тестирование методов.
- •43. Типы программных ошибок.
- •44. Отладка: методы «грубой силы»
- •45. Интеллектуальные методы отладки.
- •46. Принципы отладки.
- •47. Инспекции по.
- •52. Ссылки на классы и указатели на методы
17. Отношение агрегирования.
Агрегирование – это отношение «часть - целое». Агрегирование – это особый случай ассоциации, обладающий дополнительной семантикой.
Пример: Кафедра ---(входит в состав)-- факультет.
Так агрегирование обладает свойствами транзитивности и асимметричности.
Транзитивность: если объект класса А является частью объекта класса В, а объект класса В - частью объекта класса С, то объект класса А является частью объекта класса С.
Асимметричность: если объект класса А является частью объекта класса В, то объект класса В не является частью объекта класса А.
Композитное агрегирование – не может существовать без целого (уничтожение одного – уничтожаются многие).
Пример: Кнопка ------ Окно
Композитное агрегирование обладает дополнительным свойством – зависимостью по существованию.
18. Отношение зависимости.
Отношение зависимости имеет место тогда, когда в работе методов одного класса используется объекты другого класса.
Изменение спецификации одного класса влияет на работу другого класса.
Спецификация зависимостей:
Зависимость означает, что первый класс видит второй класс, и что изменения второго класса могут повлиять на поведение первого.
Наиболее распространенные варианты реализации отношения зависимости:
Первый класс передает одно или несколько сообщений второму классу.
Первый класс имеет метод с параметрами, …. Которого является членом второго класса.
Отношения зависимости появляются на диаграмме классов чаще всего на первых, а не на последних итерациях. ( говорят что наоборот).
Отношения обобщения это абстрактная зависимость, реализуется на уровне классов.
Отношение зависимости это абстрактная зависимость, реализуемая на уровне объектов(!!!).
Кратностей нет, т.к. всегда 1-1.
Пример кода (это легко написать).
19. Диаграммы классов.
Диаграмма классов, Class diagram — статическая структурная диаграмма, описывающая структуру системы, она демонстрирует классы системы, их атрибуты и зависимости между классами.
Представляет собой граф: вершины - классы, ребра - отношения. Диаграмма отражает статические отношения, существующие в классах. Основная диаграмма языка UML.
Классы и отношения между ними в основном определяют структуру нашей пр. сист.
Диаграмма классов-ассоциаций ( желательно проставлять кратность). Название ассоциаций именовать.
Диаграмма классов описывает типы объектов системы и различные статические отношения, которые существуют между ними. На диаграммах классов также изображаются атрибуты классов, операции классов и ограничения, которые накладываются на связи между объектами.
Шаблон класса:
<имя класса>*
|
+ M: 1...12 # L1: Integer - ID: PP |
# ADD N (...) + Int V (...) |
(«#»- protected
(«-»- private
Верхняя часть – имя класса, средняя – атрибуты, нижняя – методы.
Типовые мультипликаторы:
нотация |
Объяснение |
пример |
0..1 |
Ноль или один экземпляр |
кошка имеет или не имеет хозяина |
1 |
Обязательно один экземпляр |
у кошки одна мать |
0..* or * |
Ноль или более экземпляров |
у кошки может быть, а может и не быть котят |
1..* |
Один или более экземпляров |
у кошки есть хотя бы одно место, где она спит |
