Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Введение в объектно-ориентированный анализ. Понятие объекта. Отношения между объектами

Список литературы

Лекция 1. Введение в Объектно-ориентированный анализ, проектирование и программирование.

 

 

1. «Язык программирования Java», Кен Арнолд, Джеймс Гослинг, Дэвид Холмс

2. «Объектно - ориентированный анализ и проектирование с примерами приложений на С++», Гради Буч

3. «Приемы объектно-ориентированного проектирования. Паттерны проектирования», Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес

4. «UML. Основы. Краткое руководство по унифицированному языку моделирования», Мартин Фаулер и Кендалл Скотт

5. «Применение UML и шаблонов проектирования», Крэг Ларман

6. «Java. Эффективное программирование», Джошуа Блох

7. «Распределённые системы. Принципы и парадигмы», Э. Таненбаум, М. Ван Стеен

8. «Java Message Service Specification. Version 1.0.2», SUN Microsystems

9. RFC 1034 “Domain names - concepts and facilities”

10. RFC 1035 “Domain names - implementation and specification”

11. RFC 2251 “Lightweight Directory Access Protocol (v3)”

12. “Java Naming and Directory Interface TM Application Programming Interface (JNDI API)”, SUN Microsystems

13. RFC 1945 “Hypertext Transfer Protocol -- HTTP/1.0”

14. RFC2616 “Hypertext Transfer Protocol -- HTTP/1.1”

15. “Java Servlet Specification Version 2.3”, SUN Microsystems

16. “JDBC 3.0 Specification”, SUN Microsystems

17. "Hibernate in Action", Christian Bauer, Gavin King

18. “The Timeless Way of Building”, Christopher Alexander

19. «Применение шаблонов Java», Стивен Стерлинг, Олав Маассен

20. И. Д. Медведовский, Б. В. Семьянов, Д. Г. Леонов, А. В. Лукацкий "Атака из Internet"

21. Мартин Фаулер «Архитектура корпоративных приложений»

22. http://www.martinfowler.com/articles/injection.html

23. “Enterprise Integration Patterns”, Gregor Hope, Bobby Woolf

24. http://www.sei.cmu.edu

25. Pressman Roger S. Software Engineering: A Practitioner's Approach, 5_е издание. NY: McGraw_Hill. P. 225, 2001.

26. Dirk Krafzig, Karl Banke, Dirk Slama, “Enterprise SOA: Service-Oriented Architecture Best Practices”, Prentice Hall PTR, 2004

27. Java Transaction Processing: Design and Implementation. Mark Little, Jon Maron, Greg Pavlik

28. Roy Fielding, “Architectural Styles and the Design of Network-based Software Architectures”, UNIVERSITY OF CALIFORNIA, IRVINE, 2000

 

В процессе своего развития, индустрия программного обеспечения прошла ряд этапов, характеризующихся постоянным повышением сложности создаваемого ПО. Одной из основных её задач является выработка способов упрощения работы со сложностью создаваемых систем.

Экспериментально показано, что человек может одновременно оперировать в среднем объектами, независимо от их внутренней сложности. Очевидно, что постоянное усложнение создаваемых систем вызывает необходимость борьбы со сложностью. Одним из наиболее популярных принципов борьбы со сложностью является принцип «разделяй и властвуй», т.е. сложная система разбивается на ряд простых подсистем, управлять или разрабатывать которыми по отдельности гораздо проще. Этот принцип носит название декомпозиции.

Принцип декомпозиции может быть применён к разным аспектам системы, и одним из наболее часто используемых до сих пор был принцип функциональной декомпозиции. В соответствии с ним система разбивается на функциональные слабозависимые друг от друга блоки из которых стоятся более крупные блоки и т.д. Самым крупным блоком и является сама целевая система.

Данный подход предполагает то что описываемая система может быть представлена как иерархия функциональных блоков.

Несмотря на огромный шаг вперёд, данный подход не лишён недостатков, как то:

  • большое дублирование функциональных блоков;
  • невозможность абстрагирования в отношении функционирования блоков;
  • слабая связь функциональных блоков с объектами внешнего мира.

 

С точки зрения восприятия человеком объектом может быть:

· осязаемый и (или) видимый предмет;

  • нечто, воспринимаемое мышлением;
  • нечто, на что направлена мысль или действие.

 

Объект может обладать некоторым состоянием, а так же обладать некоторым интерфейсом для взаимодействия с внешним миром. Поэтому следующим крупным шагом на пути в борьбе со сложностью стала объектно-ориентированная декомпозиция. В данном подходе сложная система моделируется уже не как иерархия большого количества различных функциональных блоков, но как совокупность объектов, связанных между собой. Объекты могут быть связаны между собой:

  • функционально,
  • стурктурно – композиция,
  • отношениями обобщения, называемыми ещё наследованием или генерализацией.

 

Таким образом, можно считать, что статическая объектная модель выражается совокупностью объектов и заданных отношений наследования и композиции между ними.

Динамическая объектная модель выражается функциональными интерфейсами между объектами и порядком взаимодействия объектов друг с другом.

 

Термин объект в программном обеспечении впервые был введен в языке Simula.

 

Объект обладает состоянием, поведением и идентичностью; структура и поведение схожих объектов определяет общий для них класс; термины «экземпляр класса» и «объект» взаимозаменяемы.

 

 

<== предыдущая лекция | следующая лекция ==>
 | Лекция 2. Основные определения ООП
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 737; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.