Рассмотрим контекстную диаграмму (Рис1):
Управляющая информация, которая входит в блок сверху:
· Закон «Об информатике и информатизации»;
· Законы, регулирующие предпринимательскую деятельность.
Входная информация, изображенная в виде стрелочек, входящих с левой стороны блока:
· Анкетные данные;
· Желание клиента.
Выходная информация, представленная с правой стороны:
· Договор с клиентом;
· Результаты поиска;
· Отчеты.
Механизм, осуществляющий операции, представлен стрелочками, входящими в блок снизу:
· Представитель банка;
· Администратор.
Рис. 1 Контекстная диаграмма
Далее представлена диаграмма декомпозиции контекстной диаграммы (Рис2). Рассмотрим ее более подробно:
Рис. 2 Диаграмма декомпозиции процесса
Из представленного рисунка видно, что происходит декомпозиция главного процесса на 4 подпроцесса, для которых управляющей информацией является Законы, регулирующие предпринимательскую деятельность и Закон «Об информатике и информатизации». И для всех 4-х подпроцессов механизмом, осуществляющем различные операции, является Администратор. В подпроцессе «Формирование базы данных клиента» операции осуществляет Администратор.
Рассмотрим каждый подпроцесс более подробно:
Оформление заказа на услугу:
Входная информация:
· Желание клиента;
· Анкетные данные.
Выходная информация:
· Ответ на заказ;
· Договор с клиентом.
Формирование БД клиентов:
Входная информация:
· Анкетные данные;
· Ответ на заказ клиента.
Выходная информация:
· Список клиентов.
Осуществление поиска:
Входная информация:
· Список клиентов.
Выходная информация:
· Результаты поиска.
Формирование отчетов:
Входная информация:
· Список клиентов;
· Анкетные данные.
Выходная информация:
· Различные виды отчетов.
RationalRose.
Rational Rose - CASE-средство фирмы Rational Software Corporation (США) - предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует синтез-методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Джекобсона. Разработанная ими универсальная нотация для моделирования объектов (UML - Unified Modeling Language) претендует на роль стандарта в области объектно-ориентированного анализа и проектирования. Конкретный вариант Rational Rose определяется языком, на котором генерируются коды программ (C++, Smalltalk, PowerBuilder, Ada, SQLWindows и ObjectPro). Основной вариант - Rational Rose/C++ - позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать программные коды на С++. Кроме того, Rational Rose содержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах.
В результате разработки проекта с помощью CASE-средства Rational Rose формируются следующие документы:
· диаграммы классов;
· диаграммы состояний;
· диаграммы сценариев;
· диаграммы модулей;
· диаграммы процессов;
· спецификации классов, объектов, атрибутов и операций
· заготовки текстов программ;
· модель разрабатываемой программной системы.
Последний из перечисленных документов является текстовым файлом, содержащим всю необходимую информацию о проекте (в том числе необходимую для получения всех диаграмм и спецификаций).
2.4 Постановка задач по подсистемам
2.4.1 Диаграмма вариантов использования (клиент)(Рис3).
Суть этой диаграммы сводится к тому, что клиент выполняет операцию. Это его основная функция. Но, перед тем как её выполнить, он изучает сайт. Если что-то не находит в списке операций, он может воспользоваться поиском. В любом случае, независимо от его «пути», он выбирает операцию, проводит её и получает, в итоге, отчет. Это что касалось КЛИЕНТа, а дальше рассмотрим точку зрения администратора (Рис 4).
Диаграмма вариантов пользования (Администратор)(Рис4).
В функции администратора входит:
· Обновление сайта. Эта функция необходима, т.к. конкуренция в данной сфере очень большая, поэтому постоянно требуется помещать новую рекламу, а так же следить за новинками в мире информационных технологий;
· Создание базы данных клиентов. Необходимо, чтобы вся информация была структурирована, упорядочена, а так же для быстрого поиска нужного человека. База данных строится на основании анкетных данных клиента;
· Обновление базы данных. Периодически может появляться необходимость в обновлении некоторых данных, а так же добавлении новых полей.
· Осуществление поиска клиента по фамилии, либо по статусу.
· Осуществить регистрацию клиента. Анкетные данные клиента внести в базу данных.
Формирование отчетов. Каждый администратор должен составлять отчеты для руководства, чтобы повысить качество обслуживания, а также вовремя выявить недостатки. Отчеты бывают: составление списков количества клиентов за день, список выполненных заказов.
Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений.
Данная диаграмма классов позволяет увидеть взаимоотношения между объектами системы, связи и зависимости (Рис5).
Рис5. Диаграмма классов
Из представленной на рис.5 диаграммы видно иерархию вложенности классов для класса «Сотрудники». Данное отношение является отношением обобщения, т.е. благодаря данному отношению можно описать иерархическое строение классов и наследование их свойств и поведения.
У всех сотрудников: администратор, представитель банка – одинаковые атрибуты, но идентификатором каждого из них является код сотрудника, который является персональным атрибутом каждого класса. Атрибуты: Фамилия, Имя, Отчество, юридический адрес, должностная инструкция. В то же время у каждого класса-потомка имеются собственные операции.
Класс-потомок «Представитель банка» выполняет следующие операции:
· Оформление заказа на услугу;
· Предоставление договора клиенту.
Класс-потомок «Администратор» выполняет следующие операции:
· Сформировать базу данных;
· Обновить базу данных;
· Выполнить поиск;
· Обновить сайт.
Ну а в иерархии «Отчеты» нет никаких классов-потомков.
Таким образом, с помощью вышеописанных диаграмм можно увидеть как функционирует система обслуживания клиентов банка, кто участвует, какие функции выполняются, какие атрибуты присущи объектам.
2.5 Выбор СУБД для реализации БД
База данных – это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление выборку и отображение данных.
Реляционная база данных. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц ( Microsoft Excel ), которые могут эмулировать некоторые функции баз данных. Существует три принципиальных отличия между СУБД и программами электронных таблиц:
СУБД разрабатываются с целью обеспечения эффективной обработки больших объёмов информации, намного больших, чем те, с которыми справляются электронные таблицы;
СУБД может легко связывать две таблицы так, что для пользователя они будут представляться одной таблицей. Реализовать такую возможность в электронных таблицах практически невозможно;
СУБД минимизируют общий объём базы данных. Для этого таблицы, содержащие повторяющиеся данные, разбиваются на несколько связанных таблиц.
Так как средой программирования была выбрана PHP , то логично, что работая в связке Apache/PHP/MySQL, системой управления базой данных был выбран MySQL .
СУБД MySQL - одна из множества баз данных, поддерживаемых в PHP. MySQL разработал Михаэль Видениус. MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL).
Система MySQL распространяется бесплатно и обладает достаточной мощностью для решения реальных задач. SQL - это аббревиатура от слов Structured Query Language, что означает структурированный язык запросов. Этот язык является стандартным средством для доступа к различным базам данных.
Система MySQL представляет собой сервер, к которому могут подключаться пользователи удаленных компьютеров.
Основные стороны пакета MySQL:
· Многопоточность. Поддержка нескольких одновременных запросов;
· Оптимизация связей с присоединением многих данных за один проход;
· Записи фиксированной и переменной длины;
· ODBC драйвер в комплекте с исходником;
· Гибкая система привилегий и паролей;
· До 16 ключей в таблице. Каждый ключ может иметь до 15 полей;
· Поддержка ключевых полей и специальных полей в операторе CREATE;
· Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени;
· Интерфейс с языками C и perl;