
- •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. Ссылки на классы и указатели на методы
8. Принципы построения схемы иерархии.
Нисходящая технология:
Основная цель этапа проектирования – построение схемы иерархии.
Схема иерархии – функциональная схема, представляющая собой ориентированный граф. Вершины – функции (подпрограммы), ребра – отношения функция-подфункция.
В процессе построения схемы иерархии каждая новая функция рассматривается как черный ящик.
В схеме иерархии не отражены потоки данных и логика работы программной системы.
Требования к подпрограммам:
Обращение только по имени
Один вход - один выход
Возвращение управления вызывающей подпрограмме
Запрещение использования информации о предыдущих вызовах
Подпрограмма должна реализовывать единственную функцию
Характеристика модулей:
Связность модуля
Логическая (показывает, насколько, похоже реализуются подпрограммы).
Временная (показывает, насколько близки по времени подпрограммы).
Функциональная (используется для реализации одной функции).
Информационная (для работы одной программы требуются данные, выданные другой программой)
Сцепление модулей
по данным
по управлению
Связанность модуля может быть посчитана, может быть использована для оценки (чем выше связанность, тем лучше). Сцепление так же может быть посчитано.

9. Объектно-ориентированная стратегия разработки по.
технологии:
Спиральная
Эволюционного прототипирования
Гибкая (agile software development)
Технология эволюционного прототипирования:
Анализ требований.
Объектно-ориентированное проектирование
О.О.П.
Тестирование и отладка.
10. Гибкая технология разработки по.
Постоянное сотрудничество с заказчиком
Реакция на быстро меняющиеся требования, а не следование четкому плану – адаптивность
Упор на программы, а не на документацию
Тесные контакты между разработчиками
Парное программирование
Приоритет за простыми решениями
Продолжительность цикла (времени создания прототипа системы) не более месяца
11. Риски при разработке по.
Дефицит необходимых специалистов.
Нереалистичные сроки
Недостаточный бюджет.
Реализация несоответствующей требованиям функциональности.
Разработка неудачного пользовательского интерфейса.
“Золотая сервировка”, то есть ненужная оптимизация и оттачивание деталей проекта.
Непрекращающийся поток изменения требований со стороны заказчика.
Недостаточная производительность разрабатываемой системы.
Несоблюдение требований безопасности.
12. Стандарт uml.
UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. В средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация.
Основные виды диаграмм:
Диаграмма классов (Class diagram)
Диаграмма объектов (Object diagram)
Диаграмма деятельности (Activity diagram) — диаграмма, на которой показано разложение некоторой деятельности на её составные части.
Диаграмма прецедентов (Use Case diagram)
Диаграмма последовательности (Sequence diagram) — диаграмма, на которой изображено упорядоченное во времени взаимодействие объектов.
Преимущества:
UML объектно-ориентирован, в результате чего методы описания результатов анализа и проектирования семантически близки к методам программирования на современных ОО-языках;
UML позволяет описать систему практически со всех возможных точек зрения и разные аспекты поведения системы;
Диаграммы UML сравнительно просты для чтения после достаточно быстрого ознакомления с его синтаксисом;
UML расширяет и позволяет вводить собственные текстовые и графические стереотипы, что способствует его применению не только в сфере программной инженерии;
UML получил широкое распространение и динамично развивается.