Программа учебного курса ТЕХНОЛОГИИ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ. ПЛАТФОРМА ПРОГРАММИРОВАНИЯ .NET I. Организационно-метод...
17 downloads
239 Views
142KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Программа учебного курса ТЕХНОЛОГИИ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ. ПЛАТФОРМА ПРОГРАММИРОВАНИЯ .NET I. Организационно-методический раздел. Курс реализуется в рамках специальности 220400 «Программное обеспечение вычислительной техники и автоматизированных систем», относится к циклу специальных дисциплин. 1.1.Цели и задачи курса Цели курса - дать студентам представление о направлении развития индустриальных платформ программирования для построения больших распределенных программных систем. - дать студентам представление о компонентно-ориентированной парадигме программирования. - формирование и развитие у студентов точки зрения архитектора программного обеспечения. - формирование и развитие у студентов умения делать обоснованный выбор технологий для построения распределенных программных систем. Задачи курса - дать краткий исторический обзор развития индустриальных платформ программирования. - рассмотреть проблемы создания современных распределенных программных систем. - дать подробный обзор внутреннего устройства платформы .Net и общеязыковой исполняющей среды (CLR). - дать сравнительный анализ и продемонстрировать на практике технологические возможности и средства платформы .Net для создания распределенных программных систем. 1.2.Требования к уровню освоения содержания курса По окончании изучения указанной дисциплины студент должен иметь представление - об особенностях индустриального программирования. - о требованиях индустриального программирования, современным средствам разработки программных систем.
предъявляемых
к
знать - технологии и методы организации межкомпонентного взаимодействия в распределенных программных системах, обеспечения информационной
-
безопасности, расширяемости и сопровождения программных предоставляемые платформой .Net. сравнительные характеристики этих технологий и методов.
решений,
уметь - сделать сравнительный анализ и обосновать выбор технологий и методов платформы .Net для построения программной системы. - определить условия и ограничения применимости различных технологий и методов платформы .Net в зависимости от специфики программного проекта. - использовать технологии и методы платформы .Net для построения программных систем.
1.3.Формы контроля Итоговый контроль. Для контроля усвоения дисциплины учебным планом предусмотрены два зачета по практической части в конце каждого из двух семестров и экзамен по теоретической части в конце второго семестра. Текущий контроль. В течение первого и второго семестров выполняются по 5 контрольных заданий, также после первого семестра принимается коллоквиум – всего 2 вида контроля (11 оценок). Кроме того, каждый студент по желанию может подготовить реферат по теме, связанной с темой курса. Выполнение указанных видов работ является обязательным для всех студентов, а результаты текущего контроля служат основанием для выставления оценок в ведомость контрольной недели на факультете.
2. Содержание дисциплины. 2.1.Новизна и актуальность курса Учебный курс освещает как фундаментальные особенности построения комплексных программных систем, так и современное направление их развития. Кроме того, курс основан на одной из самых современных и динамично развивающихся платформ программирования.
2.2.Тематический план курса (распределение часов).
К о л и ч е с т в о ч а с о в ЛабораторСамостоятель- Всего Наименование разделов Лекции Семинары ные работы ная работа часов и тем Раздел 1. Основы платформы 14 14 20 48 .Net. Общеязыковая исполняющая среда CLR. Введение в язык C# Раздел 2. Программирование на платформе .Net
Итого по курсу:
54
54
54
162
68
68
74
210
2.3.Содержание отдельных разделов и тем. А) Теоретическая часть 1
Основы платформы .Net. Общеязыковая исполняющая среда CLR. Введение в язык C# 1.1 Исторический обзор развития компонентного программирования. Smalltalk, CORBA, COM, Java. 1.2 Обзор платформы .Net. Предпосылки создания .Net. От COM к .Net. CLR – общеязыковая среда исполнения. Управляемый код. 1.3 Компоненты. Модули. Сборки. Имена сборок. Публичные ключи и сборки. Загрузчик CLR. Управление версиями. 1.4 Типы. Основы типов в CLR. Инициализация. Интерфейсы. Наследование. Типы времени выполнения. Метаданные. Рефлексия. Свойства. События. Индексаторы. Атрибуты. 1.5 Экземпляры. Объекты и значения. Переменные, параметры и поля. Эквивалентность и идентичность. Клонирование. Упаковка. Массивы. Жизненный цикл объекта. Завершение объекта. 1.6 Методы. Методы и JIT-компиляция. Вызов методов. Виртуальные и абстрактные методы. Явный вызов методов. Неявный вызов методов, делегаты. Асинхронный вызов методов. Завершение методов. Сообщения, посредники и удаленные вызовы. 1.7 Домены приложений. Безопасность. Область выполнения. Домен приложения. Процессы. Потоки. Безопасность доступа кода. Признаки. Политики. Разрешения. 1.8 Управление памятью. Режимы выполнения. Неуправляемый код. Загрузка CLR. 2 Программирование на платформе .Net 2.1 Ввод/Вывод, Работа с сетью. Работа с потоками. Работа с файловой системой. Работа с интернет и сетевыми службами и протоколами: IP 4 & 6, TCP, UDP, IrDA, HTTP, FTP, SMTP. 2.2 XML. Обзор языка XML. Способы работы с XML. Потоковая обработка. Навигация. Разбор. Запросы. Преобразование. Схемы. Валидация. 2.3 Графический пользовательский интерфейс. Архитектура Windows Forms. Элементы управления. Возможности GDI+. 2.4 Веб-приложения. Архитектура ASP.NET. Веб-формы. Серверные элементы управления. XML Web Services. Веб-приложения для мобильных устройств. 2.5 Мобильные приложения. Обзор платформы .Net Compact Framework. 2.6 Сериализация. Сохранение состояния программы между сеансами. 2.7 ADO.NET. Работа с данными. 2.8 Многопоточность. Управление потоком. Синхронизация потоков. Создание пула потоков. Асинхронное выполнение. Таймеры. 2.9 Рефлексия/отражение. Динамическое создание и использование программ. CodeDOM. 2.10 Безопасность. Безопасность доступа кода. Безопасность на основе ролей. Криптография. Безопасная передача данных. взаимодействие. Архитектура удаленного взаимодействия. 2.11 Удаленное Прокси/посредники. Сообщения. Потоки сообщений. Форматеры. Транспортные каналы. Возможности расширения. 2.12 Ресурсы. Глобализация и локализация. 2.13 Net Framework 2.0. Что дальше? Альтернативные платформы и языки программирования. Обзор языков программирования, реализованных для .Net.
SSCLI (Rotor) - реализация CLI с открытым исходным кодом от Microsoft. Платформа Mono – альтернативная реализация .Net от Novell. Б) Практические занятия Для осуществления текущего контроля и закрепления усвоенного на лекциях материала на практических занятиях в терминальном классе студентам будет предложено выполнить ряд контрольных заданий по пройденным технологиям и методам. Кроме того, во второй половине второго семестра студентам будет предложено спроектировать и реализовать комплексное распределенное программное решение в составе групп из 2-3 человек. Полученное решение студенты будут защищать на итоговом экзамене в конце второго семестра. 2.4. Перечень примерных контрольных вопросов и заданий для самостоятельной работы – см. раздел 3.1 (темы рефератов для самостоятельной работы), см. раздел 2.3.А (содержание отдельных разделов и тем теоретической части курса).
3. Учебно-методическое обеспечение дисциплины 3.1. Темы рефератов 1) Сравнительный анализ платформ программирования .Net и J2EE 2) Сравнительный анализ платформ программирования Microsoft Shared Source CLI и Mono 3) Сравнительный анализ и области применимости технологий .Net Remoting и XML WebServices 4) Возможности межкомпонентного взаимодействия на основе технологии XML Web Services в различных платформах программирования 3.2.Список основной и дополнительной литературы 1) Don Box, Chris Sells. Essential .NET, Volume 1. The Common Language Runtime, (Addison Wesley, 2002). 2) Дон Бокс, Крис Селз. Основы .Net. Том 1 - CLR, (Вильямс, 2003). 3) Jeffrey Richter. Applied Microsoft .NET Framework Programming, (Microsoft Press, 2002). 4) Дж. Рихтер. Программирование на платформе Microsoft .NET Framework, (Русская Редакция, 2002) 5) Jeff Prosise. Programming Microsoft .NET, (Microsoft Press, 2002). 6) Дж. Просис. Программирование для Microsoft .NET, (Русская Редакция, 2002) 7) Charles Petzold. Programming Microsoft Windows with C#, (Microsoft Press, 2002). 8) Ч. Петцольд. Программирование для Microsoft Windows на C#, (Русская Редакция, 2002). 9) Dino Esposito. Programming Microsoft ASP.NET, (Microsoft Press, 2003). 10) Dino Esposito. Applied XML Programming for Microsoft .NET, (Microsoft Press, 2003). 11) David Sceppa. Microsoft ADO.NET, (Microsoft Press, 2002). 12) Д. Сцепа. Microsoft ADO.NET, (Русская Редакция, 2002)
13) Ingo Rammer. Advanced .NET Remoting, (Apress, 2002). 14) Adam Freeman, Allen Jones. Programming .NET.Security, (O'Reilly, 2003). 15) Andy Wigley, Peter Roxburgh. Building .NET Applications for Mobile Devices, (Microsoft Press, 2002). 16) Dan Fox, Jon Box. Building Solutions with the Microsoft .NET Compact Framework: Architecture and Best Practices for Mobile Development, (Addison Wesley, 2003). 17) Serge Lidin. Inside Microsoft .NET IL Assembler, (Microsoft Press, 2002). 18) MCSD (70-300) Self-Paced Training Kit. Analyzing Requirements and Defining Microsoft .NET Solution Architectures, (Microsoft Press, 2003). Программу подготовил:
Быстров А.В. Шишкин С. С.
Программа утверждена на заседании Ученого совета факультета информационных технологий Новосибирского государственного университета 18 декабря 2003 г., протокол заседания №16. Декан ФИТ НГУ, д.ф.-м.н.
М.М.Лаврентьев