- •Модуль I. Жизненный цикл разработки автоматизированных систем.
- •1.Введение в дисциплину. Основные термины и определения. Общая характеристика процесса создания асоиу.
- •2.Системный подход к проектированию асоиу. Классификация асоиу и подсистем.
- •3.Жизненный цикл асоиу. Модели жц асоиу. Процесс проектирования асоиу.
- •Модуль II. Стадии создания автоматизированных систем обработки информации и управления
- •4.Формирование требований к асоиу. Формирование целей создания автоматизированных систем. Правила оформления технической документации.
- •5.Обследование объекта автоматизации. Методы обследования объекта автоматизации. Бизнес-модель предприятия
- •6.Функциональное моделирование. Cтандарт idef 0. Моделирование потоков данных dfd
- •7.Карты бизнес - процессов предприятия. Ключевые показатели эффективности процессов
- •8.Концептуальное проектирование асоиу. Разработка и выбор вариантов концепции системы.
- •9.Разработка технического задания. Порядок разработки, согласования и утверждения тз на создание ас
- •10.Технорабочий проект асоиу. Разработка технического проекта. Разработка рабочей документации на систему и ее части.
- •11.Ввод в действие асоиу. Виды испытаний асоиу. Сопровождение асоиу
- •Модуль III. Виды обеспечения асоиу
- •12.Программное обеспечение асоиу. Структура программного обеспечения. Управление требованиями к по асоиу
- •13.Информационное обеспечение асоиу. Формализация входной и выходной информации. Проектирование базы данных как вида информационного обеспечения асоиу
- •14.Техническое обеспечение асоиу
- •Математическое обеспечение асоиу
- •Лингвистическое обеспечение асоиу
- •15. Эргономическое обеспечение асоиу
- •16.Организационное, методическое и правовое виды обеспечения асоиу.
- •Модуль IV. Разработка программного обеспечения асоиу
- •17.Современные технологии разработки программного обеспечения асоиу. Rup. Msf. Xp.
- •18.Проектирование по асоиу на основе объектно-ориентированного подхода. Методика проектирования
- •19.Язык uml. Виды диаграмм описания по асоиУв нотации uml
- •20.Паттерны проектирования. Классификация паттернов проектирования
- •21.Разработка программного обеспечения через тестирование. Процесс рефакторинга по асоиу
- •22.Управление командной разработкой по асоиу. Инструментальные средства командной разработки
- •23.Принципы создания пользовательского интерфейса по асоиу. Процесс разработки (дизайна) интерфейса
- •Case системы.
- •24.Основы управления проектами разработки асоиу. Библиотека инфраструктуры информационных технологий (itil).
- •Список использованной литературы
20.Паттерны проектирования. Классификация паттернов проектирования
Паттерны (шаблоны) проектирования (design pattern) — это многократно применяемая архитектурная конструкция, предоставляющая решение общей проблемы проектирования в рамках конкретного контекста и описывающая значимость этого решения [42, 43]. Любой паттерн проектирования, используемый при разработке ПО АСОИУ, представляет собой формализованное описание часто встречающейся задачи проектирования, удачное решение данной задачи, а также рекомендации по применению этого решения в различных ситуациях. Кроме того, паттерн проектирования обязательно имеет общеупотребимое наименование. Паттерн, в общем случае, состоит из четырех элементов:
Имя – однозначное определение паттерна, говорящее о его назначении.
Задача – условия применения паттерна.
Решение – абстрактное описание решения задачи и модель решения в виде набора связанных классов.
Результат – ожидаемые последствия применения паттерна.
Классификация паттернов проектирования
Ниже представлены основные паттерны классифицированные по группам [44, 45].
Группа структурных шаблонов:
адаптер, обеспечивающий решение проблемы взаимодействия несовместимых интерфейсов или компонентов с разными интерфейсами;
декоратор (оболочка) позволяет возложить дополнительные обязанности (прозрачные для клиентов) на отдельный объект, а не на класс в целом;
компоновщик (Composite) позволяет обрабатывать группу или композицию структур обьектов одновременно.
Группа поведенческих шаблонов
команда (Command) решает проблему инкапсуляции запроса и получателя результата;
посредник (Mediator) - обеспечить взаимодействие множества обьектов, без необходимости явных ссылок объектов друг на друга.
Состояние (State) – позволяет сохранять – восстанавливать текущее состояние объекта.
Группа порождающих шаблонов проектирования
одиночка (singleton) - обеспечивает гарантию наличия только одного объекта класса.
абстрактная фабрика, (Abstract factory) — позволяет изменять поведение системы, варьируя создаваемые объекты, при этом сохраняя интерфейсы.
21.Разработка программного обеспечения через тестирование. Процесс рефакторинга по асоиу
Разработка программного обеспечения через тестирование.
В современных технологиях разработки программного обеспечения основанных на так называемым гибком (agile) подходе особое внимание уделяется процессу автоматического тестирования кода [46, 47]. Для это разработаны специальные инструменты, позволяющие формировать классы для тестирования (Unit tests) создаваемой программы, интегрированные в среду разработки. Процесс реализации программного кода через написание тестов к нему называется разработка через тестирования (Test – driven development). Данный подход был заявлен Кент Беком, основоположником экстремального программирования [46]. Цикл разработки в этом случае включает следующие шаги:
реализуется тест (Unit Test) для тестирования реализуемого функционала. Так как не создан класс и объекты которые подвергаются тестированию, то тест не срабатывает. Таким образом, срабатывают все тесты кроме добавленного.
реализуются классы, выполняющие требуемый функционал.
происходит отладка программы с целью выполнения наборов тестов.
происходит рефакторинг программы с целью улучшения эффективности кода.
К средствам автоматического тестирования относятся программное обеспечение NUnit (http://www.nunit.org/index.php) которое интегрируется в среду IDE MS Visual Studio. Методика создания тестов с использованием NUnit включает следующие шаги:
создание проекта (Project) в имеющемся решении (Solution);
добавление в ссылки созданного проекта каркАСОИУ NUnit (nunit.framework);
создание классов для тестирования [Test] в области [TestFixture]
выполнение тестов.
Результат выполнения тестов зависит от всех тестов включенных в TestFixture. Если в наборе тестов не выполняется хотя бы один тест, то считается, что набор тестов также не выполняется (рис 23.1).
Рисунок 23.1 Выполнение набора тестов.
Процесс рефакторинга ПО АСОИУ.
Рефакторинг— процесс полного или частичного преобразования внутренней структуры программы при сохранении её внешнего поведения [47]. В его основе лежит последовательность небольших эквивалентных (т.е., сохраняющих поведение) преобразований.
Ниже перечислены некоторые методы рефакторинга.
Изменение сигнатуры метода (Change Method Signature) (заключается в добавлении, изменении или удалении параметра метода).
Инкапсуляция поля (Encapsulate Field) – закрывается (private) свойство и добавляются public методы доступа к нему.
Выделение класса (Extract Class) – создается новый класс с указанными методами и формируются объекты для доступа к методам.
Выделение интерфейса (Extract Interface).
Выделение метода (Extract Method) – разбивается метод на несколько из расчета повышения читаемости и восприятия методов.
На рисунке 23.2 отображены возможные методы рефакторинга поддерживаемые в среде MS Visual Studio c интегрированным инструментом ReSharper (http://www.jetbrains.com/resharper/download/)
Рисунок 23.2 Методы рефакторинга в среде ReSharper.