Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_17.05..docx
Скачиваний:
10
Добавлен:
04.05.2019
Размер:
3.08 Mб
Скачать

1.1.4.2 Технологические средства разработки

Необходимость анализа предметной области до начала написания программы была осознана при разработке масштабных проектов. Выделение исходных или базовых компонентов предметной области, требуемых для решения той или иной задачи, представляет, в общем случае, нетривиальную проблему. Сложность моделирования предметной области привела к появлению новой методологии объектно-ориентированного анализа и проектирования.

Объектно-ориентированный анализ и проектирование (ООАП, Object-Oriented Analysis/Design) - технология разработки программных систем, в основу которых положена объектно-ориентированная методология представления предметной области в виде объектов, являющихся экземплярами соответствующих классов. В рамках технологии ООАП был разработан унифицированный язык моделирования UML [34].

UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация [35].

Современной версией языка UML является версия 2.0, опубликованная в августе 2005 года. Последняя версия UML 2.3 опубликована в мае 2010 года.

Структуру диаграмм UML 2.3 можно представить на диаграмме классов UML на рисунке 1.11.

Рисунок 1.11– Диаграмма классов UML

Язык UML был выбран для проектирования в рамках данного дипломного проекта из-за следующих преимуществ:

  • UML объектно-ориентированный, в результате чего методы описания результатов анализа и проектирования семантически близки к методам программирования на современных ОО-языках;

  • UML позволяет описать систему практически со всех возможных точек зрения и разные аспекты поведения системы;

  • диаграммы UML сравнительно просты для чтения после достаточно быстрого ознакомления с его синтаксисом;

  • UML получил широкое распространение и динамично развивается.

В рамках дипломного проекта были использованы следующие средства разработки: платформа .NET Framework, среда разработки Visual Studio 2010, язык программирования C#, технология WPF. Рассмотрим их подробнее.

.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является виртуальная машина Common Language Runtime (CLR), способная выполнять как обычные настольные программы, так и веб-приложения. Отличительной особенностью .NET Framework является способность выполнять программы, написанные на разных языках программирования.

Программа для .NET Framework, написанная на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для .NET понятный человеку низкоуровневый язык Common Intermediate Language (CIL). Затем компилятор производит перевод CIL-кода в объектный байт-код, а уже байт-код либо исполняется виртуальной машиной CLR, либо транслируется утилитой в исполняемый код для конкретной целевого процессора. В случае использования виртуальной машины CLR, встроенный в неё JIT-компилятор «на лету» преобразует промежуточный байт-код в машинные коды нужного процессора. Платформа .NET предоставляет большое количество классов, доступных для всех поддерживаемых языков программирования, содержащихся в библиотеке Framework Class Library (FCL). Ядро FCL называется Base Class Library (BCL) [36].

Последняя версия .NET Framework 4.0 была выпущена 12 апреля 2010 года вместе с окончательной версией Visual Studio 2010.

Достоинства платформы .NET:

  1. вся платформа .NET основана на единой объектно-ориентированной модели. То есть все сервисы, интерфейсы и объекты, которые платформа предоставляет разработчику объединены в единую иерархию классов. Другими словами, все, что может вам потребоваться при создании приложений под платформу .NET будет всегда у вас под рукой. Причем, все это сгруппировано очень удобно и интуитивно понятно;

  2. приложение, написанное на любом .NET-совместимом языке является межплатформенным (в идеале). Дело в том, что приложение, написанное, скажем, на том же C#, не зависит от платформы, на которой будет выполняться, но зато зависит от наличия платформы .NET. Но намного легче один раз портировать архитектуру .NET под какую либо систему, после чего без проблем запускать абсолютно любое .NET приложение;

  3. в состав платформы .NET входит т.н. "сборщик мусора", который освобождает ресурсы. Таким образом, приложения защищены от утечки памяти и от необходимости освобождать ресурсы. Это делает программирование более легким и более безопасным;

  4. приложения .NET используют метаданные, что позволяет им не пользоваться системным реестром Windows;

  5. любое .NET приложение является автономным, в том смысле, что не зависит от других программ, в частности от ОС;

  6. приложения .NET используют безопасные типы, что повышает их надежность, совместимость и межплатформенность;

  7. приложение, написанное на любом .NET языке взаимодействует с единой моделью обработки ошибок, что значительно упрощает этот нудный процесс;

  8. приложения написанные на разных могут легко взаимодействовать;

  9. .NET приложения могут быть сертифицированы на безопасность. Это является особенность промежуточного кода, в который преобразуются все .NET приложения;

  10. абсолютно все ошибки обрабатываются механизмом исключительных ситуаций. Это позволяет избежать разногласия;

  11. повторное использование кода стало еще удобнее. Это связано с тем, что промежуточный язык MSIL не зависит от языка программирования. Например, вы можете написать программу на C#, а патч к ней писать уже, скажем, на J#.

Но у любого программного продукта есть свои недостатки, есть они и у платформы .NET:

  1. приложения, написанные под платформу .NET работают медленнее. Задержки в выполнении связаны с промежуточным языком MSIL, ведь для того чтобы его скомпилировать в выполняемый файл тоже нужно время;

  2. не на любом языке можно создавать .NET приложения. Дело в том, что первоначально .NET "затачивался" под C/JAVA-подобные языки. Это породило некоторые трудности с созданием .NET компиляторов для других языков;

  3. необходимо наличие библиотеки FrameWork. Данный недостаток устранен с выходом Windows Vista, т.к. данная библиотека встроена в систему по умолчанию.

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

В данном дипломном проекте в качестве среды разработки была выбрана Visual Studio 2010. Visual Studio 2010 — выпущена 12 апреля 2010 года вместе с .NET Framework 4.0. Visual Studio включает поддержку языков C# 4.0 и Visual Basic .NET 10.0, а также языка F#, отсутствовавшего в предыдущих версиях.

Это мощная среда разработки, обеспечивающая высокое качество кода на протяжении всего цикла разработки ПО, от проектирования до разработки.

Из всех языков, предоставляемых платформой .NET для реализации поставленной задачи был выбран язык C#.

C# — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET Framework. Компилятор C# входит в стандартную установку .NET Framework.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++) [36].

В рамках платформы .NET для реализации графического интерфейса использовалась технология WPF. Windows Presentation Foundation (WPF, кодовое название — Avalon) — система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе .NET Framework (начиная с версии 3.0), имеющая прямое отношение к XAML [37].

В основе WPF лежит векторная система визуализации, не зависящая от разрешения и созданная с расчетом на возможности современного графического оборудования. WPF предоставляет средства для создания визуального интерфейса, включая язык XAML (Extensible Application Markup Language), элементы управления, привязку данных, макеты, двухмерную и трехмерную графику, анимацию, стили, шаблоны, документы, текст, мультимедиа и оформление.

Графической технологией, лежащей в основе WPF является DirectX, в отличие от Windows Forms, где используется GDI/GDI+. Производительность WPF выше, чем у GDI+ за счёт использования аппаратного ускорения графики через DirectX.