Дайте определение контракта компонента. Что он в себя включает?




Контракт компонента в общем случае включает в себя: 1) набор тех функциональных возможностей (методов), которые компонент может получить от других компонентов (его права); 2) набор тех функциональных возможностей (методов), которые компонент обязан предоставить другим компонентам (его обязанности); 3) набор ограничений (предусловий и постусловий), которые должны быть выполнены при реализации п.1 и п. 2.

4. Дайте характеристику языка C# в сравнении с C++. Назовите основные различия.

Область Различия между С# и С++
Глобальные элементы C# является чистым объектно-ориентированным языком. Наличие глобальных переменных или методов не допускается. Все данные и методы должны содержаться в элементах class или struct.
Указатели Манипуляции с указателями и адресная арифметика допускаются в C# только в режиме unsafe (небезопасный режим).
Управление памятью В C++ полученная динамическая память должна высвобождаться явным образом. В C# выполняется автоматическая «сборка мусора».
Шаблоны классов В C# универсальные методы и типы поддерживают параметризацию типов приблизительно так, как это реализовано в шаблонах C++.
Ввод/вывод Службы ввода-вывода и форматирования в C# опираются на библиотеку времени выполнения платформы.NET Framework.
Main Метод Main в C# объявляется не так, как функция main в C++. Имя метода пишется с заглавной буквы, и этот метод является static. Доступна обработка аргументов командной строки.
Импорт типов В C++ типы, общие для нескольких модулей, помещаются в заголовочные файлы. В C# возможен контроль типов на этапе выполнения кода (рефлексия), для этого используются метаданные.
STL В C# имеется библиотека контейнерных классов (коллекций). Ключевое слово foreach позволяет выполнять итерацию массивов и коллекций.
Наследование В С# не разрешено множественное наследование от классов. От интерфейсов множественное наследование разрешено. Интерфейс не имеет свойств (т.е. не содержит данных), а описывает только методы.
Массивы В C++ массив задается адресом первого элемента. В C# массивы - это объекты, которые включают многие свойства и методы.
Строки В C++ строка - это массив символов. В C# строки - это сложные объекты с поддержкой методов поиска.
Передача аргументов В C++ аргументы передаются «по значению», если явным образом не использованы указатели или ссылочные типы. В C# аргументы передаются «по ссылке» (кроме структур), с модификаторами ref или out.
Делегаты В C# делегаты приблизительно схожи с указателями на функции в C++, являются строго типизированными и безопасными.
Методы базового класса В C# применяется ключевое слово base для вызова перекрытых членов базового класса из производных классов. Перекрытие виртуальных и абстрактных методов выполняется с помощью ключевого слова override.
Обработка исключений В C# предусмотрено ключевое слово finally для кода, который должен быть выполнен независимо от того, возникло ли исключение.

5. Дайте характеристику языка Java в сравнении с C++. Назовите основные различия.

6. Как выглядит итерационная модель жизненного цикла ПО (рисунок, пояснения)?

Под жизненным циклом программного обеспечения (ПО) понимается период

разработки и эксплуатации ПО, в котором выделяют следующие этапы:

  1. Спецификация требований к ПО.
  2. Проектирование ПО.
  3. Реализация ПО (кодирование).
  4. Отладка и тестирование ПО.
  5. Внедрение ПО (ввод в эксплуатацию).

Эксплуатация и сопровождение ПО

7. Как выглядит спиральная модель жизненного цикла ПО (рисунок, пояснения)?

8. Проектирование ПО (определение). Проектирование выполняется на основе … чего?

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

Проектирование выполняется на основе: моделей предметной области, требований к ПО, паттернов (шаблонов) проектирования, опыта проектировщиков.

9. Дайте определение UML. Как понимать формулу UML = нотация + семантика?

Unified Modeling Language – унифицированный язык моделирования, который предназначен для описания, визуализации и документирования объектно-ориентированных систем в процессе их анализа и проектирования.

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

Язык UML не является методологией, процессом, языком программирования или формальным языком. UML = нотация + семантика.

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: