Жизненный цикл программного продукта
Вначале сформулируем цели, без которых невозможен ни один проект. Основная задача любого успешного проекта заключается в том, чтобы на момент запуска системы и в течение всего срока ее эксплуатации можно было обеспечить:
· требуемую функциональность системы и степень адаптации к изменяющимся условиям ее функционирования;
· требуемую пропускную способность системы;
· требуемое время реакции системы на запрос;
· безотказную работу системы в требуемом режиме, то есть: готовность и доступность системы для обработки запросов пользователей;
· простоту эксплуатации и поддержки системы;
· требуемую безопасность.
Производительность является главным фактором, который определяет эффективность системы. Хорошее проектное решение – основа высокопроизводительной системы.
Проектирование информационных систем охватывает три основные области:
· проектирование объектов данных, которые будут реализованы в базе данных;
· проектирование программ, экранных форм, отчетов, которые будут обеспечивать выполнение запросов к данным;
· учет конкретной среды или технологии: топологии сети, конфигурации аппаратных средств, использования архитектур «файл-сервер», «клиент-сервер», параллельной обработки, распределенной обработки данных и т.п.
В реальных условиях проектирование информационных систем – это поиск способа, который обеспечивает необходимую функциональность системы средствами имеющихся технологий с учетом заданных ограничений.
|
|
Под методологией разработки подразумевается набор методов и критериев оценки, которые используются для постановки задачи, планирования, контроля и в конечном итоге – для достижения поставленной цели.
Сам процесс разработки описывается моделью, которая определяет последовательность наиболее общих этапов и получаемых результатов.
Базовыми этапами разработки программных продуктов являются: анализ, проектирование, реализация (кодирование), тестирование, внедрение, эксплуатация и сопровождение
Анализ
Основная задача анализа – это оценка реального объема проекта, его целей и задач, а также получение определений сущностей и функций на высоком уровне Этап анализа предполагает подробное исследование бизнес-процессов (функций) и информации, необходимой для их выполнения (сущностей, их атрибутов и связей – отношений).
Информация о системе содержит набор фактов, которые должны быть обязательно отражены в заключительном документе после проведения обследования и анализа:
· ограничения, риски, критические факторы, влияющие на проект;
· совокупность условий эксплуатации будущей системы: архитектура, аппаратные и программные ресурсы, внешние условия ее функционирования; состав исполнителей и работ, обеспечивающих функционирование системы;
|
|
· критические сроки завершения этапов, форма сдачи работ, защита коммерческой информации;
· описание выполняемых системой функций;
· интерфейсы и распределение функций между человеком и системой;
· требования к программным и информационным компонентам ПО;
· наличие потенциального развития системы в будущем;
· то, что не будет реализовано в рамках проекта.
Особое внимание следует уделить полноте переданной информации, анализу информации на непротиворечивость, а также поиску неиспользуемой или дублирующейся информации. Как правило, заказчик вначале формирует требования не к системе в целом, а к отдельным ее компонентам. И в этом конкретном случае циклические модели жизненного цикла ПО имеют преимущество, поскольку с течением времени с большой вероятностью потребуется повторный анализ, так как у заказчика зачастую аппетит приходит во время еды. На этом же этапе определяются необходимые компоненты плана тестирования.
Аналитики собирают и фиксируют информацию в двух взаимосвязанных формах:
|
|
· функции – информация о событиях и процессах, которые происходят в бизнесе;
· сущности – информация о вещах, которые имеют значение для организации и о которых что-либо известно.
Ранее двумя классическими результатами анализа были: иерархия функций, которая разбивает процесс обработки на компоненты («что делается и из чего это состоит»), и модель «сущность-связь» (Entry Relationship model, ER-модель), которая описывает сущности, их атрибуты и связи (отношения) между ними. Эти результаты являются необходимыми, но не достаточными. К достаточным результатам следует отнести диаграммы потоков данных и диаграммы жизненных циклов сущностей, которые описывают динамику системы. В настоящее время существует способ формализации проекта – Unified Modelling Language (UML), позволяющий формально описать различные стороны жизнедеятельности разрабатываемого проекта. Существует достаточно большое количество ПО, реализующего UML, например Rational Rose, Microsoft Visio.
Этот этап дает информационную модель, а следующий за ним этап проектирования – архитектуру системы и модель данных.
Проектирование
На этапе проектирования формируется модель данных и архитектура системы. Проектировщики получают входные данные анализа. Конечным продуктом этапа проектирования являются схема базы данных (если таковая существует в проекте) или схема хранилища данных (ER-модель) и набор спецификаций модулей системы (модель функций).
|
|
В случае небольшого проекта одни и те же люди могут выступать в роли и аналитиков, и проектировщиков, и разработчиков. Возникает вопрос, насколько актуальна передача результатов самому себе. В принципе, достаточно актуальна, поскольку часто помогает найти, например, не описанные вообще, нечетко описанные, противоречиво описанные компоненты системы и прочие недостатки, способствует предотвращению потенциальных ошибок, а также даст возможность еще раз подумать.
Все спецификации должны быть предельно точными. План тестирования системы также дорабатывается на этом этапе разработки. Во многих проектах результаты этапа проектирования оформляются в виде единого документа – так называемой технической спецификации. Здесь стоит упомянуть о преимуществах способа UML, который позволяет получить одновременно как документы анализа, которые отличаются меньшей детализацией (их потребители – менеджеры производства), так и документы проектирования (их потребители – менеджеры групп разработки и тестирования). Кроме того, ПО, реализующее UML, позволяет осуществить генерацию кода – как минимум иерархию классов, а также некоторые части кода самих методов.
Задачами проектирования являются:
· рассмотрение результатов анализа и проверка их полноты;
· семинары с заказчиком;
· определение критических участков проекта и оценка ограничений проекта;
· определение архитектуры системы;
· принятие решения об использовании продуктов сторонних разработчиков, а также о способах интеграции и механизмах обмена информации с этими продуктами;
· проектирование хранилища данных: модель базы данных, бета-версия базы данных;
· проектирование процессов и кода: окончательный выбор средств разработки, определение интерфейсов программ, отображение функций системы на ее модули и определение спецификаций модулей;
· определение требований к процессу тестирования;
· определение требований безопасности системы.
Дата добавления: 2015-12-20; просмотров: 15; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!