- •1. Тенденции развития ит. Понятие программного обеспечения.
- •2. Рынок по в России и других странах. Защита авторских прав разработчиков.
- •3. Обобщенные критерии качества по.
- •4. Элементарные критерии качества и метрики по.
- •5. Факторы, влияющие на выбор системы программирования.
- •6. Жизненный цикл по.
- •7. Функционально-ориентированная стратегия разработки по.
- •8. Принципы построения схемы иерархии.
- •9. Объектно-ориентированная стратегия разработки по.
- •10. Гибкая технология разработки по.
- •11. Риски при разработке по.
- •12. Стандарт uml.
- •13. Диаграммы прецедентов.
- •14. Сценарии.
- •15. Этап анализа требований.
- •16. Отношения между классами: ассоциации.
- •17. Отношение агрегирования.
- •18. Отношение зависимости.
- •19. Диаграммы классов.
- •20. Диаграммы объектов.
- •21. Эволюция в процессе объектно-ориентированной разработки.
- •22. Понятие объекта и класса.
- •23. Диаграммы последовательностей.
- •24. Case-средства.
- •25. Сопоставление объектно-ориентированной и функционально-ориентированной стратегий.
- •26. Базовые конструкции структурного программирования.
- •27. Теоремы структурного программирования.
- •28. Декомпозиция структурных схем.
- •29. Типы структурных схем, тождественные преобразования. (???).
- •30. Оптимизация выражений
- •31. Оптимизация циклов.
- •32. Псевдокод и пошаговая детализация.
- •33. Диаграммы деятельности.
- •34. Методы экономии оперативной памяти.
- •35. Методы экономии внешней памяти.
- •36. Способы организации памяти на внешних носителях.
- •37. Организация коллективов программистов.
- •38. Организация графического интерфейса.
- •39. Тестирование: стратегия белого ящика.
- •40. Тестирование: стратегия черного ящика.
- •41. Тестирование программной системы.
- •42. Автономное и комплексное тестирование методов.
- •43. Типы программных ошибок.
- •44. Отладка: методы «грубой силы»
- •45. Интеллектуальные методы отладки.
- •46. Принципы отладки.
- •47. Инспекции по.
- •52. Ссылки на классы и указатели на методы
43. Типы программных ошибок.
Логические.
Синтаксические.
Ошибки выполнения.
44. Отладка: методы «грубой силы»
Методы грубой силы:
просмотр в узлах
слежение (трассировка)
прокрутка
Реализуются с помощью интегрированных в среду разработки отладчиков
45. Интеллектуальные методы отладки.
Интеллектуальные методы:
индукция
дедукция
Реализуются в процессе тщательного анализа текста программы, часто без использования компьютера
Метод индукции:
определение симптомов ошибки
определение условий возникновения ошибки
выдвижение и проверка гипотез о природе ошибки.
Метод дедукции:
выдвижение гипотез о природе ошибки
исключение ряда гипотез
проверка и уточнение выбранных гипотез.
46. Принципы отладки.
Избегайте применения только методов грубой силы, чаще используйте интеллектуальные методы отладки.
Не зацикливайтесь на поиске одной ошибки (среднее время поиска ошибки не должно быть больше 1 часа).
Не вносите изменений в программу, если ошибка не найдена.
Чем больше ошибок обнаружено, тем больше вероятность существования ненайденных ошибок.
Ищите ошибку, а не исправляйте ее последствия.
Вероятность появления ошибки при внесении изменений выше, чем в старом тексте приложения.
Не обнаружение ошибок при тестировании с помощью встроенного в среду отладчика не является гарантией их отсутствия.
Проводите документирование ошибок.
47. Инспекции по.
Инспекции – это процедуры анализа текущих результатов разработки. Могут применяться на разных этапах, чаще всего - на этапах проектирования и тестирования. В качестве текущих результатов рассматриваются подготовленные артефакты: документация в виде текстов и спецификаций, диаграммы, схемы, код. Если инспектируются результаты проектирования, то необходимо привлекать специалистов, хорошо знающих UML. Инспекции, осуществляемые на этапе тестирования, называют сквозными просмотрами программ.
Сквозные просмотры:
Состав инспекционной группы на этапе тестирования: разработчик или разработчики, тестировщик, опытный программист, руководитель просмотра (модератор).
Что необходимо иметь для просмотра:
документация, как минимум спецификация
текст программы
список типовых ошибок
Скорость сквозного просмотра ~ 100-150 строк в час.
Прогоны программы не проводятся.
Результаты просмотра:
список обнаруженных ошибок
список возможных дефектов.
Сквозные просмотры обычно проводятся более одного раза.
52. Ссылки на классы и указатели на методы
Ссылки на классы
Язык Delphi позволяет рассматривать классы объектов как своего рода объекты, которыми можно манипулировать в программе. Такая возможность рождает новое понятие — класс класса; его принято обозначать термином метакласс.
Для поддержки метаклассов введен специальный тип данных — ссылка на класс (class reference). Ссылка на класс – тип данных, значениями этого типа являются имена класса. Использование ссылок на класс позволяет сделать приложение более гибким.Он описывается с помощью словосочетания class of, например:
type
TTextReaderClass = class of TTextReader;
Переменная типа TTextReaderClass объявляется в программе обычным образом:
var
ClassRef: TTextReaderClass;
Значениями переменной ClassRef могут быть класс TTextReader и все порожденные от него классы. Допустимы следующие операторы:
ClassRef := TTextReader;
ClassRef := TDelimitedReader;
ClassRef := TFixedReader;
По аналогии с тем, как для всех классов существует общий предок TObject, у ссылок на классы существует базовый тип TClass, определенный, как:
type
TClass = class of TObject;
Переменная типа TClass может ссылаться на любой класс.
Практическая ценность ссылок на классы состоит в возможности создавать программные модули, работающие с любыми классами объектов, даже теми, которые еще не разработаны.
Физический смысл и взаимосвязь таких понятий, как переменная-объект, экземпляр объекта в памяти, переменная-класс и экземпляр класса в памяти поясняет рисунок.
