Нормативный срок освоения программы 2 года Красноярск 2011 г. Содержание

Вид материалаДокументы

Содержание


Вычислительные системы
Технология разработки программного обеспечения
Раздел 2. Парадигмы программирования, техника написания кода.
Раздел 3. Методы и методологии разработки программного обеспечения
Подобный материал:
1   2   3   4   5   6   7   8
^

Вычислительные системы


Общая трудоемкость дисциплины составляет 4 зачетные единицы (144 час).

Целью изучения дисциплины является ознакомление студентов с основными принципами организации вычислительных систем (ВС), различными типами архитектур ВС, способами их проектирования и особенностями организации процессов обработки информации, современным состоянием и тенденциями развития данной предметной области.

Структура дисциплины: лекции – 25%, лабораторные работы – 25 %, самостоятельная работа – 50%.

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

Основные дидактические единицы (разделы): Основные определения в области вычислительных систем (ВС). Понятие фон-неймановской архитектуры, ее узкие места и способы их устранения. Классификация вычислительных систем. ВС с пакетным режимом обработки данных. ВС коллективного пользования. ВС реального времени.

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

Коммутационные сети многопроцессорных ВС. Шинные структуры, матричные структуры, кубические структуры. Примеры коммутационных сетей.

Процессоры, применяемые при проектировании многопроцессорных ВС. Структурные схемы процессоров разных поколений. Особенности организации многоуровневой памяти. Принципы построения сверхоперативной памяти. Взаимодействие процессоров при работе с общими данными.

Адаптивные (настраиваемые) ВС. Принципы настройки структуры ВС на заданный класс прикладных задач. Мультиконвейерные ВС. Особенности балансировки конвейера. Отказоустойчивые ВС, принципы их построения, примеры таких систем.В результате изучения дисциплины студент должен:

знать: организацию основных типов параллельных вычислительных систем, их важнейшие архитектурные особенности и области эффективного применения конкретных типов параллельных ВС; проблемы разработки параллельных ВС и организации параллельной обработки информации и современные подходы к их решению

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

владеть: навыками по организации работы высокопроизводительных вычислительных систем и решению прикладных задач с их применением.

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

Изучение дисциплины заканчивается экзаменом.
^

Технология разработки программного обеспечения


Общая трудоемкость дисциплины составляет 6 зачетных единиц (216 час).

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

Структура дисциплины: лекции – 25%, лабораторные работы – 25 %, самостоятельная работа – 50%.

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

Основные дидактические единицы (разделы):

Раздел 1. Общие сведения о процессе разработки программного обеспечения. Общие сведения о технологиях программирования. Предмет и задачи курса. Основные понятия и определения. Этапы развития технологий программирования. Жизненный цикл процесса разработки ПО. Общая специфика процесса разработки программного обеспечения. Методы и средства разработки больших программных проектов. Критерии качества ПО.

^ Раздел 2. Парадигмы программирования, техника написания кода.

Парадигмы программирования. Классификации парадигм программирования. Особенности использования основных парадигм программирования при разработке больших программных систем. Поддержка эволюционной расширяемости программ.

Особенности конструирования программных объектов. Методы конструирования программных объектов. Методы компоновки программных объектов.

Разработка программ с использованием процедурного подхода. Объектно-ориентированное проектирование. Применение методов быстрой разработки приложений. Экстремальное программирование.

Разработка программ с использованием объектно-ориентированного подхода.

Языковые средства объектно-ориентированной парадигмы программирования. Сравнение процедурного и ОО подходов.

Эволюционное расширение мультиметодов. Понятие мультиметода. Проблемы эволюционного расширения представленных реализаций мультиметодов. Схемы эволюционного расширения мультиметодов, реализуемых в мультипарадигменном стиле.

Процедурно-параметрическая парадигма программирования.

Особенности процедурно-параметрической парадигмы программирования. Языковая поддержка процедурно-параметрической парадигмы. Сравнение с процедурным и объектно-ориентированным подходами. Перспективы развития процедурно-параметрической парадигмы программирования. Реализация мультиметода с применением процедурно-параметрического подхода

^ Раздел 3. Методы и методологии разработки программного обеспечения

Сведения о методах и методологиях. Обзор современных методов и методологий разработки ПО.

Структурное проектирование. Основные особенности структурного проектирования. Современная инструментальная поддержка структурного проектирования.

Объектно-ориентированная методология. Особенности объектно-ориентированной методологии. Унифицированный процесс проектирования. Инструментальная поддержка объектно-ориентированной методологии

Язык визуального моделирования UML. Связь UML с языками программирования. Перспективы использования UML.

Объектно-ориентированное проектирование. Использование ОО образцов (паттернов) проектирования. Реализация ОО образцов проектирования с применением процедурно-параметрической парадигмы программирования.

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

уметь: разрабатывать эволюционно расширяемые программы; применять образцы (паттерны) проектирования при разработке программных систем; выбирать языки и системы программирования в зависимости от решаемой задачи.

владеть: методами объектно-ориентированного проектирования; современными средствами разработки программного обеспечения; методами эволюционной разработки программ.

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

Изучение дисциплины заканчивается экзаменом.