- •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. Ссылки на классы и указатели на методы
4. Элементарные критерии качества и метрики по.
Каждый элементарный критерий может влиять на несколько обобщенных.
Точность – определяет получение каких-либо значений при работе с программой для получения данных. Точность результата зависит от точности предоставленных исходных данных.
Согласованность – все части ПО организованны определенным адекватным образом с использованием единой терминологией и системы обозначения.
Структурируемость – правильное построение программы.
Отсутствие избыточности – отсутствие лишних, ненужных частей.
Универсальность – возможность использования программного средства для решения более широкого круга задач.
Защищенность – защита от злоупотребления, от несанкционированного доступа (для интернет программ).
Метрики:
Число строк кода – Lines Of Code (LOC)
Число обнаруженных ошибок за месяц работы ПО
Число строк документации
Число различных операндов
Наличие средств проверки входных данных
Число внешних вводов
Число внешних выводов
Число классов
Глубина иерархии классов
Степень взаимосвязанности классов
Число переопределяемых методов
Время разработки в человеко-месяцах (характеризует процесс разработки)
Стоимость разработки (характеризует процесс разработки)
Относительные характеристики: KLOC, число ошибок / KLOC, стоимость / LOC, число строк документации / KLOC
5. Факторы, влияющие на выбор системы программирования.
Соответствие языка характеру решаемой задачи.
Надежность
Возможность управления аппаратными средствами
Быстрота трансляции
Эффективность объектного кода – насколько быстро выполняется, насколько компактен.
Сервисные возможности (средства отладки, работа с файлами, встроенная помощь, навигация, интеграция со средствами поддержки разработки – CASE-средствами и средствами организации коллективной разработки).
6. Жизненный цикл по.
Технико-экономическое обоснование разработки. Определяются возможности заказчика, постановка задачи, набор технических средств.
Анализ требований (анализ предметной области). На этом этапе определяются модели поведения системы, структура входных и выходных данных, требования к интерфейсу, начинается подготовка технической документации.
Проектирование: определение основной структуры данных, разработка методов решения задач, распределение заданий между программистами выполняется.
Программирование. На вспомогательном языке записывается алгоритм решения задачи, метода. На основе текста на псевдокоде осуществляется программирование на алгоритмическом языке.
Тестирование и отладка. Тестирование – процесс испытание ПО с целью обнаружения ошибок. Отладка – локализация и устранение ошибки.
Сопровождение – обеспечение правильной эксплуатации системы. Выполняется разработчиками.
7. Функционально-ориентированная стратегия разработки по.
технологии:
Нисходящая (водопадная)
Восходящая
Расширения ядра
Технико-экономическое обоснование Анализ требований Функциональное проектирование - - - программирование --- Тестирование и отладка (- - - - возврат к Функц. проект.).
Возвраты на предыдущие этапы нежелательны!!!
Недостатки ФОС разработки программ:
Неадекватность по отношению к большинству предметных областей
Требования к ПС должны быть четко определены с самого начала и не должны изменяться
Последовательное выполнение всех этапов разработки
Невозможность в большинстве случаев создания прототипа системы
Сложность внесения изменений в готовую систему
Повышение трудоемкости к концу разработки
Недостаточное внимание уделяется данным
Желательно наличие у разработчиков опыта работы над аналогичными проектами
Нисходящая технология:
Основная цель этапа проектирования – построение схемы иерархии.
Схема иерархии – функциональная схема, представляющая собой ориентированный граф. Вершины – функции (подпрограммы), ребра – отношения функция-подфункция.
В процессе построения схемы иерархии каждая новая функция рассматривается как черный ящик.
В схеме иерархии не отражены потоки данных и логика работы программной системы.
