УДК 681.518
Е.А. Ильина
Жизненный цикл информационной системы трудоустройства
Разработка программной системы представляет собой спиральный цикл, основанный на итеративном чередовании этапов объектно-ориенированного (ОО) анализа, проектирования и реализации [1-4].
Строятся модели программной системы, которые отражают различные взгляды на нее и служат основой для программирования. Система создается как последовательность исполняемых версий, все более полно отвечающих предъявляемым к системе требованиям.
Для того, чтобы построить систему, необходимо выявить функции, которые будет решать система и определиться с типом системы. На рисунке 1 представлена упрощенная классификация современных программных систем [5].
В зависимости от типа систем требуется соответствующее программное и аппаратное обеспечение, используется набор известных методов решения поставленных задач.
Жизненный цикл системы
В соответствии с классической каскадной организацией работ (waterfall model) разработка ведется сверху вниз и в случае неудачи можно возвратиться к предыдущему эта-
пу [6]. Современные средства автоматизации проектирования и разработки поддерживаются этой организации, которая представлена на рисунке 2.
Жизненный цикл системы состоит из этапов анализа требований, проектирования, разработки и эксплуатации.
Анализ требований
На данном этапе определяются основные функции и задачи, которые должна решать разрабатываемая система. Применительно к поставленной задаче, функциями биржи занятости и образовательных услуг являются:
1) содействие работодателям в подборе необходимых работников;
2) помощь в подборе вакансии
3) предоставление информации о курсах повышения квалификации, учебных заведениях и т.д.
4) анализ ситуации на рынке труда;
5) определение стратегии деятельности в области содействия занятости населения;
6) поддержка связи с центром и подключение к работе подчиненных служб занятости.
Также биржа занятости может включать советы психологов, психологические и тестовые материалы.
Информационные системы
Рис. 1. Типы информационных систем
Рис. 2. Процесс водопада
Затем происходит ознакомление с существующими системами подобного рода и обсуждение с потенциальными пользователями о том, какой они видят систему. Из всех функций системы выделяются наиболее приоритетные, описываются информационные потребности заказчика. Оценивается масштаб проекта и возможность использования существующих приложений и аппаратного обеспечения в разрабатываемой ИС. Определяется возможность реализации проекта на данных аппаратных средствах и т.д. Если система строится на базе сетевой технологии, изучается взаимодействие узлов сети. Затем определяется логика ввода-вывода, управление и преобразование данных, операции манипулирования файлами и базами данных. Исходя из масштаба разрабатываемой системы и наличия аппаратных и программных средств, выбирается среда разработки и СУБД (табл.) [5.]
Основными результатами этого этапа для разрабатываемой системы являются:
1. Список и описания функций ИС.
2. Предварительная функциональная модель ИС.
3. Предварительная информационная модель ИС.
Проектирование. На этапе анализа и проектирования проводится декомпозиция системы. Декомпозиция может быть алгоритмической и/или объектно-ориентирован-
ной. При алгоритмической декомпозиции, обычно происходит разделение алгоритмов, где каждый модуль системы выполняет один из этапов общего процесса. При проведении объектно-ориентированной декомпозиции изучаются объекты, участвующие в процессе. Названия объектов обычно заимствуются из словаря предметной области.
На данном этапе широко используются CASE-средства для быстрого получения работающих прототипов приложений.
Строятся диаграммы «сущность-связь» (ER диаграммы). Уточняются и дополняются требования к ИС, которые не были выявлены на предыдущем этапе. Более подробно рассматриваются процессы ИС. Анализируется и, при необходимости, корректируется функциональная модель ИС. Каждый процесс рассматривается детально. При необходимости, для каждого элементарного процесса совместно с пользователями создается частичный прототип: экран, диалог, отчет.
Устраняются неясности и неоднозначности. Определяются требования разграничения доступа к данным, набор необходимой документации по ИС. После детального определения состава процессов оценивается количество функциональных элементов ИС и принимается решение о разделении ИС на подсистемы.
Все модели и прототипы строятся с применением тех же CASE-средств, которые используются в дальнейшем при построении ИС, для того, чтобы избежать неконтролируемого искажения данных при передаче информации о проекте с этапа на этап.
Основные результаты этапа:
1. Общая информационная модель ИС.
2. Функциональные модели ИС в целом и подсистем.
3. Точно определенные интерфейсы между автономно разрабатываемыми подсистемами.
4. Построенные прототипы экранов, отчетов, диалогов.
Состав информации системы, обговоренный с пользователями, используем для разработки баз данных и web-интерфейса.
Разработка
Среди средств разработки информационных приложений можно выделить следующие основные группы:
1) традиционные системы программирования на языках третьего поколения 3GL: C, Pascal, Basic;
Таблица
Масштаб информационных систем
Количество поль- Аппаратная реали- Программная СУБД
зователей зация реализация
О Рассчитаны на ра- Реализуются на авто- Система может «Настольные СУБД» (Clarion,
д боту одного пользо- номном компьютере, содержать не- Clipper, FoxPro, Paradox, dBase,
и вателя или группы ПК сколько простых MS Access) или с помощью файло-
н пользователей, раз- приложений, свя- вой системы и диалоговой оболоч-
о деляющих по вре- занных общим ки для ввода, редактирования и
ч мени одно рабочее информационным обработки данных.
н ы е место. фондом.
Г Ориентированы на Чаще всего строятся Однотипные или Многопользовательские «настоль-
р коллективное ис- как локальная вычис- специализирован- ные СУБД», серверы БД для рабо-
у пользование ин- лительная сеть ПК ные рабочие места чих групп (Btrieve, NetWare SQL,
п формации членами или реже как много- обеспечивают вы- Gupta SQLBase, Sybase Anywhere
п рабочей группы терминальная цен- зов одного или SQL, MS SQL Server, Progress,
о (одного подразделе- трализованная вы- нескольких кон- Informix-SE, Workgroup Oracle и
в ния). Взаимодейст- числительная систе- кретных приложе- др.) и соответствующие инстру-
ы вие пользователей ма. ний. Совместное менты разработки или системы
е происходит через использование управления документами и их ин-
централизованную информации орга- струментальные средства.
базу данных или низуется с помо-
посредством сетевой щью блокировок
файловой системы записей и файлов.
или через электрон-
ную почту.
К Ориентированы на Могут поддерживать Могут иметь ие- Строятся на корпоративных SQL-
о масштаб предпри- территориально раз- рархическую серверах БД (Oracle7, Informix-
р ятия несенные узлы или структуру из не- OnLine, Informix-DSA, Sybase, CA-
п сети. Для таких сис- скольких уровней. Ingress и др.) и соответствующих
о тем характерна архи- Главная особен- инструментальных средствах. По-
р тектура клиент-сервер ность - обеспече- мимо собственных средств разра-
а со специализацией ние доступа из ботки часто находят применение
т серверов. подразделения к независимые многоплатформенные
и центральной или инструментальные средства, до-
в распределенной полненные интерфейсами, драйве-
н базе данных пред- рами и шлюзами для связи с раз-
ы приятия (органи- ными СУБД.
е зации). Для таких систем характерна архитектура клиент-сервер со специализацией серверов. Для таких систем повышаются требования к надежности функционирования и сохранности данных. Последнее свойство обеспечивается поддержкой целостности данных, ссылок и транзакций в серверах баз данных.
2) инструменты для создания файл-серверных приложений (персональные» СУБД: FoxPro, Clipper, Paradox, Clarion, Paradox, dBase);
3) средства разработки приложений клиент-сервер (Informix/4GL, Oracle*Forms и др.);
4) средства автоматизации делопроизводства и документооборота (WinWord, WordPerfect, Excel, Lotus 1-2-3 и Visual Basic for Applications);
5) средства разработки Internet/Intranet-
приложений (Java, JavaScript, Tcl и др);
6) средства автоматизации проектирования приложений (IDEF/Design; Westmountl-CASE for Informix и Oracle Designer/2000; системы проектирования БД SILVERRUN и ERWin/ERX).
Инструментальные наборы для разработки приложений клиент-сервер необходимо выбирать, исходя из следующих критериев:
1. Наличие объектно-ориентированной инфраструктуры.
2. Возможность распределения приложений между клиентом и сервером.
3. Поддержка мониторов транзакций.
4. Доступность CASE-репозитария.
5. Возможность переноса приложений и контроль версий.
После окончания работ по отдельным частям ИС производится постепенная интеграция каждой части ИС с остальными, формируется полный программный код, выполняется тестирование совместной работы каждой части ИС с остальными, а затем тестирование системы в целом.
Завершается физическое проектирование системы: определяется необходимость распределения данных; производится анализ использования данных и физическое проектирование базы данных; определяются окончательные требования к аппаратным
ресурсам и способы увеличения производительности ИС; завершается разработка документации проекта.
Результатом этого этапа является готовая ИС, удовлетворяющая всем согласованным требованиям.
Этап передачи в эксплуатацию
На данном этапе производится обучение пользователей, организационные изменения и параллельно, с внедрением новой ИС, осуществляется работа с существующей системой до полного внедрения новой. Производится приемочное тестирование ИС.
Основные результаты этапа - это готовая ИС, удовлетворяющая всем согласованным требованиям.
Литература
1. Mostow, J. Spring 1985. Toward Better Models of the Design Process. Al Magazine Vol. 6(1).
2. Dijkstra. E. May 1968. The Structure of the «THE» Multiprogramming System. Communications of the ACM. Vol. 11(5).
3. Peters. Software Design.
4. Yau, S. and Tsai, J. June 1986. A Survey of Software Design Techniques. IEEE Transac-
tions on Software Engineering. Vol. SE-12(6).
5. Артемьев В.И., 30.09.1996, Системы управления базами данных, #05/1996 (http://www.osp.ru/dbms/1996/05/52.htm).
6. Royce W.W. Managing the Development of Large Software Systems. Proceedings of IEEE WESCON, August. 1970.