Результаты логического дизайна в процессе физического дизайна используются для создания компонентов, спецификаций пользовательского интерфейса и физического дизайна БД. Полученные в процессе логического дизайна объекты-сущности, атрибуты и ограничения преобразуются в таблицы, поля, связи и ограничения базы данных, которая таким образом становится физической реализацией логической модели.
Определение таблиц
Таблицы являются физическим представлением объекте в-сущностей в реляционной базе данных. Они способны хранить самые разные данные — имена, адреса, изображения, аудио и видео файлы, документы Microsoft Word и т.п. Благодаря своей гибкости базы данных применяются для хранения не только простых текстовых данных, но и корпоративной базы знаний предприятия, независимо от формы этих знаний. База данных представляет связи между различными элементами данных.
Данные в таблице хранятся в виде строк, или записей, каждая из которых должна быть уникальной.
Традиционный формат взаимодействия с реляционными данными — ANSI строки, а язык — SQL. Этот язык, напоминает английский и представляет операции, выполняемые с базой данных, в виде понятных человеку выражений, таких, как Insert (вставка), Update (обновление) и Delete (удаление). Большинство баз данных удовлетворяют ANSI-стандарту SQL, хотя его версии и расширения в разных системах отличаются.
Определение столбцов
Данные в каждой таблице хранятся в столбцах (колонках), или полях, которые определяются на основании атрибутов объекта-сущности, представленной и виде таблицы. Каждое поле содержит различные элементы данных, например имя пользователя.
В ходе анализа диаграммы сущность-связь были определены следующие таблицы:
1. Users.
2. UserRoles
3. Roles
4. Form
5. Common
6. Question
7. Answer
8. Survey
9. Results
Таблица Users содержит описание пользователей.
Таблица № 3.1
Поле таблицы | Тип данных | Описание |
UserID | INTEGER | Уникальный идентификатор пользователя |
Login: | VARCHAR(20) | Логин пользователя |
Password | VARCHAR(100) | Пароль пользователя |
LastName | VARCHAR(100) | Фамилия |
VARCHAR(100) | Электронная почта | |
FirstName | VARCHAR(100) | Имя пользователя |
Таблица Roles содержит описание ролей пользователя
Таблица № 3.2
Поле таблицы | Тип данных | Описание |
RoleID | INTEGER | Уникальный идентификатор |
RoleName | VARCHAR(100) | Название роли |
Description | VARCHAR(100) | Описание роли |
Сущности Пользователь и Роли состоят в отношениях один ко многим, поэтому в результате нормализации была выделена таблица UserRoles, в которой определенному пользователю соответствует определенная роль.
Таблица №3.3
Поле таблицы | Тип данных | Описание |
UserRoleID | INTEGER | Уникальный идентификатор |
UserID | VARCHAR(100) | Идентификатор пользователя |
RoleID | VARCHAR(100) | Идентификатор роли |
Таблица Form содержит необходимую информацию об анкете
Таблица № 3.4
Поле таблицы | Тип данных | Описание |
FormID | INTEGER | Уникальный идентификатор пользователя |
FormName | VARCHAR(250) | Название анкеты |
CreatedDate | DATETIME | Дата создания |
Author | VARCHAR(100) | Идентификатор пользователя (автора) |
Таблица Question содержит список вопросов
Таблица № 3.5
Поле таблицы | Тип данных | Описание |
QuestionID | INTEGER | Уникальный номер вопроса |
QuestionType | INTEGER | Тип вопроса |
QuestionText | TEXTt | Текст вопроса |
Таблица Answer содержит список ответов на конкретный вопрос
Таблица № 3.6
Поле таблицы | Тип данных | Описание |
AnswerID | INTEGER | Уникальный идентификатор ответа |
AnswerText | TEXT | Текст ответа |
QuestionID | INTEGER | Идентификатор вопроса, определяет к какому вопросу соответствует ответ |
Так как Анкета состоит из множества вопросов, а один и тот же вопрос может присутствовать в разных анкетах, то в результате нормализации была выделена таблица Common, в которой содержится список ответов на конкретный вопрос.
Таблица № 3.7
Поле таблицы | Тип данных | Описание |
FormID | INTEGER | Уникальный идентификатор анкеты |
QuestionID | INTEGER | Идентификатор вопроса |
Таблица Survey содержит опубликованные анкеты по которым в данный момент происходит анкетирование
Таблица № 3.8
Поле таблицы | Тип данных | Описание |
SurveyID | INTEGER | Уникальный идентификатор ответа |
AnswerText | TEXT | Текст ответа |
QuestionID | INTEGER | Идентификатор вопроса, определяет к какому вопросу соответствует ответ |
Рис. 3.11. Физическая модель данных
4.1. Общие сведения этапа разработки
«Разработка» — третья стадия модели процесса разработки MSF. Она следует за стадией «Планирование», которая завершается одобрением плана проекта. До сих пор проектная группа занималась в основном концепцией, архитектурой продукта и планированием. На стадии «Разработка» основная задача — выполнение проекта.
Главный вопрос, которым задается проектная группа на этой стадии: как организовать разработку, чтобы создать спроектированный продукт в запланированные сроки? Ответ на этот вопрос основан на понимании концепции продукта с учетом необходимости выпуска работающего приложения.
Стадия «Разработка» завершается написанием кода и выпуском первой версии приложения. Результаты этапа «Завершение разработки» таковы:
все необходимые функциональные возможности приложения реализованы (хотя, вероятно, и не самым оптимальным образом);
продукт прошел первоначальное тестирование; продолжается устранение выявленных ошибок (завершение этой работы на данном этапе не обязательно);
проектная группа и другие участники проекта согласны с тем, что все реализованные функциональные возможности отвечают концепции и функциональным спецификациям, и реализованы успешно;
завершена подготовка к тестированию производительности продукта и его стабилизации.
Фаза «Разработка» во многом схожа с другими стадиями модели процесса разработки MSF. Например, фаза «Планирование» завершается подготовкой функциональных спецификаций. Эти документы становятся исходными для стадии «Разработка». Кроме того, они необходимы для оценки различных характеристик процесса разработки. Помните, что эти документы не остаются неизменными — они вполне могут претерпевать изменения по мере выполнения стадии «Разработка». Эта стадия завершается, когда подготовлены пересмотренные варианты этих документов, а также:
исходный код и исполняемые модули проекта;
результаты исследования производительности;
основные составляющие процесса тестирования.
Стадию «Разработка» программисты часто называют «настоящей работой». Действительно, основная ее задача – создание работающего продукта.
Проектирование архитектуры продукта на стадии «Проектирование» определяет успех его реализации на стадии «Разработка». Стив Мак-коннелл в своей книге «SoftwareProjectSurvivalGuide» описывает связь этих стадий, сравнивая их с движением против течения реки и по течению. Разработка архитектуры на стадии «Планирование», считает он, похожа на движение вверх по течению — чем выше вы заберетесь, тем проще будет сплавляться вниз на стадии «Разработка». Этот процесс, начинающийся по завершении стадии проектирования и заканчивающийся выпуском продукта, будет тем успешнее и проще, чем лучше продумана архитектура.
Функциональные спецификации описывают концептуальный, логический и физический проекты приложения, представляющие собой основу кодирования.
В процессе разработки каждый вариант приложения считается промежуточной версией. Промежуточные версии, полученные ближе к завершению процесса «Разработка», передают пользователям.
В качестве средства разработки было принято решение использовать MicrosoftVisualStudio.NET
4.2 Выбор инструментального средства разработки
Система Visual Studio .NET сегодня позволяет разработчикам создавать Интернет-приложения нового поколения [18]. Обеспечивая самую современную и многофункциональную среду разработки, система Visual Studio .NET предоставляет разработчикам средства для интеграции приложений с любыми операционными системами и языками программирования. С помощью Visual Studio .NET можно легко осуществить преобразование имеющейся бизнес-логики в веб-службы XML, допускающие повторное использование благодаря инкапсуляции процессов и предоставлению доступа к ним из приложений, независимо от того, на какой платформе они работают. Разработчики могут легко объединять любое число веб-служб, каталогизированных и доступных в различных каталогах UDDI, обеспечивая прочную базу для служб и бизнес-логики создаваемых приложений.
В своем универсальном подходе к языкам Visual Studio .NET поддерживает VB.NET, C#, C++ и J#. C# — совершенно новый язык. VB.NET настолько изменился, что его можно считать практически новым языком. По большей части языки Visual Studio используют обновленную IDE-среду, а для создания программных компонентов и элементов пользовательского интерфейса применяются один или несколько из трех форматов: Windows-формы, Web-формы и Web-службы. Во всех языках применяется .NET Framework Classes — библиотека классов, которые обеспечивают поддержку “родных” для среды Visual Studio функций.