Жизненный цикл программного продукта



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

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

· требуемую пропускную способность системы;

· требуемое время реакции системы на запрос;

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

· простоту эксплуатации и поддержки системы;

· требуемую безопасность.

Производительность является главным фактором, который определяет эффективность системы. Хорошее проектное решение – основа высокопроизводительной системы.

Проектирование информационных систем охватывает три основные области:

· проектирование объектов данных, которые будут реализованы в базе данных;

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

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

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

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

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

Базовыми этапами разработки программных продуктов являются: анализ, проектирование, реализация (кодирование), тестирование, внедрение, эксплуатация и сопровождение

 

Анализ

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

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

· ограничения, риски, критические факторы, влияющие на проект;

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

· критические сроки завершения этапов, форма сдачи работ, защита коммерческой информации;

· описание выполняемых системой функций;

· интерфейсы и распределение функций между человеком и системой;

· требования к программным и информационным компонентам ПО;

· наличие потенциального развития системы в будущем;

· то, что не будет реализовано в рамках проекта.

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

Аналитики собирают и фиксируют информацию в двух взаимосвязанных формах:

· функции – информация о событиях и процессах, которые происходят в бизнесе;

· сущности – информация о вещах, которые имеют значение для организации и о которых что-либо известно.

Ранее двумя классическими результатами анализа были: иерархия функций, которая разбивает процесс обработки на компоненты («что делается и из чего это состоит»), и модель «сущность-связь» (Entry Relationship model, ER-модель), которая описывает сущности, их атрибуты и связи (отношения) между ними. Эти результаты являются необходимыми, но не достаточными. К достаточным результатам следует отнести диаграммы потоков данных и диаграммы жизненных циклов сущностей, которые описывают динамику системы. В настоящее время существует способ формализации проекта – Unified Modelling Language (UML), позволяющий формально описать различные стороны жизнедеятельности разрабатываемого проекта. Существует достаточно большое количество ПО, реализующего UML, например Rational Rose, Microsoft Visio.

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

Проектирование

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

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

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

Задачами проектирования являются:

· рассмотрение результатов анализа и проверка их полноты;

· семинары с заказчиком;

· определение критических участков проекта и оценка ограничений проекта;

· определение архитектуры системы;

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

· проектирование хранилища данных: модель базы данных, бета-версия базы данных;

· проектирование процессов и кода: окончательный выбор средств разработки, определение интерфейсов программ, отображение функций системы на ее модули и определение спецификаций модулей;

· определение требований к процессу тестирования;

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


Дата добавления: 2015-12-20; просмотров: 15; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!