13.Программные решения для бизнеса_Казань. 2 обзор современных технологий в области разработки программного обеспечения. Технологии разработки программного
Скачать 5.72 Mb.
|
ГЭ, в какой день? Ваш ответ: Правильный ответ: Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 77 Лист для заметок и записей Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 78 МОДУЛЬ 5. МОДУЛЬ КОМПЕТЕНЦИИ «СИСТЕМНЫЙ АНАЛИЗ И ПРОЕКТИРОВАНИЕ» ТЕМА 5.1. АНАЛИЗ И МОДЕЛИРОВАНИЕ ПРОГРАММНЫХ РЕШЕНИЙ Современные системы анализа и проектирования могут быть разделены на две большие категории. Первую составляют CASE- системы (как независимые (upper CASE), так и интегрированные с СУБД), обе системы анализа и проектированияечивающие проектирование БД и приложений в комплексе с интегрированными средствами разработки приложений "клиент-сервер" (например, Westmount I-CASE+Uniface, Designer/2000+Developer/2000). Их основное достоинство заключается в том, что они позволяют разрабатывать всю ИС целиком (функциональные системы анализа и проектирования спецификации, логику процессов, интерфейс с пользователем и базу данных), оставаясь в одной технологической среде. Инструменты этой категории, как правило, обладают существенной сложностью, широкой сферой применения и высокой гибкостью. Вторую категорию составляют собственно средства проектирования БД, реализующие ту или иную методологию, как правило, "сущность-связь" ("entity- relationship") и рассматриваемые в комплексе со средствами разработки приложений. К средствам этой категории можно отнести такие, как SILVERRUN+JAM, ERwin/ERX+PowerBuilder и др. Помимо указанных категорий, системы анализа и проектирования можно классифицировать по следующим признакам: степени интегрированности: (отдельные локальные средства, набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС и полностью интегрированные средства, связанные общей базой проектных данных - репозиторием); применяемым методологиям и моделям систем и БД; степени интегрированности с СУБД; степени открытости; доступным платформам. В разряд системы анализа и проектирования попадают как относительно дешевые системы для персональных компьютеров (ПК) с весьма ограниченными возможностями, так и дорогостоящие системы для неоднородных вычислительных платформ и операционных сред. Так, современный рынок программных средств насчитывает около 300 различных CASE-систем, Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 79 наиболее мощные из которых так или иначе используются практически всеми ведущими западными фирмами. Применение системы анализа и проектирования требует от потенциальных пользователей системы анализа и проектирования специальной подготовки и обучения. Опыт показывает, что внедрение системы анализа и проектирования осуществляется медленно, однако по мере приобретения практических навыков и общей культуры проектирования эффективность применения этих средств резко возрастает, причем наибольшая потребность в использовании систем проектирования испытывается на начальных этапах разработки, а именно на этапах анализа и спецификации требований. Это объясняется тем, что цена ошибок, допущенных на начальных этапах, на несколько порядков превышает цену ошибок, выявленных на более поздних этапах разработки. ТЕМА 5.2. ДЕМОНСТРАЦИЯ ВЕДУЩИМ ПРЕПОДАВАТЕЛЯМ ПРОГРАММЫ ПРАВИЛЬНОГО ВЫПОЛНЕНИЯ РАБОТ, ПРЕДУСМОТРЕННЫХ МОДУЛЕМ КОМПЕТЕНЦИИ/МАСТЕР-КЛАСС ОТ РАБОТОДАТЕЛЯ И (ИЛИ) ЧЕМПИОНА ПО МОДУЛЮ КОМПЕТЕНЦИИ Программа позволяет быстро и с удовольствием накидывать схемы данных проекта, проектировать сущности и связи между ними, безболезненно внедрять изменения в схему и так же быстро и безболезненно синхронизировать её с удалённым сервером. А графический редактор EER-диаграмм позволяет увидеть общую картину модели данных. Создание и редактирование модели данных Для добавления модели нажимаем "Models" или выбираем "File → New Model" (Ctrl + N): На этом экране вводим имя базы данных, выбираем кодировку по умолчанию и, если нужно, заполняем поле комментария. Можно приступать к созданию таблиц. Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 80 Добавление и редактирование таблицы Список баз данных проекта и список таблиц в пределах базы данных будет располагаться во вкладке "Physical Schemas». Чтобы создать таблицу, дважды кликаем на "+Add Table": Откроется удобный интерфейс для редактирования списка полей и их свойств. Здесь мы можем задать название поля, тип данных, а также установить для полей различные атрибуты: назначить поле первичным ключом (PK), пометить его Not Null (NN), бинарным (BIN), уникальным (UQ) и другие, установить для поля авто- инкремирование (AI) и значение по умолчанию (Default). Управление индексами Добавлять, удалять и редактировать индексы таблиц можно во вкладке "Indexes" интерфейса управления таблицей: Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 81 Вводим название индекса, выбираем его тип, затем галочками помечаем в нужном порядке список полей, участвующих в данном индексе. Порядок полей будет соответствовать порядку, в котором были проставлены галочки. В данном примере добавлен уникальный индекс к полю username. Связи между таблицами Установка внешних ключей и связывание таблиц возможно только для таблиц InnoDB (эта система хранения данных выбирается по умолчанию). Для управления связями в каждой таблице находится вкладка "Foreign Keys": Для добавления связи открываем вкладку "Foreign Keys" дочерней таблицы, вводим имя внешнего ключа и выбираем таблицу-родителя. Далее в средней части вкладки в графе Column выбираем поле-ключ из дочерней таблицы, а в графе Referenced Column - соответствующее поле из родительской таблицы (тип полей должен совпадать). При создании внешних ключей в дочерней таблице автоматически создаются соответствующие индексы. В разделе "Foreign Key Options" настраиваем поведение внешнего ключа при изменении соответствующего поля (ON UPDATE) и удалении (ON DELETE) родительской записи: RESTRICT - выдавать ошибку при изменении / удалении родительской записи CASCADE - обновлять внешний ключ при изменении родительской записи, удалять дочернюю запись при удалении родителя SET NULL - устанавливать значение внешнего ключа NULL при изменении / удалении родителя (неприемлемо для полей, у которых установлен флаг NOT NULL!) NO ACTION - не делать ничего, однако по факту эффект аналогичен RESTRICT В приведённом примере добавили к дочерней таблице UserProfile внешний ключ для связи с родительской таблицей User. При редактировании поля userId и удалении позиций из таблицы User аналогичные Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 82 изменения будут автоматически происходить и со связанными записями из таблицы UserProfile. Наполнение таблицы базовыми данными При создании проекта в базу данных часто нужно добавлять стартовые данные. Это могут быть корневые категории, пользователи-администраторы и т.д. В управлении таблицами MySQL Workbench для этого существует вкладка "Inserts": Как видно из примера в случае, если перед записью в базу данных к данным нужно применить какую-то функцию MySQL, это делается с помощью синтаксиса \func functionName('data'), например, \func md5('password'). После ввода данных необходимо сохранить их в локальную базу данных нажатием на кнопку "Apply Changes". Создание ER диаграммы (диаграммы "сущность-связь") Для представления схемы данных, сущностей и их связей в графическом виде в MySQL Workbench существует редактор EER-диаграмм. Для создания диаграммы в верхней части экрана управления базой данных дважды кликаем на иконку "+Add Diagram": В его интерфейсе можно создавать и редактировать таблицы, добавлять между ними связи различных типов. Чтобы добавить уже существующую в Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 83 схеме таблицу на диаграмму, просто перетащите её из панели "Catalog Tree". Для экспорта схемы данных в графический файл выберите "File → Export", а затем один из вариантов (PNG, SVG, PDF, PostScript File). Импорт существующей схемы данных (из SQL дампа) Если уже есть схема данных, её можно без труда импортировать в MySQL Workbench для дальнейшей работы. Для импорта модели из SQL файла выбираем "File → Import → Reverse Engineer MySQL Create Script...", после чего выбираем нужный SQL файл и жмём "Execute >" В MySQL Workbench так же предусмотрен импорт и синхронизация модели данных нарямую с удалённым сервером. Работа с MS SQL Server Создание базы данных Базу данных часто отождествляют с набором таблиц, которые хранят данные. Но это не совсем так. Лучше сказать, что база данных представляет хранилище объектов. Основные из них: Таблицы: хранят собственно данные Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 84 Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы Хранимые процедуры: выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их) Функции: также код SQL, который выполняет определенную задачу В SQL Server используется два типа баз данных: системные и пользовательские. Системные базы данных необходимы серверу SQL для корректной работы. А пользовательские базы данных создаются пользователями сервера и могут хранить любую произвольную информацию. Их можно изменять и удалять, создавать заново. Системные базы данных В MS SQL Server по умолчанию создается четыре системных баз данных: master: эта главная база данных сервера, в случае ее отсутствия или повреждения сервер не сможет работать. Она хранит все используемые логины пользователей сервера, их роли, различные конфигурационные настройки, имена и информацию о базах данных, которые хранятся на сервере, а также ряд другой информации. model: эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы создаем через SSMS свою БД, она создается как копия базы model. msdb: хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бэкапах баз данных. tempdb: эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера. Все эти базы можно увидеть через SQL Server Management Studio в узле Databases - > System Databases: Эти базы данных не следует изменять. Создание базы данных в SQL Management Studio Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в SQL Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 85 Management Studio. В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на узел Databases. Затем в появившемся контекстном меню выберем пункт New Database: После этого нам открывается окно для создания базы данных: В поле Database необходимо ввести название новой БД. Пусть у нас база данных называется university. Следующее поле Owner задает владельца базы данных. По умолчанию оно имеет значение Далее идет таблица для установки общих настроек базы данных. Она содержит две строки - первая для установки настроек для главного файла, где будут храниться данные, и вторая строка для конфигурации файла логгирования. В частности, мы можем установить следующие настройки: Logical Name: логическое имя, которое присваивается файлу базы данных. File Type: есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных (ROWS Data) и файлом лога (LOG) Filegroup: обозначет группу файлов. Группа файлов может хранить множество файлов и может использоваться для разбиения базы данных на части для размещения в разных местах. Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 86 Initial Size (MB): устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения). Autogrowth/Maxsize: при достижении базой данных начального размера SQL Server использует это значение для увеличения файла. Path: каталог, где будут храниться базы данных. File Name: непосредственное имя физического файла. Если оно не указано, то применяется логическое имя. После ввода названия базы данных нажмем на кнопку ОК, и БД будет создана. После этого она появится среди баз данных сервера. Если эта БД впоследствии не потребуется, то ее можно удалить, нажав на нее правой кнопкой мыши и выбрав в контекстном меню пункт Delete: Ключевым объектом в базе данных являются таблицы. Таблицы состоят из строк и столбцов. Столбцы определяют тип информации, которая хранится, а строки содержат значения для этих столбцов. Нами была создана база данных university. Теперь определим в ней первую таблицу. Опять же для создания таблицы в SQL Server Management Studio можно применить скрипт на языке SQL, либо воспользоваться графическим дизайнером. В данном случае выберем второе. Для этого раскроем узел базы данных university в SQL Server Management Studio, нажмем на его подузел Tables правой кнопкой мыши и далее в контекстном меню выберем New -> Table После этого нам откроется дизайнер таблицы. В центральной части в таблице необходимо ввести данные о столбцах таблицы. Дизайнер содержит три поля: Column Name: имя столбца Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 87 Data Type: тип данных столбца. Тип данных определяет, какие данные могут храниться в этом столбце. Например, если столбец представляет числовой тип, то он может хранить только числа. Allow Nulls: может ли отсутствовать значение у столбца, то есть может ли он быть пустым Допустим, нам надо создать таблицу с данными учащихся в учебном заведении. Для этого в дизайнере таблицы четыре столбца: Id, FirstName, LastName и Year, которые будут представлять соответственно уникальный идентификатор пользователя, его имя, фамилию и год рождения. У первого и четвертого столбца надо указать тип int (то есть целочисленный), а у столбцов FirstName и LastName - тип nvarchar(50) (строковый). Затем в окне Properties, которая содержит свойства таблицы, в поле Name надо ввести имя таблицы - Students, а в поле Identity ввести Id, то есть тем самым указывая, что столбец Id будет идентификатором. Имя таблицы должно быть уникальным в рамках базы данных. Как правило, название таблицы отражает название сущности, которая в ней хранится. Например, мы хотим сохранить студентов, поэтому таблица называется Students (слово студент во множественном числе на английском языке). Существуют разные мнения по поводу того, стоит использовать название сущности в единственном или множественном числе (Student или Students). В данном случае вопрос наименования таблицы всецело ложится на разработчика базы данных. Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 88 И в конце нам надо отметить, что столбец Id будет выполнять роль первичного ключа (primary key). Первичный ключ уникально идентифицирует каждую строку. В роли первичного ключа может выступать один столбец, а может и несколько. Для установки первичного ключа нажмем на столбец Id правой кнопкой мыши и в появившемся меню выберем пункт Set Primary Key. После этого, напротив, поля Id должен появиться золотой ключик. Этот ключик будет указывать, что столбец Id будет выполнять роль первичного ключа. И после сохранения в базе данных university появится таблица Students: Мы можем заметить, что название таблицы на самом деле начинается с префикса dbo. Этот префикс представляет схему. Схема определяет контейнер, который хранит объекты. То есть схема логически разграничивает базы данных. Если схема явным образом не указывается при создании объекта, то объект принадлежит схеме по умолчанию - схеме dbo. Нажмем правой кнопкой мыши на название таблицы, и нам отобразится контекстное меню с опциями: С помощью этих опций можно управлять таблицей. Так, опция Delete позволяет удалить таблицу. Опция Design откроет окно дизайнера таблицы, где мы можем при необходимости внести изменения в ее структуру. Для добавления начальных данных можно выбрать опцию Edit Top 200 Rows. Она открывает в виде таблицы 200 первых строк и позволяет их изменить. Но так как у нас таблица только создана, то естественно в ней будет никаких данных. Введем пару строк - пару студентов, указав необходимые данные для столбцов: В данном случае мы добавили две строки. Практика и методика реализации образовательных среднего профессионального образования с учетом спецификации стандарта компетенции Ворлдскиллс 89 Затем опять же по клику на таблицу правой кнопкой мыши мы можем выбрать в контекстном меню пункт Select To 1000 Rows, и будет запущен скрипт, который отобразит первые 1000 строк из таблицы: |