Жизненный цикл пpогpаммного обеспечения
Изучение технологий программирования невозможно без рассмотрения понятия жизненного цикла программы (ЖЦ) системы процедур, правил и инструментальных средств, используемых для разработки и поддержания работоспособности программной системы.
В соответствии с ГОСТ Р ИСО/МЭК ТО 152712002 «Процессы жизненного цикла программных средств» типовая модель ЖЦ системы начинается с концепции идеи системы или потребности в ней, охватывая разработку, создание, эксплуатацию и сопровождение системы, и заканчивается снятием системы с эксплуатации (утилизацией).
Модель ‑ абстракция произвольной системы, объекта или процесса, рассматриваемые с определенной точки зрения и представления на некотором языке или в графической форме. Процесс построения и последующего применения моделей для получения информации о системе-оригинале получил название моделирование.
Модель ЖЦ обычно разделяют на периоды реализации, например, стадии или этапы. Каждый подобный период включает в себя основные реализуемые в нем работы и задачи, при завершении которых может потребоваться разрешение на переход к следующему периоду реализации.
Общую модель жизненного цикла сложной системы обычно разделяют на следующие основные этапы:
Планирование: определение потребностей.
Анализ: исследование и описание основных концепций.
Разработка спецификаций: демонстрация и аттестация основных концепций.
Проектирование: создание технического проекта (технического задания).
Реализация (конструирование).
Системное тестирование и отладка, сертификация.
Внедрение.
Эксплуатация (сопровождение).
Снятие с эксплуатации (утилизация).
Этап планирования включает:
Определение глобальных целей и задач, решаемых системой: место и роль системы в деятельности заказчика.
Определение стоимости разработки.
Оценка временных затрат.
Определение требуемых человеческих и технических ресурсов.
Формулировка требований к объемам хранимой информации, требований к быстродействию, надежности и др.
Этап анализа пожеланий и требований заказчика:
Требования разрабатываются с целью получения ответа на вопрос: «Что должна делать будущая система?»
Список требований к системе должен включать совокупность условий, при которых предполагается эксплуатировать систему, аппаратные и программные ресурсы, состав людей и работ, имеющих к ней отношение.
Языком описания требований, обеспечивающим строгое, точное и всеобъемлющее экспертное их выражение, является профессионально-естественный язык экспертов в сфере деятельности организации пользователя.
Спецификация ‑ это описание на языке разработчика характерных особенностей поведения системы.
Этап разработки спецификаций включает в себя:
формирование целей программы,
описание граничных условий,
создание функций (что программа должна делать и, что возможно будет делать),
спецификацию входных и выходных данных,
установление верификационных требований (тестовых случаев),
определение типа и количества документов.
Этап проектирования.
Входной информацией для проектирования являются спецификации, написанные по требованиям пользователя. Основываясь на целях проекта, требованиях к поведению, планируемой документации, спецификациях очень высокого уровня, различных выходных формах для пользователя, проектировщик осуществляет исследование структуры системы и логических взаимосвязей ее элементов.
Этап проектирования дает ответ на вопрос: «Как (каким образом) система будет удовлетворять предъявленным к ней требованиям?».
На этапе реализации (конструирования) выполняется разработка текстов программ.
Этап тестирования и отладки предусматривает, в том числе:
Объединение подсистем;
Сопряжение с реальной аппаратурой;
Альфа тест (лабоpатоpные испытания);
Бэта тестиpование (опытная эксплyатация);
Пpиемочный тест.
