Скачать 1.7 Mb.
|
1. Лекция 1. Введение в Объектно-ориентированный анализ, проектирование и программирование. 5 1.1. Список литературы 5 1. «Язык программирования Java», Кен Арнолд, Джеймс Гослинг, Дэвид Холмс 6 2. «Объектно - ориентированный анализ и проектирование с примерами приложений на С++», Гради Буч 6 3. «Приемы объектно-ориентированного проектирования. Паттерны проектирования», Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес 6 4. «UML. Основы. Краткое руководство по унифицированному языку моделирования», Мартин Фаулер и Кендалл Скотт 6 5. «Применение UML и шаблонов проектирования», Крэг Ларман 6 6. «Java. Эффективное программирование», Джошуа Блох 6 7. «Распределённые системы. Принципы и парадигмы», Э. Таненбаум, М. Ван Стеен 6 8. «Java Message Service Specification. Version 1.0.2», SUN Microsystems 6 9. RFC 1034 “Domain names - concepts and facilities” 6 10. RFC 1035 “Domain names - implementation and specification” 6 11. RFC 2251 “Lightweight Directory Access Protocol (v3)” 6 12. “Java Naming and Directory Interface TM Application Programming Interface (JNDI API)”, SUN Microsystems 6 13. RFC 1945 “Hypertext Transfer Protocol -- HTTP/1.0” 6 14. RFC2616 “Hypertext Transfer Protocol -- HTTP/1.1” 6 15. “Java Servlet Specification Version 2.3”, SUN Microsystems 6 16. “JDBC 3.0 Specification”, SUN Microsystems 6 17. "Hibernate in Action", Christian Bauer, Gavin King 6 18. “The Timeless Way of Building”, Christopher Alexander 6 19. «Применение шаблонов Java», Стивен Стерлинг, Олав Маассен 6 20. И. Д. Медведовский, Б. В. Семьянов, Д. Г. Леонов, А. В. Лукацкий "Атака из Internet" 6 21. Мартин Фаулер «Архитектура корпоративных приложений» 6 22. http://www.martinfowler.com/articles/injection.html 6 23. “Enterprise Integration Patterns”, Gregor Hope, Bobby Woolf 6 24. http://www.sei.cmu.edu 6 25. Pressman Roger S. Software Engineering: A Practitioner's Approach, 5_е издание. NY: McGraw_Hill. P. 225, 2001. 7 26. Dirk Krafzig, Karl Banke, Dirk Slama, “Enterprise SOA: Service-Oriented Architecture Best Practices”, Prentice Hall PTR, 2004 7 27. Java Transaction Processing: Design and Implementation. Mark Little , Jon Maron , Greg Pavlik 7 1.2. Введение в объектно-ориентированный анализ. Понятие объекта. Отношения между объектами. 7 1.3. Введение в UML. Краткая историческая справка. Диаграммы классов, диаграммы последовательностей. 8 2. Лекция 2. Основные определения ООП. 11 2.1. Операции. 11 2.2. Измерение качества абстракции 11 2.3. Выводы 13 3. Лекция 3. Распределённое взаимодействие. Распределённые системы. Распределённые объекты. 14 3.1. Основные определения и положения распределённых систем 14 4. Лекция 4 17 4.1. Программное обеспечение промежуточного слоя (middleware) 17 5. Лекция 5 20 5.1. Типичные архитектуры распределённых систем 20 Client-Server (2-tier – двухзвенная архитектура) 20 N-Tier (многозвенная архитектура) 21 Мобильные агенты (Applets and other mobile code) 22 P2P (Peer-to-Peer – архитектура типа точка-точка или децентрализованная) 22 5.2. Контейнеры компонент 23 6. Лекция 6 25 6.1. Введение в Web-приложения и сервлеты 25 6.2. Основные интерфейсы и классы Servlet API 26 6.2.1. javax.servlet.http.HttpServlet 26 6.2.2. javax.servlet.http.HttpServletRequest 27 6.2.3. javax.servlet.http.HttpServletResponse 27 6.2.4. javax.servlet.http.HttpSession 27 6.2.5. javax.servlet.ServletConfig 28 6.2.6. javax.servlet.ServletContext 28 6.2.7. javax.servlet.Filter 28 7. Лекция 7 29 7.1. Технологии доступа к БД в Java. JDBC API 29 7.2. Альтернативные технологии доступа к БД в Java 31 8. Лекция 8 33 8.1. Введение в ORM (Object Relationship Mapping) 33 8.1.1. Гранулярность (granularity) 33 8.1.2. Подтипы (Subtypes) 35 8.1.3. Идентификация (Identity) 36 8.1.4. Навигация по связям 36 8.2. Альтернативные подходы к Persistence 37 8.2.1. JDBC API 37 8.2.2. Сериализация объектов 37 8.2.3. Entity EJB 38 8.2.4. Объектные СУБД 38 9. Лекция 9 Основы ORM на примере Hibernate 40 9.1. Архитектура Hibernate 40 10. Лекция 10. Шаблоны проектирования в ООП 43 10.1. Введение в шаблоны проектирование. Определение шаблона. Основные концепции 43 10.2. Производящие шаблоны 44 10.2.1. Factory Method 44 10.2.2. Singleton 45 10.2.3. Abstract Factory 46 10.3. Поведенческие шаблоны 47 10.3.1. Iterator 47 10.3.2. Command 48 10.3.3. Observer 49 10.3.4. Template Method 50 10.3.5. Visitor 50 10.4. Структурные шаблоны 52 10.4.1. Adapter 52 10.4.2. Composite 53 10.4.3. Façade 54 10.4.4. Decorator 55 10.4.5. Proxy 56 11. Лекция 11. Основные концепции проектирования корпоративных приложений 58 11.1. Определение корпоративной системы 58 11.2. Типичные нефункциональные требования к корпоративным системам 58 11.2.1. Производительность 59 11.2.2. Отказоустойчивость 59 11.2.3. Безопасность (Защищённость) 60 12. Лекция 12. Основные концепции проектирования корпоративных приложений (продолжение) 62 12.1. Концепция архитектурных слоёв 62 12.2. Физическое размещение слоёв. 63 13. Лекция 13. Основные концепции проектирования корпоративных приложений (продолжение) 65 13.1. Сеансы и состояния 65 13.2. Управление параллельными заданиями 67 14. Аспектно-Ориентированное Программирование (Aspect Oriented Programming, AOP) 70 15. Inversion of Control (IoC) / Dependency Injection 74 16. Интеграция корпоративных приложений 77 16.1. Введение 77 16.2. Критерии межсистемной интеграции 78 17. Интеграция Корпоративных Приложений (продолжение) 81 17.1. Подходы к межсистемной интеграции 81 Интеграция путём обмена файлами 81 Интеграция с помощью разделяемой базы данных 82 Интеграция с помощью удалённого вызова процедур 83 Интеграция на основе сообщений (Messaging) 83 17.2. Основные механизмы интеграции сообщениями 84 18. Механизмы интеграции сообщениями 86 18.1. Канал (Message Channel) 86 18.2. Сообщение (Message) 87 18.3. Каналы и Фильтры 88 19. Механизмы интеграции сообщениями 91 19.1. Маршрутизатор сообщений (Message Router) 91 19.2. Транслятор сообщений (Message Translator) 91 Уровни преобразования данных 92 20. Транзакции 95 20.1. Общие положения 95 20.2. Основные определения 95 20.3. Транзакционны протокол 96 21. Жизненный цикл проекта по созданию (или интеграции) информационной системы на основании стандарта IEEE 1074 99 21.1. Введение 99 22. Введение в Rational Unified Process 104 23. Экстремальное Программирование (Extreme Programming) 107 23.1. Введение 107 23.2. Практики XP 108 Планирование 108 Дизайн 109 Кодирование 110 Тестирование 110 24. Конфигурационное управление (Software Configuration Management) 111 24.1. Принципы SCM 111 Понимание сути SCM 111 Планы и политики SCM 112 Процессы SCM 112 Метрические показатели 112 Инструменты для SCM 112 Элементы конфигурации SCM 112 24.2. Основные требования для системы SCM 113 Идентификация 113 Контроль 114 Аудит 114 Учет статуса 114 24.3. Планирование и организация SCM 114 Групповой синдром разработчика 115 Множественность версий 115 Семейство программных продуктов 115 Изменение требований 115 Изменение графика работ 115 Изменения ПО 116 Изменения штата 116 25. Service Oriented Architecture. Основные положения. Понятие Сервиса 117 25.1. Введение 117 25.2. Классификация сервисов 119 Basic Services 120 Intermediary Services (Промежуточные сервисы) 120 Process-centric Services 121 Public Enterprise Services 122 |