ВУЗ: Московский государственный университет технологий и управления им. К.Г. Разумовского
Категория: Задание
Дисциплина: Программирование
Добавлен: 16.02.2019
Просмотров: 1183
Скачиваний: 14
колледж при МГУТУ, 2017
П-303/304/305к
Учебная практика (ПМ2)
4. Прочитайте лекцию №17 курса http://www.intuit.ru/studies/courses/5/5/info.
Разработайте UML-диаграмму вариантов использования вашего приложения. Дополните схему базы дан-
ных представлениями в соответствии с диаграммой, осуществите настройку прав доступа к представлени-
ям и таблицам.
Для аутентификации от имени пользователя mssql необходимо в настройках СУБД разрешить аутенти-
фикацию средствами MSSQL (а не только Windows, как это установлено по умолчанию). Кроме того,
пользователю необходимо назначить разрешение «Разрешение на подключение к ядру СУБД» (такое раз-
решение также можно задать с помощью запроса GRANT: это действие называется CONNECT).
5. Осуществите разработку последовательностей SQL-команд для реализации основных функций приложе-
ния, включая их, при необходимости, в транзакции.
6. Осуществите разработку хранимых процедур так, чтобы в будущем приложении использовались бы только
они и представления
Обратите внимание на обработку ситуаций, когда часть запросов выполнилась, а часть нет. В MSSQL
существует много различных способов сделать данную обработку. Проще всего выполнить запрос
SET XACT_ABORT,COUNT ON
который обозначает, что выполнение процедуры следует прекратить после первой ошибки и откатить
транзакцию, кроме того, оно подавляет вывод сообщений из успешно обработанной, но в будущем отка-
танной части транзакции.
В MySQL следует в начале хранимой процедуры указать текст следующего содержания
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
END;
7. Изучите методику организации взаимодействия с СУБД в выбранной вами среде (платформе).
• В Lazarus или Delphi следует изучить: T*Connection, где * обозначает конкретный драйвер (ODBC,
ADO, MYSQL56, MSSQL и т. п.).
Для работы достаточно изучить дополнительно класс TSqlQuery
(в части ExecSQL, Open, EOF, Next,
Last, isEmpty, getField, Fields), а также свойства As* класса TField).
Можно также изучить классы T*StoredProc с целью использования более специализированных за-
просов на вызов хранимых процедур (отметим, что если используется один объект этого типа для
запуска различных процедур, то необходимо вызывать метод Refresh после смены названия проце-
дуры).
По желанию, можно также изучить работу с TDataSource и с компонентами вкладки Data Controls
(это позволит снизить количество самописного кода, однако этот прием очень специфичен для
Delphi). Этому вопросу посвещен курс http: // www. intuit. ru/ studies/ courses/ 614/ 470/ info
(лекции 2-7, 9-13)
Для осуществления соединения программы, написанной на Lazarus с MSSQL, можно осуществить
следующие действия
(a) скачать и записать в папку с Lazarus и в папку с проектом dblib (ftp://ftp.freepascal.org/
fpc/contrib/windows/) (при этом желательно установить MS Visual Studio, так как dblib требует
дополнительные библиотеки);
(b) в диспетчере конфигурации MSSQL указать возможность доступа про протоколу TCP/IP, а также
указать, что доступ осуществляется с использованием порта 1433.
• При работе с .net изучите ADO.net
• При работе с php изучите PDO
Осуществите разработку приложения, использующего вашу базу данных.
Обратите внимание на обработку ошибочных ситуаций (когда хранимая процедура выполняется неуспеш-
но) /перехват EDatabaseError с помощью try except для Lazarus/Delphi/
Минимальный работоспособный код, предназначенный для получения информации из базы данных при
использовании Lazarus/Delphi выглядит следующим образом:
4
TQuery в Delphi
6
колледж при МГУТУ, 2017
П-303/304/305к
Учебная практика (ПМ2)
try
SqlQuery1.SQL.Add(’SELECT name FROM test where length(name)=:len’);
SqlQuery1.Params.ParamByName(’len’).AsInteger:=3;
SqlQuery1.Open;
while not SqlQuery1.EOF do
begin
Listview1.AddItem(SqlQuery1.FieldByName(’name’).AsString,NIL);
SqlQuery1.Next;
end;
SqlQuery1.Close;
SqlQuery1.SQL.Clear;
except on d: EDatabaseError do
begin
Application.MessageBox(PChar(d.Message),’’);
end;
end;
Для его работы необходимо с помощью инспектора объектов (или иным путём) осуществить настройку
соединения с СУБД, соединить объект SqlQuery1 с объектом соединения и объектом транзакции.
8. Осуществите доработку приложения, использующего вашу базу данных
9. Осуществите разработку отчётов, позволяющих отпечатать полное содержимое базы данных. Отчёт необ-
ходимо выполнить с помощью специализированного программного средства (указаны примеры):
• LazReport (http://wiki.freepascal.org/LazReport_Tutorial) для Lazarus
• Rave Reports для Delphi 7
• Birt Project для Java
• Reportico для PHP (задание можно просрочить)
10. Осуществите разработку отчёта, позволяющих отпечатать статистические сведения по хранимой в вашей
базе данных информации.
11. Для каждого сложного запроса (с подзапросами или JOIN) создайте запрос с аналогичной функциональ-
ностью, а также осуществите исследование, какая версия запроса более оптимальна. Для этого создайте
небольшую программу, которая будет выполнять такие запросы в большом количестве и даёт возможность
сравнить время выполнения запросов.
12. Реализуйте в приложении возможность аутентификации и возможность работы в режиме администрато-
ра. В этом режиме дайте возможность регистрации новых пользователей, включения их в ту или иную
категорию, удаления пользователей. Дополните соответственно диаграмму вариантов использования.
Добавление нового пользователя обозначает (для MSSQL) выполнения запросов CREATE LOGIN, CREATE USER,
GRANT CONNECT, sp_addrolemember (приведён один из возможных вариантов).
13. Реализуйте в приложении возможность работы в режиме администратора. В этом режиме дайте возмож-
ность регистрации новых пользователей, включения их в ту или иную категорию, удаления пользователей.
14. Осуществите резервное копирование базы данных. Осуществите автоматизацию этого процесса.
На собственном компьютере это можно осуществить посредством MS SQL агента (https://msdn.microsoft.
com/ru-ru/library/ms191002%28v=sql.120%29.aspx), на компьютерах колледжа путем явного запуска ко-
манды CREATE BACKUP из специально написанного приложения; это приложение следует включить в
планировщик заданий.
Резервные копии должны создаваться ежедневно, имена файлов должны различаться (включать дату).
15. Изучите лекцию 14 курса «Основы SQL». С использованием триггеров осуществите реализацию протоко-
лирования действий пользователей (изменение, удаление, добавление информации в таблицы)<++>.
16. С использованием триггеров осуществите реализацию протоколирования действий пользователей. Реали-
зуйте интерфейс доступа к протоколам для администратора.
17. Реализуйте интерфейс доступа к протоколам для администратора.
7
колледж при МГУТУ, 2017
П-303/304/305к
Учебная практика (ПМ2)
18. Изучите лекцию 13 курса «Основы SQL». Осуществите «сжатие протоколов» с переносом их в новую базу
данных путем объединения сходных по типу подряд идущих записей в одну (если производится удаление
нескольких объектов, то оставьте одну запись с информацией об удалении всех объектов; если производится
редактирование одного и того же объекта несколько раз подряд, то оставьте одну запись об изменениях,
включающую всю информацию о проделанной работе).
19. Закончите выполнение предыдущего задания.
20. Разработайте функцию записи XML-файла, содержащего всю информацию из базы данных (кроме про-
токолов). Реализуйте ее с помощью курсоров, работающих на стороне клиента.
21. Закончите выполнение предыдущего задания.
22. Репликация и зеркалирование. Осуществите изучение лекций 26–28 http://www.intuit.ru/studies/courses/
68/68/lecture/2034 Либо подготовьте конспект по этим лекциям, либо осуществите настройку всех трех
видов репликации.
23. Репликация и зеркалирование. Осуществите изучение лекций 26–28 http://www.intuit.ru/studies/courses/
68/68/lecture/2034 Либо подготовьте конспект по этим лекциям, либо осуществите настройку всех трех
видов репликации.
24. Кластеризация. Конспект?
25. Сравнительный анализ СУБД. Для проекта, который вас интересует с целью его последующей разработки,
обоснованно выберите СУБД путем сравнения следующих: MSSQL, MySQL, MariaDB, Oracle, PostgreSQL,
Cache, SQLite,
26. Оформите отчет.
Для получения положительной оценки необходимо выполнить 21 пункт из перечисленных выше без грубых
ошибок, обязательно необходимо оформить отчет.
3
Дополнительные требования
Ниже перечислены требования стиля, которые будут проверяться при промежуточном и итоговом оценива-
нии:
• все названия таблиц и полей должны быть англоязычными, слова разделяться знаком подчеркивания,
регистр букв – строчный;
• все используемые команды (в том числе создания и заполнения таблиц) необходимо сохранять для воз-
можности переноса базы данных между компьютерами;
• при использовании PHP необходимо использовать PDO для связи с СУБД;
• поля с автоматически формируемым ключом в виде целого числа должны содержать в себе подстроку id.
4
Параметры, учитываемые в оценке
• Сложность задания на курсовое проектирование
• Сдача в срок пунктов задания (опоздание на неделю считается нормой, в остальном будет просуммировано
количество недель опоздания)
• Качество реализации
• Доля выполненного задания
• Наличие сертификата курсов intuit.ru, указанных выше (или аналогичных при использовании СУБД,
отличных от MSSQL).
• Качество прохождения тестирований.
8
колледж при МГУТУ, 2017
П-303/304/305к
Учебная практика (ПМ2)
5
Отчет
Отчет по учебной практике представляет собой документ, отражающий всю работу, проделанную студентом
в ходе прохождения практики. Целью составления отчета является с одной стороны облегчение общей оценки
практики руководителем практики, с другой стороны позволяет сформировать целостный образ о проделанной
работе у студента.
5.1
Структура отчета
Отчет состоит из следующих элементов:
1. Титульный лист
2. Содержание
3. Введение
4. Основная часть
(a) Разработка спецификаций различных компонент (ПК1.1)
(b) Осуществление разработки кода программного продукта на основе готовых спецификаций на уровне
модуля (ПК1.2)
(c) Выполнение отладки программных модулей с использованием специализированных программных
средств (ПК1.3)
(d) Выполнение тестирования программных модулей (ПК1.4)
(e) Осуществление оптимизации программного кода модуля (ПК1.5)
(f) Разработка компонентов проектной и технической документации с использованием графических язы-
ков спецификаций (ПК1.6)
5. Заключение
6. Приложения
Оформление отчета производится в соответствии с оформлением данного документа.
5.2
Титульный лист
Пример титульного листа приведен в приложении А.
5.3
Оформление отчета
Отчет оформляется на листах формата A4 (допускается его выполнение и рукописным способом). Поля:
слева – 30 мм; сверху, снизу – 20 мм; справа – 10 мм.
Основные параметры: шрифт — Times New Roman (или аналогичный по характеристикам), размер — 14, по-
луторный интервал, выравнивание по ширине, первая строка абзаца оформляется с отступом 1,5 см. Заголовки
выравниваются по центру. Заголовки верхнего уровня располагаются на новых страницах, после них отступ 18
пт, используется полужирное начертание и все символы в них – заглавные. Заголовки второго уровня имеют
те же характеристики, но отступы после них – 12 пт и располагаться они могут в любой части страницы. При
этом следующие строки не должны печататься на следующей странице, а заголовок не может разрываться.
Все страницы (кроме титульного листа и задания) должны быть пронумерованы (номер указывается в пра-
вом верхнем углу). В нумерации титульный лист учитывается. Расстояние от номера страницы до текста доку-
мента должно составлять не менее 10 мм.
Рисунки имеют сквозную нумерацию и подписываются снизу, например «Рисунок 1» (без кавычек); рисунки,
размещенные в приложениях имеют нумерацию в пределах приложения и подписываются в соответствии с
примером: «Рисунок А.1», где А — обозначение приложения, а 1 — номер рисунка. После номера рисунка
указывается название рисунка.
Аналогично, таблицы имеют сквозную нумерацию, подписываются сверху с выравниванием вправо («Таб-
лица 1 Ошибки»). На все таблицы должны быть ссылки из текста отчета; обычно, таблица имеет нарисованные
рамки, ограничивающие как саму таблицу, так и ячейки.
Таблицы и рисунки должны иметь сквозную нумерацию и названия, в основном тексте на каждый рисунок
и таблицу должна быть ссылка. При необходимости можно нумеровать так же некоторые формулы.
Перед списком обязательно должно быть пояснение. Ненумерованный список должен оформляться с исполь-
зованием тире.
9
колледж при МГУТУ, 2017
П-303/304/305к
Учебная практика (ПМ2)
Далее приводятся требования, являющиеся выдержками из государственных стандартов или общепринятых
правил. Приведенные требования регламентируют те ситуации, что наиболее часто встречаются при выполне-
нии работ. В остальных случаях Вы можете руководствоваться государственными стандартами ЕСКД (единая
система конструкторской документации), правилами, принятыми при выполнении других работ в колледже и
в других учебных заведениях.
5.3.1
Требования машинописи
Текст должен быть оформлен в соответствии с основными требованиями машинописи:
• перед основными знаками препинания (кроме тире) пробел не ставится, после — ставится всегда; тире и
дефисы должны отличаться друг от друга (тире длиннее, дефис короче);
• дробная и целая часть числа отделяются друг от друга запятой (кроме исходного текста программы);
• сноски оформляются способом, который по умолчанию применяется в редакторах Microsoft Word или
Libreoffice Writer, но в конце сносок устанавливается закрывающаяся скобка (как в данном документе).
• не допускается использование двух и более пробелов вместо одного (в редакторах можно отследить вы-
полнение этого требования путем включения просмотра невидимых символов)
5.4
Введение
Во введении студент излагает постановку задачи (краткую формулировку заданий), цель и задачи учебной
практики (изложение ведется на основе анализа введения сборника практических заданий).
5.5
Основная часть
В основной части студент излагает обзор всей проделанной работы.
5.5.1
Разработка объектов базы данных;
В разделе «Разработка объектов базы данных» студент описывает окончательную схему базы данных (в
виде диаграммы).
5.5.2
Реализовывать базы данных в конкретной СУБД
В разделе «Реализовывать базы данных в конкретной СУБД» студент ссылается на код на языке sql, содер-
жащий запросы на создание базы данных, таблиц, представлений, хранимых процедур, триггеров. В основном
тексте проводится краткое их описание.
5.5.3
Решать вопросы администрирования базы данных и реализовывать методы и технологии
защиты информации в базах данных
В разделе «Решать вопросы администрирования базы данных и реализовывать методы и технологии защиты
информации в базах данных» студент включает диаграмму вариантов использования, а также ссылается на
запросы на создание пользователей и настройки прав доступа. Кроме того, он описывает, как он проводил
отладку своей программы. В частности, приводит примеры наиболее содержательных (для него) ошибок и
способов их устранения и использованные им функции, предоставляемый средой разработки.
5.6
Заключение
В заключении студент описывает достигнутые им результаты на основе введения: он показывает, что все
цели и задачи, приведенные во введении достигнуты.
В отдельные приложения в качестве дневника студент включается отчет системы контроля версий, отчет
базы данных дефектов, программный код и распечатку(-и) сертификата(-ов) intuit.ru (при их наличии).
Кроме того, студент описывает личный взгляд на результаты практики: чему он научился, в чем изменился,
какие сделал личностные и профессиональные выводы и так далее.
10