Разработка программного обеспечения в области управления жизненным циклом
В тех случаях, когда внедрение готовых программных продуктов по каким-либо причинам не устраивает заказчика, компания LM Soft готова на заказ выполнить разработку ПО, которое будет полностью соответствовать требованиям заказчика и вписываться в ИТ-архитектуру предприятия.
Мы выполняем разработку программного обеспечения с использованием технологий Java, C/C++/C# или .NET – в зависимости от предпочтений Заказчика и особенностей существующего ИТ-ландшафта.
Если необходимо обеспечить высокий уровень требований к информационной безопасности, мы можем использовать такие проверенные и сертифицированные решения российских разработчиков, как ОС специального назначения «Astra Linux Special Edition» (ОАО «НПО РусБИТех»), СУБД ЛИНТЕР (Группа компаний РЕЛЭКС), а также специальные программные и аппаратные решения в области информационной безопасности.
Специалисты компании LM Soft владеют всеми современными методами и технологиями разработки ПО, и исходя из пожеланий и приоритетов заказчика предложат наиболее оптимальный вариант организации работ, обеспечивающий:
1. Прозрачность и управляемость процессом разработки ПО.
2. Выполнение работ в требуемые сроки.
3. Высокое качество работ и выпускаемого продукта (программного обеспечения и документации).
4. Высокое качество взаимодействия с заказчиком:
своевременное информирование о ходе проектных работ;
оперативная реакция на запросы со стороны заказчика, полнота ответов на запросы;
готовность предложить адекватные решения по всем проблемам, возникающим у Заказчика;
анализ возможных проблем, новых задач и «опережающее» предложением путей их решения.
Каскадная модель разработки (waterfall model) - методология при которой процесс разработки ПО выглядит как поток, последовательно проходящий все фазы:
Обследование процессов заказчика
Формирование моделей организации, определение требований к системе. При обследовании процессов заказчика применяются различные методики сбора данных – интервью, использование фокус-групп, изучение нормативной базы заказчика. В процессе разработки ПО применяются системы управления требованиями и изменениями для осуществления прозрачности получения результата заказчиком.
Формирование технического задания
Систематизация, формирование документа, описывающего требования к системе с уровнем детализации, достаточной для проектирования системы.
Формирование рабочей документации
Разработка проектных решений, документации по системе и ее частям, разработка и оформление документации на поставку комплектующих изделий, и разработка заданий на проектирование в смежных частях проекта.
Разработка
Разработка прототипов как системы, так и ее частей. Прототипы дают возможность глубже вникнуть в проблему и принять все необходимые проектные решения еще на ранних этапах проектирования. Решения могут затрагивать внутреннюю организацию, пользовательский интерфейс, разграничение доступа и т.д. В результате данного шага появляется рабочая версия продукта.
Предварительные испытания и опытная эксплуатация
Проверка алгоритмов, проверка программ и технологического процесса обработки данных в реальных условиях. Подготовка ПО к вводу в действие, обучение персонала.
Целью опытной эксплуатации является комплексная проверка готовности ПО.
Сдача в промышленную эксплуатацию
Комплексная проверка ПО.
Гибкая методология разработки (agile software development) - серия подходов к разработке ПО, ориентированных на использование итераций, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри смешанных рабочих групп, состоящих из специалистов заказчика и исполнителя.
Основной метрикой agile-методов является рабочий продукт. Методологии нацелены на минимизацию рисков путём сведения разработки к серии коротких циклов, называемых итерациями, которые обычно длятся две-три недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре и включает все задачи, необходимые для выдачи мини-прироста по функциональности: планирование, анализ требований, проектирование, программирование, тестирование и документирование. Отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации команда выполняет переоценку приоритетов разработки.
Основные идеи, лежащие в основе методологии agile:
люди и взаимодействие важнее процессов и инструментов;
работающий продукт важнее исчерпывающей документации;
сотрудничество с заказчиком важнее согласования условий контракта;
готовность к изменениям важнее следования первоначальному плану.
Основные принципы методологии agile:
удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
работающее программное обеспечение — лучший измеритель прогресса;
спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
постоянное внимание улучшению технического мастерства и удобному дизайну;
простота — искусство не делать лишней работы;
лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
постоянная адаптация к изменяющимся обстоятельствам.