Меню Рубрики

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

11. Анализ предметной области: цели и задачи. Модели предметной области. Формальные определения. Классификация моделей. Методоло

11. Анализ предметной области: цели и задачи. Модели предметной области. Формальные определения. Классификация моделей. Методология IDEF0, синтаксис IDEF0-моделей.

Деятельность, направленная на выявление реальных потребностей заказчика, а также на выяснения смысла высказанных требований, называется анализом предметной области (бизнес-моделированием, если речь идет о потребностях коммерческой организации). Анализ предметной области – это первый шаг этапа системного анализа, с которого начинается разработка программной системы. Разработчики должны научиться

  1. · понимать язык, на котором говорят заказчики;
  2. · выявить цели их деятельности;
  3. · определить набор решаемых ими задач;
  4. · определить набор сущностей, с которыми приходится иметь дело при решении этих задач.

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

Определения=

Система – совокупность взаимодействующих компонентов и взаимосвязей между ними.
Модель M некоторой системы S – информационный объект, который может быть использован для получения ответов на некоторый круг вопросов относительно S.


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

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

  1. · модели, зависящие от подхода к разработке (структурного или объектно-ориентированного);
  2. · модели, не зависящие от подхода к разработке.

В рамках проекта ICAM планировалась разработка семейства методологий моделирования различных аспектов функционирования систем:

  1. IDEF0 – методология создания функциональной модели системы (основана на методе SADT Росса);
  2. IDEF1 – методология создания информационной модели системы (основана на реляционной теории Кодда и использовании ER-диаграмм Чена);
  3. IDEF2 – методология создания динамической модели системы;
  4. IDEF3 – методология создания модели потоков работ (обычно используется вместе с диаграммами потоков данных DFD Data flow diagram)

Основной формой представления IDEF0-модели является диаграмма. Каждая IDEF0-диаграмма содержит блоки (работы) и дуги (стрелки). Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними.
Функциональные блоки на диаграмме изображаются прямоугольниками, а дуги – стрелками.

Каждая сторона функционального блока должна иметь стандартное отношение блок/стрелки:

  1. · входные стрелки должны связываться с левой стороной блока;
  2. · управляющие стрелки должны связываться с верхней стороной блока;
  3. · выходные стрелки должны связываться с правой стороной блока;
  4. · стрелки механизма (кроме стрелок вызова) должны указывать вверх и подключаться к нижней стороне блока;
  5. · стрелки вызова механизма должны указывать вниз, подключаться к нижней стороне блока, и помечаться ссылкой на вызываемый блок

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

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

Функции моделируемой системы могут быть разбиты на составные части и представлены в виде более подробных диаграмм (принцип декомпозиции).
Диаграмма верхнего уровня называется контекстной и обеспечивает наиболее общее описание объекта моделирования.
За этой диаграммой следует серия дочерних диаграмм, дающих детальное представление об объекте.

Состав

IDEF0-модели состоят из трех типов документов:

  1. · графических диаграмм(главный компонент IDEF0-модели, содержащий блоки, стрелки, соединения блоков и стрелок и ассоциированные с ними отношения)
  2. · текста(используется для объяснений и уточнений характеристик, потоков, внутриблочных соединений и т.д.)
  3. · глоссария (предназначен для определения аббревиатур, ключевых слов и фраз, используемых в качестве имен и меток на диаграммах)

Эти документы имеют перекрестные ссылки друг на друга. В методологии IDEF0 существует 6 типов отношений между блоками в пределах одной диаграммы:

  1. · доминирование;
  2. · управление;
  3. · выход — вход;
  4. · обратная связь по управлению;
  5. · обратная связь по входу;
  6. · выход – механизм

источник

2 Разработка базы данных и интегрирование информационного приложения “Рекламное агентство ” 14

2.1.1 Анализ предметной области 14

2.1.2 Анализ информационных задач и круга пользователей системы 15

2.1.3 Выработка требований и ограничений 16

2.2 Разработка базы данных в Microsoft SQL Server 2008 16

2.3 Создание проекта в среде разработки “Microsoft Visual Studio 2008” 24

Список использованных источников 30

В условиях увеличения информации, собираемой страховыми компаниями, и необходимости быстрой ее обработки повышается роль и значение баз данных. Эффективность работы компании во многом зависит от грамотного проектирования БД. В этой связи вопросы, связанные с изучением СУБД и разработкой баз данных, приобретают огромное значение.

Актуальность данных вопросов определили выбор темы курсовой работы.

Целью работы является разработка базы данных для информационной системы «Рекламное агентство». В качестве инструмента для разработки была выбрана система управления базами данных MS SQL Server 2008, которая является одним из лидеров в области СУБД и предоставляет все средства для надежного, безопасного и простого ведения баз данных.

Общие сведения

Язык SQL (Structured Query Language — структурированный язык запросов) представляет собой стандартный высокоуровневый язык описания данных и манипулирования ими в системах управления базами данных (СУБД), построенных на основе реляционной модели данных.

Язык SQL был разработан фирмой IBM в конце 70-х годов. Первый международный стандарт языка был принят международной стандартизирующей организацией ISO в 1989 г. , а новый (более полный) — в 1992 г. В настоящее время все производители реляционных СУБД поддерживают с различной степенью соответствия стандарт SQL92.

Единственной структурой представления данных (как прикладных, так и системных) в реляционной базе данных (БД) является двумерная таблица. Любая таблица может рассматриваться как одна из форм представления теоретико-множественного понятия отношение (relation), отсюда название модели данных — «реляционная».

В реляционной модели данных таблица обладает следующими основными свойствами:

— идентифицируется уникальным именем;

— имеет конечное (как правило, постоянное) ненулевое количество столбцов;

— имеет конечное (возможно, нулевое) число строк;

— столбцы таблицы идентифицируются своими уникальными именами и номерами;

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

— строки таблицы не имеют какой-либо упорядоченности и идентифицируются только своим содержимым (т.е. понятие «номер строки» не определено);

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

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

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

— требования уникальности содержимого каждой ячейки какого-либо столбца и/или совокупности ячеек в строке, относящихся к нескольким столбцам;

— запрета для какого-либо столбца (столбцов) иметь «пустые» (NULL) ячейки.

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

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

Основными операциями над таблицами являются следующие.

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

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

Объединение — построение новой таблицы из 2-ух или более исходных путем включения в нее всех строк исходных таблиц (при условии, конечно, что они подобны).

Декартово произведение — построение новой таблицы из 2-ух или более исходных путем включения в нее строк, образованных всеми возможными вариантами конкатенации (слияния) строк исходных таблиц. Количество строк новой таблицы определяется как произведение количеств строк всех исходных таблиц.

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

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

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

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

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

В настоящее время наибольшее распространение получили реляционные SQL СУБД двух групп:

— мощные крупные коммерческие СУБД, ориентированные на хранение огромных объемов информации (от гигабайт);

— мобильные компактные свободно распространяемые (в том числе и в исходных кодах) СУБД, использование которых оправдано и для БД объемом всего лишь в десятки килобайт.

Наиболее известными СУБД первой группы являются:

— Sybase SQLserver фирмы Sybase, Inc.;

— Oracle фирмы Oracle Corporation;

— Ingres фирмы Computer Associates International;

— Informix фирмы Informix Corporation.

К наиболее популярным СУБД второй группы относятся:

— PostgreSQL организации PostgreSQL;

— microSQL фирмы Hughes Technologies Pty. Ltd.;

— mySQL фирмы T.C.X DataKonsult AB.

Все перечисленные выше СУБД построены по принципу «клиент-сервер», кА это показано на рисунке.

SQL-сервер реализует собственно хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP).

Клиентскую часть СУБД составляют клиенты трех основных типов.

— Интерактивные клиенты, обеспечивающие пользователю-человеку возможность общения с SQL-сервером непосредственно с помощью языка SQL.

— ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC).

— WWW-клиенты, встраиваемые в World Wide Web-сервера и обеспечивающие доступ к информационным возможностям SQL-сервера пользователям сети Internet по протоколу HTTP (протоколу передачи гипертекстовых документов).

Команды SQL делятся на функциональные группы, что облегчает из запоминание. Вот эти группы:

— Определение данных (Data Definition). Все основные СУБД, являются так называемыми платформами баз данных. Это означает, что они предоставляют среду, очень хорошо поддерживающие работу с таблицами, но не содержит никаких заранее созданных таблиц. Вы должны сами определять состав и конфигурацию хранимых данных (т.е. их тип и т.д.). Для этого в SQL существует ряд специальных команд: CREATE, ALTER, DROP, RENAME и TRUNCATE.

Эти команды входят в группу, называемых языком определения данных (DDL, Data Definition Language).

— Манипулирование данными (Data Manipulation)

— Управление данными (Data Control). Допустим, вы научились создавать таблицы. Что же дальше? Разумеется поместить в них данные. В SQL есть команда INSERT, позволяющая добавлять данные в таблицы. После того как данные вставлены, их можно изменять, используя команду UPDATE, или удалять, используя команду DELETE.

Эта категория команд называется языком манипулирования данными (DML, Data Manipulation Language).

— Выборка данных (Data Retrieval). Смысл помещения информации в базу данных состоит в том, чтобы получить ее обратно контролируемым образом. В этой категории всего одна команда – SELECT, но она имеет широкий набор параметров, обеспечивающих огромную гибкость. Вероятно, именно эту команду вы будете использовать чаще всего, особенно если планируете обращаться к SQL из другого языка программирования, такого, как Java, C++ или Pascal.

— Управление транзакциями (Transaction Control). SQL позволяет отменять любые из последних команд языка манипулирования данными (DML) до того, как они будут применены к базе данных. После выполнения одной, или нескольких команд DML вы можете ввести либо команду COMMIT для сохранения изменений в базе данных, либо команду ROLLBACK для их отмены («отката»).

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

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

Объектная привилегия разрешает пользователю выполнять определенные действия над таблицей (или другими объектами баз данных)

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

Привилегии базы данных присваиваются и удаляются с помощью SQL-команд GRANT и REVOKE, соответственно. Эти команды относятся к категории, называемой языком управления данными (DCL, Data Control Language).

2 Разработка базы данных и интегрирование информационного приложения “Рекламное агентство ”

Постановка задачи

Анализ предметной области

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

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

— в рекламном агентстве работают несколько сотрудников, которые работают на определенных должностях;

— в рекламном агентстве обращаются клиенты различных возрастных групп;

Выделим базовые сущности этой предметной области:

— сотрудники рекламного агентства. Атрибуты сотрудников – Код сотрудника, ФИО, Возраст, Пол, Адрес, Телефон, Паспортные данные, Код должности.

— Должности. Атрибуты — Код должности, Наименование должности, Оклад, Обязанности, Требования.

— Риски. Атрибуты — Код риска, Наименование, Описание, Средняя вероятность Договоры.

— Виды полисов. Атрибуты — Код вида полиса, Наименование, Описание, Условия, Код риска.

— Группы клиентов. Атрибуты — Код группы, Наименование, Описание.

— Клиенты. Атрибуты — Код клиента, ФИО, Дата рождения, Пол, Адрес, Телефон, Паспортные данные, Код группы.

— Полисы. Атрибуты — Номер полиса, Дата начала, Дата окончания, Стоимость, Сумма выплаты, Код вида полиса, Отметка о выплате, Отметка об окончании, Код клиента, Код сотрудника.

источник

Анализ предметной области является первым этапом для проектирования баз данных (БД) любого типа. Заканчивается этот этап построением информационной структуры (концептуальной схемы). На данном этапе анализируются запросы пользователей, выбираются информационные объекты и их характеристики, которые предопределяют содержание проектируемой БД. На основе проведенного анализа структурируется предметная область. Анализ предметной области не зависит от программной и технической сред, в которых будет реализовываться БД.

Анализ предметной области можно разбить на три фазы:

1) анализ концептуальных требований и информационных потребностей;

2) выявление информационных объектов и связей между ними;

3) построение концептуальной модели предметной области и проектирование концептуальной схемы БД.

На этапе анализа концептуальных требований и информационных потребностей необходимо выполнить:

1) анализ требований пользователей к БД (концептуальных требований);

2) выявление имеющихся задач по обработке информации, которая должна быть предоставлена в БД;

3) выявление перспективных задач (перспективных приложений);

4) документирование результатов анализа.

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

Теперь обратимся непосредственно к нашей БД. Рассмотрим примерный вопросник, требования к БД при анализе различных предметных областей.

1. Какая документация и какого типа существует на данной кафедре?

2. В каком виде должно храниться документация?

3. Сбор шаблонов, необходимых для создания документов.

4. Какие объекты кроме документов должно храниться в базе, и какими свойствами должны обладать данные объекты?

5. По каким критериям должен проводиться поиск по базе?

6. Для кого предназначена БД?

Выполним анализ требований к БД.

Вопрос1. Для каких типов задач проектируется БД?

Ответ. 1. Информация о документах. 2. Информация о преподавателях. 3. Информация о студентах, участвующих в работе кафедры. 4.Информация о кафедрах, на которых преподаватели данной кафедры работают совместителями. 5. Информация об олимпиадах, проводимых преподавателями данной кафедры. 6. Информация о конференциях по данной кафедре. 7. Учет участия студентов в олимпиадах. 8. Учет участия студентов в конференциях. 9. Информация о возможных должностях преподавателей. 10. Информация о возможных ученых степенях преподавателей. 11. Информация о возможных ученых званиях преподавателей. 12. Информация о литературе, имеющейся на кафедре. 13. Информация об авторах. 14. Информация об издательствах. 15. Информация о научных работах преподавателей. 16. Информация о дисциплинах, преподаваемых в рамках кафедры. 17. Информация о рабочих программах по дисциплинам. 18. Информация о типе документации (приказ, заявление и т.п.). 19. Информация о типе литературы (пособие, учебник и т.п.). 20. Учет преподавателей по кафедрам. 21. Информация о курсовых работах. 22. Учет студентов по курсовым работам. 23. Информация о специальностях данного ВУЗа. 24. Информация о типе научных работ преподавателей.

Вопрос2. Какими информационными объектами характеризуются эти задачи?

Ответ. 1. Информационный объект: Документация. 2. Информационный объект: Преподаватели. 3. Информационный объект: Студенты. 4. Информационный объект: Кафедры. 5. Информационный объект: Олимпиады. 6. Информационный объект Конференции. 7. Информационный объект Учет олимпиад. 8.Информацинный объект Учет конференций. 9. Информационный объект Должности. 10. Информационный объект Тип ученых степеней. 11. Информационный объект Тип ученых званий. 12. Информационный объект Литература. 13. Информационный объект Авторы. 14. Информационный объект Издательства. 15. Информационный объект Научные работы преподавателей. 16. Информационный объект Дисциплины. 17. Информационный объект Рабочие программы. 18. Информационный объект Тип документации. 19. Информационный объект Тип литературы. 20. Информационный объект Учет преподавателей по кафедрам. 21. Информационный объект Курсовые работы. 22. Информационный объект Учет студентов по курсовым работам. 23. Информационный объект Специальности. 24. Информационный объект Тип научных работ преподавателей.

Вопрос3. Каким текущим запросам должны удовлетворять информационные объекты?

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

2. ФИО преподавателя, автора, студента.

3. Ученое звание, ученая степень преподавателя.

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

5. Адрес преподавателя, издательства.

8. Направление научной работы преподавателя.

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

При выборе информационных объектов следует ответить на следующие вопросы:

1. На какие классы можно разбить данные подлежащие хранению в БД?

2. Какое имя можно присвоить каждому классу данных?

3. Какие наиболее интересные характеристики (с точки зрения пользователя) каждого класса данных можно выделить?

4. Какие имена можно присвоить выбранным наборам характеристик?

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

1. Какие типы связей между информационными объектами?

2. Какое имя можно присвоить каждому типу связей?

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

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

При выявлении условий ограничения целостности следует ответить на следующие вопросы:

1.Какова область значений для числовых характеристик?

2.Каковы функциональные зависимости между характеристиками одного информационного объекта?

3.Какой тип отображения соответствует каждому типу связей?

Каждую сущность в нашей БД зададим набором атрибутов (ключевые атрибуты подчеркнем):

1.Документация(код документации, название, тип, дата создания, текст);

2. авторы(код автора, Фамилия, Имя, Отчество);

3. дисциплины(код дисциплины, название);

4. кафедры(код кафедры, название);

5. должность(код, название);

6. издательства(код, название, город, улица, офис);

7. конференции(код, название, дата проведения, код литературы);

8. курсовая работа(код, название, код дисциплины, номер зачетки, код руководителя, дата защиты, оценка, текст, приложение);

9. литература (код, название, код автора, код издания, код типа, дата создания);

10. направление (код, название);

11. научные работы преподавателей(код, название, тип научной работы, код преподавателя, дата создания, направление, текст);

12. олимпиада(код, название, код дисциплины, дата проведения);

13. преподаватели(Инн преподавателя, фамилия, имя, отчество, телефон, адрес, код договора, дата рождения, код ученой степени, код ученого звания);

Читайте также:  Простата анализ какие надо сдать

14. рабочие программы (код, название, код специальности, код дисциплины, дата создания, код составителя, текст);

15. специальности(код, название);

16.студенты (номер зачетки, Фамилия, Имя, Отчество, номер группы);

17. тип документации(код, название);

18. тип литературы(код, название);

19. тип научной работы(код, название);

20. тип ученого звания (код, название);

21.тип ученой степени (код, название);

22. учет конференций (код, номер зачетки, код конференции, тема доклада);

23. учет олимпиад(код, номер зачетки, код олимпиады, результат);

24.учет преподавателей по кафедрам (код, инн преподавателя, код кафедры, код должности).

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

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

Одной из распространенных моделей концептуальной схемы является модель «сущность — связь». Под сущность понимают основное содержание объекта ПО, о котором собирают информацию. Экземпляр сущности – конкретный объект. Например: Сущность – факультет, экземпляр сущности – Факультет математики и информационных технологий.

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

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

Рассмотрим концептуальную схему БД «Документооборот кафедры» (рис.1.1) (в данной схеме не будем указывать атрибуты).

Рис.1.1. Концептуальная модель «сущность – связь» для БД «Документооборот кафедры »

Дата добавления: 2015-05-09 ; Просмотров: 1555 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

источник

Практическая работа №1

Системный анализ предметной области

Цель работы: получить представление о системном анализе предметной области.

Теоретическая часть

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

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

  1. Системный анализ и словесное описание информационных объектов предметной области.
  2. Проектирование инфологической модели предметной области — частично формализованное описание объектов предметной области в терминах некоторой семантической модели, например, в терминах ER-модели.
  3. Даталогичеcкое или логическое проектирование БД, то есть описание БД в терминах принятой даталогической модели данных.
  4. Физическое проектирование БД, то есть выбор эффективного размещения БД на внешних носителях для обеспечения наиболее эффективной работы приложения.

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

Рисунок 1 Этапы проектирования БД

Системный анализ предметной области

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

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

  • Функциональный подход — он реализует принцип движения «от задач» и применяется тогда, когда заранее известны функции некоторой группы лиц и комплексов задач, для обслуживания информационных потребностей которых создается рассматриваемая БД. В этом случае мы можем четко выделить минимальный необходимый набор объектов предметной области, которые должны быть описаны.
  • Предметный подход — когда информационные потребности будущих пользователей БД жестко не фиксируются. Они могут быть многоаспектными и весьма динамичными. Мы не можем точно выделить минимальный набор объектов предметной области, которые необходимо описывать. В описание предметной области в этом случае включаются такие объекты и взаимосвязи, которые наиболее характерны и наиболее существенны для нее. БД, конструируемая при этом, называется предметной, то есть она может быть использована при решении множества разнообразных, заранее не определенных задач. Конструирование предметной БД в некотором смысле кажется гораздо более заманчивым, однако трудность всеобщего охвата предметной области с невозможностью конкретизации потребностей пользователей может привести к избыточно сложной схеме БД, которая для конкретных задач будет неэффективной.

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

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

Пример описания предметной области

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

  • уникальный шифр;
  • название;
  • фамилии авторов (могут отсутствовать);
  • место издания (город);
  • издательство;
  • год издания;
  • количество страниц;
  • стоимость книги;
  • количество экземпляров книги в библиотеке.

Книги могут иметь одинаковые названия, но они различаются по своему уникальному шифру (ISBN).

В библиотеке ведется картотека читателей.

На каждого читателя в картотеку заносятся следующие сведения:

  • фамилия, имя, отчество;
  • домашний адрес;
  • телефон (будем считать, что у нас два телефона — рабочий и домашний);
  • дата рождения.

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

Каждый читатель может одновременно держать на руках не более 5 книг. Читатель не должен одновременно держать более одного экземпляра книги одного названия.

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

  • уникальный инвентарный номер;
  • шифр книги, который совпадает с уникальным шифром из описания книг;
  • место размещения в библиотеке.

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

  • номер билета читателя, который взял книгу;
  • дата выдачи книги;
  • дата возврата.

Предусмотреть следующие ограничения на информацию в системе:

  1. Книга может не иметь ни одного автора.
  2. В библиотеке должны быть записаны читатели не моложе 17 лет.
  3. В библиотеке присутствуют книги, изданные начиная с 1960 по текущий год.
  4. Каждый читатель может держать на руках не более 5 книг.
  5. Каждый читатель при регистрации в библиотеке должен дать телефон для связи: он может быть рабочим или домашним.
  6. Каждая область знаний может содержать ссылки на множество книг, но каждая книга может относиться к различным областям знаний.

С данной информационной системой должны работать следующие группы пользователей:

  • библиотекари;
  • читатели;
  • администрация библиотеки.

При работе с системой библиотекарь должен иметь возможность решать следующие задачи:

  1. Принимать новые книги и регистрировать их в библиотеке.
  2. Относить книги к одной или к нескольким областям знаний.
  3. Проводить каталогизацию книг, то есть назначение новых инвентарных номеров вновь принятым книгам, и, помещая их на полки библиотеки, запоминать место размещения каждого экземпляра.
  4. Проводить дополнительную каталогизацию, если поступило несколько экземпляров книги, которая уже есть в библиотеке, при этом информация о книге в предметный каталог не вносится, а каждому новому экземпляру присваивается новый инвентарный номер и для него определяется место на полке библиотеки.
  5. Проводить списание старых и не пользующихся спросом книг. Списывать можно только книги, ни один экземпляр которых не находится у читателей. Списание проводится по специальному акту списания, который утверждается администрацией библиотеки.
  6. Вести учет выданных книг читателям, при этом предполагается два режима работы: выдача книг читателю и прием от него возвращаемых им книг обратно в библиотеку. При выдаче книг фиксируется, когда и какой экземпляр книги был выдан данному читателю и к какому сроку читатель должен вернуть этот экземпляр книги. При выдаче книг наличие свободного экземпляра и его конкретный номер могут определяться по заданному уникальному шифру книги или инвентарный номер может быть известен заранее. Не требуется вести «историю» чтения книг, то есть требуется отражать только текущее состояние библиотеки. При приеме книги, возвращаемой читателем, проверяется соответствие возвращаемого инвентарного номера книги выданному инвентарному номеру, и она ставится на свое старое место на полку библиотеки.
  7. Проводить списание утерянных читателем книг по специальному акту списания или замены, подписанному администрацией библиотеки.
  8. Проводить закрытие абонемента читателя, то есть уничтожение данных о нем, если читатель хочет выписаться из библиотеки и не является ее должником, то есть за ним не числится ни одной библиотечной книги.

Читатель должен иметь возможность решать следующие задачи:

  1. Просматривать системный каталог, то есть перечень всех областей знаний, книги по которым есть в библиотеке.
  2. По выбранной области знаний получить полный перечень книг, которые числятся в библиотеке.
  3. Для выбранной книги получить инвентарный номер свободного экземпляра книги или сообщение о том, что свободных экземпляров книги нет. В случае отсутствия свободных экземпляров книги читатель должен иметь возможность узнать дату ближайшего предполагаемого возврата экземпляра данной книги. Читатель не может узнать данные о том, у кого в настоящий момент экземпляры данной книги находятся на руках (в целях обеспечения личной безопасности держателей требуемой книги).
  4. Для выбранного автора получить список книг, которые числятся в библиотеке.

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

Этот совсем небольшой пример показывает, что перед началом разработки необходимо иметь точное представление о том, что же должно выполняться в системе, какие пользователи в ней будут работать, какие задачи будет решать каждый пользователь. И это правильно, ведь когда строят здание, тоже заранее предполагается: для каких целей оно предназначено, в каком климате оно будет стоять, на какой почве, и в зависимости от этого проектировщики могут предложить нам тот или иной проект. Но, к сожалению, очень часто по отношению к базам данных считается, что все можно определить потом, когда проект системы уже создан. Отсутствие четких целей создания БД может свести на нет все усилия разработчиков, и проект БД получится «плохим», неудобным, не соответствующим ни реально моделируемому объекту, ни задачам, которые должны решаться с использованием данной БД.

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

источник

Лекция 1. Этапы проектирования БД

ТЕМА 1.3. ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

1. Что такое реляционная база данных?

2. Что такое запись и поле?

3. Что такое первичный ключ?

6. Расскажите о видах связей между таблицами?

7. В чём суть ссылочной целостности?

8. Перечислите и охарактеризуйте основные операции реляционной алгебры?

9. Где используются операции реляционной алгебры?

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

— систематизация объектов реального мира;

— создание информационных структур, описывающих систему объектов реального мира;

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

— представление структуры памяти, используемой для хранения структур данных.

Первый этапанализ предметной области или этап концептуального проекти­рования. На этапе концептуального проектирования осуществляется сбор, анализ и редактирование требований к данным.

Первым этапом проектирования БД любого типа является анализ предметной об­ласти, который заканчивается построением информационной структуры (концепту­альной схемы). На данном этапе анализируются запросы пользователей, выбираются информационные объекты и их характеристики, которые предопределяют содержа­ние проектируемой БД. На основе проведенного анализа структурируется предметная область. Анализ предметной области не зависит от программной и технической сред, в которых будет реализовываться БД.

1) анализ требований и информационных потребностей;

2) выявление информационных объектов и связей между ними;

3) построение модели предметной области и проектирование схемы БД.

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

1) анализ требований пользователей к базе данных (концептуальных требований);

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

3) выявление перспективных задач (перспективных приложений);

4) документирование результатов анализа

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

Рассмотрим примерный состав вопросника, требований к базе данных при анализе различных предметных областей.

Пример 1. Пусть предлагается разработать систему вопросов к БД «Сессия студентов колледжа»:

1. Сколько студентов учится в колледже?

2. Сколько отделений в данном колледже?

3. Как распределены студенты по отделениям отделений и курсам?

4. Сколько дисциплин читается на каждом курсе по каждой специальности?

5. Как часто обновляется информация в базе данных?

7. Сколько иногородних студентов живет в общежитии, на частных квартирах?

8. Какая преемственность существует между читаемыми курсами?

9. Сколько лекционных аудиторий и аудиторий для проведения практических за­нятий, лабораторий?

10. Как информация, представленная в п.п. 1-9, используется в настоящее время (расписание занятий, экзаменов, зачетов и т.д.) и как ее собираются использовать?

11. Сколько раз в день, сколько человек и кто пользуются БД?

Пример 1 (продолжение). Выполним анализ требований к БД «Сессия студентов». Вопрос 1. Для каких типов задач (приложений) проектируется БД? Ответ. Для трех типов задач: Задача 1. Информация о студентах. Задача 2. Инфор­мация о преподавателях. Задача 3. Информация об успеваемости студентов. Задача 4. Информация о предметах.

Вопрос 2. Какими информационными объектами характеризуются эти задачи? Ответ. Задача 1 характеризуется информационным объектом: личные дела студен­тов. Задача 2 характеризуется информационным объектом: личные дела преподава­телей. Задача 3 характеризуется одним информационным объектом — сессия. Задача 4 характеризуется одним информационным объектом — предметы.

Вопрос 3. Каким текущим запросам должны удовлетворять данные информационные объекты?

Вопрос 4. Каким перспективным запросам должны удовлетворять информационные объекты в БД «Сессия студентов»?

Пример 2. Пусть требуется разработать требования к локальной БД «Аэропорт».

Вопрос 1. Для каких типов задач (приложений) проектируется БД? Ответ. Для трех типов задач: Задача 1. Информацияоб обслуживающем персонале. Задача 2. Информация о полетных средствах Задача 3. Информация о графике дви­жения самолетов.

Вопрос 2. Какими информационными объектами характеризуются эти задачи? Ответ. Задача 1 характеризуется тремя информационными объектами: летный со­став, диспетчеры, технический персонал. Задача 2 характеризуется двумя информа­ционными объектами: самолет, взлетное поле. Задача 3 характеризуется одним ин­формационным объектом — рейсы.

Вопрос 3. Каким текущим запросам должны удовлетворять данные информационные объекты? Ответ.

1. ФИО, звание, должность членов экипажа самолета.

2. Списочный состав диспетчеров.

3. Состав смены технического персонала.

4. Тип самолета, который может обслуживать тот или иной пилот.

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

6. Номер личного дела сотрудника аэропорта.

7. Номер смены диспетчеров и технического персонала, обслуживающего аэропорт в заданном интервале времени.

8. Готовность самолета с номером № к полету.

9. Количество часов налета самолета с № .

10. Готовность данной взлетной полосы в настоящее время.

12. Номер (номера) рейса до данного пункта назначения.

13. Какие промежуточные посадки совершает рейс № ?

14. Время вылета и расчетное время прибытия рейса № .

15. Время и место регистрации рейса №

17. До какого времени задерживается рейс № ?

18. Какие типы самолетов обслуживают рейс №. ?

19. Какой номер самолета обслуживает рейс N°. ?

Вопрос 4. Каким перспективным запросам должны удовлетворять информационные объекты в БД «Аэропорт»?

1. С какого года используется самолет с № в аэропорту, тип самолета?

2. Какое количество часов полета у члена экипажа, ФИО?

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

Вторая фаза анализа предметной области состоит в выборе информационных объ­ектов, задании необходимых свойств для каждого объекта, выявлении связей между объектами, определении ограничений, накладываемых на информационные объекты, типы связей между ними, характеристики информационных объектов.

При выборе информационных объектов следует ответить на следующие вопросы:

1. На какие классы можно разбить данные, подлежащие хранению в БД?

2. Какое имя можно присвоить каждому классу данных?

3. Какие наиболее интересные характеристики (с точки зрения пользователя) каж­дого класса данных можно выделить?

4. Какие имена можно присвоить выбранным наборам характеристик?

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

1. Какие типы связей между информационными объектами?

2. Какое имя можно присвоить каждому типу связей?

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

4. Имеют ли смысл какие-нибудь комбинации типов связей?

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

При выявлении условий ограничения целостности проектировщик пытается отве­тить на следующие вопросы:

1. Какова область значений для числовых характеристик?

2. Каковы функциональные зависимости между характеристиками одного инфор­мационного объекта?

3. Какой тип отображения соответствует каждому типу связей?

Пример 1 (продолжение). Для БД «Сессия студентов» выберем следующие сущности: институт, факультет, студент, преподаватель, дисциплина, ведомость. Каждую сущность зададим набором атрибутов (ключевые атрибуты подчеркнем): институт (сокращение , название, подчиненность, адрес, телефон, ФИО ректора).

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

дисциплина (шифр дисциплины , название, число часов, виды занятий, число читае­мых семестров, на каких курсах преподается).

ведомость (№ п/п, номер зачетной книжки студента, код дисциплины, семестр, фор­ма сдачи, дата сдачи, отметка, преподаватель). Определим связи между сущностями.

Имя связи учится изучает принадлежит
студент, факультет студент, дисциплина институт, факультет
работает преподает экзамен

Рассмотрим некоторые ограничения на характеристики объектов:

1. Значение атрибута «телефон» (сущность — институт) задается целым положи­
тельным шестизначным числом, задавать значение будем по маске __-__-__ .

2. Значение атрибута «код факультета» (сущность факультет) лежит в интервале
0-10.

3. Значение атрибута «курс» (сущность — студент) лежит в интервале 1-6 и хранится первая цифра номера группы.

4. Значение атрибута «семестр» (сущность — студент, дисциплина) лежит в интерва­ле 1-12.

5. Значение атрибута «число часов» (сущность — дисциплина) лежит в интервале 1-300.

6. Одному студенту может быть приписана только одна группа.

7. Один студент может учиться только на одном факультете.

8. Один студент в семестре сдает от 3 до 10 дисциплин.

9. Один студент изучает в семестре от 6 до 12 дисциплин.

10.Одному преподавателю приписывается только одна кафедра.

11.Один студент может пересдавать одну дисциплину не более трех раз.

Ключи: сокращение (названия института), код факультета, номер зачетной книжки, № страхового свидетельства преподавателя, шифр дисциплины, № п/п.

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

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

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

Одной из распространенных моделей концептуальной схемы является модель «сущность-связь». Остановимся на наиболее известной модели данного типа, назван­ной по фамилии автора, — модели П. Чена, или ER-модели. Основными конструкция­ми данной модели являются сущности и связи.

Под сущностью понимают основное содержание объекта ПО, о котором собирают информацию. В качестве сущности могут выступать место, вещь, личность, явление. Экземпляр сущности — конкретный объект. Например: сущность (объект) — студент, экземпляр сущности — Иванов А. В.; сущность (объект) — институт, экземпляр сущно­сти — КГУ.

Сущность принято определять атрибутами — поименованными характеристика­ми. Например: сущность — студент, атрибуты — ФИО, год рождения, адрес, номер группы ит.д.

Чтобы задать атрибут в модели, ему надо присвоить имя и определить область до­пустимых значений. Одно из назначений атрибута — идентифицировать сущность.

Читайте также:  Медкнижка какие анализы сдавать 2017

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Только сон приблежает студента к концу лекции. А чужой храп его отдаляет. 8882 — | 7568 — или читать все.

источник

1 Анализ предметной области

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

— возможность входа под персональными логином и паролем для администратора (для редактирования содержимого сайта);

— возможность регистрации и входа под логином и паролем персонала организации (для выкладки новостной информации на сайт);

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

1.2 Исследование предметной области

Центр сопровождения клиентских операций (ЦСКО) Сбербанка «Байкал» – двенадцатый в системе банка. ЦСКО «Байкал» сопровождает клиентские операции подразделений Байкальского банка Сбербанка России, действующего на территории, превышающей 1,5 млн кв. км и охватывающей Иркутскую область, Забайкалье и Республику Бурятия.

ЦСКО создаются в рамках проекта трансформации операционных функций Сбербанка, цель которого — повышение эффективности работы банка и качества обслуживания клиентов. Основная задача ЦСКО – комплексное обслуживание и сопровождение всех операций клиентов: по вкладам, кредитам, банковским картам, коммунальным и социальным платежам, переводу средств, платежам юридических лиц. Благодаря передаче сопровождения операций в единый центр ускоряется обслуживание непосредственно в офисах банка, при этом сотрудники получают больше возможностей для консультирования и индивидуальной работы с клиентами. В результате централизации операционных процессов эффективность деятельности банка возрастает в среднем на треть.

России» – крупнейший банк в России, на долю которого приходится около 27% активов российской банковской системы и насчитывающий около 240 тысяч сотрудников. Учредителем и основным акционером России» является Центральный банк Российской Федерации, владеющий свыше 57.6% голосующих акций. Другими акционерами банка являются более 245 тысяч физических и юридических лиц. Банк имеет одну из самых разветвленных филиальных сетей в России: 17 территориальных банков, около 19 тысяч отделений и внутренних структурных подразделений, а также дочерние банки в Казахстане, Украине и Белоруссии, филиал в Индии, представительства в Германии и Китае. После приобретения Volksbank International в 2012 году Сбербанк имеет представительства в 9 странах Центральной и Восточной Европы.

Байкальский банк Сбербанка России обслуживает клиентов в Иркутской области, Забайкальском крае и республике Бурятии. Это около 10% территории России и более 4,5 миллионов жителей. Байкальский банк – это 8 отделений, 525 офисов, в том числе 6 операционных касс вне кассового узла, 12 операционных офисов и 12 передвижных пунктов кассовых операций на всей территории Восточной Сибири: от границы с Монголией и Китаем до Якутии, от Красноярского края до Дальнего Востока. Банк лидирует в регионе по объему эмиссии и по широте торгово-сервисной сети банковских карт, по величине кредитного портфеля как для бизнеса, так и для физических лиц, по количеству предлагаемых услуг. Банк осуществляет корреспондентские отношения с банками Монголии и Китая, выступает поручителем во внешнеторговых сделках. Байкальский банк Сбербанка России сотрудничает с крупнейшими предприятиями Восточной Сибири, предоставляет банковские услуги всем отраслям и направлениям производства и торговли, учреждениям здравоохранения и образования, государственным структурам, малому бизнесу.

Генеральная лицензия Банка России на осуществление банковских операций 1481.

Центр сопровождения клиентских операций (ЦСКО) Байкальского банка Сбербанка России недавно поменял свой статус. Теперь подразделение носит название ПЦП (подразделение центрального подчинения) ЦСКО «Байкал» и соответственно подчиняется непосредственно Сбербанку России. Данное преобразование, а именно централизация всех существующих ЦСКО Сбербанка по всей стране позволит банку обеспечить оперативную обработку банковских операций практически в режиме 24 часа в сутки.

Центр сопровождения клиентских операций (ЦСКО) Байкальского банка Сбербанка России, получивший звучное имя «Байкал», начал работать в Иркутске в декабре 2010 года. Официально он стал двенадцатым в федеральной системе Сбербанка — подобные центры (всего их пятнадцать) также существуют в Москве, Санкт-Петербурге, Перми и в ряде других городов. Первоначально ЦСКО Байкал обслуживал только операции клиентов на территории деятельности Байкальского банка, т. е. Иркутской области, Бурятии и Забайкалья, сегодня сотрудники ЦСКО в Приангарье осуществляют операции и клиентов Сбербанка других территорий. И это стало возможным именно после перевода ЦСКО в статус подразделения центрального подчинения, с ноября этого года все центры сопровождения клиентских операций в системе Сбербанка начинают работу в едином операционном пространстве под руководством Операционного департамента России».

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

Такая организация процесса позволит значительно экономить время. Например, когда в Иркутске уже заходит солнце, в Москве продолжается рабочий день, а значит, продолжается обработка операций. И наоборот. Таким образом, банк экономит один день, равномерно распределяя нагрузку между ЦСКО, расположенными в разных часовых поясах. ЦСКО Байкал уже сделал первые шаги в сопровождении операций клиентов других территориальных банков Сбербанка России, так, например, иркутские сотрудники участвуют в обработке обращений клиентов, поступивших из Москвы.

1.2.2 Обоснование потребности в web-сайте

У ПЦП ЦСКО «Байкал» никогда не было своего персонального сайта. На сегодняшний день практически каждая организация имеет собственный web-сайт. В условиях использования современных информационных технологий в процессе образования – это необходимый фактор, позволяющий автоматизировать распространение информации, касающейся данной организации (в данном случаи ПЦП ЦСКО «Байкал»), облегчить процесс обмена данными.

Создание и разработка сайтов включает:

— утверждение первоначального технического задания на разработку сайта;

— определение структурной схемы сайта — расположение разделов, контента и навигации;

— веб-дизайн — создание графических элементов макета сайта, стилей и элементов навигации;

— разработка программного кода, модулей, базы данных и других элементов сайта необходимых в проекте;

— тестирование и размещение сайта в сети Интернет.[3]

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

— проанализировать уже существующую модель web-сайта ИГО и сделать заключение о том, что необходимо изменить;

— принять решение о необходимость написания web-сайта в ручную, без использования систем управления содержимым, выбрать язык программирования;

— разработка проекта (макета) web-сайта организации.

Информация, доступная пользователям Internet, располагается на компьютерах (Web-серверах), на которых установлено специальное программное обеспечение. Значительная часть этой информации организована в виде Web-сайтов. Каждый из них имеет свое имя (адрес) в Internet.

Web-сайт – это информация, представленная в определенном виде, которая располагается на Web-сервере и имеет свое имя (адрес). Для просмотра Web-сайтов на компьютере пользователя используются специальные программы, которые называются браузерами. В зависимости от того, какое имя (адрес) сайта мы зададим в строке «Адрес», браузер будет загружать в свое окно соответствующую информацию.[1]

Web-сайт состоит из связанных между собой Web-страниц. Web-страница представляет собой текстовый файл с расширением *.htm, который содержит текстовую информацию и специальные команды – HTML-коды, определяющие в каком виде эта информация будет отображаться в окне браузера. Вся графическая, аудио — и видео-информация непосредственно в Web-страницу не входит и представляет собой отдельные файлы с расширениями *.gif, *.jpg (графика), *.mid, *.mp3 (звук), *.avi (видео). В HTML-коде страницы содержатся только указания на такие файлы.

Каждая страница Web-сайта также имеет свой Internet адрес, который состоит из адреса сайта и имени файла, соответствующего данной странице. Таким образом, Web-сайт – это информационный ресурс, состоящий из связанных между собой гипертекстовых документов (Web-страниц), размещенный на Web-сервере и имеющий индивидуальный адрес. Посмотреть Web-сайт может любой человек, имеющий компьютер, подключенный к Internet.[14]

1.3.2 Классификация web-сайтов

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

Классификация сайтов по используемым технологиям.

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

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

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

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

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

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

Мобильные устройства, которые приобретают все большую популярность, в ближайшее время полностью откажутся от использования флэша.[13]

Классификация сайтов по видам доступа.

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

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

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

Закрытые (окукленные) — сайты с закрытым доступом. Это могут быть служебные корпоративные сайты, личные сайты частных лиц или группы лиц. Такие сайты доступны для узкого круга пользователей. Доступ новым пользователям обычно предоставляется через специальные приглашения – инвайты. Инвайт – это код доступа (набор символов) или ссылка, содержащая в себе код, для регистрации в закрытом сервисе, форуме или партнерской программе. Приглашение обычно можно получить у уже зарегистрированного участника, либо у службы поддержки, либо выполнив определенные условия, установленные администрацией закрытого интернет-проекта. Инвайт используют для ограничения доступа к сервису сайта от посторонних пользователей. Закрытыми также могут быть проекты на стадии начального тестирования их сервисов.[12]

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

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

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

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

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

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

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

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

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

Интернет-портал — крупный информационный ресурс, объединяющий различные сервисы. Портал предоставляет широкий спектр информации по определенной тематике. В рамках интернет-портала пользователи могут общаться друг с другом посредством форума, чата, мгновенных сообщений и других средств взаимодействия. Также портал может содержать развлекательный контент.[8]

1.4 Выбор среды программирования

Учитывая поставленные выше задачи, наиболее оптимальной базой для разработки такого рода сайта является HTML+PHP и язык запросов SQL.

1.4.1 Анализ возможностей HTML

Обмен информацией в Интернет осуществляется с помощью протоколов прикладного уровня, реализующих тот или иной прикладной сервис (пересылку файлов, гипертекстовой информации, почты и т. д.). Одним из наиболее молодых и популярных сервисов Интернет, развитие которого и привело к всплеску популярности самой Интернет, стала World Wide Web (WWW), основанная на протоколе HTTP (Hyper Text Transfer Protocol — протокол передачи гипертекстовой информации). Гипертекстовые документы, представленные в WWW, имеют одно принципиальное отличие от традиционных гипертекстовых документов — связи, в них использующиеся, не ограничены одним документом, и более того, не ограничены одним компьютером. Для подготовки гипертекстовых документов используется язык HTML (Hyper Text Markup Language – язык разметки гипертекстовых документов), предоставляющий широкие возможности по форматированию и структурной разметке документов, организации связей между различными документами, средства включения графической и мультимедийной информации. HTML-документы просматриваются с помощью специальной программы — браузера. Наибольшее распространение в настоящее время получили браузеры Internet Explorer компании Microsoft (MSIE), Opera компании Opera Software ASA, Google chrome компании Google.[9]

HTML-документ состоит из текста, представляющего собой содержание документа, и тегов, определяющих его структуру и внешний вид при отображении браузером. Простейший html-документ выглядит следующим образом

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

Текст всего документа заключается в теги , сам документ разбивается на две части — заголовок и тело. Заголовок описывается тегами , в которые могут быть включены название документа (с помощью тегов ) и другие параметры, использующиеся браузером при отображении документа. Тело документа заключено в теги и содержит собственно информацию, которую видит пользователь. При отсутствии тегов форматирования весь текст выводится в окно браузера сплошным потоком, переводы строк, пробелы и табуляции рассматриваются как пробельные символы, несколько пробельных символов, идущих подряд, заменяются на один. Для форматирования используются следующие основные теги:

— начало нового абзаца, может иметь параметр, определяющий выравнивание:

— перевод строки в пределах текущего абзаца;

— выделение текста подчеркиванием

1.4.2 Анализ возможностей PHP

PHP (Hypertext Preprocessor — Препроцессор Гипертекста)– это широко используемый язык сценариев общего назначения с открытым исходным кодом.

PHP — язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере. Синтаксис языка во многом основывается на синтаксисе C, Java и Perl. Он очень похож на С и на Perl, поэтому для профессионального программиста не составит труда его изучить. С другой стороны, язык PHP проще, чем C, и его может освоить веб-мастер, не знающий пока других языков программирования.

Достоинством PHP, в отличие от, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. PHP не зависит от скорости компьютера пользователя или его браузера, он полностью работает на сервере. Пользователь даже может не знать, получает ли он обычный HTML-файл или результат выполнения скрипта.

Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.

PHP способен генерировать и преобразовывать не только HTML документы, но и изображения разных форматов — JPEG, GIF, PNG, файлы PDF и FLASH. PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.

PHP — кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS и многих других. PHP поддерживается на большинстве вебсерверов, таких, как Apache, Microsoft Internet Information Server (IIS), Microsoft Personal Web Server и других.

Для большинства серверов PHP поставляется в 2-х вариантах — в качестве модуля и в качестве CGI препроцессора.

PHP поддерживает работу с ODBC и большое количество баз данных: MySQL, MSQL, Oracle, PostgreSQL, SQLite и др.

Язык программирования PHP, особенно в связке с популярнейшей базой данных MySQL — оптимальный вариант для создания интернет-сайтов различной сложности.

Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминирование в области языков web-программирования.

В данном дипломном проекте стоит задача создания информационного сайта Института гуманитарного образования, с элементами динамических сайтов (вход на сайт, регистрация, загрузка информационных ресурсов, скачивание информационных ресурсов и др.), который будет отвечать всем выше указанным требованиям. Для реализации поставленной задачи были выбраны языки программирования HTML и PHP. Создаваться сайт будет в ручную, без использования каких-либо систем управления содержимым.[10]

1.4.3 Анализ возможностей SQL

SQL ( Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Реляционная база данных — база данных, основанная на реляционной модели данных. Реляционная модель данных (РМД) — логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка.

SQL — это стандартный язык доступа к БД, таким как SQL Server, Oracle, MySQL, Sybase и Access..

SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т. п. В связи с этим SQL автономно не используется, обычно он погружен в среду встроенного языка программирования СУБД (например, FoxPro СУБД Visual FoxPro, ObjectPAL СУБД Paradox, Visual Basic for Applications СУБД Access).

Читайте также:  Какие анализы сдать при кровотечение

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

Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL. Стандарт языка SQL поддерживают современные реализации следующих языков программирования: PL/1, Ada, С, COBOL, Fortran, MUMPS и Pascal.

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

Различают два основных метода использования встроенного SQL: статический и динамический.

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

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

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

Для удобства работы с представлениями в язык SQL введено понятие курсора. Курсор представляет собой своеобразный указатель на набор записей в представлении, обеспечивающий в каждый момент доступ лишь к некоторой небольшой части строк представления. С помощью операторов перемещения курсора по записям можно получить доступ ко всем строкам таблицы.[16]

В данном проекте используется MySQL, т. к. обладает некоторыми преимуществами:

— производительность (из-за чего Google и Yahoo используют именно MySQL);

— масштабируемость (в компании Omniture в реальном масштабе времени используется 7000 серверов MySQL);

— надежность (в коде конкурентных продуктов содержится в десять с лишним раз больше уязвимостей);

— простота использования, простота внедрения (за 15 минут можно скачать и запустить систему);

— открытая и модульная разработка;

низкие совокупные затраты (платить нужно только при потребности в поддержке).

Стадии разработки, этапы и содержание работ должны соответствовать указанным в таблице 1.

Таблица 1 – Стадии и этапы разработки ПО

Обоснование необходимости разработки программы

Постановка задачи
Сбор исходных материалов
Выбор и обоснование критериев эффективности и качества разрабатываемой программы
Обоснование необходимости проведения научно-исследовательских работ

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

Разработка и утверждение технического задания

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

Разработка эскизного проекта

Предварительная разработка структуры входных и выходных данных
Уточнение методов решения задачи
Разработка общего описания алгоритма решения задачи
Разработка технико-экономического обоснования

Утверждение эскизного проекта

Разработка пояснительной записки
Согласование и утверждение эскизного проекта

Разработка технического проекта

Уточнение структуры входных и выходных данных
Разработка алгоритма решения задачи
Определение формы представления входных и выходных данных
Определение семантики и синтаксиса языка
Разработка структуры программы
Окончательное определение конфигурации технических средств

Утверждение технического проекта

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

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

Разработка программной документации

Разработка программных документов в соответствии с требованиями ГОСТ 19.101-77

Разработка, согласование и утверждение программы и методики испытаний
Проведение предварительных государственных, межведомственных, приемо-сдаточных и других видовиспытаний
Корректировка программы и программной документации по результатам испытаний

Подготовка и передача программы

Подготовка и передача программы и программной документации для сопровождения и (или) изготовления
Оформление и утверждение акта о передаче программы на сопровождение и (или) изготовление
Передача программы в фонд алгоритмов и программ

1. Допускается исключать вторую стадию разработки, а в технически обоснованных случаях — вторую и третью стадии. Необходимость проведения этих стадий указывается в техническом задании;

2. Допускается объединять, исключать этапы работ и (или) их содержание, а также вводить другие этапы работ по согласованию с заказчиком.[2]

Исходя из этого создание сайта можно разделить на следующие этапы:

— администрирование (поддержка) сайта.

На этом этапе необходимо сформировать основную идею будущего сайта.

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

— Затем определяется целевая аудитория (то есть для кого будет этот сайт).

— Выясняется, какую информацию ожидают видеть посетители, это поможет с определением контента (текстовой информацией) на сайте.

— Затем нужно определиться с технической стороной (программным обеспечением).

— Навигация. Все должно быть интуитивно понятно, максимально просто.

На этом же этапе составляется ТЗ (техническое задание).

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

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

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

Виды верстки при создании сайта:

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

— табличная. В табличной верстке можно создавать колонки, таблицы в браузерах выглядят почти одинаково. Недостатки: индексация такого сайта очень медленная, долго загружаются страницы и код такой верстки слишком большой.[15]

В результате разработки получена база данных, часть таблиц которой изображена на рисунке 1.

Рисунок 1 – Структура базы данных

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

Язык программирования представляет собой знаковую систему, которая предназначена для описания алгоритмов. Самые популярные языки программирования: Java, C, C++, Delphi, Basic, PHP, Perl, Ruby и др.

После всех этих действий сайт публикуется в сети.

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

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

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

Ресурс можно обновлять как самостоятельно, так и при помощи поддержки специалистов.[15]

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

Рисунок 2 — Этапы разработки web-сайта

Разработка программного обеспечения (англ. software engineering, software development) — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.[11]

2.2.1 Сложность разработки программного обеспечения

Как и другие традиционные инженерные дисциплины, разработка программного обеспечения имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин, таких как самолеты.[11]

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

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

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

Данная методология направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.

Методология структурного проектирования программного обеспечения может использоваться с применением самых различных языков и средств программирования для разработки надёжных программ самого различного назначения. Одним из таких проектов была разработка бортового программного обеспечения для космического корабля «Буран», в котором впервые использовался бортовой компьютер для автоматического управления аппарата, совершившего успешный старт и посадку космического корабля.

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

2.2.3 Участники процесса разработки ПО

Участниками процесса разработки программного обеспечения являются:

2.2.4 Проблемы разработки ПО

Наиболее распространённые проблемы, возникающие в процессе разработки ПО.

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

Недостаток контроля. Без точной оценки процесса разработки срываются графики выполнения работ и превышаются установленные бюджеты. Сложно оценить объём выполненной и оставшейся работы. Данная проблема возникает на этапе, когда проект, завершённый более чем наполовину, продолжает разрабатываться после дополнительного финансирования без оценки степени завершённости проекта.

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

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

Недостаточная надежность. Самый сложный процесс — поиск и исправление ошибок в программах на ЭВМ. Поскольку число ошибок в программах заранее неизвестно, то заранее неизвестна и продолжительность отладки программ и отсутствие гарантий отсутствия ошибок в программах. Следует отметить, что привлечение доказательного подхода к проектированию ПО позволяет обнаружить ошибки в программе до её выполнения. В этом направлении много работали Кнут, Дейкстра и Вирт. Профессор Вирт при разработке Паскаля и Оберона за счет строгости их синтаксиса добился математической доказуемости завершаемости и правильности программ, написанной на этих языках. Данная проблема возникает при неправильном выборе средств разработки. Например, при попытке создать программу, требующую средств высокого уровня, с помощью средств низкого уровня. Например, при попытке создать средства автоматизации с СУБД на ассемблере. В результате исходный код программы получается слишком сложным и плохо поддающимся структурированию.

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

2.3.1 Определение технологии конструирования программного обеспечения

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

Различают методы, средства и процедуры ТКПО.

Методы обеспечивают решение следующих задач:

— планирование и оценка проекта;

— анализ системных и программных требований;

— проектирование алгоритмов, структур данных и программных структур;

Средства (утилиты) ТКПО обеспечивают автоматизированную или автоматическую поддержку методов. В целях совместного применения утилиты могут объединяться в системы автоматизированного конструирования ПО. Такие системы принято называть CASE-системами. Аббревиатура CASE расшифровывается как Computer Aided Software Engineering (программная инженерия с компьютерной поддержкой).

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

— порядок применения методов и утилит;

— формирование отчетов, форм по соответствующим требованиям;

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

— формирование «вех», по которым руководители оценивают прогресс.

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

Применение парадигм ТКПО гарантирует систематический, упорядоченный подход к промышленной разработке, использованию и сопровождению ПО. Фактически, парадигмы вносят в процесс создания ПО организующее инженерное начало, необходимость которого трудно переоценить.[11]

В данном дипломном проекте в качестве парадигмы было выбрано макетирование.

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

Основная цель макетирования — снять неопределенности в требованиях заказчика.

Макетирование (прототипирование) — это процесс создания модели требуемого программного продукта.

Модель может принимать одну из трех форм:

— бумажный макет или макет на основе ПК (изображает или рисует человеко-машинный диалог);

— работающий макет (выполняет некоторую часть требуемых функций);

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

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

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

Затем выполняется быстрое проектирование. В нем внимание сосредоточивается на тех характеристиках ПО, которые должны быть видимы пользователю.

Быстрое проектирование приводит к построению макета.

Макет оценивается заказчиком и используется для уточнения требований к ПО.

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

Достоинство макетирования: обеспечивает определение полных требований к ПО.

— заказчик может принять макет за продукт;

— разработчик может принять макет за продукт.

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

Рисунок 4 — Последовательность действий при макетировании

С другой стороны, для быстрого получения работающего макета разработчик часто идет на определенные компромиссы. Могут использоваться не самые подходящие язык программирования или операционная система. Для простой демонстрации возможностей может применяться неэффективный алгоритм. Спустя некоторое время разработчик забывает о причинах, по которым эти средства не подходят. В результате далеко не идеальный выбранный вариант интегрируется в систему.[11]

Заказчик (в данном случае, директор ЦСКО «Байкал») определил перед разработчиком некоторые требования, которые необходимо было структурировать и реализовать в проекте.

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

— определение структуры сайта;

— пожелания, касаемые интерфейса сайта;

— требования к функционалу сайта.

Сайт состоит из следующих главных разделов:

— главная страница. На главной странице отображаются приветственные слова для всех посетителей сайта. Оформление включает в себя логотип Сбербанка, для уточнения принадлежности ЦСКО к банку. Также представлено меню сайта, которое включает следующие разделы: «Главная», «Новости», «О нас», «Сотрудники», «Контакты»:

— страница «Главная» — это первая страница, которая открывается после входа на сайт. На ней расположены новейшие новости, добавленые на сайт, календарь, тестовый опросник, вопросы которого может менять администратор сайта, архив всех новостей и файлов, которые на данное время потеряли актуальность;

— страница «Новости». Раздел предназначен для публикации актуальных новостей и донесения нужной информации до персонала ЦСКО;

— страница «О нас». Этот раздел будет включать в себя краткую историю создания ЦСКО;

— страница «Сотрудники». В этом разделе представлен список сотрудников ЦСКО с фотографиями;

— страница «Контакты», предполагает обратную связь посетителей сайта с администрацией сайта. Это как отправка сообщений в администрацию сайта или персоналу ЦСКО, так и способ наглядно увидеть адрес и телефоны ЦСКО.

Для понятного и доступного представления внешнего вида сайта было решено сделать макет сайта с помощью Microsoft Power Point. Это средство компании Microsoft даёт возможность заказчику представить в полной мере не только внешний вид сайта (цветовую гамму, шрифт, изображения и др.), но и его функциональность (ссылки на страницы, формы для заполнения и редактирования информации и др.).

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

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

Несколько слайдов из утвержденного макета представлены на рисунках 5-7.

Рисунок 5 – Главная станица

Рисунок 6 – Внешний вид «Админпанели» (презентация PowerPoint)

Рисунок 7 – Страница «Новости» (презентация PowerPoint)

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

а) на главной странице «Логин» и «Пароль» исчезают после входа и появляются после нажатия «Выход»;

б) после входа, на всех слайдах надпись: «Здравствуйте, (вошедший)!».

Вход и права пользователей должны разделяться в соответствии с тем, кто зашел на сайт. Авторизироваться на сайте можно двумя путями:

— либо это admin под своим паролем;

— либо user (любой сотрудник под одним логином и паролем).

Логины представлены списком на выбор (admin, user). Те, кто не авторизировался, именуется Гость. Представители всех категорий будут знать условия авторизации.

Права доступа к редактированию сайта:

— если авторизирован admin, то сайт открывается в режиме редактирования всех его разделов;

— если авторизирован user, то возможны лишь просмотр страниц сайта и загрузка новостной информации сайта.

Для написания программного кода сайта было решено использовать такие средства, как:

— язык программирования PHP 5;

— Apache HTTP Web Server Version 2.2;

— система управления базами данных MySQL (использование средства администрирования баз данных PHPMyAdmin).

Все программные коды написаны в текстовом редакторе Microsoft Word 2003 на языке программирования PHP 5, без использования систем управления содержимым.

База данных MySQL разработана на сервере баз данных PHPMyAdmin, далее привязка страниц к разработанной базе данных произведена путем прописывания пути к базе данных в php-коде.

Далее, сохраненные файлы с расширением *.php, проверялись с использованием локального сервера Apache. Но прежде чем использовался Apache, он был установлен и настроен для корректной работы служб. После, все написанные php-коды копировались в папку www, и, после запуска браузера Google Ghrome, в строке прописывался путь к папке www, и название файла с кодом главной страницы сайта. После загрузки главной страницы, проверялась корректная работа всех механизмов и функций сайта.

Программный php-код приведен в приложениях А-Б.

источник