Опубликован: 22.12.2012 | Уровень: для всех | Доступ: платный
Лекция 2:

Жизненный цикл программного обеспечения. Основные этапы создания ПО с архитектурой WinRT

< Лекция 1 || Лекция 2 || Лекция 3 >
Аннотация: В данной лекции приведены основные сведения о разработке программного обеспечения. Определяются особенности разработки приложений с архитектурой WinRT

Во вступительной лекции было сказано что, новая операционная система в ряду уже известных технологий. Основными являются технологии основании на платформе .NET, такие как Windows Presentation Foundation, ASP.NET, Silverlight и др. В основе перечисленных технологий, также как и многих других современных технологий разработки программного обеспечения лежит подход, который основан на систематическом использовании моделей для языково-независимой разработки программной системы, на основе из ее прагматики. Модель содержит не все признаки и свойства представляемого ею предмета (понятия), а только те, которые существенны для разрабатываемой программной системы. Тем самым модель "беднее", а, следовательно, проще представляемого ею предмета (понятия). Но главное даже не в этом, а в том, что модель есть формальная конструкция: формальный характер моделей позволяет определить формальные зависимости между ними и формальные операции над ними. Это упрощает как разработку и изучение (анализ) моделей, так и их реализацию на компьютере. В частности, формальный характер моделей позволяет получить формальную модель разрабатываемой программной системы как композицию формальных моделей ее компонентов.

Таким образом, объектно-ориентированный подход помогает справиться с такими сложными проблемами, как

  • уменьшение сложности программного обеспечения;
  • повышение надежности программного обеспечения;
  • обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов;
  • обеспечение возможности повторного использования отдельных компонентов программного обеспечения.

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

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

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

Жизненный цикл программной системы

Рис. 1.1. Жизненный цикл программной системы

Жизненный цикл программного обеспечения (ПО) - период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл - процесс построения и развития ПО, который представляет собой набор формализованных процессов [ГОСТ Р ИСО/МЭК 12207-99]:

  • процессы соглашения;
  • процессы организационного обеспечения проекта;
  • процессы проекта;
  • технические процессы;
  • процессы реализации программных средств;
  • процессы поддержки программных средств;
  • процессы повторного применения программных средств.

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

Впервые в технологии разработки программного обеспечения на основные позиции выводится взаимодействие с пользователем, а не, например, количество компонентов в приложении. Это означает, что концепция взаимодействия приложения с пользователем должна описываться на самых ранних стадиях разработки приложения, вплоть до формулирования задания в процессах соглашения. Также, при анализе требований к программе на ранних стадиях жизненного цикла, необходимо определить ряд ключевых позиций, которые отличают приложения для Windows Store от "традиционных":

  1. Определить содержимое приложения.
  2. Определить преимущества приложения.
  3. Определить поддерживаемые действия пользователя.
  4. Определить поддерживаемые функции.
  5. Определить основные концепции интерфейса.

Из вышесказанного следует три основных отличия в создании приложений для магазина Windows:

  1. Анализ требований должен быть направлен на содержание приложения и его удобство с точки зрения пользователя;
  2. При проектировании приложений следует сконцентрироваться в первую очередь на данных и пользовательском интерфейсе;
  3. Реализация приложения должна основываться на программном интерфейсе WinRT.

Остальные этапы жизненного цикла приложений WinRT является традиционными. Процессы и задачи на каждом из этапов определяются только уровнем реализации технического задания и будут рассмотрены ниже.

WinRT представляет собой программный интерфейс построения приложений для Windows Store. Интерфейс польностью объектно-ориентированный и поддерживает следующие наборы классов

Набор классов WinRT

увеличить изображение
Рис. 1.2. Набор классов WinRT

Как видно из рисунка, в Windows Runtime выделяют несколько основных блоков.

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

Интерфейс WinRT поддерживается различными языками программирования: С++, С#, VisBasic, XAML. Классы WinRT практически во всем совпадают с классами .NET Framework. Это не случайность. Дело в том, что WinRT разрабатывался таким образом, чтобы с его помощью можно было удобно создавать приложения не только на C++, но и на C#. Фактически, он адаптировался для C#- разработчиков, и на WinRT можно смотреть как на воплощение .NET Framework в ядре платформы.

С# - это управляемый язык программирования, который работает под управлением .NET Framework. Язык программирования C#, как и раньше, выполняется в управляемом окружении, и в своих управляемых приложениях Вы можете получать доступ к большинству классов .NET Framework, при этом используя и классы WinRT. В Windows 8 у приложения для Windows Store нет необходимости получать доступ к старым элементам управления или событиям, связанным с работой окна в старых операционных системах. А вот потенциал LINQ полностью доступен в приложениях для как раз благодаря возможности программировать на C#. Полный список доступных .NET-классов в приложениях Для Windows Store можно посмотреть в документации.

Вызов интерфейсов Windows Runtime становится возможным благодаря специальной прослойке Language Projection. Она представляет собой механизм взаимодействия между WinRT и C#/XAML. Проще говоря, под Language Projection можно понимать библиотеку прокси-классов, а также расширения компилятора, делающие разработку приложений на C# "нативной". Подобные прослойки есть и для других технологий. Например, для приложений, написанных на JavaScript/HTML5, существует аналогичная прослойка, которая включает библиотеку WinJS, позволяющую обращаться к WinRT из кода на JavaScript.

Краткие итоги

В лекции приводятся основные понятия жизненного цикла программного обеспечения: процессы, действия, задачи. Определены ряд ключевых позиций, которые отличают приложения для Windows Store от "традиционных".

Вопросы

  1. Что такое жизненный цикл программы?
  2. Каковы этапы жизненного цикла программы?
  3. Какие процессы определяют построение и развитие ПО?
  4. В чем отличие разработки приложений для Windows Store от разработки традиционных приложений?
  5. Какие задачи решаются на этапе анализа требований при разработке приложений для Windows Store.
< Лекция 1 || Лекция 2 || Лекция 3 >
Екатерина Егорова
Екатерина Егорова
Россия, Красноярск, СФУ, 2008
Даниил Поволоцкий
Даниил Поволоцкий
Беларусь, Минск