- •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. Защита программного кода
29. Поддержка программиста: общие требования
Программу для потенциальных пользователей-программистов следует выполнять (в целях её совершенствования или адаптации) максимально просто и понятно (а также соблюдая приёмы рефакторинга). Для этого её надо тщательно спроектировать, закодировать, представить в удобной для понимания форме и снабдить документацией в необходимом объёме. Каждый модуль программы должен быть по возможности аккуратно и без излишеств самодокументирован.
29.1. Пролог модуля
Кодирование модуля должно начинаться с его общего описания – так называемого «пролога». Пролог обычно включает в себя следующие элементы:
Номер и имя модуля.
Фамилию программиста, дату завершения работы над модулем и номер его версии.
Функциональное описание модуля.
Перечень основных используемых алгоритмов со ссылками.
Словарь данных для параметров.
Имена подпрограмм, вызывающих (использующих) модуль.
Имена подпрограмм, вызываемых (используемых) модулем.
Словарь данных для разделяемых областей хранения данных
Словарь данных для внутренних (разделяемых) данных.
Описание ввода-вывода.
Описание исключений модуля и процесса обработки ошибок, выполняемого модулем.
Пролог целесообразно включать в исходный текст модуля в виде комментария. В мнемонических конструкциях целесообразно применять венгерскую нотацию.
29.2. Проектная документация
Проектная документация обычно включает в себя следующие элементы:
Перечень важнейших функций, реализуемых системой.
Определения потоков данных.
Графические описания процессов передачи данных и управления.
Перечень носителей информации, используемых для хранения.
Описание средств взаимодействия с вычислительной средой (включая списки уже имеющихся наборов данных и программ).
Перечень имён наборов данных и программ, подлежащих разработке.
Требования к синхронизации выполняемых операций с учётом доступности данных.
Предложения по разработке системных средств защиты.
Перечень контрольных примеров для проверки всех элементов системы с приведением ожидаемых результатов.
29.3. Оформление текста программы
Текст программы воспринимается лучше, если он удачно располагается на странице, выделены поля, строки не перегружены информацией использованы отступы и пробелы. Для всего этого полезны следующие приёмы оформления:
Оставлять между основными частями программы 3 пустых строки, между не основными – 2, а после каждой последовательно выполняющейся группы операторов – 1 пустую строку.
Использовать базовые управляющие структуры (следование, ветвление цикл).
Соблюдать абзацный отступ в 2÷5 пробелов для тел циклов и подчинённых операторов.
Широко применять комментарии.
Помнить, что объявления переменных, и комментарии составляют вместе с прологом документацию программы.
30. Поддержка конечного пользователя
Начальный этап. Основа – предоставление информации о будущем продукте. При этом реклама должна быть деловой и ориентированной на конкретного потребителя, учитывающей основные положения менеджмента.
Развитое применение программы. При развёрнутом выпуске и использовании программы в работу с ней подключается всё более широкий круг людей. Многие из них могут использовать опыт тех, кто начал работу с программой ранее и не испытывает существенных, принципиальных трудностей. Однако не все имеют такую возможность. Кроме того, всегда и в первую очередь надо обеспечивать работу тех, кто начинает впервые. Для таких лиц надо предусмотреть весь спектр поддержки. С точки зрения технической организации интерфейса к основным видам поддержки пользователей следует отнести следующие:
экранная помощь;
хинты;
статусные строки;
учебники;
документация к программе в комплекте.
Моральное старение и утилизация. На данном этапе основная задача поддержки пользователей – переориентация на потребление новых программных продуктов.