Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Королев Лабораторая работа применение современных опен-соурце

.pdf
Скачиваний:
2
Добавлен:
12.11.2022
Размер:
1.43 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»

А.С. Королев, К.В. Нигматуллина

Лабораторный практикум

«ПРИМЕНЕНИЕ СОВРЕМЕННЫХ OPEN-SOURCE ТЕХНОЛОГИЙ ПРИ СОЗДАНИИ КОРПОРАТИВНЫХ СИСТЕМ»

Рекомендовано УМО «Ядерные физика и технологии» в качестве учебного пособия

для студентов высших учебных заведений

Москва 2012

УДК 004.4’2(076.5) ББК 32.973-018.2я7 К 68

Королев А.С., Нигматуллина К.В. Лабораторный практикум «Применение

современных Open-Source технологий при создании корпоративных систем».

М.: НИЯУ МИФИ, 2012. – 48 с.

Для выполнения работ используются современные свободно распространяемые технологии и средства проектирования: Eclipse, J2EE, PostgreSQL, Archi.

Предназначено для студентов высших учебных заведений, обучающихся по направлению «Системный анализ и управление» и изучающих курсы «Информатика», «Базы данных», «Технологии программирования» и схожие с ними. Также может быть использовано студентами других направлений подготовки при изучении указанных выше курсов.

Подготовлено в рамках Программы создания и развития НИЯУ МИФИ.

Рецензент главный научный сотрудник института радиотехники и электроники им. В.А. Котельникова РАН, д-р техн. наук, проф. А.Я. Олейников

ISBN 978-5-7262-1779-6

© Национальный исследовательский ядерный

 

университет «МИФИ», 2012

Редактор Е.К. Коцарева Оригинал-макет подготовлен А.С. Королевым

Подписано в печать 15.11.2012. Формат 60х84 1/16

Печ.л. 3,25. Уч.-изд. л. 3,25. Тираж 70 экз.

Изд. № 005-1. Заказ № 54.

Национальный исследовательский ядерный университет «МИФИ». 115409, Москва, Каширское ш., д. 31.

ООО «Полиграфический комплекс «Курчатовский». 144000, Московская область, г. Электросталь, ул. Красная, д. 42.

СОДЕРЖАНИЕ

Предисловие

4

Введение

6

Лабораторная работа №1. Разработка архитектуры системы

8

1.1. Цель работы

8

1.2. Теоретические сведения, необходимые для выполнения работы

8

1.3. Рабочие задания

11

Лабораторная работа №2. Создание многопользовательской среды

15

разработки проекта

2.1. Цель работы

15

2.2. Теоретические сведения, необходимые для выполнения работы

15

2.3. Рабочее задание

15

Лабораторная работа №3. Разработка пользовательского интер-

17

фейса

3.1. Цель работы

17

3.2. Теоретические сведения, необходимые для выполнения работы

17

3.3.

Рабочее задание

17

Лабораторная работа №4. Разработка базы данных

25

4.1. Цель работы

25

4.2.

Теоретические сведения, необходимые для выполнения работы

25

4.3.

Рабочие задания

29

Лабораторная работа №5. Разработка программной логики систе-

34

мы

 

5.1. Цель работы

34

5.2.

Теоретические сведения, необходимые для выполнения работы

34

5.3.

Рабочие задания

37

Лабораторная работа №6. Развертывание и тестирование про-

44

граммной системы

6.1. Цель работы

44

6.2.

Теоретические сведения, необходимые для выполнения работы

44

6.3.

Рабочее задание

46

Контрольные вопросы

47

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

48

3

ПРЕДИСЛОВИЕ

В учебном пособии представлен практикум по применению современных Open-Source технологий при создании корпоративных программных систем. Пособие предназначено для студентов, обучающихся по образовательным программам подготовки бакалавров и магистров по направлению «Системный анализ и управление» и изучающих курсы «Информатика», «Базы данных», «Технологии программирования» и схожие с ними. Оно может быть также использовано в качестве учебного пособия при изучении указанных выше курсов студентами других направлений подготовки и специальностей.

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

интегрированная среда разработки Eclipse, позволяющая

осуществлять высокоуровневое проектирование программного обеспечения и баз данных, используя концепции UML;

пакет Java 2 Enterprise Edition (J2EE) для программирования

иотладки компонентов программного кода;

среда разработки архитектур Archi;

система управления базами данных (СУБД) PostgreSQL.

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

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

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

ботки архитектур и программных компонентов, такие как объект-

ный подход, нотации UML и Entity-Relationship, ArchiMate, ISO/IEC 42010:2007 (IEEE 1471) и др.

Изучив особенности создания программных систем с примене-

нием методических рекомендаций данного пособия, а также особенности интерфейса Eclipse и Archi, если потребуется, можно без

труда выполнять процесс проектирования при помощи таких распространенных продуктов-конкурентов, как ER WIN, Rational Rose

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

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

4

полнять процесс создания программной системы (ПС) на любой платформе: Windows, Linux, PC, Macintosh. Созданные ПС могут, в

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

Точные интернет-адреса для скачивания инструментария не даются из-за их возможного изменения с течением времени. Эти ад-

реса очень легко найти, осуществив поиск соответствующего средства при помощи системы Google.

Учебное пособие написано сотрудниками кафедры стратегического планирования и методологии управления (№ 82) Национального исследовательского ядерного университета «МИФИ» на основе опыта применения соответствующих технологий и инструментов в учебном процессе и в научно-исследовательских работах.

Любые замечания и пожелания по содержанию книги будут с благодарностью приняты авторами. Отзывы следует направлять по адресу: ASKorolev@mephi.ru.

5

ВВЕДЕНИЕ

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

Корпоративная программная система – сложная приклад-

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

процессов, а также операционные системы, компиляторы, игры и т.д. [1]

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

всреде Web и позволяющая анкетировать слушателей по результатам прочитанных им курсов, сохранять анкетную информацию

вбазе данных (БД), обрабатывать ее и выводить в виде графиков на экран. ПС должна иметь архитектуру «тонкий клиент» –

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

Учебный проект выполняется группой студентов в многополь-

зовательском режиме. Группа разбивается на проектные команды по 2-3 человека, каждая из которых выполняет свой вид деятельности, другими словами, имеет свою роль в проекте. Хранение и кон-

троль проектных данных осуществляется системой контроля версий (англ. Subversion, аббревиатура – SVN).

6

В учебном проекте предусматриваются следующие виды деятельности:

руководство проектом (осуществляет преподаватель);

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

деятельность по разработке пользовательского интерфейса;

деятельность по разработке программной логики;

деятельность по разработке БД;

деятельность по развертыванию и тестированию программной системы;

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

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

7

ЛАБОРАТОРНАЯ РАБОТА № 1

РАЗРАБОТКА АРХИТЕКТУРЫ СИСТЕМЫ

1.1. Цель работы

Методической целью работы является получение навыков в

проектировании архитектуры систем на основе инструментария

Archi.

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

1.2. Теоретические сведения, необходимые для выполнения работы

За основное определение архитектуры возьмем определение, данное в стандарте ISO/IEC 15288 [2], где архитектура представля-

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

Во многих монографиях (например, в [1]) система трактуется в виде набора архитектурных слоев (layers). В настоящем пособии также будем придерживаться этого подхода, так как в большинстве корпоративных приложений прослеживается та или иная форма архитектурного «расслоения», и, хотя в некоторых ситуациях большее значение могут приобретать другие подходы, связанные, например, с организацией каналов (pipes) или фильтров (filters), мы сконцентрируем внимание на архитектуре слоев как на наибо-

лее часто используемой структурной модели.

Спецификация ArchiMate [3] выделяет три архитектурных слоя: слой деловой области, слой приложений и технологический слой.

8

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

Альтернативным термину «деловая область» является термин «бизнес», поэтому в литературе часто можно встретить термины «бизнес-процессы», «бизнес-логика», «бизнес-правила» и т.п.

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

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

На рис.1.1 представлена диаграмма деятельности по разработке архитектуры системы. Ниже приведено описание объектов диаграммы.

Разработчик 1 – это так называемый деятель, активный участник проекта. Как было сказано выше, под этим объектом в учебном проекте подразумеваются 2-3 студента – исполнителя проекта.

Инженер-архитектор – роль, которую исполняет деятель. Архитектурная работа – практика уровня деловой области, т.е.

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

Целевая архитектура – информационный объект уровня деловой области, получаемый в процессе проведения практики «Архитектурная работа» и реализуемый при помощи информационного

объекта уровня приложений «Архитектурное описание в

ArchiMate».

Диаграммы на экране и бумажном носителе – представление информационного объекта «Целевая архитектура».

9

Рис.1.1. Деятельность по разработке архитектуры системы

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

Для создания архитектуры системы – объект, представляю-

щий смысл данной диаграммы.

Создание диаграмм – практика на уровне приложений. Эта практика используется для автоматизации представленной выше практики деловой области «Архитектурная работа».

Архитектурное описание в ArchiMate – информационный объект уровня приложений, представляющий собой совокупность

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]