В основе деятельности по созданию и использованию информационных систем лежит понятие жизненного цикла. Жизненный цикл отражает различные состояния информационной системы, начиная с момента принятия решения о создании системы и заканчивая моментом прекращения ее функционирования. Модели жизненного цикла информационных систем:
каскадная модель (модель водопада, последовательная модель) предполагает переход на следующий этап цикла только после полного окончания работ на предыдущем этапе. Основной недостаток данный модели состоит в том, что работающая система, которая может быть продемонстрирована конечному пользователю, появляется только на поздних этапах жизненного цикла и в случае возникновения изменения в требованиях стоимость их учета весьма велика. Каскадная модель в основном использовалась в 70-80 годы прошлого века.
спиральная модель (итерационная модель) предполагает создание прототипа информационной системы на самых ранних стадиях проектирования. Каждый виток спирали соответствует созданию новой версии прототипа программного продукта. При таком подходе к разработке удается предоставить конечному пользователю прототип системы для ознакомления и тестирования тогда, когда в системе еще не реализована большая часть функций и внести изменения в проект еще достаточно просто. Каскадная модель стала широко использоваться в конце 80-х годов прошлого века.
Традиционный жизненный цикл включает следующие основные этапы:
анализ требований. На этом этапе необходимо выявить все актуальные и потенциальные потребности заказчика информационной системы, понять, какие потоки данных существуют внутри организации заказчика, оценить объемы информации, описать бизнес-процессы и т.д. Анализ требования может носить как неформальный, так и формальный характер. Среди формальных подходов к анализу требований в последнее время все более популярным становиться язык UML (Unified Modeling Language). Для описания требований в UML используются use case диаграммы (диаграммы вариантов использования системы).
проектирование. На этом этапе необходимо дать ответ на вопрос, как система будет реализовывать те требования, которые к ней предъявлены на этапе анализа требований. Проектирование включает в себя выработку архитектуры системы, разбиение системы на подсистемы и распределение функций между ними, проектирование базы данных, определение требований к аппаратным и программным компонентам системы.
программирование. На этом этапе происходит непосредственное кодирование программных модулей информационной системы.
тестирование и отладка. На этом этапе происходит тестирование созданных программных модулей и исправление найденных ошибок. В настоящее время принято различать три вида тестов: тесты модулей, интеграционные или компонентные тесты, системные тесты. Тесты модулей включают в себя тестирование отдельных классов, подпрограмм, модулей. Интеграционные тесты предназначены для тестирования взаимодействия различных программных модулей системы между собой. Системные тесты тестируют всю систему в целом так, как ее видит конечный пользователь.
внедрение и сопровождение. На этом этапе происходит внедрение информационной системы у заказчика и последующее сопровождение работы пользователей с системой.