вторник, июля 18, 2006

C3 - Задачи

Задачи возникающие в процессе разработки и эксплуатации проекта. Этапы жизни проекта описаны здесь.

(1) Создание проекта.
Задача №1 заключается в подготовке проекта на высоком уровне для планирования реализации и рассчета стоимости.
Аудитория: планировщики и проектировщики.
Входные данные: неформальное словесное описание будущего проекта.
Выходные данные: документ (файл проекта) формализующий задействованые ресурсы и их функции а также топологию.
Главные черты: наглядность, красота.

(2) Реализация проекта.
Задача №2 заключается в трансляции формального описания функций ресурсов в язык понятный ресурсам. Другими словами создание конфигураций ресурсов.
Аудитория: инженеры и разработчики.
Входные данные: формальный проект полученные на предыдущем шаге.
Выходные данные: файлы конфигурации ресурсов, реализующии проект.
Главные черты: разработка программ, разработка топологии, тестирование.

Подзадачи: разработка и отладка программ, конфигурирование и тестирование протоколов (передачи данных).

(3) Внедрение проекта.
Задача №3 заключается в создании реальной инсталяции проекта.
Аудитория: инженеры и наладчики.
Входные данные: проект, конфигурация ресурсов, конфигурация протоколов.
Выходные данные: протокол развертывания, содержащий логи наладки каждой части проекти и логи запуска проекта.
Главные черты: офф-лайн тестирование сети, офф-лайн тестирование ресурсов, офф-лайн тестирование конфигураций на реальных ресурсах, он-лайн тестирование внедреного проекта.

Подзадачи: тестеры, логгеры.

(4) Поддержка проекта.
Задача №4 заключается в он-лайн (без остановки производства) мониторинге проекта, в выявлении неполадок и (если необходимо) в устранении неполадок.
Аудитория: персонал тех-поддержки.
Входные данные: проект, логи установки, конфигурации.
Выходные данные: протокол поддержки.
Главные черты: простота, полное описание возможных сценариев поломок и их устранение, он-лайн/офф-лайн тестирование.

Подзадачи: тестеры, логгеры.

четверг, июля 13, 2006

С3 - Этапы жизни проекта

Жизнь проекта состоит из стандартных этапов: проектирование, разработка, внедрение и поддержка. (Projection, development, deployment & maintenance). Тестирование осуществляется на каждом из шагов и не выделяется в отдельный шаг, как это например делается в разработке ПО.

(1) Проектирование. На данном этапе создается высокоуроневая модель проекта. Задаются и моделируется ресурсы и инфраструктура их связывающая. Модель должна позволять проектировщику и потенциальному покупателю оценить будущие расходы которые потребует реализация проекта. Модель также должна описывать назначение и функцию каждого узла модели: ресурса и части инфраструктуры.

(2) Разработка. На основе модели созданой на первом шаге, разработчик создает (i) программы согласно функции и назначению узла; (ii) соединяет программы согласно заданной инфраструктуре. Создаются конфигурации для всех устройств задействованых в проекте.

(3) Внедрение. На данном шаге происходит развертывание проекта: установка ресурсов, наладка инфраструктуры и конфигурация узлов системы. Используется модель из шага (1) и конфигурации разработаные на шаге (2).

(4) Поддержка. На основе модели созданное на шаге (1), производятся периодические проверки и если необходимо ремонт частей или всего проекта, внедренного на шаге (3). Целью данного шага является контроль работы проекта, выявление проблем и исправление выявленных проблем. Проблемой является отклонение функции проекта от заданной.

Как С3 вписывается в данную модель.

(1) С3 не предоставляет средств моделирования инфраструктуры. Список ресурсов не позволяет описывать топологии. С3 не может создавать проекты наброски, не может сохранять/загружать проекты, не может открывать проекты в режиме просмотра, что делает затруднительным совместную работу нескольких людей над одним проектом. Не существует средств позволяющих перенести (Copy'n'Paste) часть одного проекта в другой или объединить несколько проектов в один мастер-проект - что делает невозможным совместную работу нескольких людей над проектом.

(2) Разработка. Все ограничения и недостатки относящиеся к шагу (1) также относятся к данному шагу.

(3) Внедрение. Отсутствует. Нет средств проверки соответствия ресурсов и инфраструктуры в проекте реально размещенным ресурсам и инфраструктуре, и т.д.

(4) Поддержка. Отсутствует. Единственное наличествующее средство это окно диагностики засунутое достаточно далеко, чтобы сделать его еще более неудобным чем оно уже есть. Невозможно снимать и кореллировать диагностику с одновременно нескольких устройств. Нет средств опроса счетчиков ошибок, и т.д.

C3 - Процесс Конфигурации

Given: User, Device
Notes. Девайс присутствует как "Описание Девайса", которое состоит из следующих частей: описание свойств (глобальные параметры), описание возможностей девайса (протоколы и их свойста), описание файловой системы. С3 играет здесь такуюже роль как и XSL в XML: пользовательский ввод есть XML, С3 есть XSL конвертирующий этот ввод в конфигурацию устройства. XSL С3 естественно параметризируется при помощи профиля устройства который так же можно рассматривать как XML с параметрами что есть допустимо в вводе пользователя. Так же профиль устройства можно рассматривать как описание языка конфигурации устройства: С3 транслирует пользовательский ввод (с языка близкого пользователю) в язык интерпретируемый устройством.

Для простоты описание используется XML & XSL - но более как пример, нежели чем конкретное требование или рекомендация. Взаимоотношение XML и XSL достаточно полно описаны в соответствующих стандартах.

Task1: Configuration
Input: User Input, Device Profile
Output: Device Conf Def
Notes: Формализация ввода пользователя. С3 создает XML содержащий описание ввода пользователя на языке устройства.
Если устройство описано как список свойств устройства и их допустимых (и рекомендуемых) значений (другими словами декартово множество возможных конфигураций) то ввод пользователя есть под-список свойств устройства пользователь желает изменить значение. Для всех свойств опущеных пользователем по умолчанию берутся их рекомендуемые значения.

Task2: Compilation
Input: Device Profile, Device Conf Def
Output: Device Conf
Notes: Проверка ввода пользователя. С3 конвертирует ввод пользователя в XML конфигурацию. Данный шаг необходим для упрощения создания вложеных конфигураций: случай когда одно устройство должно знать информацию о конфигурации другого устройства.
На данном шаге из списка свойств создаются конкретные части конфигурации для различных состовляющих модулей системы (COM + protocols, CPU + user task + etc).

Task3: Translation
Input: Device Conf
Output: Device Conf Bin
Notes: С3 конвертирует XML конфигурацию в двоичное представление. Это трансляция: существует биекция между вводом и выводом этого шага. Важно: данный шаг не зависит от устройства. Все зависимости должны быть обработаны на предыдущем шаге.

Task4: mkfs
Input: Device Conf Bin, Device Profile
Output: Configuration FS Image
Notes: С3 упаковывает двоичную конфигурацию в формат пригодный для записи в устройство.

Итого: FS Image без всяких там *КОНЦЕПЦИЙ*.

C3 - Народные Перлы

*ЕЛОП* вашу мать! - Опять они все через *КОНЦЕПЦИЮ* сделали!!