№ | Цель |
после изучения дисциплины студент будет иметь представление о: | |
1. | парадигмах проектирования сложных модульных программ; |
2. | о жизненном цикле программного обеспечения (ПО); |
3. | методологии структурного программирования (управляющие структуры программирования, нисходящее пошаговое проектирование алгоритма и данных, схема иерархии функций программы); |
4. | методологии объектно-ориентированного программирования (объект, класс, метод, инкапсуляция, наследование, полиморфизм, интерфейс) и механизмах их реализации в системах программирования; |
5. | принципах организации параллельной и сетевой обработки данных в системах программирования на языке C++ и C# ; |
6. | технологиях разработки надежного программного кода; |
7. | технологиях создания приложений в профессиональных системах визуальной разработки программ Borland C++Builder и Microsoft Visual , о среде исполнения программ Common Language Runtime (CLR); |
после изучения дисциплины студент будет знать: | |
8. | процесс проектирования и производства ПО; |
9. | унифицированный язык моделирования ПО; |
10. | описание бизнес-процессов посредством прецедентов; |
11. | принцип построения концептуальной модели; |
12. | диаграммы классов; |
13. | диаграммы последовательностей; |
14. | диаграммы кооперации; |
15. | шаблоны распределения обязанностей; |
16. | способы преобразования результатов проектирования в программный код; |
17. | анализ алгоритмов; |
18. | программирование рекурсивных алгоритмов; |
19. | проектирование структур данных и файлов; |
20. | методы сортировки данных; |
21. | методы поиска в основной и внешней памяти; |
22. | проектирование интерфейса конечного пользователя; |
23. | отладку и тестирование ПО; |
24. | документирование и стандартизацию ПО; |
25. | оценку качества ПО; |
после изучения дисциплины студент будет уметь: | |
26. | классифицировать данные и специфицировать бизнес-правила проблемной области; |
27. | применять технологию структурного программирования для формального описания проблемной области в терминах “действие – функция” и нисходящего пошагового проектирования иерархии функции в качестве основы адекватной модульной программы решения проблемы; |
28. | применять технологию объектно-ориентированного программирования для формального описания проблемной области в терминах “совокупность данных – класс” и последующего итерационного формирования иерархии классов в качестве основы адекватной модульной программы решения проблемы. |
29. | создавать, компилировать и отлаживать надежный программный код на языках высокого уровня в профессиональных инструментальных средах визуальной разработки программ Borland C++Builder и Microsoft Visual ; |
4. Содержание и структура учебной дисциплины
Темы лекционных занятий | Часы |
Модуль 1. Введение в разработку программного обеспечения (ПО). Основные этапы решения задач на ЭВМ. Постановка задачи. Спецификация программы. Представление алгоритма. Программные продукты. Жизненный цикл ПО. Задача проектирования ПО. | 2 |
Модуль 2. Менеджмент программных проектов.Организация процесса проектирования и производства ПО. Декомпозиция проблемной области ПО. Классификация данных и спецификация бизнес-правил проблемной области. Обзор эффективных технологий программирования (структурное, объектно-ориентированное, визуальное, событийное и экстремальное программирование). Модульная реализация ПО. Компоненты. Унифицированный язык моделирования (UML). | 2 |
Модуль 3. Разработка ПО с применением UML и шаблонов проектирования.Тема 3.1. Объектно-ориентированный анализ и проектирование. Процесс проектирования (подход Лэрмана). Модели и артефакты. Тема 3.2. Стадия планирования. Требования. Описание прецедентов. Ранжирование и составление графика реализации прецедентов. Начало цикла разработки. Тема 3.3. Стадия анализа. Построение концептуальной модели. Добавление ассоциаций. Добавление атрибутов. Запись терминов в словарь. Формализация поведения системы: диаграммы последовательностей, описание системных операций. Тема 3.4. Этап проектирования. Переход от анализа к проектированию. Описание реальных прецедентов. Диаграммы кооперации. GRASP: шаблоны распределения обязанностей. Проектное решение на базе объектов и шаблонов. Области видимости. Диаграммы классов. Тема 3.5. Стадия конструирования. Преобразование результатов проектирования в программный код. Реализация программы. Тема 3.6. Второй цикл: стадия анализа, стадия проектирования. | 10 |
Модуль 4. Программирование алгоритмов обработки данных.Тема 4.1. Анализ алгоритмов. Рост функций. О-нотация. Рекурсивные алгоритмы. Тема 4.2. Простые структуры данных (массивы, строки). Списки. Мультисписки. Абстрактные типы данных. Рекурсия (алгоритм РВ, динамическое программирование). Нелинейные динамические структуры данных. Графы. Деревья. Обход дерева. Тема 4.3. Сортировка. Элементарные методы сортировки. Быстрая сортировка. Слияние и сортировка слиянием. Очереди с приоритетами. Пирамидальная сортировка. Поразрядная сортировка. Тема 4.4. Поиск. Таблицы символов. Деревья бинарного поиска. Сбалансированные деревья. Хеширование. Поразрядный поиск. Внешний поиск. Индексно-последовательный доступ. B-деревья. | 8 |
Модуль 5. Проектирование интерфейса конечного пользователя. Структуры диалога. Поддержка пользователя. Многооконные графические интерфейсы. Реализация интерфейса на базе графических пакетов. | 2 |
Модуль 6. Технологии разработки ПО распределенных систем.Технология COM+. Технология CORBA. | 2 |
Модуль 7. Отладка и тестирование ПО. Основы доказательства правильности программ. Методы и средства отладки и тестирования программ. | 2 |
Модуль 8. Документирование и стандартизация ПО. | 2 |
Модуль 9. Оценка качества ПО. Критерии качества ПО (сложность, корректность, надежность, трудоемкость, удобство для пользователя). Измерение и оценка качества ПО. | 2 |
Модуль 10. Инструментальные средства разработки ПО. Среда визуальной разработки ПО. Событийное программирование. Системы визуального моделирования ПО. Средства поддержки проекта. Автоматизация проектирования ПО. Принципы построения, структура и технология использования САПР ПО. | 2 |
Итого | 34 |
Темы лабораторных работ | Часы |
Динамические структуры данных. | 4 |
Организация списковой структуры. | 4 |
Организация многосвязных структур данных. | 4 |
Внешний поиск. B-деревья. | 5 |
Итого | 17 |
Темы расчетно-графических заданий
1. Разработка программы, предоставляющей через комфортный графический интерфейс пользователя полный набор операций над динамической структурой данных с элементами в виде данных нестандартного типа. Набор операций над структурой: создание структуры; включение, исключение и изменение элемента структуры; сохранение структуры; загрузка структуры. Типы структур: линейная структура (список, очередь, стек); нелинейная структура (граф, двоичное дерево, B-дерево). Типы элементов структур: массив переменных стандартного типа; строка символов; экземпляр структуры; массив экземпляров структуры; указатель на переменную стандартного типа, строку или экземпляр структуры; массив указателей.
2. Разработка программы, предоставляющей через комфортный графический интерфейс пользователя набор функций работы с текстовым или двоичным файлом (создание, редактирование, поиск, фильтрация, сжатие, сохранение, загрузка и др.).
3. Разработка программы, предоставляющей через комфортный графический интерфейс пользователя набор процедур сортировки структур данных заданного вида в основной или внешней памяти.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |
Основные порталы (построено редакторами)
