- •1. Кризис программирования
- •2. Понятие жизненного цикла по
- •3. Требования к технологии проектирования
- •4. Понятия профессионального программирования
- •5. Проект и команда
- •6. Задача профессионального программирования
- •7. Алгоритмы
- •8. Модели и моделирование
- •9. Структурный подход
- •9.1. Проблема сложности
- •9.2. Сущность структурного подхода
- •9.3. Метод функционального моделирования (sadt)
- •9.3.1. Состав функциональных моделей
- •9.3.2. Методика построения модели
- •9.4. Метод моделирования процессов - потоков данных (dfd)
- •9.4.1. Общая концепция
- •9.4.2. Состав диаграмм потоков данных
- •13. Венгерская нотация
- •14. Методология и парадигма программирования
- •15. Современные методологии программирования
- •16. Методология императивного программирования
- •17. Методология объектно-ориентированного программирования
- •18. Методология функционального программирования
- •19. Методология логического программирования
- •20. Методология программирования в ограничениях
- •21. Методология структурного императивного программирования
- •22. Методология параллельного императивного программирования
- •23. Методология нейросетевого программирования
- •23.1. Модель нейрона с линейной функцией активации
- •23.2. Модель нейрона с радиальной функцией активации
- •23.3. Разработка нейросетевой модели
- •24. Основные типы ошибок в программах
- •25. Отладка и тестирование
- •26. Режимы работы компилятора Delphi для поиска ошибок
- •27. Задание режимов работы отладчика с помощью переключающих директив
- •28. Пользователи и их поддержка
- •29. Поддержка программиста: общие требования
- •29.1. Пролог модуля
- •29.2. Проектная документация
- •29.3. Оформление текста программы
- •30. Поддержка конечного пользователя
- •31. Технология программирования графики
- •31.1. Графическая подсистема оболочек Win32/64
- •31.2. Графические средства Delphi
- •31.3. Проектирование интерфейса с пользователем: компоненты стандартных диалогов
- •32.Технология компонентного программирования
- •32.1. Технология com
- •32.1.1. Общая концепция
- •32.1.2. Интерфейс com
- •32.1.3. Сервер com
- •32.2. Технология ole
- •32.2.1 Суть и содержание ole
- •32.2.2.Терминология ole
- •32.2.3. Автоматизация ole
- •32.2.4. Структурированная память
- •32.3. Технология corba
- •32.4. Технология Java
- •32.5.Технология .Net
- •33. Технология описания аппаратуры
- •Input clock, reset, en;
- •If(!reset)
- •34. Технология коллективной разработки
- •34.1. Авторская разработка
- •34.2. Коллективная разработка
- •34.2.1. Технические командные роли
- •34.2.2. Психологические командные роли
- •34.2.3. Типы совместной деятельности
- •34.3. Общинная модель разработки
- •35. Технология оценки качества по
- •35.1. Подходы к оценке качества по
- •35.2. Характеристики качества по
- •35.3. Оценка качества процесса разработки
- •35.3.1. Модель зрелости процесса разработки по
- •35.3.2. Определение возможностей и улучшение процесса создания по
- •35.4. «Достаточно хорошее» по
- •33.5. Стандартизация информационных технологий
- •Международные организации, входящие в структуру оон.
- •Промышленные профессиональные или административные организации.
- •Промышленные консорциумы.
- •36. Инструментальные средства поддержки некоторых технологических подходов
- •36.1. Инструментальные системы
- •36.1.1. Инструментальные среды программирования
- •36.1.2. Средства автоматизации разработки программ (case-средства)
- •36.1.3. Интегрированные среды
- •36.1.4. Репозитории проекта
- •36.2. Поддержка коллективной разработки: системы управления версиями
- •37. Организация диалогов
- •38. Защита программного кода
27. Задание режимов работы отладчика с помощью переключающих директив
Рассмотрим некоторые установки, выполняемые командами главного меню среды Delphi (после них в фигурных скобках приводятся соответствующие аналоги в виде директив, а в круглых скобках – вид директивы: локальная или глобальная).
После задания команды Project|Options|Compiler можно включать/выключать следующие опции компилятора, предопределяющие режим работы отладчика:
Align record field {$A+/-} (локальная) - выравнивание полей записи по границам 32-разрядных слов. Это увеличивает объем используемой оперативной памяти, но увеличивает быстродействие.
Debug information {$D +/-} (глобальная) - сохранение информации о связи машинных команд со строками текста программы для установки в программе местонахождения ошибок задания точек остановок, пошагового выполнения программы и др.
I/O checking {$I +/-} (локальная) - проверка операций ввода/вывода в период выполнения. Если задана опция Tools|Options|Preferences|Break on exceptions, то при ошибке формируется исключительная ситуация, выводится сообщение об ошибке и работа программы прерывается. В противном случае ПП сама должна обрабатывать исключение.
Local symbols {$L+/-} (глобальная) - включать информацию о локальных параметрах подпрограмм и переменных исполнительных частей модулей. Это позволяет анализировать значения таких параметров и модифицировать их при отладке.
Optimization {$O +/-} (локальная) – оптимизировать программу за счёт оптимизации употребления регистров общего назначение процессора, устранение повторяющихся выражений, исключение промежуточных данных и другое. Компиляция удлиняется.
Range checking {$R +/-} (локальная) - контроль допустимости значений индексов элементов массивов и строк в период выполнения. При ошибке выводится сообщение или работа программы прерывается, если установлена опция Tools|Options|Preferences|Break on exceptions.
Extended Syntax {$X +/-} (глобальная) - разрешить обращение к подпрограмме-функции как к подпрограмме-процедуре (исключая стандартные функции модуля System), а также обращение к переменным типа PChar как к строкам, оканчивающимся нулем.
Show hints {$Hints on/off} (локальная) - выдавать рекомендации по оптимизации программы. Часто эти рекомендации могут указывать на наличие ошибок.
Show warnings {$Warnings on/off} (локальная) - выдавать предупреждения, связанные с сомнительными частями программы (использование неинициализированных переменных, создание абстрактного объекта и т.п.).
Generate console application {$Aptype GUI/Console} (глобальная) - использовать обычный графический режим работы Windows или ре-жим эмуляции текстового терминала.
Остальные установки могут быть изучены при использовании встроенной справочной системы среды Delphi и соответствующих литературных источников.
28. Пользователи и их поддержка
Термин «поддержка пользователя» обозначает обеспечение потребителей программных продуктов всеми видами услуг, облегчающих работу с этими программными продуктами.
Пользователи – это реальные и потенциальные потребители программных продуктов. Среди пользователей различают три основные категории:
Конечные пользователи – это лица, получающие от приложений интересующую их информацию.
Электронные пользователи - отдельные аппаратные решения (компьютеры, их сети, сетевые устройства и т.д.).
Компьютерный персонал - лица создающий новые программы или информацию для программного обеспечения.
Проще всего дело обстоит с классификацией программ, предназначенных для «электронного потребления» (ОС, утилиты и другие программы, обслуживающие электронные системы в части их настройки). Основные требования к таким программам можно свести к следующим немногим положениям:
минимальные расходы ресурсов;
полное соответствие функциональных возможностей возможностям электронной системы (корректность в машинном плане);
поддержка предыдущих версий электронных систем;
поддержка прогнозируемых путей развития электронных систем;
поддержка автоматической замены предыдущих версий программ на более новые, исключающая необходимость человеку принимать участие в установке параметров настройки программы;
поддержка идеологии «Plug and Play» (автоматическая настройка ПО без участия специалиста);
обеспечение возможности специалисту самостоятельно определить параметры настройки.
Требования к программам, потребляемым человеком, исходят из максимальной настройки программ на возможности, интересы и особенности человека, их зависимость от условий жизнедеятельности, прежде всего от коллективных функций.
Учет психики и физиологии человека состоит, прежде всего, в построении программ так, чтобы не вынуждать пользователей постоянно преодолевать непреодолимое, то есть исходить из ограничения, накладываемого «магическим» числом 7. Поэтому на каждом этапе работы с программой количество объектов, учитываемых в принятии того или иного решения, должно быть минимальным. Это главное. Может быть даже и не минимальным а оптимальным, чтобы не пропадал интерес к работе с программой: иногда должны быть какие-то трудности со временем или с количеством оцениваемых объектов, как в игровых программах. Следует также учитывать и накопление усталости человека во времени.