- •1. Методы создания программных средств. Основные направления.
- •2. Различия программирования и разработки.
- •3. Виды программ, программной и эксплуатационной документации по еспд.
- •4. Понятие о классификации технологий разработки программного обеспечения.
- •5. Постановка задачи.
- •6. Выбор и обоснование метода решения.
- •7. Понятие и основные модели жизненного цикла программного продукта.
- •Спиральная модель жизненного цикла программного продукта, ее достоинства и недостатки.
- •9. Перечень, содержание и приемы выполнения работ на этапе разработки программного продукта.
- •10. Определение основных понятий программирования: алгоритм, программа, абстракция, операторная схема, оператор языка программирования, оператор перехода, цикл, программный модуль.
- •11. Технологии программирования. Основные понятия.
- •12. Основные этапы развития программирования как науки.
- •13. Понятие case – технологии и ее фундаментальные принципы. Основные составляющие case-технологии.
- •14. Система стандартов iso 9001.
- •15. Управление конфигурацией. Case-системы.
- •16. Понятие технологии программирования
- •17. Этапы решения задачи на эвм
- •18. Основные положения решения задач на эвм
- •19. Разработка технического проекта
- •20. Виды языков программирования (по поколениям используемого исходного кода, по проблемной ориентации языка)
- •21. Структурное программирование
- •22. Нисходящее проектирование
- •23. Восходящее проектирование
- •24. Проектирование, разработка и сопровождение информационных систем
- •25. Системный анализ предметной области
- •26. Подготовка документации на программные средства в соответствии с госТами
- •27. Модульное программирование
- •Прочность по совпадению.
- •28. Организация связей между модулями
- •29. Коллективная работа по созданию программного обеспечения
- •30. Программная инженерия: назначение, основные принципы и понятия
- •31. Метод программной инженерии
- •32. Введение в объектно-ориентированное программирование(ооп).
- •33. Ооп. Структуры
- •35. Основные этапы проектирования программы
- •36. Основные направления в программировании
- •38. Основные этапы технологического процесса разработки программ
- •39. Разработка технического задания на программную систему. Функциональные требования
- •40. Пояснительная записка
- •41. Качество программного изделия
- •42. Стиль программирования
- •43. Тестирование программного обеспечения. Основные принципы разработки тестов для программных продуктов. Особенности тестирования объектно - ориентированных программ.
- •44. Основные понятия и определения теории тестирования. Подходы к тестированию. Стратегии тестирования. Критерии тестирования.
- •45. Способы тестирования программ, состоящих из модулей (блоков).
- •46. Два критерия полноты тестирования. Причины появления второго критерия.
- •47. Отладка программы. Программные ошибки. Категории программных ошибок.
- •48. Методы отладки программного обеспечения
- •49. Критерии черного ящика.
- •Методы стратегии чёрного ящика:
- •50. Критерии белого ящика
- •51. Минимально грубое тестирование
- •52. Модели надежности программных систем
- •53. Измерения и оценка качества программного обеспечения
- •54. Динамическая модель Шумана
- •56. Статические модели надежности
- •57. Модель Миллса
- •58. Простая интуитивная модель
- •59. Модель Коркорэна
- •60. Типы пользовательских интерфейсов и этапы их разработки
- •61. Пользовательская и программная модели интерфейсов
- •62. Пользовательские интерфейсы прямого манипулирования и их проектирование
- •63. Классификации диалогов и общие принципы их разработки
- •64. Каскадная модель жизненного цикла программного продукта. Ее достоинства и недостатки.
- •72. Построение концептуальной модели предметной области
22. Нисходящее проектирование
Нисходящее проектирование является неформальной стратегией разбиения проблем на проблемы меньшего размера. НП – пошаговый процесс, который начинается с наиболее общей функции, разбивает ее на подфункции, а затем процесс повторяется для каждой подфункции до тех пор, пока все подфункции не станут настолько малыми и простыми, чтобы их можно было закодировать программными инструкциями. НП применимо к проектированию модуля, программы, системы или структуры данных. Процесс НП разделяется на 2 части: 1 – проект представляется в терминах высокоуровневых процедурных компонент и компонент данных. 2 – Компоненты (процедурные и данных) определяются все более детально. Эта часть НП является применением метода пошаговой детализации.
Достоинства:
проявление логики программы возникает уже при чтении головного модуля, что делает программу боле простой;
возможность контроля хода работы над программой в процессе последовательной детализации программы обеспечивает ее непрерывную корректировку; отсутствие комплексной отладки благодаря сквозному контролю позволяет сэкономить до 30 % общего времени разработки программ;
одновременная параллельная работа нескольких программистов может оказаться эффективной.
Недостатки:
Необходимость заглушек.
До самого последнего этапа проектирования неясен размер программного комплекса и его эксплуатационные характеристики, за которые, как правило, отвечают модули самого низкого уровня.
23. Восходящее проектирование
Метод восходящего проектирования - подход, при котором в первую очередь определяются вспомогательные модули, которые потребуются для проектируемой программы.
Каждый разрабатываемый модуль подчиняется некоторым глобальным для него принципам функционирования и структурам информации, уточнение которых при восходящей разработке откладывается на более поздние этапы разработки. Это приводит к частому перепрограммированию модулей нижнего уровня, когда на более высоких уровнях разработки модульной структуры программы производится значительное изменение глобальных принципов или информации. Кроме этого, приходится создавать вызывающую программу – драйвер или отлаживающий модуль, - который не гарантирует отладку модуля именно в том режиме, в котором он будет использоваться в рабочей программе.
Недостатки:
Сложность объединения модулей в единую систему;
Трудность выявления и исправления ошибок, допущенных на ранних стадиях разработки модулей;
Затрудненное объединение модулей в общую систему.
24. Проектирование, разработка и сопровождение информационных систем
Проектирование.
Проектирование информационных систем всегда начинается с определения цели проекта. Основная задача любого успешного проекта заключается в том, чтобы на момент запуска системы и в течение всего времени ее эксплуатации можно было обеспечить:
требуемую функциональность системы и степень адаптации к изменяющимся условиям ее функционирования;
требуемую пропускную способность системы;
требуемое время реакции системы на запрос;
безотказную работу системы в требуемом режиме, иными словами - готовность и доступность системы для обработки запросов пользователей;
простоту эксплуатации и поддержки системы;
необходимую безопасность.
Производительность является главным фактором, определяющим эффективность системы. Проектирование информационных систем охватывает три основные области:
проектирование объектов данных, которые будут реализованы в базе данных;
проектирование программ, экранных форм, отчетов, которые будут обеспечивать выполнение запросов к данным;
учет конкретной среды или технологии
В реальных условиях проектирование - это поиск способа, который удовлетворяет требованиям функциональности системы средствами имеющихся технологий с учетом заданных ограничений.
Разработка.
Разработка включает в себя все работы по созданию ПО и его компонент в соответствии с заданными требованиями, включая оформление проектной и эксплуатационной документации, подготовку материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, необходимых для организации обучения персонала и т.д. Разработка ПО включает в себя, как правило, анализ, проектирование и реализацию (программирование).
Сопровождение.
Сопровождение программного обеспечения — процесс улучшения, оптимизации и устранения дефектов ПО после передачи в эксплуатацию. Сопровождение ПО — это одна из фаз жизненного цикла программного обеспечения, следующая за фазой передачи ПО в эксплуатацию. В ходе сопровождения в программу вносятся изменения, с тем, чтобы исправить обнаруженные в процессе использования дефекты и недоработки, а также для добавления новой функциональности, с целью повысить удобство использования и применимость ПО.
В модели водопада, сопровождение ПО выделяется в отдельную фазу цикла разработки. В спиральной модели, сопровождение не выделяется как отдельный этап. Тем не менее, эта деятельность занимает значительное место, учитывая тот факт, что обычно около 2/3 жизненного цикла программных систем занимает сопровождение.
Сопровождаемость программного обеспечения — характеристики программного продукта, позволяющие минимизировать усилия по внесению в него изменений:
для устранения ошибок;
для модификации в соответствии с изменяющимися потребностями пользователей.
Наличие квалифицированного технического сопровождения — это необходимое условие для исполнения поставленных перед информационной системой задач, ошибки при обслуживании которой могут выражаться в явных или в косвенных финансовых потерях, сопоставимых со стоимостью самой информационной системы.