Скачиваний:
19
Добавлен:
10.02.2015
Размер:
69.63 Кб
Скачать

Курс “Основы построения корпоративных информационных систем”, авторы: Третьяков Е.А., Либренц Б.А.

Элективный курс

«Основы построения корпоративных информационных систем».

Количество учебных часов – 70 часов (по 2 часа в неделю).

Образовательная область – информатика.

Профиль – технологический

Возрастная группа – 10-11 кл

Цели и задачи курса:

научить проектировать многоуровневые приложения уровня предприятия

дать базовые умения построения архитектуры сложных приложений

дать первичные навыки работы с веб-серверами и серверами приложений

научить использовать базы данных для веб-проектов

научить эффективно выделять и использовать различные программные технологии

дать основные навыки объектно-ориентированного программирования на языке Java с использованием технологических средств платформы J2SE для решения конкретных прикладных задач.

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

Условия проведения: компьютеры с процессором не ниже Pentium, ОЗУ не менее 32 Мб, не менее 100 Мб дискового пространства.

ПО: jre версии 1.3 или выше, Apache Tomcat 4.5 или выше, MySQL версии 3.2 или выше, простой текстовый редактор, лучше – FAR manager.

Требования к слушателям: знание основ работы с MS Access, HTML. Желательно (но не обязательно) знание основ языка Си ++ или другого объектно-ориентированного языка программирования.

Методы обучения:

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

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

Основным источником знаний для учеников выступает оригинальный tutorial от разработчика платформы Java – корпорации Sun Microsystems. Его можно бесплатно взять на сайте www.sun.com или сделать локальную версию. Этот tutorial разработан профессионалами, очень хорошо структурирован, имеет форму УМК и содержит все, что необходимо для самостоятельного изучения всех используемых в рамках курса технологий.

Домашних заданий нет, вся работа остается в классе.

Более того, структура языка позволяет не писать один и тот же код несколько раз, таким образом ученики смогут даже выполняя самостоятельные учебные задания продвигаться в написании кода основного проекта.

Поскольку любой однажды написанный целевой программный код можно использовать неоднократно с минимальными усилиями по адаптации (что обеспечивается большой гибкостью языка) основная работа приходится на заключительный этап, когда ученики уже фактически закончили свое обучение технологиям и синтаксису, имеют определенное количество наработок и готовы к тому, чтобы своими руками за несколько занятий практически “с нуля” создать полноценный корпоративный веб-проект. Для того, чтобы улучшить организацию этого последнего этапа роль руководителя проекта принимает на себя сам учитель. Сами же ученики на предварительных занятиях получают своего рода “специализацию”, которая является по факту асболютно формальной, но с психологической точки зрения позволит им вполне ответственно взять на себя контроль за самыми важными аспектами проекта.

Формы организации учебных занятий:

Основное время уделяется практике и семинарским занятиям.

Курс содержит только два часа, никак не подкрепленных практикой.

В начале курса, до начала изучения языка программирования типичный урок выглядит следующим образом: 15-20 минут на лекционный материал, 20-25 минут на обсуждение командой услышанного, ответа на поставленные вопросы.

С началом изучения языка и технологий на практике обычно один час отводится под лекцию, где ученикам дается теоретический материал и показываются при помощи проекта способы применения. Все лекции должны быть обязательно продублированы в электронном виде, чтобы ученики не отвлекались на записывание. Выполнение практических задач проводится на компьютере, при поддержке выбранного из учеников руководителя проекта и небольшой помощи учителя, которую он может оказывать только непосредственно руководителю. При подборе задач следует сделать акцент на избыточность – чтобы ученики получили максимально разные задания. Списывание друг у друга допускается при условии, что ученик потом свободно сможет объяснить код, иначе пострадает руководитель. Избежать же бессмысленного дублирования поможет дополнительное поощрение досрочного выполнения задач (на решение каждой задачи отводится 10 минут).

Разрешается сдать задачи с серьезным опозданием – в несколько занятий, но при этом оценены они будут в половину рейтинга и руководитель получит меньше баллов за свою работу.

Критерии оценки успешности:

Итоговая оценка выставляется исходя из набранного рейтинга.

Поскольку предметом является не только создание веб-проекта, но и командная работа, то сам проект непосредственно не оценивается, хотя есть определенные требования. Готовый продукт должен:

    • иметь форму регистрации пользователя

    • иметь форму авторизации через защищенное соединение

    • использовать не менее 6 модулей EJB, реализующих распределенную архитектуру

    • иметь форму заказа товара или услуг

    • иметь форму-каталог продуктов

    • позволять сохранять профили пользователей и давать разноуровневый доступ

В случае невыполнения двух требований финальный этап (оцениваемый в 80 баллов) считается незащитанным, что автоматически лишает всех учеников права на отличную оценку.

Учителю так же предоставляется в этом случае право на свое усмотрение поощрить одного-двух студентов на 80 баллов, но только после обязательного согласования со всеми остальными учениками, поскольку главная ценность – команда – не должна теряться после одного невыполненного проекта.

Такие суровые правила являются прежде всего необходимостью, отражающей реальное положение вещей.

Содержание курса.

Теоретическая часть

Практика

Форма контроля и оценки

часы

Вводная лекция. Архитектурный подход к написанию программ. Новые принципы построения приложений по принципу набора модулей.

Рассуждения на темы: где еще используется модульный подход к написанию ПО? Какие еще подходы используются при написании ПО? В чем их преимущества и недостатки?

Присутствие – 10 баллов

1

Требования к программному продукту. Формализация целей, психология пользователя. Модель «бизнес-бизнес» в построении приложений.

Краткий семинар по теме: какие требования к ПО наиболее важны? Какие преимущества модели “бизнес-бизнес”?

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

За каждый существенный ответ (совпадающий по смыслу или содержанию основной идее занятия) – 1 балл.

Присутствие – 5 баллов.

Максимальное количество баллов за урок – 15.

1

Основные понятия Интернет-ориентированных приложений. Особенности электронной коммерции и электронного бизнеса.

Краткий опрос по теме: какие интернет-технологии знакомы? Какие наиболее важны для организации электронного бизнеса?

Присутствие на уроке – 10 баллов.

За каждый существенный ответ – 1 балл.

Максимальное кол-во баллов за урок – 12.

1

Основные идеи объектно-ориентированного проектирования. Объектно-ориентированная декомпозиция. Классы и объекты. Принципы объектно-ориентрованного проектирования.

Семинар по объектам: что такое объект? Свойства объекта? События?

Присутствие на уроке – 10 баллов.

За каждый существенный ответ – 1 балл.

Максимальное кол-во баллов за урок – 12.

1

Распределение ролей. Формирование команды.

Рассуждения на тему: какие роли могут понадобится для написания проекта? Выбор ответственного руководителя проекта.

Присутствие на уроке – 15 баллов.

Отсутсвие на уроке – штраф 10 баллов.

1

Этапы разработки ПО. Начало командной работы. Проектирование.

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

Присутствие – 5 баллов.

Активное участие в работе (не менее 5 предложений) – 10 баллов.

Максимальное количество баллов – 15.

2

Проектирование по образцам. Понятие архитектуры приложения. Роль архитектора проекта. Построение архитектуры приложения учащимися.

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

По окончании – временная отмена должности руководителя проекта.

Ответственный руководитель проекта в случае успеха – 15 баллов, в случае частичного успеха 0 баллов, в случае неуспеха – штраф 10 баллов.

Успешной понимается архитектура, полностью удовлетворяющая всем требованиям, озвученным на этом и предыдущих занятиях.

Присутствие на занятии – 5 баллов.

Каждое существенное предложение (кроме руководителя) – 1 балл.

Максимум за два занятия – 25 баллов.

2

Распределенные приложения и многоуровневая архитектура приложения. Сравнение архитектур взаимодействия.

Характеристика архитектур (клиент-сервер, автономные приложения, host\terminal), ...

Присутствие – 5 баллов. Верный ответ – 1 балл.

Максимальное количество баллов за занятие – 10 баллов.

1

Механизмы связи. Сообщения. Обзорная лекция по технологиям.

Присутствие – 10 баллов.

1

Транзакции. Примеры реализации с показыванием реального кода.

Мини-тест на понимание транзакций. Не оценивается, нужен для самоконтроля учителя.

Присутствие – 10 баллов.

1

Распределенные вычисления. Технологии реализации распределенных систем.

Присутствие – 10 баллов.

1

Описание технологий JNDI, JMS, RMI, Servlets, JSP, JDBC, Transaction API, EJB, Java Mail, XML, Java AAS, ....

Принятие решения, какие технологии понадобятся ученикам для решения выбранной ими задачи.

Последовательное рассмотрение и принятие решения в форме мини-теста. Совместное обсуждение по окончании тестирования.

За каждый правильно сделанный выбор в тесте – 2 балла.

Присутствие – 5 баллов.

Максимум за два занятия – 20 баллов.

2

Изучение базового синтаксиса языка Java. Понятия класса и пакета, методы, ключевые слова public, private и static. Типы данных. Оператор присваивания и сравнения. Другие операторы. Работа со строками.

1 час теории.

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

Руководитель единственный, кто имеет право перемещаться по классу.

Решение задач на усвоение (всего 15 задач, по три задачи в день).

Разрешено пользоваться примерами, приведенными в tutorial по Java.

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 60 баллов. За каждое невыполненное задание – штраф руководителю 1 балл за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 10 баллов за человека.

Решение одной задачи руководителем – 2 балла.

Для остальных: решение одной задачи 5 баллов. Досрочное решение задачи – 1 балл. Досрочное решение второй задачи в день дает право свободно перемещаться по классу без разрешения учителя.

Максимум баллов – 80.

6

Массивы, векторы. Массивы массивов.

1 час теории.

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

Руководитель единственный, кто имеет право перемещаться по классу.

Решение задач на усвоение (всего 6 задач, по три задачи в день).

Разрешено пользоваться примерами, приведенными в tutorial по Java

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 25 баллов. За каждое невыполненное задание – штраф руководителю 1 балл за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 3 балла за человека.

Решение одной задачи руководителем – 2 балла.

Для остальных: решение одной задачи 5 баллов. Досрочное решение задачи – 1 балл. Досрочное решение второй задачи в день дает право свободно перемещаться по классу без разрешения учителя.

Максимум баллов – 30.

3

Операторы ветвления, циклы, оператор выбора (отличия от других операторов выбора)

1 час теория

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

Руководитель единственный, кто имеет право перемещаться по классу.

Решение задач на усвоение (всего 6 задач, по три задачи в день).

Разрешено пользоваться примерами, приведенными в tutorial по Java

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 25 баллов. За каждое невыполненное задание – штраф руководителю 1 балл за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 3 балла за человека.

Решение одной задачи руководителем – 2 балла.

Для остальных: решение одной задачи 5 баллов. Досрочное решение задачи – 1 балл. Досрочное решение второй задачи в день дает право свободно перемещаться по классу без разрешения учителя.

Максимум баллов – 30.

3

Создание и использование собственных классов. Массивы классов.

1 час теория.

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

Руководитель единственный, кто имеет право перемещаться по классу.

Решение задач на усвоение (всего 15 задач, по три задачи в день).

Разрешено пользоваться примерами, приведенными в tutorial по Java.

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 60 баллов. За каждое невыполненное задание – штраф руководителю 1 балл за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 10 баллов за человека.

Решение одной задачи руководителем – 2 балла.

Для остальных: решение одной задачи 5 баллов. Досрочное решение задачи – 1 балл. Досрочное решение второй задачи в день дает право свободно перемещаться по классу без разрешения учителя.

Максимум баллов – 80.

6

java.util.* (расширенная библиотека методов). Краткий обзор и возможное практическое применение.

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

Руководитель единственный, кто имеет право перемещаться по классу.

Решение задач на усвоение (всего 6 задач, по три задачи в день).

Разрешено пользоваться примерами, приведенными в tutorial по Java.

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 25 баллов. За каждое невыполненное задание – штраф руководителю 1 балл за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 3 балла за человека.

Решение одной задачи руководителем – 2 балла.

Для остальных: решение одной задачи 5 баллов. Досрочное решение задачи – 1 балл. Досрочное решение второй задачи в день дает право свободно перемещаться по классу без разрешения учителя.

Максимум баллов – 30.

2

Servlet, JSP, формы HTML, HTTP-сессия. Преимущества JSP, сочетание с формами, расширенное рассмотрение форм HTML, передача данных со страницы на страницу (три подхода).

1 час теория

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

Руководитель единственный, кто имеет право перемещаться по классу.

Решение задач на усвоение (всего 15 задач, по три задачи в день).

Разрешено пользоваться примерами, приведенными в tutorial по Java.

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 60 баллов. За каждое невыполненное задание – штраф руководителю 1 балл за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 10 баллов за человека.

Решение одной задачи руководителем – 2 балла.

Для остальных: решение одной задачи 5 баллов. Досрочное решение задачи – 1 балл. Досрочное решение второй задачи в день дает право свободно перемещаться по классу без разрешения учителя.

Максимум баллов – 80.

6

Связь Java с БД, интерфейс JDBC, подключение к MySQL.

Обзор методов, доступных Java.

Установка и настройка коннекторов, реализация кода для подключения.

MySQL и базовый синтаксис SQL.

Теория – 2 часа.

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

Руководитель единственный, кто имеет право перемещаться по классу.

Решение задач на усвоение (всего 12 задач, по три задачи в день).

Разрешено пользоваться примерами, приведенными в tutorial по Java.

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 45 баллов. За каждое невыполненное задание – штраф руководителю 1 балл за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 10 баллов за человека.

Решение одной задачи руководителем – 2 балла.

Для остальных: решение одной задачи 5 баллов. Досрочное решение задачи – 1 балл. Досрочное решение второй задачи в день дает право свободно перемещаться по классу без разрешения учителя.

Максимум баллов – 65.

6

Создание своей БД и интеграция с web. Сложные SQL-запросы (на объединение, вложенные запросы, поиск, агрегатные функции).

1 час теория.

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

Руководитель единственный, кто имеет право перемещаться по классу.

Самостоятельная интеграция БД с web.

Решение задач на усвоение (всего 12 задач, по три задачи в день).

Разрешено пользоваться примерами, приведенными в tutorial по Java.

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 45 баллов. За каждое невыполненное задание – штраф руководителю 1 балл за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 10 баллов за человека.

Решение одной задачи руководителем – 2 балла.

Для остальных: решение одной задачи 5 баллов. Досрочное решение задачи – 1 балл. Досрочное решение второй задачи в день дает право свободно перемещаться по классу без разрешения учителя.

Успешное отображение данных из БД в браузере – 10 баллов, включая руководителя.

Максимум баллов – 75.

5

Безопасность в Java. SSL, авторизация пользователя.

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

Организация авторизации пользователя на сайте, страницы регистрации.

Руководитель обязан выбрать лучшую работу. Бонус руководителю – 10 баллов. В случае невыволнения задания учениками штраф руководителю 5 баллов за человека.

Выполнение задачи – 15 баллов.

Первый ученик, выполнивший задание получает бонус в 25 баллов и звание эксперта предметной области.

Второй ученик – получает бонус в 20 баллов и становится специалистом по разработке технической документации.

Максимум баллов – 50 (с учетом бонусов).

2

Программное окружение приложений J2EE. AppServer.

1 час теория.

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

Создание дескриптора приложения, описание особенностей.

Дети выполняют практику, ориентируясь на готовый полный дескриптор, пользуясь им как шаблоном.

Руководитель получает 20 баллов, если все ученики верно создадут дескриптор.

В случае невыволнения задания учениками штраф руководителю 5 баллов за человека.

Написание дескриптора – 20 баллов.

Ученик, написавший дескриптор первым получает бонус в 25 баллов и звание специалиста по аппаратной части и конфигурированию.

Максимум баллов – 65 (включая бонус)

4

Разработка модуля EJB. Описание сущности, принципов функционирования, существования, умирания.

1 час теория.

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

Каждый ученик должен разработать 5 простых модулей (по одному в день)

Руководитель получает в случае успешной сдачи всех заданий всеми учениками 60 баллов. За каждое невыполненное задание – штраф руководителю 5 баллов за факт. За выявление факта списывания (выясняется путем краткого опроса по написанному коду) штраф руководителю 10 баллов за человека.

Каждый верно написанный модуль – 15 баллов. Для руководителя – 5 баллов.

Ученик, первый написавший все 5 модулей получает бонус в 30 баллов и звание ответственного программиста-разработчика.

Максимум баллов – 115 (с учетом бонусов)

6

Сборка приложения J2EE, его упаковка и размещение на сервере.

Руководитель этапа – сам учитель.

Задачи специалистов:

эксперт предметной области отвечает за соответсвие архитектуре

специалист по технической документации делает документацию на проект “на лету” - по мере написания.

Специалист по аппаратной части и конфигурированию на отдельном компьютере “собирает” сервер.

Все остальные пишут код, выполняют веб-дизайн (на основе готовых шаблонов, предложенных учителем) и подчиняются непосредственно ответственному программисту-разработчику.

Присутствие – 10 баллов\день.

Отсутсвие – штраф 15 баллов.

Максимум – 80 баллов.

8

Презентация проекта. Финальный семинар, на котором ученики подводят итог своей работе. Выставление итоговых оценок по рейтингу, выдача грамот (если предусмотрены) специалистам и самому лучшему руководителю (по баллам).

Итоговые оценки:

860 - “отлично” (достигается только успешными руководителями и\или “специалистами”)

750 - “хорошо”

600 - “удовлетворительно”.

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

2