Главная
страница 1
Министерство образования и науки Российской Федерации

Московский физико-технический институт

(государственный университет)
УТВЕРЖДАЮ

Проректор по учебной работе

__________ Ю.А. Самарский

“_____” ____________ 2011 г.



ПРОГРАММА
по курсу: СОВРЕМЕННЫЕ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ JAVA (по выбору)

по направлению: 010900

факультеты: ФРТК, ФОПФ, ФАКИ, ФМБФ, ФФКЭ, ФУПМ, ФПФЭ

кафедра: ИНФОРМАТИКИ

курс: 4

семестр: 7

практические занятия: 34 часа зачёт дифф.
ВСЕГО ЧАСОВ: 34
Программу составил: ст. преподаватель М.М. Краснов
Программа обсуждена

на заседании кафедры информатики

«21» мая 2011г.

Заведующий кафедрой, И.Б.Петров

профессор

ВВЕДЕНИЕ.

Данный курс предполагает базовое знание языка java. Курс рассчитан на изучение не самого языка, а технологии программирования на нем с использованием последних разработок в java сообществе.



Курс рассчитан на один семестр и предполагает изучение теории (два академических часа в неделю) и практикум (два академических часа в неделю). Практикум – создание web приложения с использованием большинства рассматриваемых технологий и фреймворка (каркаса) Spring.
СТРУКТУРА КУРСА

  1. JavaBeans и POJO – основные типы объектов при программировании в «правильном» стиле.

  2. Безопасное (safe) программирование. Новые возможности Java 5: generics, аннотации, inboxing/outboxing. Многие ошибки в программах должны отлавливаться на этапе компиляции программы, а не на этапе исполнения.

  3. Spring – многоуровневый каркас приложений (layered Java/J2EE application framework) – каркас каркасов.

  4. Разработка, управляемая тестами – Test Driven Development (TDD). Единица тестирования - test unit. JUnit framework. Использование фиктивных объектов (mock objects) для тестирования приложений.

  5. Интерфейсы. Программирование на интерфейсах, а не на классах. Интерфейсы программирования приложений - Application Programming Interfaces (API) в JEE.

  6. Основные шаблоны проектирования в Java.

  7. Шаблон проектирования MVC (Model-View-Controller) – основной шаблон в web программировании. Бизнес-логика приложения должна быть полностью отделена от отображения данных. Контроллер – связующее звено. Полезно также отделить бизнес-логику от уровня сохранения данных в базе – Data Access Object (DAO). Это отделение делается, как обычно, путем введения дополнительных интерфейсов.

  8. Инверсия управления - Inversion of Control (IoC). Инъекция зависимостей - Dependency Injection (DI). При инверсии управления свойства (properties) объектов в контейнере устанавливаются (injected) контейнером на основании внешних настроек, а не запрашиваются объектами у контейнера или еще где-либо.

  9. Нормализация базы данных. Пять нормальных форм. При проектировании базы данных надо стремиться довести структуру базы хотя бы до третьей нормальной формы.

  10. Библиотека JDBC основная библиотека в java для работы с реляционными базами данных..

  11. Java Persistence API (JPA) - работа с данными на уровне объектно-ориентированной модели. Попытка стандартизации отображения объектов на реляционные данные.

  12. Object-Relational Mapping (ORM). Отображение объектов java (JavaBeans) на реляционные данные. Hibernate framework – одна из лучших реализаций ORM.

  13. Аспектно - ориентированное программирование – Aspect-Oriented Programming (AOP). Библиотека AspectJ. AOP в Spring framework.

Задания для самостоятельной работы


  1. Написать java-приложение «Справочник студентов». Приложение должно состоять из нескольких уровней: Model – бизнес-логика приложения, View – пользовательский интерфейс приложения, Controller (server) – взаимодействие между пользовательским интерфейсом и бизнес-логикой, DAO – Data Access Objects – сохранение данных в постоянной памяти. Взаимодействие между уровнями реализовать на фреймворке Spring с помощью Dependency Injection (DI).

  2. Написать веб-приложение «Справочник студентов». По сравнению с предыдущей задачей должен поменяться только пользовательский интерфейс и контроллер. В качестве контроллера использовать Spring MVC, веб - страницы написать на jsp.

  3. Разработать базу данных для приложения «Справочник студентов».

  4. Переработать java-приложение «Справочник студентов» для работы с базой данных. Должен поменяться только DAO – уровень. Работа с базой данных должна вестись через JDBC - драйвер.

  5. Переработать веб-приложение «Справочник студентов» для работы с базой данных. Должен поменяться только DAO – уровень.

  6. Переработать веб-приложение «Справочник студентов». Реализовать DAO – уровень на фреймворке Hibernate.

  7. Ввести понятие «пользователь системы». Ввести роли пользователей (администратор, оператор, простой пользователь) с разграничением прав на просмотр и на действия. На сервере работу с правами реализовать с методами AOP (Aspect-oriented programming).

  8. Написать java-приложение «Справочник студентов» в архитектуре клиент-сервер. В качестве сетевого протокола использовать CORBA.

  9. Переписать веб-приложение «Справочник студентов» для работы с сервером приложения по протоколу CORBA.

СПИСОК ЛИТЕРАТУРЫ


  1. Craig Walls, Ryan Breidenbach. Spring in Action, 2-nd edition. Manning Publications, 2008, ISBN-10: 1933988134, ISBN-13: 978-1933988139.

  2. Christian Bauer, Gavin King. Java Persistence with Hibernate. Manning Publications, 2006, ISBN-10: 1932394885, ISBN-13: 978-1932394887.

  3. Debu Panda, Reza Rahman, Derek Lane. EJB 3 in Action. Manning Publications, 2007, ISBN-10: 1933988347, ISBN-13: 978-1933988344.

  4. Rod Johnson, Juergen Hoeller, etc. The Spring Framework - Reference Documentation. Version 2.5.4. 2008

  5. Hibernate Reference Documentation, version 3.2.5. 2007

  6. Vincent Massol, Ted Husted. JUnit in Action. Manning Publications, 2003.
    ISBN-10: 1930110995, ISBN-13: 978-1930110991

  7. Ramnivas Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications, 2003. ISBN-10: 1930110936, ISBN-13: 978-1930110939

  8. Анил Хемраджани. Гибкая разработка приложений на Java с помощью Spring, Hibernate и Eclipse. Вильямс, 2008 г. ISBN 978-5-8459-1375-3, 0-672-32896-8


Смотрите также:
Программа по курсу: современные технологии программирования на языке java (по выбору) по направлению
39.86kb.
1 стр.
Программа курса «Программирование на языке С++»
31.04kb.
1 стр.
Учебная программа Дисциплины б3 «Основы программирования» по направлению 010300 «Фундаментальная информатика и информационные технологии»
130.85kb.
1 стр.
Технологические подходы к разработке по [Алексеев П. С.]
27.11kb.
1 стр.
Специальность «Информатика и технологии программирования»
35.84kb.
1 стр.
Программа курса (Syllabus) по дисциплине «технологии программирования»
425.18kb.
3 стр.
Программа по курсу: технология программирования (факультет.) по направлению
313.68kb.
1 стр.
Программа по курсу: практикум по объектно-ориентированному программированию (по выбору) по направлению
205.07kb.
1 стр.
Практикума по курсу «Технологии программирования. Курс на базе Microsoft Solutions Framework (msf)» для подготовки по направлению «Информационные технологии»
160.01kb.
1 стр.
Курсовая работа по курсу «Программирование» Тема работы: «Разработка приложения с графическим интерфейсом на языке программирования С++ с использованием библиотеки qt»
108.12kb.
1 стр.
Основная образовательная программа подготовки магистра по направлению 05010006. 68 Педагогическое образование
222.61kb.
1 стр.
Программа по курсу: оъектно-ориентированное программирование (факультетский) по направлению
226.09kb.
1 стр.