Перечислите характерные черты современного ПО

Перечислите виды современного программного обеспечения (ПО).

Рассмотрим некоторые наиболее характерные виды современного программного обеспечения:

  • Клиент-серверные системы
  • Web – сервисы и Web-приложения
  • Интегрированные распределенные решения (solutions)
  • Встроенные системы
  • Системы реального времени
  • Программное обеспечение мобильных устройств
  • Программное обеспечение носимых (wearable) компьютеров
  • Программное обеспечение промежуточного уровня (middleware)
  • ПО для облачных вычислений и центров обработки данных
  • ПО для компьютерных кластеров
  • ПО для виртуализации
  • ПО для управления информацией (information management)
  • ПО для управления знаниями (knowledge management)
  • ПО для научных вычислений (scientific computing)

 

Перечислите требования к современному ПО

Требования к программному обеспечению — совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе разработки требований к программному обеспечению, в результате анализа требований.

Требования могут выражаться в виде текстовых утверждений и графических моделей.

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

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

Виды требований по характеру

  • Функциональный характер — требования к поведению системы
    • Бизнес-требования
    • Пользовательские требования
    • Функциональные требования
  • Нефункциональный характер — требования к характеру поведения системы
    • Бизнес-правила — определяют ограничения, проистекающие из предметной области и свойств автоматизируемого объекта (предприятия)
    • Системные требования и ограничения — определения элементарных операций, которые должна иметь система, а также различных условий, которым она может удовлетворять. К системным ограничениям относятся ограничения на программные интерфейсы, требования к атрибутам качества, требования к применяемому оборудованию и ПО.
    • Атрибуты качества
    • Внешние системы и интерфейсы
    • Ограничения

Перечислите характерные черты современного ПО

Повторная используемость (reusability) кода весьма важна для успешной разработки программ, так как позволяет существенно экономить ресурсы при разработке.

Сервисно-ориентированная архитектура ПО отражает тенденцию к явному выделению понятия программного сервиса (преимущественно, Web-сервиса). О ней подробнее см. п. 1.8.

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

Облачные вычисления (cloud computing) - в настоящее время один из наиболее популярных подходов к разработке и использованию ПО, реализующий метафору "облака" (cloud) – Интернет- или интранет-сети, через которую пользователям доступны ресурсы – приложения, данные, знания. Данный подход подробно рассмотрен в курсе.

Управление знаниями (knowledge management) играет важнейшую роль в современном ПО, так как для решения многих реальных задач недостаточно чисто алгоритмических методов; требуется интеграция методов инженерии программ и инженерии знаний. Эта важная идея реализована в нашей системе управления знаниями Knowledge.NET (http://www.knowledge-net.ru).

 

3. Какие Вы знаете современные платформы для разработки ПО?

Java (Sun Microsystems, 1995; ныне - Oracle) – платформа для разработки программ на объектно-ориентированном языке Java, программы на котором компилируются в Java байт-код. Спецификации Java до сих пор имеют статус ведомственного стандарта Oracle, хотя и обсуждаются до их принятия международным сообществом Java Community Process (JCP): http://www.jcp.org .

.NET (2000) – многоязыковая объектно-ориентированная платформа для разработки программ с общим промежуточным языком (CIL), общей инфраструктурой языков (CLI) и единым представлением данных на основе XML (стандарты ISO/ ECMA). Язык C# - наиболее удобный язык программирования для .NET, но не единственный и не обязательный для использования. .NET – открытая платформа, стандартизированная совокупностью стандартов ISO. Microsoft.NET – это лишь одна из реализаций стандартов .NET; из других наиболее известны Mono и DotGNU.

Обе платформы – и Java, и .NET - уделяют особое внимание надежности и безопасности на основе исполнения управляемого кода и динамического контроля типов/

Обе платформы поддерживают разработку Web-сервисов и содержат базовые средства для реализации cloud computing.

Другие современные широко используемые платформы и языки: Ruby, Python, Scala.