Методологии разработки ПО
Срок жизни ПО (ПО) представляет из себя модель его образования и использования. Эта модель отображает его разные состояния, начиная со времени возникновения надобности в этом ПО и заканчивая фактором его полного исхода из потребления у большинства клиентов. Модификации отличаются методом связи шагов срока жизни, однако любой из этих шагов в том либо другом виде находится в любой модификации. Ниже мы поочередно разберем все эти рубежи.
Политика. Определение стратегии подразумевает исследование системы. Главная цель освидетельствования — это оценка настоящего размера проекта, его задач и задач, и приобретение определений сутей и функций на высочайшем уровне. На этом раунде привлекаются квалифицированные бизнес-аналитики, которые имеют регулярный доступ к управлению компании; также ожидается узкое взаимодействие с главными клиентами системы и бизнес-экспертами.
Главная цель такого взаимодействия — получить как можно не менее дополнительную информацию о системе, несомненно осознать условия клиента и дать эту информацию в формализованном виде системным специалистам. Обычно, информация о системе вполне может быть получена на основании ряда разговоров (либо семинаров) с управлением, специалистами и клиентами.
Результатом раунда определения стратегии является документ, где хорошо сформулировано следующее: что как раз причитается клиенту, если он согласится ассигновать проект; когда он может получить готовый продукт (график проведения работ); во сколько это ему обойдется (график финансирования шагов работ для больших программ). В документе должны быть воспроизведены не только лишь траты, но также и польза, к примеру время окупаемости проекта, предстоящий финансовый эффект (если его получается расценить).
Определение стратегии — это серьезный ответ на вопросы вида: «Будем ли мы делать данный проект за такие-то деньги либо нет?» либо «Делаем ли мы в целом данный проект с этим разработчиком?» Другими словами, в итоге определения стратегии создатель и клиент решаются о продолжении работ на некоторых условиях с некоторыми прямыми обязанностями сторон.
Необходимо отметить комплект прецедентов, которые должны быть в обязательном порядке воспроизведены в конечном документе после проведения освидетельствования и теста работы предприятия:
• ограничения, опасности, критичные моменты, действующие на проект;
• совокупность требований работы грядущей системы: архитектура, аппаратные и компьютерные источники, внутренние критерии ее функционирования; состав исполнителей и работ, обеспечивающих действие системы;
• критичные сроки окончания шагов, выкройка сдачи работ, оборона платной информации;
• описание производимых технологией функций;
• внешние виды и расположение функций между человеком и технологией;
• условия к компьютерным и справочным компонентам ПО;
• содержание возможного формирования системы в дальнейшем;
• то, что не будет выполнено в рамках проекта.
Этот раунд срока жизни ПО вполне может быть представлен в модификации лишь 1 раз, в особенности если модель имеет повторяющийся конструкцию, но это далеко не обозначает, что в повторяющихся модификациях стратегически важное планирование выполняется раз и навек. Циклические модификации созданы для решения неприятностей ПО, которое развивается по времени; тест нынешнего состояния ПО и предприятия, его использующего, выполняется на раунде теста.
Тест. Раунд теста подразумевает тщательное изучение бизнес-процессов (функций, некоторых на прошлом раунде) и информации, нужной для их проведения. Данный раунд предоставляет справочную модель, а следующий за ним раунд разработки — модель данных.
Вся информация о системе, полученная на раунде определения стратегии, формализуется и конкретизируется на раунде теста. Повышенное внимание необходимо уделить полноте представленной информации, разбору информации на согласованность, и поиску применяемой либо дублирующейся информации. Обычно, клиент сначала создает условия не к системе в общем, а к отдельным ее компонентам.
И в данном точном случае циклические модификации срока жизни ПО имеют превосходство, так как со временем с большой возможностью понадобится вторичный тест, в связи с тем что у клиента обычно аппетит наступает в процессе пищи. На этом же раунде устанавливаются нужные детали плана испытания.
Специалисты создают и укрепляют информацию в 2-ух взаимозависимых фигурах:
• функции — информация о мероприятиях и действиях, которые случаются в бизнесе;
• сути — информация о вещах, которые имеют значение для организации и о которых что-нибудь известно.
Раньше 2-мя традиционными итогами теста были: иерархия функций, которая делит процесс обработки на детали («что делается и из чего это состоит»), и модель «сущность-связь» (Entry Relationship модель, ER-модель), которая представляет сути, их свойства и связи (отношения) между ними. Эти итоги считаются нужными, не необходимыми. К необходимым итогам необходимо отнести диаграммы потоков данных и диаграммы сроков жизни сутей, которые представляют динамику системы.
Сейчас есть метод формализации проекта — Unified Modelling Language (UML), который позволяет официально представить разные стороны жизнедеятельности проектируемого проекта. Есть довольно много ПО, реализующего UML, к примеру Rational Rose, Майкрософт Visio. О UML мы поведаем в автономной части этой публикации.
На раунде разработки создается модель данных. Проектировщики приобретают входные данные теста. Конечным продуктом раунда разработки считаются модель базы данных (если такая есть в плане) либо модель хранилища данных (ER-модель) и комплект спецификаций модулей системы (модель функций).
В случае незначительного проекта одни люди могут играть в качестве и специалистов, и проектировщиков, и создателей. Появляется вопрос, как актуальна передача итогов себе. В целом, довольно актуальна, так как довольно часто помогает отыскать, к примеру, не изображенные вообще, неотчетливо изображенные, алогично изображенные детали системы и другие минусы, содействует предупреждению возможных погрешностей, и позволит снова задуматься.
Все специфики должны быть максимально четкими. План испытания системы также доводится на этом раунде разработки. Во всех планах итоги раунда разработки регистрируются в качестве одного документа — так именуемой технологической специфики.
Тут стоит сообщить о плюсах метода UML, который дает возможность получить синхронно как бумаги теста, отличающиеся большей детализацией (их покупатели — консультанты изготовления), так и бумаги разработки (их покупатели — консультанты групп разработки и испытания). Также, ПО, реализующее UML, дает возможность осуществить генерацию кода — по меньшей мере иерархию классов, и определенные части кода самих способов.
Целями разработки считаются:
• обсуждение итогов теста и проверка их полноты;
• семинары с клиентом;
• определение критичных отделов проекта и оценка ограничений проекта;
• определение архитектуры системы;
• установление решения об применении товаров посторонних создателей, и о методах интеграции и механизмах размена информации с данными продуктами;
• проектирование хранилища данных: модель базы данных, beta-версия базы данных;
• проектирование действий и кода: заключительный выбор средств разработки, определение интерфейсов программ, отражение функций системы на ее модули и определение спецификаций модулей;
• определение условий к процессу испытания;
• определение условий безопасности системы.
При реализации проекта принципиально согласовывать компанию (группы) создателей. Все создатели должны повиноваться строгим требованиям наблюдения отправных испытаний. Команда создателей, получив технологический проект, начинает писать код модулей. Главная их цель заключается в том, чтобы дать понять спецификацию: конструктор сообщил, что нужно сделать, создатель устанавливает, как это сделать.
На раунде разработки проводится узкое взаимодействие проектировщиков, создателей и групп тестировщиков. В случае активной разработки тестировщик практически неразлучен с разработчиком, практически останавливаясь членом группы разработки.
Конструктор на раунде разработки играет функцию «ходячего справочника», так как должен регулярно давать ответы на вопросы создателей, касающиеся технологической специфики.
В большинстве случаев на раунде разработки ПО изменяются внешние виды клиента. Это обуславливается, вместе с метим, повторяющейся презентацией модулей клиенту. Также могут ощутимо изменяться требования к данным.
Необходимо подчеркнуть потребность существования выделенного рабочего места, где происходит комплектация всего проекта. Как раз эти модули передаются на испытание. Взаимодействие тестировщика и создателя без концентрированной передачи возможно в том случае, если незамедлительно требуется проверить какую-то правку. Часто раунд разработки связан с шагом испытания, и оба процесса идут одновременно. Синхронизирует действия тестеров и создателей система bug tracking.
Испытание. Группы испытания могут привлекаться к партнерству на начальных этапах разработки проекта. Строго говоря, комплексное испытание необходимо отметить в автономный раунд разработки. Зависимо от трудности проекта испытание и изменение погрешностей может занимать тридцать процентов, половину совместного времени работы над планом и больше.
Чем труднее проект, тем больше будет необходимость в автоматизации системы сбережения погрешностей — bug tracking, которая гарантирует следующие функции:
• сохранение известия об погрешности (к какому компоненту системы относится ошибка, кто ее отыскал, как ее повторить, кто отвечает за ее изменение, когда она обязана быть исправлена);
• система извещения о возникновении свежих погрешностей, об изменении статуса популярных в системе погрешностей (извещения по e-mail);
• доклады об важных оплошностях по компонентам системы;
• информация об погрешности и ее история;
• правила доступа к оплошностям тех либо других групп;
• внешний вид урезанного доступа к системе bug tracking для конечного клиента.
Такие системы берут на себя большое количество координационных неприятностей, например вопросы автоматического извещения об оплошностях.
Фактически испытания систем можно поделить на несколько групп:
• автономные испытания модулей; они применяются на раунде разработки элементов системы и дают возможность прослеживать ошибки автономных элементов;
• испытания нитей элементов системы; эти испытания также применяются и на раунде разработки, и на раунде испытания, они дают возможность прослеживать верность взаимодействия и размена информацией элементов системы;
• системный анализ; он считается главным показателем приемки системы; обычно, это команда испытаний, включающая и автономные испытания, и испытания нитей и модификации; этот анализ должен копировать работу всех элементов и функций системы; главная цель этого тестирования — внешняя приемка системы и оценка ее качества;
• приемосдаточный анализ; главное его предназначение — сдать технологию клиенту; тут создатели довольно часто понижают условия к системе сравнивая с системным тестом, и причины этого вполне явны;
• испытания мощности и перегрузки; эта команда испытаний входит в системный анализ, однако достойна автономного упоминания, так как эта самая команда испытаний считается основной для оценки долговечности системы.
В испытания любой группы в обязательном порядке входят испытания прогнозирования отказов. Тут обследуется реакция компонента, группы элементов, системы в общем на отказы вида:
• отказ автономного компонента справочной системы;
• отказ группы элементов справочной системы;
• отказ главных модулей справочной системы;
• отказ ОС;
• твердый сбой (отказ питания, винчестеров).
Вторым значительным нюансом платформы испытания справочных систем считается содержание генераторов испытательных данных. Они применяются для проведения испытаний функциональности системы, испытаний долговечности системы и испытаний мощности системы. Цель оценки характеристик связи мощности справочной системы от повышения размеров обрабатываемой информации без генераторов данных решить нельзя.