15.4. Особенности объектного подхода на этапе кодирования программного средства.
На этапе кодирования при объектном подходе используются языки программирования уже другого типа – объектно-ориентированные [15.7, 15.8]. Считается, что язык программирования поддерживает объектно-ориентированное программирование, если он включает конструкции для [15.8]
инкапсуляции и абстракции данных,
наследования,
динамического полиморфизма.
Однако, самое существенное различие между реляционными и объектно-ориентированными языками программирования заключается в следующем: в качестве основных средств декомпозиции программ в реляционных языках используются описания функций и процедур (декомпозиция отношений), а в объектно-ориентированных языках – описание классов объектов (декомпозиция объектов). Объекты, возникающие в программах при такой декомпозиции архитектурных подсистем, мы будем называть объектами процесса выполнения программ.
Изменяется и технология разработки программного модуля. При реляционном подходе для разработки модуля (в основном, реализующих функцию или процедуру) рекомендовались структурное программирование и пошаговая детализация (см. лекцию 8). При объектно-ориентированном подходе для разработки компонента (информационно прочного модуля) более подходит предложенная Дейкстрой [15.9] нисходящая технологию разработки слоистойструктуры модуля. В этой технологии каждый модуль рассматривается состоящим из некоторой упорядоченной совокупности программных слоев (ср. со слоистой программной системой в лекции 6), причем каждый слой является реализацией некоторой абстрактной машины (в нашем случае это можно рассматривать как реализацию класса или логически связанной совокупности классов). Таким образом, модуль образует определенная цепочка иерархически связанных абстрактных машин (так называемые «бусы» [15.9]) Реализация каждой абстрактной машины выражается в терминах ниже стоящей абстрактной машины (ниже стоящего программного слоя) или в терминах выбранного языка программирования (при реализации абстрактной машины самого нижнего уровня). Разработка модуля начинается с разработки абстрактной машины самого верхнего уровня.
Упражнения к лекции 15.
15.1. В чем заключается сущность объектного подхода к разработке программных средств (ПС)?
15.2. Какие категории объектов можно выделить с точки зрения разработчиков ПС?
15.3. Что такое объектная модель ПС?
15.4. Что такое динамическая модель ПС?
15.5. Что такое диаграмма состояний класса?
15.6. Что такое функциональная модель ПС?
15.7. Что такое компонент ПС?
Литература к лекции 15.
15.1. К. Фути, Н. Судзуки. Языки программирования и схемотехника СБИС. – М.: Мир, 1988. С. 85-98.
15.2. В. Даль. Толковый словарь русского языка. – М.: Советская энциклопедия, 1975
15.3. J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorenzen. Objekt-Oriented Modeling and Design. –Prentice Hall. 1991.
15.4. Г.Буч. Объектно-ориентированное проектирование с примерами применения: пер. с англ. – М.: Конкорд, 1992.
15.5. М. Фаулер, К. Скотт. UML в кратком изложении. – М.: Мир, 1999.
15.6. Ф. Крачтен. Введение в RATIONAL UNIFIED PROCESS. – М.: Изд. Дом «Вильямс», 2002.
15.7. В.Ш.Кауфман. Языки программирования. Концепции и принципы. – М.: Радио и связь, 1993.
15.8. М. Бен-Ари. Языки программирования. Практический сравнительный анализ. – М.: Мир, 2000.
15.9. Э. Дейкстра. Заметки по структурному программированию / У. Дал, Э. Дейкстра, К. Хоор. Структурное программирование. – М.: Мир, 1975. – С. 7-97.
Yandex.RTB R-A-252273-3
- Разработка программных приложений
- Введение
- Лекция 1. Надежное программное средство как продукт технологии программирования. Исторический и социальный контекст программирования
- 1.1. Программа как формализованное описание процесса обработки данных. Программное средство.
- 1.2. Неконструктивность понятия правильной программы.
- 1.3. Надежность программного средства.
- 1.4. Технология программирования как технология разработки надежных программных средств.
- 1.5. Технология программирования и информатизация общества.
- Литература к лекции 1.
- Лекция 2. Источники ошибок в программных средствах
- 2.1. Интеллектуальные возможности человека.
- 2.2. Неправильный перевод как причина ошибок в программных средствах.
- 2.3. Модель перевода.
- 2.4. Основные пути борьбы с ошибками.
- Литература к лекции 2.
- Лекция 3. Общие принципы разработки программных средств
- 3.1. Специфика разработки программных средств.
- 3.2. Жизненный цикл программного средства.
- 3.3. Понятие качества программного средства.
- 3.4. Обеспечение надежности - основной мотив разработки программных средств.
- 3.5. Методы борьбы со сложностью.
- 3.6. Обеспечение точности перевода.
- 3.7. Преодоление барьера между пользователем и разработчиком.
- 3.8. Контроль принимаемых решений.
- Литература к лекции 3.
- Лекция 4. Внешнее описание программного средства
- 4.1. Назначение внешнего описания программного средства и его роль в обеспечении качества программного средства.
- 4.2. Определение требований к программному средству.
- 4.3. Спецификация качества программного средства.
- 4.4. Функциональная спецификация программного средства.
- 4.5. Методы контроля внешнего описания программного средства.
- Литература к лекции 4.
- Лекция 5. Методы спецификации семантики функций
- 5.1. Основные подходы к спецификации семантики функций.
- 5.2. Метод таблиц решений.
- 5.3. Операционная семантика.
- 5.4. Денотационная семантика.
- 5.5. Аксиоматическая семантика.
- 5.6. Языки спецификаций.
- Литература к лекции 5.
- Лекция 6. Архитектура программного средства
- 6.1. Понятие архитектуры программного средства.
- 6.2. Основные классы архитектур программных средств.
- 6.3. Архитектурные функции.
- 6.4. Контроль архитектуры программных средств.
- Литература к лекции 6.
- Лекция 7. Разработка структуры программы и модульное программирование
- 7.1. Цель модульного программирования.
- 7.2. Основные характеристики программного модуля.
- 7.3. Методы разработки структуры программы.
- 7.4. Контроль структуры программы.
- Литература к лекции 7.
- Лекция 8. Разработка программного модуля
- 8.1. Порядок разработки программного модуля.
- 8.2. Структурное программирование.
- 8.3. Пошаговая детализация и понятие о псевдокоде.
- 8.4. Контроль программного модуля.
- Литература к лекции 8.
- Лекция 9. Доказательство свойств программ
- 9.1. Обоснования программ. Формализация свойств программ.
- 9.2. Свойства простых операторов.
- 9.3. Свойства основных конструкций структурного программирования.
- 9.4. Завершимость выполнения программы.
- 9.5. Пример доказательства свойства программы.
- Литература к лекции 9.
- Лекция 10. Тестирование и отладка программного средства
- 10.1. Основные понятия.
- 10.2. Принципы и виды отладки.
- 10.3. Заповеди отладки.
- 10.4. Автономная отладка модуля.
- 10.5. Комплексная отладка программного средства.
- Лекция 11. Обеспечение функциональности и надежности программного средства
- 11.1. Функциональность и надежность как обязательные критерии качества программного средства.
- 11.2. Обеспечение завершенности программного средства.
- 11.3. Обеспечение точности программного средства.
- 11.4. Обеспечение автономности программного средства.
- 11.5. Обеспечение устойчивости программного средства.
- 11.6. Обеспечение защищенности программных средств.
- Литература к лекции 11.
- Лекция 12. Обеспечение качества программного средства
- 12.1. Общая характеристика процесса обеспечения качества программного средства.
- 12.2. Обеспечение легкости применения программного средства.
- 12.3. Обеспечение эффективности программного средства.
- 12.4. Обеспечение сопровождаемости.
- 12.5. Обеспечение мобильности.
- Литература к лекции 12.
- Лекция 13. Документирование программных средств
- 13.1. Документация, создаваемая в процессе разработки программных средств.
- 13.2. Пользовательская документация программных средств.
- 13.3. Документация по сопровождению программных средств.
- Литература к лекции 13.
- Лекция 14. Аттестация программного средства
- 14.1. Назначение аттестации программного средства.
- 14.2. Виды испытаний программного средства.
- 14.3. Методы оценки качества программного средства.
- Литература к лекции 14.
- 15.2. Особенности объектного подхода к разработке внешнего описания программного средства.
- 15.3. Особенности объектного подхода на этапе конструирования программного средства.
- 15.4. Особенности объектного подхода на этапе кодирования программного средства.
- Лекция 16. Компьютерная поддержка разработки и сопровождения программных средств
- 16.1. Инструменты разработки программных средств.
- 16.2. Инструментальные среды разработки и сопровождения программных средств.
- 16.3. Инструментальные среды программирования.
- 16.4. Понятие компьютерной технологии разработки программных средств и ее рабочие места.
- 16.5. Инструментальные системы технологии программирования.
- Литература к лекции 16.
- Рекламные ссылки