1.86M
Категория: ПрограммированиеПрограммирование

Современные технологии разработки ПО

1.

Тема: Современные
технологии разработки
ПО.

2.

План:
1.
Технология Java.
2.
Платформа .NET Framework.
3.
Среда выполнения .NET.
4.
Библиотека классов .NET
5.
Обеспечение безопасности в .NET

3.

Технология Java
Технология Java является одновременно
объекто-ориентированным ЯП и платформой,
разработанной компанией Sun Microsystems (В
последующем приобретенной компанией Oracle).
Технология Java основывается на концепции
виртуальной Java-машины (JVM – Java virtual
machine).
Виртуальная машина Java – основная часть
исполняющей системы Java, так называемой Java
Runtime Environment (JRE).

4.

Технология Java
Виртуальная машина Java интерпретирует
байт-код Java, предварительно созданный из
исходного текста Java-программы компилятором
Java.
Байт-код
Java

набор
инструкций,
исполняемых виртуальной машиной Java. Каждый
код операции байт-кода – один байт.
JVM может
также использоваться для
выполнения программ, написанных на других ЯП.

5.

Технология Java
Использование
одного
байт-кода
для
многих платформ позволяет описать Java
как «скомпилировано однажды, запускается
везде».
Все реализации ЯП должны содержать JVM, за
счет чего программы, написанные на Java,
работают на любой ОС.

6.

Технология Java
Платформа Java, состоит:
JVM
Java API (Java Application Programming Interface)
– большой набор готовых программных
компонентов,
упрощающих
разработку
и
развертывание
апплетов
и
приложений,
включая надежные, безопасные приложения
масштаба предприятий.
Java API сгруппирован в библиотеки классов и
интерфейсов, которые называют пакетами
(package).

7.

Технология Java
Интерфейс – видимая часть спецификации
компонента, предназначенной для интеграции
компонента в среде, как элемента повторного
использования.
Описание интерфейса задается в виде пары –
имя параметра и значение параметра, которые
могут
изменяться
автоматически
без
вмешательства в код компонента.
Это описание реализует инструмент Inspector
Components.

8.

Технология Java
Основные возможности Java:

9.

Платформа .NET Framework
Microsoft .NET Framework – платформа для
создания, развертывания и запуска web-сервисов
и приложений.
Представляет
высокопроизводительную,
основанную на стандартах многоязыковую среду,
которая позволяет интегрировать существующие
приложения с приложениями и сервисами
следующего поколения, а также решать задачи
развертывания
и
использования
интернетприложений.

10.

Платформа .NET Framework
.NET Framework состоит из:
Общеязыковой среды выполнения;
Иерархического
множества унифицированных
библиотек.
Поддерживает как простые программы, так и
серверные приложения.

11.

Платформа .NET Framework
При разработке платформы .NET учитывались
следующие цели:

12.

Платформа .NET Framework

13.

Платформа .NET Framework
Платформа состоит из:

14.

Платформа .NET Framework
Платформа состоит из:
2. Набор серверов .NET Enterprise Servers,
которые
предоставляют
функциональные
возможности для обращения к реляционным
базам данных, использования электронной почты
и т.д.

15.

Платформа .NET Framework
Платформа .NET
поддерживает языковую
интеграцию – разработчик может наследовать от
классов,
обрабатывать
исключения
и
использовать преимущества полиморфизма при
одновременной работе с несколькими языками.
CTS (Common Type System – общая система типов):
Описывает все типы данных, поддерживаемые
средой выполнения;
Определяет
как одни типы данных, могут
взаимодействовать с другими и как они будут
представлены в формате метаданных.

16.

Платформа .NET Framework
На сегодняшний день платформа включает в
себя:

17.

Платформа .NET Framework
Основные компоненты Microsoft .NET Framework

18.

Среда выполнения .NET
Самый важные компонент платформы .NET –
CLR (Common Language Runtime) – среда, в
которой выполняются программы.
Главная ее роль заключается в том, чтобы
обнаруживать и загружать типы .NET и
производить управление ими в соответствии с
полученными командами.
CLR включает в себя виртуальную машину, во
многих отношениях аналогичную виртуальной
машине Java.

19.

Среда выполнения .NET
На верхнем уровне среда:
активизирует объекты,
производит проверку безопасности,
размещает объекты в памяти,
выполняет их,
запускает сборщик мусора (под сборкой мусора
понимается освобождение памяти, занятой
объектами, которые стали бесполезными и не
используются
в
дальнейшей
работе
приложения).

20.

Среда выполнения .NET
Двухэтапный процесс компиляции

21.

Среда выполнения .NET
На первом этапе исходный код компилируется
во время построения проекта и вместо
исполняемого файла с машинными кодами
получается
первая
сборка
(assembly),
содержащая команды промежуточного языка MSIL
(Microsoft
Intermediate
Language

промежуточный язык Microsoft).
Код IL сохраняется в файле на диске.
При этом файлы MSIL (сокращенно IL),
генерируемые компилятором, н-р, С#, идентичны
IL-файлам, генерируемым компиляторами с
других языков .NET.

22.

Среда выполнения .NET
Второй
этап
компиляции
наступает
непосредственно
перед
фактическим
выполнением страницы.
На этом этапе CLR транслирует промежуточный
код IL в низкоуровневый собственный машинный
код, выполняемый процессором.

23.

Среда выполнения .NET
Процесс происходит следующим образом:
при
выполнении .NET-программы системы CLR
активизирует JIT-компилятор, который затем
превращает MSIL во внутренний код процессора.
этот
этап известен как оперативная компиляция
«точно к нужному моменту» (Just-In-Time) или JITкомпиляция, и он проходит одинаково для всех
приложений .NET (включая, н-р, приложения
Windows).
перед созданием низкоуровневого машинного кода
компилятору
необходимо
знать,
в
какой
операционной системе и на каком базовом
оборудовании будет функционировать приложение.

24.

Среда выполнения .NET
Благодаря двум этапам компиляции можно
создать скомпилированную сборку с кодом .NET и
распределить ее более чем на одну платформу.
Среда выполнения CLR:
управляет памятью,
выполнением потоков,
выполнением кода,
проверкой безопасности кода,
компиляцией и другими системными службами.

25.

Среда выполнения .NET
Эти
средства
являются
внутренними
для
управляемого кода, который выполняется в среде
CLR.
Код, который обращается к среде выполнения,
называют управляемым кодом, а который не
обращается — неуправляемым.
Среда выполнения CLR обеспечивает управление
доступом для кода.
Н-р, пользователи могут доверить исполняемому
приложению,
внедренному
в
веб-страницу,
воспроизведение
анимации
на
экране
или
звукозаписи, не позволяя ему при этом получить
доступ к личным данным, файловой системе или
сети.

26.

Среда выполнения .NET
Среда выполнения CLR также обеспечивает
надежность кода, реализуя инфраструктуру
строгой типизации и проверки кода, которую
называют системой общих типов (CTS).
CLR автоматически управляет размещением
объектов и ссылками на объекты, освобождая их,
когда они больше не используются.
Автоматическое
управление
памятью
исключает две наиболее часто возникающие
ошибки приложений:
утечки памяти и недействительные ссылки на
память.

27.

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

28.

Среда выполнения .NET
Хотя среда выполнения разрабатывалась для
будущего программного обеспечения, она также
поддерживает и устаревающее программное
обеспечение.
Взаимодействие
управляемого
и
неуправляемого кодов позволяет разработчикам
использовать необходимые компоненты СОМ и
библиотеки DLL.

29.

Библиотека классов .NET
Библиотека
классов
.NET
Framework
представляет
собой
библиотеку
классов,
интерфейсов и типов значений, которые
обеспечивают
доступ
к
функциональным
возможностям системы.
Она
составляет
основу
приложений,
компонентов
управления. NET Framework.
для
создания
и
элементов

30.

Библиотека классов .NET
Библиотека
классов
применяется
для
разработки приложений — начиная с обычных
приложений, запускаемых из командной строки,
и приложений с графическим интерфейсом
пользователя (GUI), и заканчивая приложениями,
использующими
последние
технологические
возможности, такие как веб-службы XML.
.NET Framework содержит классы, интерфейсы
и типы значений, которые облегчают и
оптимизируют процесс разработки, а также
обеспечивают доступ к функциям системы.

31.

Библиотека классов .NET
.NET Framework содержит типы, предназначенные
для следующих задач:
представление
базовых
типов
данных
и
исключений;
инкапсуляция структур данных;
операции ввода-вывода;
доступ к данным о загруженных типах;
вызов проверок безопасности . NET Framework;
доступ
к данным, предоставление графического
пользовательского интерфейса на стороне клиента
и
управляемого
сервером
графического
пользовательского интерфейса на стороне клиента.

32.

Библиотека классов .NET
.NET Framework предлагает расширенный
набор интерфейсов, а также абстрактных и
конкретных (неабстрактных) классов.
Можно использовать существующие конкретные
классы, кроме того, во многих случаях на их
основе
можно
создавать
собственные
производные классы.
Чтобы использовать возможности интерфейса,
можно либо создать класс, реализующий
интерфейс, либо создать производный класс на
основе одного из классов .NET Framework,
реализующего интерфейс.

33.

Библиотека классов .NET
Не все языки, поддерживающие платформу
.NET, предоставляют или обязаны предоставлять
одинаково полный доступ ко всем классам и всем
возможностям библиотеки классов платформы
.NET — это зависит от особенностей реализации
конкретного компилятора и языка.

34.

Обеспечение безопасности в .NET
В .NET реализована такая мера безопасности,
как
автоматизированное
управление
жизненным
циклом
программного
обеспечения.
Для программиста это проявляется:
в
автоматической
«сборки мусора»,
реализации
процедуры
в запрете использования указателей на области
памяти
с
неопределенным
(«висячих» ссылок)
значением
в запрете использования ссылающихся на себя
указателей (циклических ссылок).

35.

Обеспечение безопасности в .NET
Более
существенным
ограничением
безопасности
является
автоматизация
обеспечения синтаксической коррекции кода:
безопасный вызовов функций и процедур,
контроль
выхода за границы заявленного
программистом
размера
статически
распределяемых областей памяти,
запрет использования переменных, если им не
задано
значение
(инициализация).
по
умолчанию

36.

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

37.

Обеспечение безопасности в .NET
Усовершенствованы
права
пользователей к ресурсам.
доступа
В частности, для включения компонента в
проект необходимо проверить источник кода,
заверенный автором цифровой подписью, и
убедиться в подлинности отправителя.
Использование динамически корректируемых в
соответствии
с
профилями
пользователя
политик доступа.

38.

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

39.

Контрольные вопросы:
Технология Java – это… Кто разработчик?
2. Что такое виртуальная машина Java?
3. JRE-это…
4. Байт-код – это…
5. Что такое Microsoft .Net Framework?
6. .Net Framework состоит из…
7. Языковая интеграция – это…
8. CTS – это…
9. Какие 4 официальных языка включает в себя
платформа .Net Framework?
10. CLR – это…
11. MSIL (IL) – это…
1.

40.

Контрольные вопросы:
1.
Для чего предназначен JIT-компилятор?
2.
Управляемый код – это…
3.
Неуправляемый код – это…
4.
Библиотека классов .NET Framework – это…
5.
Какие
меры
обеспечения
безопасности
содержит платформа .Net Framework?
English     Русский Правила