- •Другие причины возможных неудач (по данным Standish Group и Rational Software)
- •Одна из причин - экстремальные условия выполнения проектов:
- •Причины, порождающие экстремальные проекты
- •Причины участия в экстремальных проектах
- •2. Жизненный цикл по (software lifecycle):
- •3. Процессы жизненного цикла в различных стандартах
- •4. Жизненный цикл, гост исо мэк 12207
- •5. Жизненный цикл, гост 34, Oracle, rup.
- •6. Каскадная модель жизненного цикла эис, реальная модель
- •7. Спиральная модель жизненного цикла эис, ее сопоставление с каскадной моделью
- •8. Подход rad
- •Пример - технология Microsoft Microsoft Solutions Framework (msf)
- •9. Модель и архитектура эис
- •10. Языки моделирования
- •11. Диаграммы uml
- •12. Диаграммы uml. Диаграммы вариантов использования
- •1 3. Диаграмма обзора взаимодействия (uml 2.0)
- •14. Технологии создания по
- •15. Технология rup
- •Общее представление rup
- •16. Стадии жц по технологии rup
- •17. Средства моделирование бизнес процессов
- •18. Методология sadt
- •19. Методология idef0
- •20. Методология idef3
- •21. Методология aris
- •22. Dfd, основные элементы
- •23. Моделирование erd
- •25. Связи обобщения, включения, расширения rup
- •26. Объектно-ориентированный подход в проектировании эис
- •27. Основные принципы ооп
- •28. Основные понятия ооп
26. Объектно-ориентированный подход в проектировании эис
Проблемы, стимулировавшие развитие ООП:
Необходимость повышения производительности разработки за счет многократного (повторного) использования ПО
Необходимость упрощения сопровождения и модификации разработанных систем (локализация вносимых изменений)
Облегчение проектирования систем (за счет сокращения семантического разрыва между структурой решаемых задач и структурой ПО)
Британская Энциклопедия, раздел «Теория классификации»:
В постижении реального мира люди пользуются тремя методами, организующими их мышление:
(1) разделение окружающей действительности на конкретные объекты и их атрибуты - например, когда явно различаются понятия дерева и его высоты или пространственного расположения по отношению к другим объектам
(2) различие между целыми объектами и их составными частями - например, ветви являются составными частями дерева
(3) формирование и выделение различий между различными классами объектов - например, между классом всех деревьев и классом всех камней
Краткая история объектно-ориентированного подхода
1967: Simula
1970-е: Smalltalk
1980-е: Теоретические основы, C++, Objective-C.
1990-е: Методы OOA и OOD (Booch, OMT, ....), Java
1997: Стандарт UML (OMG)
27. Основные принципы ооп
Абстракция - любая модель, включающая наиболее важные, существенные или отличительные характеристики некоторого объекта, и игнорирующая менее важные или незначительные детали
Абстракция позволяет управлять сложностью системы, концентрируясь на существенных свойствах объекта, отличающих его от объектов другого типа Абстракция зависит от предметной области и точки зрения - то, что важно в одном контексте, может быть не важно в другом Объекты и классы - основные абстракции предметной области
Объект осязаемая сущность (tangible entity) - предмет или явление (процесс), имеющие четко выраженные границы, индивидуальность и поведение
Объект - абстракция некоторой сущности предметной области (объект реального мира) или программной системы (архитектурный объект)
Объект - экземпляр класса Любой объект обладает состоянием (state), поведением (behavior) и индивидуальностью (identity)
Состояние объекта - одно из возможных условий, в которых он может существовать, оно изменяется со временем
Состояние объекта определяется значениями его свойств (атрибутов) и связями с другими объектами
Поведение определяет действия объекта и его реакцию на запросы от других объектов. Поведение представляется с помощью набора сообщений, воспринимаемых объектом (операций, которые может выполнять объект)
Каждый объект обладает уникальной индивидуальностью
Инкапсуляция физическая локализация свойств и поведения в рамках единственной абстракции (рассматриваемой как «черный ящик»), скрывающая их реализацию за общедоступным интерфейсом
Инкапсуляция – объединение свойств (атрибутов) и поведения (операций) в рамках класса
Модульность логическая и физическая декомпозиция сложной системы на ряд внутренне связных, но слабо связанных между собой подсистем (модулей)
Модульность снижает сложность системы, позволяя выполнять независимую разработку отдельных модулей
Иерархия ранжированная или упорядоченная система абстракций, расположение их по уровням в виде древовидной структуры
Элементы, находящиеся на одном уровне иерархии, должны также находиться на одном уровне абстракции
Виды иерархии:
иерархия агрегации (организация – отдел)
иерархия наследования (служащий – служащий с почасовой оплатой, служащий на окладе)
