Принципы проектирования информационных систем
Информационная система (ИС) – программно-аппаратный комплекс, предназначенный для хранения и обработки информации какой-либо предметной области. База данных – важнейший компонент любой информационной системы. Хорошо структурированная информация в базе данных позволяет не только беспроблемно эксплуатировать систему и выполнять ее текущее обслуживание, но и модифицировать и развивать ее при модернизации предприятия и изменении информационных потоков, законодательства и форм отчетности.
В настоящее время в эксплуатации на крупных предприятиях находятся комплексные ИС управления предприятиями (КИС, корпоративные системы, ERP-системы), такие как R/3 фирмы SAP, Oracle E-Business Suite, BaanERP. Среди российских разработок приближаются по функциональности к системам класса ERP "Галактика", "Флагман", "Парус".
Многие ERP-системы могут устанавливаться и функционировать на различных операционных системах и серверах баз данных (многоплатформенные системы). База данных подобных систем состоит из нескольких тысяч таблиц (BaanERP 5.0с – более 2500 таблиц информации по одному предприятию).
Любая сложная система для обеспечения ее надежного функционирования строится как иерархическая система, состоящая из отдельных подсистем и модулей, которые взаимодействуют между собой и используют общую базу данных.
Понимание принципов разработки, организации и функционирования подобных систем, способов хранения и обработки информации необходимо каждому современному специалисту.
На рис. 1.1 показан полный состав системы BaanERP версии 5.0с (меню администратора системы) и состав модулей подсистемы "Производство".
Рис. 1.1. Подсистемы и модули BaanERP 5.0c
На рис. 1.2 приведена схема подсистем и модулей КИС "Флагман".
Рис. 1.2. Схема подсистем и модулей КИС "Флагман"
При описании информационной системы предполагается, что она содержит два типа сущностей: операционные сущности, которые выполняют какую-либо обработку (некоторый аналог программы), и пассивные сущности, которые хранят информацию, доступную для пополнения, изменения, поиска, чтения (база данных).
При проектировании сложных информационных систем используется метод декомпозиции – система разбивается на составные части, которые связаны, взаимодействуют друг с другом и образуют иерархическую структуру. Иерархический характер сложных систем хорошо согласуется с принципом групповой разработки. В этом случае деятельность каждого участника проекта ограничивается соответствующим иерархическим уровнем.
Классический подход к разработке сложных систем представляет собой структурное проектирование, при котором осуществляется алгоритмическая декомпозиция системы по методу "сверху вниз". Именно в этом случае можно построить хорошо функционирующую систему с общей базой данных, согласованными форматами использования и обработки информации на всех участках, с оптимальным взаимодействием всех подсистем.
Исторически сложилось так, что некоторые системы разрабатывались по методу "снизу вверх": вначале создавались отдельные автоматизированные рабочие места (АРМы), затем предпринимались попытки объединения их в единую информационную систему. Подобные разработки для крупных систем не могут быть успешны.
При создании проекта информационной системы для проектирования ее базы данных следует определить:
1. объекты информационной системы (сущности в концептуальной модели);
2. их свойства (атрибуты);
3. взаимодействие объектов (связи) и информационные потоки внутри и между ними.
При этом очень важен анализ существующей практики реализации информационных процессов и нормативной информации (законов, постановлений правительства, отраслевых стандартов), определяющих необходимый объем и формат хранения и передачи информации. Если радикальной перестройки сложившегося информационного процесса не предвидится, следует учитывать имеющиеся формы хранения и обработки информации в виде журналов, ведомостей, таблиц и т.п. бумажных носителей.
Однако предварительно необходимо выполнить анализ возможности перехода на новые системы учета, хранения и обработки информации, возможно, исходя из имеющихся на рынке программных продуктов-аналогов, разработанных крупными информационными компаниями и частично или полностью соответствующими поставленной задаче.
Схема формирования информационной модели представлена на рис.1.3.
Рис. 1.3. Схема формирования информационной модели
Концептуальная модель (см. рис.1.3) – отображает информационные объекты, их свойства и связи между ними без указания способов физического хранения информации (модель предметной области, иногда ее также называют информационно-логической или инфологической моделью). Информационными объектами обычно являются сущности – обособленные объекты или события, информацию о которых необходимо сохранять, имеющие определенные наборы свойств – атрибутов.
Физическая модель – отражает все свойства (атрибуты) информационных объектов базы и связи между ними с учетом способа их хранения – используемой СУБД.
Внутренняя модель – база данных, соответствующая определенной физической модели.
Внешняя модель – комплекс программных и аппаратных средств для работы с базой данных, обеспечивающий процессы создания, хранения, редактирования, удаления и поиска информации, а также решающий задачи выполнения необходимых расчетов и создания выходных печатных форм.
Создание информационной системы ведется в несколько этапов, на каждом из которых конкретизируются и уточняются элементы разрабатываемой системы.
Существуют различные типы схем, иллюстрирующих жизненный цикл разработки ИС. На рис.1.4 показана каскадная схема с обратной связью.
Рис. 1.4. Каскадная схема жизненного цикла ИС
Жизненный цикл разработки сложной системы в этом случае складывается из этапов анализа, проектирования, программирования и тестирования, внедрения и сопровождения, которые выполняются последовательно.
По принятым сегодня нормам, над любым проектом ИС работают:
- бизнес-аналитики, изучающие и моделирующие бизнес-процессы предметной области;
- системные аналитики и архитекторы, проектирующие архитектуру решения, приложений и данных;
- авторы кода приложений;
- специалисты по тестированию и оценке качества;
- авторы документации;
- авторы дистрибутивов;
- специалисты по внедрению,
причем обычно эти функции распределяются между различными специалистами, хотя совмещение ролей все еще практикуется.
На этапах проектирования и программирования могут использоваться методы объектно-ориентированного подхода к разработке объектов информационной системы (наследование, инкапсуляция, полиморфизм).