- •73Лекция16. Проектирование программного обеспечения аис
- •Лекция 16. Проектирование программного обеспечения аис
- •Жизненный цикл программного обеспечения
- •Разработка программ
- •Алгоритмизация задач
- •Структурный подход к проектированию программного обеспечения
- •Методология sadt
- •Моделирование потоков данных
- •Моделирование данных
- •Модульное программирование
- •Объектно-ориентированный подход к проектированию программного обеспечения
- •Объект.Метод Параметр1, Параметр2,..
- •Инструментальные средства разработки программного обеспечения
- •Case-технологии разработки программного обеспечения аис
- •Контрольные вопросы
Модульное программирование
Модульное программирование основано на понятии модуля – логически взаимосвязанной совокупности функциональных элементов, оформленных в виде программы. Модуль должен обладать следующими свойствами:
один вход и один выход;
функциональная завершенность и логическая независимость;
слабые информационные связи с другими модулями;
обозримый размер и сложность программной реализации.
Для каждой функции (процедуры обработки) определяется модуль, однотипные процедуры используют один и тот же модуль. Функции верхнего уровня иерархии реализованы с помощью Главного модуля, который управляет выполнением подчиненных функций, вызывая соответствующие модули.
При разработке модулей следует учитывать, что модуль вызывается на выполнение вышестоящим модулем, после завершения своей работы возвращает ему управление. В результате детализации функций создается функционально-модульная структура алгоритма, выбираются инструментальные средства разработки модулей.
Применительно к приложениям Microsoft Office разрабатывается проект на языке VBA (Visual Basic for Application), который состоит из модулей двух типов:
стандартные модули – содержат общие процедуры подпрограммы и процедуры функции;
модули классов объектов (форм, отчетов) – содержат процедуры подпрограммы и процедуры функции, которые могут использоваться только в пределах класса объектов.
Объектно-ориентированный подход к проектированию программного обеспечения
Объектно-ориентированное проектирование (Object Oriented Programming — OOP) использует обобщенное понятие объекта.
Объект — физический или абстрактный объект предметной области (процесс, явление, предмет и т.п.), объединяющий в себе данные, свойства, события и методы обработки данных. Значения свойств объектов изменяются при наступлении предопределенных событий с помощью методов обработки.
Для обращения к свойству объекта указывается полная спецификация объекта с учетом иерархии вложения объектов:
Объект1.Объект2.Свойство_объекта_2
Значение свойства объекта можно присваивать переменной или, наоборот, изменять значение свойств объекта на значение переменной или свойства другого объекта.
Объектно-ориентированный подход использует объектную декомпозицию, статическая структура АИС описывается в терминах объектов и связей между ними; поведение системы описывается в терминах обмена сообщениями между объектами.
Методы обработки событий объектов запускаются в момент наступления заранее обусловленных событий1, представляются в виде процедур (функций) обработки. При запуске метода обработки можно задавать параметры, например:
Объект.Метод Параметр1, Параметр2,..
Методы обработки могут возвращать значения, которые присваиваются переменным:
<Переменная> =Объект.Метод
Объекты обладают смысловой определенностью, автономностью, рассматриваются как независимые единицы проектирования и реализации. Объекты объединяются в классы однородных объектов (рис. 4), что позволяет типизировать свойства и методы обработки объектов одного класса.
КЛАСС
ОБЪЕКТ 1
ОБЪЕКТ t
Событие n
Свойство k
Метод n
Свойство
1
Событие 1
Метод 1
Рисунок 4
Набор свойств и методов обработки класса объектов наследуется объектами, принадлежащими классу, но объекты могут иметь и собственные свойства и методы обработки.
Объектно-ориентированный подход при разработке объектов предполагает:
типизацию свойств и методов класса объектов для их наследования членами класса;
инкапсуляцию (объединение) в объекте данных, свойств и методов обработки, «закрытость» и независимость при разработке приложений объектов друг от друга;
полиморфизм объектов — способность объекта принимать различные формы, многозначность применения методов объектов;
многократное использование программного кода объектов.
В рамках объектно-ориентированного подхода наиболее просто осуществлять моделирование свойств объектов, разработку методов обработки событий, типизацию моделей объектов. Объектно-ориентированный подход весьма эффективен для разработки любых приложений, позволяя сосредоточиться на составе и структуре данных, алгоритмах обработки данных объектов (форм, пользовательского интерфейса, объектов вставки/внедрения и т.п.). Легко заимствуются методы объектов, объекты определенных классов для ускорения процесса создания приложений тиражируются.
Объектно-ориентированный подход для разработки приложений рассматривается в следующем контексте:
выбор типовых/создание новых классов объектов;
создание экземпляров объектов;
задание значений свойств объектов;
определение событий, наступление которых обеспечивает запуск методов;
создание методов обработки событий.
Большинство существующих методов ООП включают язык моделирования. Наиболее удобным является унифицированный язык моделирования UML, с помощью которого объединены наиболее продуктивные методики проектирования Буча, Рамбо, Якобсона1. Для моделирования используются:
Диаграмма вариантов использования (use case diagrams) – моделирование бизнес-процессов;
Диаграмма классов (class diagrams) – моделирование статической структуры классов объектов и связей между ними;
Диаграммы поведения системы (behavior diagrams);
Диаграммы взаимодействия (Interaction diagrams) – моделирование процесса обмена сообщениями между объектами: последовательности и кооперативные;
Диаграммы состояний (state chart diagrams) – моделирование поведения системы при переходе из одного состояния в другое;
Диаграммы реализации (implementation diagrams), в том числе диаграммы компонентов (component diagrams) – для моделирования иерархии компонент системы и диаграммы размещения (deployment diagrams) – для моделирования физической архитектуры системы.