Средства разработки приложений

         

в рамках статьи изложить все


Конечно, в рамках статьи изложить все особенности продукта и технологии невозможно. Мы рассказали об архитектуре, затронули стратегические вопросы архитектуры клиент-сервер, и показали на примерах, как можно строить приложения различного типа при помощи достаточно необычного подхода к архитектуре клиент-сервер. Но лучше один раз увидеть, чем сто раз услышать. Компания Epsylon Technologies в то время, когда писалась статья, планировала выпустить 5 версий сервера Baikonur. Самый младший, Baikonur Free Web App Server, предназначается для бесплатного ознакомления с продуктом и представляет из себя полнофункциональный сервер, правда, с ограниченной нагрузочной способностью. Его можно без ограничений загрузить с корпоративного сервера компании Epsylon Technologies. Добро пожаловать в новые технологии!
Автор не претендует на полноту изложения материала по проблеме конфигурационного управления. Данная статья — попытка показать, продемонстрировать мощные возможности как CMM, так и в их совместном использовании для улучшения качества выпускаемого ПО.  В следующей части статьи будет более подробно рассказано о настройке и конфигурации программных продуктов , и в соответствии с Key Process Area. Также планируется осветить вопросы, присланные автору на   В работе над статьей автор активно пользовался материалами с сайтов: (корпоративный сайт Rational) (сайт для клиентов Rational) (все материалы по CMM)  


Решения, обеспечивающие взаимодействие между распределенными компонентами в рамках одной прикладной системы, (например клиент-серверное решение от одного разработчика) чаще всего не обеспечивают взаимодействия между различными прикладными системами, особенно если это взаимодействие не было спланировано еще на этапе разработки. Именно в возможностях поддержки межсистемной интеграции заключается особая ценность систем передачи сообщений. Использование ПО, предоставляемого системами очередей сообщений в качестве асинхронного механизма для организации взаимодействия между программами позволяет создать унифицированную транспортную шину для транзакционных и информационных вычислительных систем различного масштаба. При создании информационной инфраструктуры в России с ее географической протяженностью и множеством часовых поясов весьма актуально, а порой жизненно необходимо использовать системы очередей сообщений.


Мы сравнили две платформы: Java/AWT/Swing и C++/Qt, оценив их пригодность для эффективной разработки высокопроизводительных приложений с пользовательским графическим интерфейсом. В то время, как Java-платформа обеспечивает разработчикам сравнимую продуктивность программирования, платформа C++/Qt обеспечивает приложениям лучшую производительность и эффективность использования памяти. Также C++ выигрывает за счет более лучших средств разработки. Что касается сравнения GUI-библиотек, Swing и Qt, то видно, что более худшая производительность Java-программ делает платформу Java/Swing менее подходящей для разработки GUI-приложений, даже при сравнимом опыте программирования. В отличие от Swing, Qt не навязывает программисту парадигму программирования Model-View-Controller, поэтому в результате Qt-программы получаются более краткими. Независимое научное исследование и полученный практический опыт эксплуатации показывают, что предпочитаемость использования Java во многих случаях чаще всего неоправданна, а комбинация C++/Qt является более лучшей. Главными причинами этого являются более низкие производительность и эффективность использования памяти в Java (особенно при использовании инструментария Swing) при такой же обеспечиваемой продуктивности программирования. Во многих выполненных нами проектах начинающие программисты осваивали быстрее Java, более опытные и профессиональные разработчики (занимающиеся проектированием приложений и реализацией критичных участков программ) достигали быстрее лучших результатов с помощью C++. Java/Swing может подойти для разработки некоторых программ, особенно если они без GUI-интерфейса или с ограниченной GUI-функциональностью. В целом, C++/Qt является более лучшим решением, в особенности для разработки GUI-приложений.  



Для полноценного знакомства с продуктом Rapid Developer, конечно же, недостаточно прочитать одну или даже несколько статей. Статьи не могут заменить реальной работы с инструментарием.
Поскольку Rapid Developer - совсем новый продукт и пока еще сложно найти разработчиков, имеющих достаточный опыт работы с ним хотя бы на некотором этапе отдельного проекта, специалистами компании было предпринято использование Rapid Developer в ряде небольших пилотных проектов.
Проведенные испытания позволили более глубоко оценить возожности Rapid Developer и выявить следующие ключевые особенности этого продукта:
  • возможность визуальной разработки различных аспектов информационной системы, что напрямую приводит к ускорению процесса разработки и резкому снижению количества ошибок.
  • наличие единого рабочего пространства для информационных систем, использующих различные элементы технологии J2EE.
  • возможность быстрого развертывания информационной системы и ее тестирования в любой временной точке проекта.
  • возможность быстрого автоматического документирования разрабатываемой информационной системы.
  • хранение тестовых данных, предназначенных для заполнения проектируемых баз данных, прямо в проекте Rapid Developer.
  • возможность импорта существующих наработок из других источников.
  • огромные возможности организации взаимодействия с существующими распределенными системами, построенными по технологии J2EE.

Все это, вне всяких сомнений, значительно повышает ценность продукта и позволяет участникам проектов достичь главной цели - сделать процесс разработки более эффективным.


Трудно описать такой инструмент, как SoDA, в рамках одной статьи - данный продукт очень тесно связан с технологиями RUP и UML (ссылка на: http://www.interface.ru/fset.asp?Url=/rational/umltend.htm). Но надеюсь, что это не помешало вам оценить мощь и обоснованность использования данного инструмента, даже основываясь на стандартных шаблонах отчетов. SoDA - гибко настраиваемый продукт, имеющий собственный механизм составления отчетов по любым проектным данным. А это значит, что менеджер проекта может всего один раз сформировать шаблоны отчетов, соответствующие внутренней политике компании, и впредь пользоваться только ими. О том, как конструировать комбинированные отчеты и соотносить технологии качества CMM с технологиями RUP, читайте во второй части статьи. Подробности о SoDA и ознакомительную версию продукта можно найти на компании Rational Software Corporation. Дополнительная информация Eсли вы хотите регулярно получать новости и ссылки на свежие статьи по Rational, Oracle, Microsoft, Inprise, системам автоматизации и т.д., советую подписаться на рассылку службы Subscribe.ru  


Мы рассмотрели основные черты средств активной отладки и мониторинга для распределенных систем реального времени, а также ошибки, характерные для РСРВ, и способы их обнаружения. Существующие активные отладчики играют важную роль в разработке ПО при поиске логических ошибок, предоставляя широкий набор средств, включающих поддержку исходных текстов, трассировку выполнения приложения, динамическую модификацию памяти, и.т.д. Однако они не позволяют выявлять специфические ошибки СРВ. Описанные в работе средства мониторинга имеют схожие методы сбора, обработки и представления отладочных данных. Благодаря им становится возможным локализовывать ошибки СРВ, связанные с планированием и синхронизацией. В случае РСРВ пока не существует общего подхода к отладке, поскольку ошибки, обусловленные связью, имеют разное проявление. В работе приведено описание некоторых способов отладки, позволяющих выявлять такие ошибки. Разработка универсальных методов отладки РСРВ - тема дальнейшего исследования.


В заключении хочу сказать, что руководитель среднего программного проекта является ключевой фигурой. Изъятие его из проекта или замена будет иметь катастрофические последствия и может поставить крест на многих месяцах работы целого коллектива программистов. Во время реализации проекта его руководитель должен постоянно заниматься уточнением графика работы, контролем выполнения заданий и служить дополнительным «справочным пособием» к спецификации системы, которую реализуют программисты.  

Содержание раздела