МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Архитектура программных систем

рабочая программа дисциплины
Закреплена за кафедройКафедра информатики
Направление подготовки09.03.03. Прикладная информатика
Форма обученияОчная
Общая трудоемкость3 ЗЕТ
Учебный план09_03_03_ПИ-4-2019
Часов по учебному плану 108
в том числе:
аудиторные занятия 42
самостоятельная работа 39
контроль 27
Виды контроля по семестрам
экзамены: 7

Распределение часов по семестрам

Курс (семестр) 4 (7) Итого
Недель 17,829999923706
Вид занятий УПРПДУПРПД
Лекции 18 18 18 18
Лабораторные 24 24 24 24
Сам. работа 39 39 39 39
Часы на контроль 27 27 27 27
Итого 108 108 108 108

Программу составил(и):
к.т.н., доцент, Рязанов М.А.

Рецензент(ы):
к.ф.-м.н., доцент, Вараксин С.В.

Рабочая программа дисциплины
Архитектура программных систем

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования по направлению подготовки 09.03.03 ПРИКЛАДНАЯ ИНФОРМАТИКА (уровень бакалавриата) (приказ Минобрнауки России от 12.03.2015г. №207)

составлена на основании учебного плана:
09.03.03 Прикладная информатика
утвержденного учёным советом вуза от 25.06.2019 протокол № 9.

Рабочая программа одобрена на заседании кафедры
Кафедра информатики

Протокол от 22.06.2019 г. № №8
Срок действия программы: 2019-2020 уч. г.

Заведующий кафедрой
Жариков А.В. к.ф.-м.н. доцент


Визирование РПД для исполнения в очередном учебном году

Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2019-2020 учебном году на заседании кафедры

Кафедра информатики

Протокол от 22.06.2019 г. № №8
Заведующий кафедрой Жариков А.В. к.ф.-м.н. доцент


1. Цели освоения дисциплины

1.1.Цель – дать знания, необходимые для проектирования и разработки архитектуры программного обеспечения. Данный курс призван выработать у студентов первоначальные навыки, необходимые для формирования структуры программной системы, грамотного проектирования взаимодействия её составных частей. Кроме того, цель данного курса - познакомить студентов с наиболее распространёнными в промышленном программировании подходами к разработке архитектуры программных систем.
В соответствии с указанной целью поставлены следующие задачи курса:
- углубить понимание студентами основных понятий объектно-ориентированного программирования;
- познакомить студентов с наиболее распространёнными архитектурными решениями (паттернами проектирования);
- продемонстрировать эффективность паттернов проектирования для решения практических задач.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.В.ДВ.06

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ПК-22 способностью анализировать рынок программно-технических средств, информационных продуктов и услуг для создания и модификации информационных систем
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.методы моделирования программного обеспечения
методы разработки архитектуры программного обеспечения
3.2.Уметь:
3.2.1.моделировать программные системы
разрабатывать архитектуру программных систем
эффективно работать в качестве члена команды по разработке программного обеспечения
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.владеть интегрированной средой разработки программных Microsoft Visual Studio
владеть способностью брать на себя ответственность за результаты работы по разработке программных средств

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Основы ООП. Основные понятия, признаки и качества удачных архитектурных решений
1.1. Основные понятия ООП: класс, объект, наследование, полиморфизм, инкапсуляция. Понятие сигнатуры метода, интерфейса класса Лекции 7 2 ПК-22 Л1.1, Л2.1
1.2. Освоение языка высокого уровня (C#), повторение пройденного материала, повторение основных понятий ООП Сам. работа 7 8 ПК-22 Л1.1, Л2.1
1.3. Освоение объектно-ориентированного языка программирования высокого уровня (C#). Создание элементарного объектно-ориентированного приложения. Анализ и создание объектной модели для предметов окружающего мира (с применением основ UML-моделирования) Лабораторные 7 4 ПК-22 Л1.1, Л2.1
Раздел 2. Порождающие паттерны проектирования
2.1. Порождающие паттерны. Краткая характеристика, типы. Паттерн Одиночка (Singleton). Паттерн Фабричный метод (Factory Method). Паттерн Абстрактная фабрика (Abstract Factory). Лекции 7 2 ПК-22 Л1.1, Л2.1
2.2. Создание и доработка примера использования паттерна "Абстрактная фабрика" на примере игровых армий. Лабораторные 7 4 ПК-22 Л1.1, Л2.1
2.3. Паттерн Строитель (Builder). Паттерн Прототип (Prototype). Сходства, различия порождающих шаблонов. Лекции 7 2 ПК-22 Л1.1, Л2.1
2.4. Создание и доработка примера использования паттерна «Строитель» на примере сборщика компьютеров. Обсуждение результатов, сравнение реализаций шаблонов «Строитель» и «Абстрактная фабрика». Лабораторные 7 4 ПК-22 Л1.1, Л2.1
2.5. Повторение пройденного материала, доработка систем, созданных на лабораторных занятиях Сам. работа 7 8 ПК-22 Л1.1, Л2.1
Раздел 3. Структурные паттерны проектирования
3.1. Структурные паттерны. Краткая характеристика. Типы. Паттерн Адаптер. Паттерн Фасад (Facade).Паттерн Мост (Bridge). Лекции 7 2 ПК-22 Л1.1, Л2.1
3.2. Основы UML. Диаграмма классов, диаграмма взаимодействий. Основные принципы проектирования. Понятие паттерна проектирования. Три класса паттернов Лекции 7 2 ПК-22 Л1.1, Л2.1
3.3. Реализация паттерна "Мост" на примере различных графических платформ. Лабораторные 7 4 ПК-22 Л1.1, Л2.1
3.4. Паттерн «Декоратор»(Decorator). Паттерн «Приспособленец»(Flyweight). Паттерн «Заместитель»(Proxy) Лекции 7 2 ПК-22 Л1.1, Л2.1
3.5. Реализация паттерна "Заместитель" на примере задач с отложенной инициализацией. Лабораторные 7 2 ПК-22 Л1.1, Л2.1
3.6. Повторение пройденного материала, доработка систем, созданных на лабораторных занятиях Сам. работа 7 8 ПК-22 Л1.1, Л2.1
Раздел 4. Раздел 4. Паттерны поведения
4.1. Паттерны поведения. Краткая характеристика. Типы. Паттерн Цепочка обязанностей (Chain of Responsibility). Паттерн Команда (Command). Паттерн Итератор (Iterator). Паттерн Хранитель (Memento) (Iterator). Лекции 7 2 ПК-22 Л1.1, Л2.1
4.2. Реализация паттерна «Команда» на примере меню графического редактора Лабораторные 7 2 ПК-22 Л1.1, Л2.1
4.3. Паттерн Стратегия (Strategy). Паттерн Состояние (State). Паттерн Обозреватель (Observer). Паттерн Шаблонный метод (Template method) Лекции 7 2 ПК-22 Л1.1, Л2.1
4.4. Реализация паттерна «Стратегия» Лабораторные 7 2 ПК-22 Л1.1, Л2.1
4.5. Повторение пройденного материала, доработка систем, созданных на лабораторных занятиях Сам. работа 7 8 ПК-22 Л1.1, Л2.1
Раздел 5. Примеры подходов к проектированию программных систем
5.1. Трёхуровневая модель архитектуры. Паттерн MVC (модель, вид, представление) Лекции 7 2 ПК-22 Л1.1, Л2.1
5.2. Анализ простейших систем и построение их архитектуры. Объектная декомпозиция, разделение объектов на слои, согласно трёхслойной модели Лабораторные 7 2 ПК-22 Л1.1, Л2.1
5.3. Повторение пройденного материала, самостоятельный анализ простейшей архитектуры на примерах различных программных систем. Сам. работа 7 7 ПК-22 Л1.1, Л2.1
5.4. Экзамен 7 27 ПК-22 Л1.1, Л2.1

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
Представлен в отдельном файле
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Представлен в отдельном файле
5.3. Фонд оценочных средств для проведения промежуточной аттестации
Представлен в отдельном файле

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Рыбальченко М.В. АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ. Учебное пособие для вузов: М.:Издательство Юрайт, 2018 biblio-online.ru
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Сергей Тепляков Паттерны проектирования на платформе .NET: Паттерны проектирования на платформе .NET СПб.: Питер, 2015 sd.blackball.lv
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
6.3. Перечень программного обеспечения
Среда разработки Мicrosoft visual studio С++ (версия не ниже 2008)
Microsoft Windows
Microsoft Office
7-Zip
AcrobatReader
6.4. Перечень информационных справочных систем
1. Образовательный портал АлтГУ http://portal.edu.asu.ru/
2. Электронный каталог НБ АлтГУ «Книги»: http://www.lib.asu.ru/app/elecat/elecat=index1?base=book
3. Издательство «Лань» [Электронный ресурс]: электронно-библиотечная система. – URL: http://e.lanbook.com/
4. Издательство «Юрайт» [Электронный ресурс]: электронно-библиотечная система. – URL: http://biblio-online.ru
5. ЭБС «Университетская библиотека online»: https://biblioclub.ru/
6. ЭБС АлтГУ: http://elibrary.asu.ru/

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
106Л помещение для хранения и профилактического обслуживания учебного оборудования Стеллажи – 3 шт. осциллограф, паяльная станция, источник тока, переносные ноутбуки
206Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; компьютеры: марка DEPO модель Neos 260, мониторы: марка Philips модель 227E3LHSU - 14 единиц
107Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 18 посадочных мест; компьютеры: марка HP, модель ProOne 400 - 18 единиц; проектор: марка SMART, модель UF70 - 1 единица; интерактивная доска: марка SMART Board модель SMB680 - 1 единица
Помещение для самостоятельной работы помещение для самостоятельной работы обучающихся Компьютеры, ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет», доступом в электронную информационно-образовательную среду АлтГУ
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)

8. Методические указания для обучающихся по освоению дисциплины

На лекционных занятиях необходимо конспектировать изучаемый материал.
- Для систематизации лекционного материала, который будет полезен при подготовке к итоговому контролю знаний, записывайте на каждой лекции тему, вопросы для изучения, рекомендуемую литературу.
- В каждом вопросе выделяйте главное, обязательно запишите ключевые моменты (определение, факты, законы, правила и т.д.), подчеркните их.
- Если по содержанию материала возникают вопросы, не нужно выкрикивать, запишите их и задайте по окончании лекции .
- Перед следующей лекцией обязательно прочитайте предыдущую, чтобы актуализировать знания и осознанно приступить к освоению нового содержания

Лабораторные работы, где студенты максимально активно участвуют в практическом приложении изучаемого материала дисциплины.
- Самостоятельную подготовку к занятию необходимо начинать с изучения понятийного аппарата темы. Рекомендуем использовать справочную литературу (словари, справочники, энциклопедии), целесообразно создать и вести свой словарь терминов.
- Важно запомнить, что любой источник должен нести достоверную информацию, особенно это относится к Internet-ресурсам. При использовании Internet - ресурсов в процессе подготовки не нужно их автоматически «скачивать», они должны быть проанализированы. Не нужно «скачивать» готовые рефераты, так как их однообразие преподаватель сразу выявляет, кроме того, они могут быть сомнительного качества.
- В процессе изучения темы анализируйте несколько источников. Используйте периодическую печать - специальные журналы.
- Полезным будет работа с электронными учебниками и учебными пособиями в Internet-библиотеках. Зарегистрируйтесь в них: университетская библиотека Онлайн (http://www.biblioclub.ru/) и электронно-библиотечная система «Лань» (http://e.lanbook.com/).
- В процессе подготовки и построения решения, поставленных задач, не просто читайте текст учебника, но и выражайте свою личностно-профессиональную оценку прочитанного.
- Задания практического характера: продумайте план их выполнения или решения .
- При возникновении трудностей в процессе работы взаимодействуйте с преподавателем, консультируйтесь по самостоятельному изучению темы.

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

Для освоения курса необходимо выполнить все лабораторные работы. Каждая лабораторная защищается студентом.