Перечислите характерные черты современного ПО
Перечислите виды современного программного обеспечения (ПО).
Рассмотрим некоторые наиболее характерные виды современного программного обеспечения:
- Клиент-серверные системы
- 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.