Разработка программного обеспечения Web-приложения информационных систем "artposters.kz" для отдела архитектуры и дизайна компании ТОО "ILLUSTRATE studio"

Проектирование программного обеспечения Web-приложений информационных систем сайта, которое будет обеспечивать продажу декоративных постеров, а также обеспечивать распространение рекламы и информации о деятельности компании TOO "ILLUSTRATE studio".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.07.2014
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

<head>

….

<link rel= «stylesheet» type= «text/css» href= «style.css»/>

</head>

· когда таблица стилей находится в отдельном файле, она может быть подключена к веб-документу посредством директивы @import, располагающейся в этом документе между тегами <style> и </style> (которые, в свою очередь, располагаются в этом документе между тегами <head> и </head>) сразу после тега <style>, которая также указывает (в своих скобках, после слова url) на адрес этой таблицы стилей. Все правила этой таблицы действуют на протяжении всего документа;

<head>

….

<style type= «text/css» media= «all»>

@import url (style.css);

</style>

</head>

· когда таблица стилей описана в самом документе, она может располагаться в нём между тегами <style> и </style> (которые, в свою очередь, располагаются в этом документе между тегами <head> и </head>). Все правила этой таблицы действуют на протяжении всего документа;

<head>

….

<style type= «text/css»>

body {

color: red;

}

</style>

</head>

· когда таблица стилей описана в самом документе, она может располагаться в нём в теле какого-то отдельного тега (посредством его атрибута style) этого документа. Все правила этой таблицы действуют только на содержимое этого тега.

<p style= «font-size: 21px; color: green;»>Рассказ о том, как вредно красить батареи</p>

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

Для добавления CSS к XML-документу, последний должен содержать специальную ссылку на таблицу стилей. Например:

<? xml-stylesheet type= «text/css» href= «style.css»?>

Иерархия элементов внутри документа.

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

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

Например, в документе присутствуют два абзаца p, включающие в себя шрифт с полужирным начертанием b. Тогда элементы b будут дочерними элементамисвоих родительских элементов p, и потомками своих предков body. В свою очередь, для элементов p элемент body будет являться только родителем. И кроме того, эти два элемента p будут являться сестринскими элементами, как имеющими одного и того же родителя - body.

В CSS могут задаваться при помощи селекторов не только одиночные элементы, но и элементы, являющиеся потомками, дочерними или сестринскими элементами других элементов (см. подраздел «виды селекторов»).

Правила построения CSS.

В первых трёх случаях подключения таблицы CSS к документу (см. выше) каждое правило CSS из таблицы стилей имеет две основные части - селектор и блок объявлений. Селектор, расположенный в левой части правила, определяет, на какие части документа распространяется правило. Блок объявлений располагается в правой части правила. Он помещается в фигурные скобки, и, в свою очередь, состоит из одного или более объявлений, разделённых знаком «;». Каждое объявление представляет собой сочетание свойства CSS и значения, разделённых знаком»: «. Селекторы могут группироваться в одной строке через запятую. В таком случае свойство применяется к каждому из них.

селектор, селектор {

свойство: значение;

свойство: значение;

свойство: значение;

}

В четвёртом случае подключения таблицы CSS к документу (см. список) правило CSS (являющееся значением атрибута style тега, на который оно действует) представляет собой перечень объявлений («свойство CSS: значение»), разделённых знаком «;».

Виды селекторов.

Селекторы правила CSS могут быть:

· универсальный селектор;

* {margin:0; padding:0;}

· селекторами элементов;

p {font-family: Garamond, serif;}

· селекторами классов;

note {color: red; background: yellow; font-weight: bold;}

· селекторами идентификаторов;

#paragraph1 {margin: 0;}

· селекторами атрибутов;

a [href= «http://www.somesite.com»] {font-weight:bold;}

· селекторами потомков (контекстными селекторами);

div#paragraph1 p.note {color: red;}

· селекторами дочерних элементов;

p.note > b {color: green;}

· селекторами сестринских элементов;

h1 + p {font-size: 24pt;}

· селекторами псевдоклассов;

a:active {color:yellow;}

· селекторами псевдоэлементов.

p:first-letter {font-size: 32px;}

· Также в CSS существует так называемый универсальный селектор, обозначающий любой элемент, встречающийся в документе. Например, * {color: red;}. Перед любым селектором, задающим класс или идентификатор, можно поставить знак универсального селектора, в результате получится эквивалентное выражение, например.first {…} и *.first {…} имеют один и тот же смысл.

Классы элементов. Идентификаторы элементов.

Класс или идентификатор может быть присвоен какому-нибудь элементу (тегу) HTML посредством атрибутов class или id этого элемента (тега):

<div id= «first»>… </div>

<p class= «big»>… </p>

Основное отличие между классами элементов и идентификаторами элементов в том, что в документе какой-нибудь класс может быть присвоен сразу нескольким элементам, а идентификатор - только одному. Также отличие в том, что могут существовать множественные классы (когда класс элемента состоит из нескольких слов, разделённых пробелами). Для идентификаторов такое невозможно.

Важно отметить следующее отличие идентификатора от класса: идентификаторы широко используются в JavaScript для нахождения уникального элемента в документе[18].

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

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

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

Наследование. Каскадирование. Приоритеты стилей CSS.

Применение CSS к документам HTML основано на принципах наследования и каскадирования. Принцип наследования заключается в том, что свойства CSS, объявленные для элементов-предков, наследуются элементами потомками. Но, естественно, не все свойства CSS наследуются - например, если для тега параграфа p средствами CSS задана рамка, то она не будет наследоваться ни одним тегом, содержащимся в данном теге p, а вот если для параграфа p средствами CSS задан цвет шрифта (например, color:green;), то это свойство будет унаследовано каждым элементом-тегом, находящимся в параграфе.

Принцип каскадирования применяется в случае, когда какому-то элементу HTML одновременно поставлено в соответствие более одного правила CSS, то есть, когда происходит конфликт значений этих правил. Чтобы разрешить такие конфликты вводятся правила приоритета.

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

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

И наиболее высоким приоритетом обладает стиль, заданный непосредственно автором страницы. И далее, уже в этом авторском стиле приоритеты расставляются следующим образом:

· Самым низким приоритетом обладают стили, наследуемые в документе элементом от своих предков;

· Более высоким приоритетом обладают стили, заданные во внешних таблицах стилей, подключённых к документу;

· Ещё более высоким приоритетом обладают стили, заданные непосредственно селекторами всех десяти видов (см. подраздел «виды селекторов»), содержащимися в контейнерах style данного документа. Нередки случаи, когда к какому-нибудь элементу имеют отношение, задают его вид, несколько таких селекторов. Такие конфликты между ними разрешаются с помощью расчёта специфичности каждого такого селектора и применения этих селекторов к данному элементу в порядке убывания их специфичностей. При расчёте специфичности селектора принимается во внимание:

· количество идентификаторов (#id) в селекторе - ((1,0,0,0) за каждый объявленный идентификатор в селекторе правила CSS);

· количество атрибутов ([attr], [attr= «value»]) в селекторе - ((0,1,0,0) за каждый объявленный атрибут в селекторе правила CSS);

· количество классов (.class) и псевдоклассов (:pseudoclass) в селекторе - ((0,0,1,0) за каждый объявленный класс и псевдокласс в селекторе правила CSS);

· количество тегов в селекторе (H1, INPUT) - ((0,0,0,1) за каждый объявленный тег в селекторе правила CSS).

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

· Ещё более высоким приоритетом обладают стили, объявленные непосредственно в теге данного элемента посредством атрибута style этого тега;

· И наконец самым высоким приоритетом обладают стили, объявленные автором страницы или пользователем, с помощью сопроводительного слова! important. Если таких свойств несколько, то предпочтение отдаётся в первую очередь стилям, заданным пользователем, а для остальных свойств (которые будут являться задаваемыми автором страницы) потребуется определить их специфичности по принципам, описанным выше, и применять эти свойства в порядке убывания этих их специфичностей[19].

Пример таблицы стилей.

Пример таблицы стилей (в таком виде она может быть либо размещена в отдельном файле.css, либо же обрамлена тегами <style> и размещена в «шапке» той самой веб-страницы, на которую она действует):

p {

font-family: Garamond, serif;

}

h2 {

font-size: 110%;

color: red;

background: white;

}

note {

color: red;

background: yellow;

font-weight: bold;

}

p#paragraph1 {

margin: 0;

}

a:hover {

text-decoration: none;

}

#news p {

color: blue;

}

[type= «button»] {

background-color: green;

}

Здесь приведено семь правил CSS с селекторами p, h2.note, p#paragraph1, a:hover, #news p и [type= «button»]:

1) Первое правило присвоено HTML-элементу p (абзацу) - назначен стиль. Абзацы будут отображаться шрифтом Garamond, или, если такой шрифт недоступен, каким-либо другим шрифтом с засечками («serif»).

2) Второе правило присвоено HTML-элементу h2 (заголовку второго уровня). Заголовок второго уровня будет отображаться красным на белом фоне с увеличеннымкеглем.

3) Третье правило будет применено к ЛЮБОМУ элементу, атрибут class которого равен 'note'. Например, к параграфу: <p class= «note»>Этот абзац будет выведен полужирным шрифтом красного цвета на желтом фоне.</p>

4) Четвёртое правило будет применяться только к элементу p, атрибут id которого равен paragraph1. Такой элемент не будет иметь внешних отступов (margin).

5) Пятое правило определяет стиль hover для элементов a - гиперссылок. По умолчанию, в большинстве браузеров текст элементов a подчеркивается. Это правило уберёт подчеркивание, когда указатель мыши находится над этими элементами.

6) Шестое правило, применяется для элементов p, которые находятся внутри КАКОГО-ЛИБО элемента с атрибутом id, равным «news» (#news p - это типичный случай селектора потомков, см. 5-й пункт списка выше).

7) Седьмое правило применяется для всех элементов, у которых атрибут type равен button. Например, это правило будет применено к элементу <input type= «button»> (обычная кнопка), изменив его цвет фона на зеленый.

CSS-вёрстка

До появления CSS оформление веб-страниц осуществлялось исключительно средствами HTML, непосредственно внутри содержимого документа. Однако с появлением CSS стало возможным принципиальное разделение содержания и представления документа. За счёт этого нововведения стало возможным лёгкое применение единого стиля оформления для массы схожих документов, а также быстрое изменение этого оформления.

Преимущества:

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

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

· Простота последующего изменения дизайна. Не нужно править каждую страницу, а лишь изменить CSS-файл.

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

Недостатки:

· Различное отображение вёрстки в различных браузерах (особенно устаревших), которые по-разному интерпретируют одни и те же данные CSS.

· Часто встречающаяся необходимость на практике исправлять не только один CSS-файл, но и теги HTML, которые сложным и ненаглядным способом связаны с селекторами CSS, что иногда сводит на нет простоту применения единых файлов стилей и значительно удлиняет время редактирования и тестирования. [20]

Система управления базами данных MySQL

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

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

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

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

Примеры реляционных СУБД: Mysql, PostgreSql. В основу объектной модели положена концепция объектно-ориентированного программирования, в которой данные представляются в виде набора объектов и классов, связанных между собой родственными отношениями, а работа с объектами осуществляется с помощью скрытых (инкапсулированных) в них

методов.

Примеры объектных СУБД: Cache, GemStone (от Servio Corporation), ONTOS (ONTOS).

В последнее время производители СУБД стремятся соединить два этих подхода и проповедуют объектно-реляционную модель представления данных. Примеры таких СУБД - IBM DB2 for Common Servers, Oracle8.

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

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

Например, в таблице Ф.И.О. и адрес позволяют однозначно выделить запись о человеке. Если же говорить в общем, без связи с решаемой задачей, то такие знания не позволяют точно указать на единственного человека, поскольку существуют однофамильцы, живущие в разных городах по одному адресу. Все дело в границах, которые мы сами себе задаем. Если считать, что знания Ф.И.О., телефона и адреса без указания города для наших целей достаточно, то все замечательно, тогда поля Ф.И.О. и адрес могут образовывать первичный ключ. В любом случае проблема создания первичного ключа ложится на плечи того, кто проектирует базу данных (разрабатывает структуру хранения данных). Решением этой проблемы может стать либо выделение характеристик, которые естественным образом определяют запись в таблице (задание так называемого логического, или естественного, PK), либо создание дополнительного поля, предназначенного именно для однозначной идентификации записей в таблице (задание так называемого суррогатного, или искусственного, PK).

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

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

Например, есть три таблицы: содержащая информацию об исторических личностях (Persons), содержащая информацию об их изобретениях (Artifacts) и содержащая изображения как личностей, так и артефактов (Images).

Первичным ключом во всех этих таблицах является поле id (идентификатор). В таблице Artifacts есть поле author, в котором записан идентификатор, присвоенный автору изобретения в таблице Persons. Каждое значение этого поля является внешним ключом для первичного ключа таблицы Persons. Кроме того, в таблицах Persons и Artifacts есть поле photo, которое ссылается на изображение в таблице Images. Эти поля также являются внешними ключами для первичного ключа таблицы Images и устанавливают однозначную логическую связь Persons-Images и Artifacts-Images. То есть если значение внешнего ключа photo в таблице личности равно 10, то это значит, что фотография этой личности имеет id=10 в таблице изображений. Таким образом, внешние ключи используются для организации связей между таблицами базы данных (родительскими и дочерними) и для поддержания ограничений ссылочной целостности данных.

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

Для этого (для оптимизации производительности запросов) производят индексирование некоторых полей таблицы. Использовать индексы полезно для быстрого поиска строк с указанным значением одного столбца. Без индекса чтение таблицы осуществляется по всей таблице, начиная с первой записи, пока не будут найдены соответствующие строки. Чем больше таблица, тем больше накладные расходы. Если же таблица содержит индекс по рассматриваемым столбцам, то база данных может быстро определить позицию для поиска в середине файла данных без просмотра всех данных. Это происходит потому, что база данных помещает проиндексированные поля поближе в памяти, так, чтобы можно было побыстрее найти их значения. Для таблицы, содержащей 1000 строк, это будет как минимум в 100 раз быстрее по сравнению с последовательным перебором всех записей. Однако в случае, когда необходим доступ почти ко всем 1000 строкам, быстрее будет последовательное чтение, так как при этом не требуется операций поиска по диску. Так что иногда индексы бывают только помехой. Например, если копируется большой объем данных в таблицу, то лучше не иметь никаких индексов. Однако в некоторых случаях требуется задействовать сразу несколько индексов (например, для обработки запросов к часто используемым таблицам).

Если говорить о Mysql, то там существует три вида индексов: PRIMARY, UNIQUE, и INDEX, а слово ключ (KEY) используется как синоним слова индекс (INDEX). Все индексы хранятся в памяти в виде B-деревьев.

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

UNIQUE - ключ (индекс), задающий поля, которые могут иметь только уникальные значения.

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

Mysql - это реляционная система управления базами данных. То есть данные в ее базах хранятся в виде логически связанных между собой таблиц, доступ к которым осуществляется с помощью языка запросов SQL. Mysql - свободно распространяемая система, т.е. платить за ее применение не нужно. Кроме того, это достаточно быстрая, надежная и, главное, простая в использовании СУБД, вполне подходящая для не слишком глобальных проектов.

Работать с Mysql можно не только в текстовом режиме, но и в графическом. Существует очень популярный визуальный интерфейс (кстати, написанный на PHP) для работы с этой СУБД. Называется он PhpMyAdmin. Этот интерфейс позволяет значительно упростить работу с базами данных в Mysql.

Функции любой СУБД включают:

· Создание, удаление, изменение базы данных (БД);

· Добавление, изменение, удаление, назначение прав пользователя;

· Внесение, удаление и изменение данных в БД (таблиц и записей);

· Выборку данных из БД.

К первым двум функциям имеют доступ только администраторы СУБД или привилегированные пользователи. Рассмотрим, как решаются последние две задачи (на самом деле это семь задач).

Прежде чем что-либо делать с данными, нужно создать таблицы, в которых эти данные будут храниться, изменять структуру этих таблиц и удалять их, если потребуется. Для этого в языке SQL существуют операторы CREATE TABLE, ALTER TABLE и DROP TABLE. [21]

Оператор CREATE TABLE создает таблицу с заданным именем в текущей базе данных. Правила для допустимых имен таблицы приведены в документации. Если нет активной текущей базы данных или указанная таблица уже существует, то возникает ошибка выполнения команды.

В версии Mysql 3.22 и более поздних имя таблицы может быть указано как имя_базы_данных. имя_таблицы. Эта форма записи работает независимо от того, является ли указанная база данных текущей.

В версии Mysql 3.23 при создании таблицы можно использовать ключевое слово TEMPORARY. Временная таблица автоматически удаляется по завершении соединения, а ее имя действительно только в течение данного соединения. Это означает, что в двух разных соединениях могут использоваться временные таблицы с одинаковыми именами без конфликта друг с другом или с существующей таблицей с тем же именем (существующая таблица скрыта, пока не удалена временная таблица). В версии Mysql 4.0.2 для создания временных таблиц необходимо иметь привилегии CREATE TEMPORARY TABLES.

В версии Mysql 3.23 и более поздних можно использовать ключевые слова IF NOT EXISTS для того, чтобы не возникала ошибка, если указанная таблица уже существует. Следует учитывать, что при этом идентичность структур этих таблиц не проверяется.

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

Синтаксис:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS]

имя_таблицы [(определение_столбца,…)]

[опции_таблицы] [select_выражение]

В выражении определение_столбца перечисляют, какие столбцы должны быть созданы в таблице. Каждый столбец таблицы может быть пустым (NULL), иметь значение по умолчанию, являться ключом или автоинкрементом. Кроме того, для каждого столбца обязательно указывается тип данных, которые будут в нем храниться. Если не указывается ни NULL, ни NOT NULL, то столбец интерпретируется так, как будто указано NULL. Если поле помечают как автоинкремент (AUTO_INCREMENT), то его значение автоматически увеличивается на единицу каждый раз, когда происходит добавление данных в таблицу и в это поле записывается пустое значение (NULL, т.е. ничего не

записывается) или 0. Автоинкремент в таблице может быть только один, и при этом он обязательно должен быть проиндексирован.

AUTO_INCREMENT начинается с 1. Наличие автоинкремента является одной из особенностей Mysql. Формально описание столбца (определение_столбца) выглядит так:

имя_столбца тип [NOT NULL | NULL]

[DEFAULT значение_по_умолчанию]

[AUTO_INCREMENT] [PRIMARY KEY]

[reference_definition]

Тип столбца (тип в выражении определение_столбца) может быть одним из следующих:

целый: INT[(length)] [UNSIGNED] [ZEROFILL]

действительный: REAL[(length, decimals)] [UNSIGNED] [ZEROFILL]

символьный: CHAR(length) [BINARY] и VARCHAR(length) [BINARY]

дата и время: DATE и TIME

для работы с большими объектами: BLOB

текстовый: TEXT

перечислимое множество: ENUM (value1, value2, value3,…) и SET (value1, value2, value3,…).

Вместо перечисления столбцов и их свойств в определении_столбца можно задавать списки ключевых и индексных полей, ограничения и проверки:

PRIMARY KEY (имя_индексируемого_столбца,…)

или

KEY [имя_индекса] (имя_индексируемого_столбца,…)

или

INDEX [имя_индекса] (имя_индексируемого_столбца,…)

или

UNIQUE [INDEX] [имя_индекса]

(имя_индексируемого_столбца,…)

или

FULLTEXT [INDEX] [имя_индекса]

(имя_индексируемого_столбца,…)

или

[CONSTRAINT symbol]

FOREIGN KEY [имя_индекса]

(имя_индексируемого_столбца,…)

[reference_definition]

или

CHECK (expr)

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

имя_столбца [(длина_индекса)]

FOREIGN KEY, CHECK и REFERENCES на самом деле ничего не делают в Mysql. Они добавлены только для совместимости с другими SQL-серверами.

Поэтому на них мы останавливаться не будем.

Кроме всего перечисленного, при создании таблицы можно указать некоторые ее свойства (опции_таблицы), например такие:

тип таблицы: TYPE = {BDB | HEAP | ISAM | Inno DB? | MERGE | MRG_MYISAM | MYISAM}

начальное значение счетчика автоинкремента: AUTO_INCREMENT = число

средняя длина строк в таблице: AVG_ROW_LENGTH = число

комментарии к таблице (строка из 60 символов): COMMENT = «строка» максимальное и минимальное предполагаемое число строк: MAX_ROWS = число и MIN_ROWS = число

И последний (опять же опциональный) элемент команды CREATE - это выражение SELECT (select_выражение). Синтаксис такой:

[IGNORE | REPLACE] SELECT…

(любое корректное выражение SELECT)

Если при создании таблицы в команде CREATE указывается выражение SELECT, то все поля, полученные выборкой, добавляются в создаваемую таблицу.

Например создание таблицы Persons:

Mysql>CREATE TABLE Persons

(id INT PRIMARY KEY AUTO_INCREMENT,

first_name VARCHAR(50), last_name

VARCHAR(100), death_date INT,

description TEXT, photo INT,

citienship CHAR(50) DEFAULT 'Russia');

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

Показать все базы данных:

Mysql>SHOW databases;

Сделать текущей базу данных book и показать все таблицы в ней:

Mysql>use book;

Mysql>show tables;

Показать все столбцы в таблице Persons:

Mysql> show columns from Persons;

Оператор DROP TABLE удаляет одну или несколько таблиц. Все табличные данные и определения удаляются, так что при работе с этой командой следует соблюдать осторожность.

Синтаксис:

DROP TABLE [IF EXISTS] имя_таблицы

[, имя_таблицы,…]

[RESTRICT | CASCADE]

В версии Mysql 3.22 и более поздних можно использовать ключевые слова IF EXISTS, чтобы предупредить ошибку, если указанные таблицы не существуют.

Опции RESTRICT и CASCADE позволяют упростить перенос программы с других СУБД. В данный момент они не задействованы.

Mysql> DROP TABLE IF EXISTS Persons,

Artifacts, test;

Оператор ALTER TABLE обеспечивает возможность изменять структуру существующей таблицы. Например, можно добавлять или удалять столбцы, создавать или уничтожать индексы или переименовывать столбцы либо саму таблицу. Можно также изменять комментарий для таблицы и ее тип.

Синтаксис:

ALTER [IGNORE] TABLE имя_таблицы

alter_specification

[, alter_specification…]

Можно производить следующие изменения в таблице (все они записываются в alter_specification):

Добавление поля:

ADD [COLUMN] определение_столбца

[FIRST | AFTER имя_столбца]

или

ADD [COLUMN] (определение_столбца,

определение_столбца,…)

Здесь, как и далее, определение_столбца записывается так же, как при создании таблицы.

Добавление индексов:

ADD INDEX [имя_индекса] (имя_индексируемого_столбца,…) или ADD

PRIMARY KEY (имя_индексируемого_столбца,…) или ADD UNIQUE

[имя_индекса] (имя_индексируемого_столбца,…) или ADD FULLTEXT

[имя_индекса] (имя_индексируемого_столбца,…)

Изменение поля:

ALTER [COLUMN] имя_столбца {SET DEFAULT literal | DROP DEFAULT} или

CHANGE [COLUMN] старое_имя_столбца определение_столбца или

MODIFY [COLUMN] определение_столбца

Удаление поля, индекса, ключа:

DROP [COLUMN] имя_столбца

DROP PRIMARY KEY

DROP INDEX имя_индекса

Переименование таблицы:

RENAME [TO] новое_имя_таблицы.

Переупорядочение полей таблицы:

ORDER BY поле

или

опции_таблицы

Если оператор ALTER TABLE используется для изменения определения типа столбца, но DESCRIBE имя_таблицы показывает, что столбец не изменился, то, возможно, Mysql игнорирует данную модификацию по одной из причин, описанных в специальном разделе документации. Например, при попытке изменить столбец VARCHAR на CHAR Mysql будет продолжать использовать VARCHAR, если данная таблица содержит другие столбцы с переменной длиной[22].

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

Операции обновления и записи в этой таблице приостанавливаются, пока не будет готова новая таблица. Следует отметить, что при использовании любой другой опции для ALTER TABLE, кроме RENAME, Mysql всегда будет создавать временную таблицу, даже если данные, строго говоря, и не нуждаются в копировании (например, при изменении имени столбца).

Например:

Добавление в созданную таблицу Persons поле для записи года рождения человека:

Mysql> ALTER TABLE Persons

ADD bday INTEGER AFTER last_name;

Добавление в таблицу Persons поля для записи года рождения человека.

Оператор SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц. То есть с его помощью мы задаем столбцы или выражения, которые надо извлечь (select_выражения), таблицы (table_references), из которых должна производиться выборка, и, возможно, условие (where_definition), которому должны соответствовать данные в этих столбцах, и порядок, в котором эти данные нужно выдать.

Кроме того, оператор SELECT можно использовать для извлечения строк, вычисленных без ссылки на какую-либо таблицу. Например, чтобы вычислить, чему равно 2*2, нужно просто написать

Mysql> SELECT 2*2;

Упрощенно структуру оператора SELECT можно представить следующим образом:

SELECT select_выражение1, select_выражение2,

[FROM table_references

[WHERE where_definition]

[ORDER BY {число | имя_столбца |

формула}

[ASC | DESC],…]]

Квадратные скобки [] означают, что использование находящегося в них оператора необязательно, вертикальная черта | означает перечисление возможных вариантов. После ключевого слова ORDER BY указывают имя столбца, число (целое беззнаковое) или формулу и способ упорядочения (по возрастанию - ASC, или по убыванию - DESC). По умолчанию используется упорядочение по возрастанию.

Когда в select_выражении мы пишем «*», это значит выбрать все столбцы. Кроме «*» в select_выражения могут использоваться функции типа max, min и avg.

Например:

Выбрать из таблицы Persons все данные, для которых поле first_name имеет значение 'Александр':

Mysql> SELECT * FROM Persons

WHERE first_name='Александр';

Использование оператора SELECT:

Выбрать название и описание (title, description) артефакта под номером 10:

Mysql> SELECT title, description

FROM Artifacts WHERE id=10;

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

Синтаксис:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] имя_таблицы [(имя_столбца,…)]

VALUES (выражение,…), (…),…

Эта форма команды INSERT вставляет строки в соответствии с точно указанными в команде значениями. В скобках после имени таблицы перечисляются столбцы, а после ключевого слова VALUES - их значения.

Например:

Mysql> INSERT INTO Persons

(last_name, bday) VALUES

('Иванов', '1934');

вставит в таблицу Persons строку, в которой значения фамилии (last_name) и даты рождения (bday) будут заданы соответственно как «Иванов» и

«1934».

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] имя_таблицы [(имя_столбца,…)]

SELECT…

Эта форма команды INSERT вставляет строки, выбранные из другой таблицы или таблиц.

Например:

Mysql> INSERT INTO Artifacts (author)

SELECT id FROM Persons

WHERE last_name='Иванов'

AND bday='1934';

вставит в таблицу Artifacts в поле «автор» (author) значение идентификатора, выбранного из таблицы Persons по условию, что фамилия человека Иванов.

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] имя_таблицы

SET имя_столбца=выражение,

имя_столбца=выражение,…

Например:

Mysql> INSERT INTO Persons

SET last_name='Петров',

first_name='Иван';

Эта команда вставит в таблицу Persons в поле last_name значение «Петров», а в поле first_name - строку «Иван».

Форма INSERT… VALUES со списком из нескольких значений поддерживается в версии Mysql 3.22.5 и более поздних. Синтаксис выражения имя_столбца=выражение поддерживается в версии Mysql 3.22.10 и более поздних.

Действуют следующие соглашения.

Если не указан список столбцов для INSERT… VALUES или INSERT… SELECT, то величины для всех столбцов должны быть определены в списке VALUES() или в результате работы SELECT. Если порядок столбцов в таблице неизвестен, для его получения можно использовать DESCRIBE имя_таблицы.

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

Выражение expression может относиться к любому столбцу, который ранее был внесен в список значений. Например, можно указать следующее:

Mysql> INSERT INTO имя_таблицы (col1, col2)

VALUES (15, col1*2);

Но нельзя указать:

Mysql> INSERT INTO имя_таблицы (col1, col2)

VALUES (col2*2,15);

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

Если в команде INSERT указывается ключевое слово IGNORE, то все строки, имеющие дублирующиеся ключи PRIMARY или UNIQUE в этой таблице, будут проигнорированы и не внесены в таблицу. Если не указывать IGNORE, то данная операция вставки прекращается при обнаружении строки, имеющей дублирующеся значение существующего ключа.

Оператор UPDATE. Синтаксис:

UPDATE [LOW_PRIORITY] [IGNORE] имя_таблицы

SET имя_столбца1=выражение1

[, имя_столбца2=выражение2,…]

[WHERE where_definition]

[LIMIT число]

Оператор UPDATE обновляет значения существующих столбцов таблицы в соответствии с введенными значениями. В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Если задано выражение ORDER BY, то строки будут обновляться в указанном в нем порядке.

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

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

Если в выражении, которое задает новое значение столбца, используется имя этого поля, то команда UPDATE использует для этого столбца его текущее значение. Например, следующая команда устанавливает столбец death_date в значение, на единицу большее его текущей величины:

Mysql> UPDATE Persons

SET death_date=death_date+1;

В версии Mysql 3.23 можно использовать параметр LIMIT #, чтобы убедиться, что было изменено только заданное количество строк.

Например, такая операция заменит в первой строке таблицы экспонатов название title на строку «Ламповая ЭВМ»:

Mysql> UPDATE Artifacts

SET title='Ламповая ЭВМ' Limit 1;

Оператор DELETE удаляет из таблицы имя_таблицы строки, удовлетворяющие заданным в where_definition условиям, и возвращает число удаленных записей.

Если оператор DELETE запускается без определения WHERE, то удаляются все строки.

Синтаксис:

DELETE [LOW_PRIORITY] FROM имя_таблицы

[WHERE where_definition]

[LIMIT rows]

Например, следующая команда удалит из таблицы Persons все записи, у которых поле «год рождения» (bday) больше 2003:

Mysql> DELETE FROM Persons WHERE bday>2003;

Удалить все записи в таблице можно еще и с помощью такой команды:

Mysql> DELETE FROM Persons WHERE 1>0;

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

Mysql> DELETE FROM Persons;

Специфическая для Mysql опция LIMIT для команды DELETE указывает серверу максимальное количество строк, которые следует удалить до возврата управления клиенту. Эта опция может использоваться для гарантии того, что данная команда DELETE не потребует слишком много времени для выполнения.

В дистрибутив PHP входит расширение, содержащее встроенные функции для работы с базой данных Mysql. В этой лекции мы познакомимся с некоторыми основными функциями для работы с Mysql, которые потребуются для решения задач построения web-интерфейсов с целью отображения и наполнения базы данных. Возникает вопрос, зачем строить такие интерфейсы? Для того чтобы вносить информацию в базу данных и просматривать ее содержимое могли люди, не знакомые с языком запросов SQL. При работе с web-интерфейсом для добавления информации в базу данных человеку нужно просто ввести эти данные в html-форму и отправить их на сервер, а наш скрипт сделает все остальное. А для просмотра содержимого таблиц достаточно просто щелкнуть по ссылке и зайти на нужную страницу[23].

Каждый экспонат в коллекции Artifacts описывается с помощью следующих характеристик:

· название (title);

· автор (author);

· описание (description);

· альтернативное название (alternative);

· изображение (photo).

Название и альтернативное название являются строками менее чем 255 символов длиной (т.е. имеют тип VARCHAR(255)), описание - текстовое поле (имеет тип TEXT), а в полях «автор» и «изображение» содержатся идентификаторы автора из коллекции Persons и изображения экспоната из коллекции Images соответственно[24].

2.5 Выбор технических средств

В качестве технических средств были выбраны средства со следующими характеристиками.

Сервер должен быть построен на основе Intel Celeron Dual Core не менее 2600 гц, оперативная память минимум 2Гб, рекомендуется 8 Гб, сетевая карта со скоростью 10/100/1000 Мбит/с.

Технические характеристики серверов БД:

- Процессор - не менее двух процессоров Intel Xeon 3 ГГц;

- Объем оперативной памяти - не менее 4 Гб;

- Дисковая подсистема - не менее 72 Гб х 2 с RAID 1;

- Устройство чтения компакт-дисков (DVD-ROM);

- Сетевой адаптер - FastEthernet 100;

- Адаптер Fibre Channel;

- Видеосистема - разрешающая способность не ниже 1024x860 точек;

- Координатно-указательное устройство - манипулятор типа «мышь»;

- Клавиатура - не менее 104 клавиш (русифицированная);

- Монитор - диагональ не менее 15».

Локальные машины пользователей должны быть построены на основе Intel Celeron Dual Core не мене 1000 гц, с объемом оперативной памяти не менее 512 Мбайт, сетевая карта со скоростью 10/100/1000 Мбит/с.

Необходим доступ клиента к серверу по сети по протоколу TCP/IP.

Комплекс технических средств на разработку Web-приложения был подобран с учетом требований программных продуктов входящих в перечень разработчика Web-приложений. Оптимальные требования к техническим средствам разработчика приведены в таблице 2.3.

Таблица 2.3. Состав комплекса технических средств на разработку Web-приложения

Наименование оборудования

Технические характеристики

Компьютер

HP Pro 3500MT (H4L65ES)

Intel Celeron Dual Core, 2.6 ГГц, 4096 Мб RAM, 500 Гб HDD

Модем

Модем TP-Link TD-W8901N

Сетевой адаптер

FastEthernet 100

Видеосистема

разрешающая способность не ниже 1024x860 точек

Монитор

диагональ не менее 15»

3. Программная реализация Web-приложения

3.1 Описание интерфейса и дизайна

Главная страница

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

Во первых она не должна быть большой по размеру, не более 50KB. Во вторых дизайн должен быть удобным. Элементы навигации должны быть всегда на виду. Элементы навигации следует немного выделить. Главная страница будет выглядеть серой и невзрачной, если на ней не будет графики. Можно разместить на ней тематические изображения или анимацию. Злоупотреблять этим конечно не стоит из-за увеличения объема загружаемой через сеть информации в следствии чего понижается скорость загрузки страницы в браузер.

Для создания главной и последующих страниц использовался текстовый редактор Блокнот (Notepad) и частично редактор Web-страниц phpdesigner. Исходный код главной страницы помещен в Приложение А. На главной странице сверху расположен заголовок оформленный в виде гиперссылок. Сразу под ними располагается панель навигации по сайту, выполненная также в виде ссылок (Рисунок 3.1). При наведении на пункт меню курсор изменяет форму[25].

Рисунок 3.1 - Панель навигации

В нижней части страницы располагается блок навигации, в котором продукция располагается по категориям в алфавитном порядке (алфавитный каталог). Алфавитный каталог представлен на Рисунке 3.2.

Общий вид страницы представлен на Рисунке 3.3.

Рисунок 3.2 - Алфавитный каталог

Рисунок 3.3 - Главная страница сайта «artposters.kz»

Регистрация

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

Регистрация пользователей реализована с помощью запросов в базу данных MySQL посредством языка php. После того как пользователь внес информацию в поля формы регистрации, нажатием кнопки «Зарегистрироваться» данные из формы посылаются в файл register.php методом POST. В файле register.php данные сначала проверяются на соответствие правилам заполнения формы, на повторение логина, и после, если логин уникален, вносятся в базу данных в таблицу users, которая хранит информацию о пользователях.

Рисунок 3.4 - Форма для регистрации пользователей

После регистрации появляется сообщение об успешной регистрации (Рисунок 3.5).

Рисунок 3.5 - Регистрация прошла успешно

После регистрации пользователи могут выполнять заказы на интересующую их продукцию[26].

Заказ продукции

Оформление заказа происходит на странице «Корзина» (Рисунок 3.6).

Рисунок 3.6 - Страница оформления заказа

Разработка формы заказа продукции реализовывалась также с помощью запросов в базу данных MySQL посредством языка php. Исходный код формы заказа помещен в Приложение B. Чтобы осуществить заказ пособий следует кликнуть по кнопке «Отправить заявку», либо можно удалить выбранные постеры из списка кликнув по соответствующей кнопке[27].

3.2 Структура базы данных

Инфологическая модель баз данных

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

Сущность - любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть ГОРОД, а экземпляром - Москва, Киев и т.д.

Атрибут - поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей (например, ЦВЕТ может быть определен для многих сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д. Здесь также существует различие между типом и экземпляром. Тип атрибута ЦВЕТ имеет много экземпляров или значений: Красный, Синий, Банановый, Белая ночь и т.д., однако каждому экземпляру сущности присваивается только одно значение атрибута.

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

Ключ - минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся. Для сущности Расписание (п. 1.2) ключом является атрибут Номер_рейса или набор: Пункт_отправления, Время_вылета и Пункт_назначения (при условии, что из пункта в пункт вылетает в каждый момент времени один самолет).

Связь - ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных - это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей[28].

Инфологическая модель данного Web-приложения будет выглядеть следующим образом (Рисунок 3.7):

Рисунок 3.7 - Инфологическая модель базы данных

4. Экономическая часть

Целью данного раздела дипломного проекта является расчет затрат на разработку программного обеспечения Web-приложения для компании TOO «ILLUSTRATE studio».

Общие понятия об экономической эффективности программного обеспечения Web-приложения

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

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

Для оценки эффективности системы необходимо рассчитать затраты на ее разработку. В экономике существует следующая классификация затрат и ресурсов:

- затраты живого труда (отработанное время, фонд заработной платы);

- материальные затраты (затраты сырья, материалов, топлива, энергии);

- производственные фонды (основные производственные фонды, оборотные фонды, фонды обращения);

- капитальные вложения;

- инвестиции (затраты на расширенное воспроизводство основных фондов и прирост оборотных фондов);

- природные ресурсы (земля, запасы полезных ископаемых, леса, воды);

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

- время, как экономическая категория (рабочий период, время производства, сроки реализации инвестиций, инноваций, внедрения новой техники) [29].


Подобные документы

  • Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.

    дипломная работа [1,4 M], добавлен 03.06.2014

  • История развития и классификация информационных систем. Применение информационных систем в образовании. Практические аспекты использования прикладного программного обеспечения при разработке сайта. Функциональные возможности программного приложения.

    курсовая работа [47,9 K], добавлен 19.01.2017

  • Проектирование информационного обеспечения, систем классификации и кодирования. Технология разработки программного обеспечения. Произведение расчётов по кредитам компании и организация межтабличных связей для автоматического заполнения необходимых ячеек.

    курсовая работа [1,6 M], добавлен 13.11.2011

  • Методология структурного анализа и проектирования информационных систем. Базовый стандарт процессов жизненного цикла программного обеспечения. Цели и принципы формирования профилей информационных систем. Разработка идеальной модели бизнес-процессов.

    презентация [152,1 K], добавлен 07.12.2013

  • Развитие информационных систем. Современный рынок финансово-экономического прикладного программного обеспечения. Преимущества и недостатки внедрения автоматизированных информационных систем. Методы проектирования автоматизированных информационных систем.

    дипломная работа [1,5 M], добавлен 22.11.2015

  • История развития информационных технологий. Классификация, виды программного обеспечения. Методологии и технологии проектирования информационных систем. Требования к методологии и технологии. Структурный подход к проектированию информационных систем.

    дипломная работа [1,3 M], добавлен 07.02.2009

  • Изучение деятельности фирмы СООО "Гейм Стрим", занимающейся разработкой программного обеспечения интеллектуальных систем. Проведение работы по тестированию информационных систем на степень защищенности и безопасности от разного рода информационных атак.

    отчет по практике [933,1 K], добавлен 05.12.2012

  • Виды архитектуры распределенных информационных систем. Сущность синхронного и асинхронного, блокирующего и неблокирующего взаимодействия в распределенных информационных системах. Основные проблемы и принципы реализации удаленного вызова процедур.

    реферат [26,4 K], добавлен 22.06.2011

  • Анализ локально-вычислительной сети компании. Выбор общего программного обеспечения, обеспечения для инженерного отдела, бухгалтерии, сервера. Состав программного обеспечения вычислительной системы и его конфигурация. Сетевые операционные системы.

    курсовая работа [405,4 K], добавлен 08.02.2016

  • Анализ технического обеспечения информационных систем (микропроцессоры). Программное обеспечение информационных систем. Классификация программного обеспечения. Программы подготовки первичных документов на примере "1С: Бухгалтерия", "1С: Налогоплательщик".

    контрольная работа [808,5 K], добавлен 20.07.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.