Проект системы "Mechanics Studio .NET" | ||||||
Средства разработки | ||||||
  
Обновление: 01.09.05
|
      Язык программирования, на котором будет реализована система, заслуживает большого внимания. Исследования показали, что выбор языка программирования несколькими способами влияет на производительность труда программистов и качество создаваемого ими кода [12]. Выбор делался из следующих уже знакомых языков:
      Object Pascal является объектно-ориентированным языком, который, до недавнего времени, использовался только для разработки Win32 приложений. Для разработки приложений на этом языке используется среда визуального программирования Borland Delphi и библиотека визуальных компонент VCL. С выходом версии Delphi 2005 стала возможным разработка приложений для платформы Microsoft .NET Framework непосредственно на Object Pascal с использованием VCL.       Концепция Visual C# разработана для одновременного использования объектно-ориентированного языка общего назначения, а так же среды программирования и исполнения приложений “Microsoft .NET”. Этот язык поддерживает все современные методики ООП, но, тем не менее, используется исключительно для разработки приложений под .NET.       Язык Visual С++ на данный момент является самым широко используемым языком программирования как для разработки Win32 приложений, так и для создания программ для среды .NET Framework. Компания Microsoft разработала расширения этого языка - Managed Extensions for Visual C++, которые позволяют писать полноценные .NET.       С выходом новой версии платформы .NET 2.0 синтаксис языка Visual C++ был значительно обновлён. Это обновление языка, называемое C++/CLI (Common Language Infrastracture) было сделано для обеспечения возможности объединения управляемого (managed) и неуправляемого (native) исходного кода в единые модули, что позволило создавать так называемые mixed mode приложения. Таким образом возможности языка C++ .NET даже превосходят возможности C#, сохраняя всё старое и добавляя новые возможности среды .NET.
      .NET Framework – это платформа для
построения и исполнения приложений. Её основные компоненты – общеязыковая исполняющая среда CLR (Common
Language Runtime) и библиотека классов FCL (Framework Classes Library).
[6]       Перед исполнением, среда CLR выполняет, так называемую, компиляцию по требованию JIT (Just-In-Time) отдельных участков кода CIL и переводит их в машинный код. В связи с таким подходом к исполнению приложений можно говорить о виртуальной машине .NET. Несмотря на накладные расходы, связанные с JIT-компиляцией, приложения .NET работают достаточно быстро (примерно 60% от производительности неуправляемого аналога), благодаря высокой оптимизации этого процесса.       Библиотека FCL представляет набор объектно-ориентированных API, к которым обращаются управляемые приложения. Инструментарий, предлагаемый этой библиотекой, настолько широк, что позволяет полностью отказаться от использования вспомогательных библиотек, таких как Windows API, MFC, ATL, COM. Средства этой библиотеки позволяют разрабатывать следующие типы клиентских и серверных приложений [7]:
      Microsoft .NET Framework предоставляет разработчикам массу преимуществ, перечислю лишь некоторые из них [7]:
      Из всего перечисленного, необходимо отметить, наличие встроенного сборщика мусора, выполняющего автоматическое управление памятью. Среда CLR автоматически отслеживает использования ресурсов, гарантируя, что не произойдёт их утечки. По сути она исключает возможность явного освобождения памяти. При разработке нашего приложения, будет создана сложная система классов, для управления объектами которой, очевидно потребуется сборщик мусора. Наличие же встроенного сборщика мусора в .NET Framework является несомненным плюсом для использования этой среды при разработке приложения.       Важным требованием к языку и среде разработки программы редактирования механизмов является возможность использования современных библиотек и средств программирования 3-х мерной компьютерной графики, что необходимо для визуализации структурных схем механизмов. В данный момент самыми широко используемыми библиотеками для программирования 3D графики являются: OpenGL и DirectX.       С выходом новой версии Microsoft DirectX 9.0 стало возможным использование этой библиотеки в среде .NET. Microsoft разработал специальное расширение существующей библиотеки DirectX “слоем” управляемых API, называемых Managed DirectX. Эти библиотеки открывают доступ к функциям библиотеки DirectX из управляемого кода.       Использование управляемого DirectX даёт разработчикам следующие преимущества:
      Минусом же является только снижение производительности рендеринга, из-за исполнения CIL-кода. Тем не менее, современные аппаратные ускорители 3D-графики компенсируют этот недостаток. Производительность рендеринга 3D-графики в управляемом коде можно повысить до 98% от производительности неуправляемого аналога [16].       Исходя из всего выше сказанного, я принял решение об использовании языка программирования Visual C++ .NET для создания приложения под платформу .NET Framework. Если некоторые компоненты программы удобнее писать на Visual C#, то их можно создавать в виде отдельных модулей. Для программирования 3D графики будет использоваться библиотека Managed DirectX 9.0.       Кроме того, для визуализации 3-х мерных аналогов элементов структурной схемы механизма, необходимо спроектировать их полигональные модели, а затем сохранить их в формате X-файла (для загрузки с помощью функций DirectX). Для этого необходимо использовать среду 3-х мерного моделирования, которая имеет возможности сохранения построенных моделей в X-файлах. Для этого я предлагаю использовать систему компании Paradox – Maxon Cinema 4D. Эта система имеет удобный инструментарий для создания 3-х мерных моделей и имеет возможности их сохранения и загрузки в X-файлах.       В качестве итога ко всему сказанному, ниже приводится список всех использыемых программных средств разработки для данного проекта:
|