
- •1 ) Виды обеспечения вс. Понятия программы, программной системы (комплекса), программного продукта (средства, изделия), программного обеспечения.
- •2 ) Причины сложности разработки по.
- •3 ) Процессы жизненного цикла программного продукта по стандарту iso/iec 12207 (гост р исо/мэк 12207).
- •4 ) Основные процессы разработки программного продукта.
- •Анализ;
- •Проектирование;
- •Программирование (кодирование, реализация);
- •Тестирование;
- •Документирование.
- •5 ) Основные модели и методологии разработки по.
- •6 ) Задачи и проблемы планирования разработки.
- •7 ) Понятие конфигурации и управления конфигурацией, задачи управления конфигурацией.
- •8 ) Модель зрелости возможностей cmm.
- •9 ) Задачи анализа требований. Основные виды работ при анализе.
- •Исходная постановка задачи
- •Сбор и исследование информации
- •Выбор приоритетных критериев качества
- •Определение входных, хранимых и выходных данных
- •Формализация требований
- •10 ) Варианты использования: определение, роль в жизненном цикле.
- •11 ) Цель и объекты проектирования. Архитектурное и детальное
- •12 ) Виды декомпозиции системы. Основные структурные методы проектирования (по направлению декомпозиции).
- •13 ) Понятие модуля. Критерии качества проектирования модулей и классов.
- •14 ) Проектирование интерфейса пользователя (определение, классификации)
- •15 ) Проектирование интерфейса пользователя (определение, требования).
- •16 ) Повышение информативности программ: цели, основные методы.
- •Основные методы сводятся к четырем группам:
- •17 ) Безопасное программирование. Различают два подхода к программированию:
- •Основные принципы:
- •18)Цели тестирования и отладки. Объекты и особенности процесса тестирования.
- •Объектами тестирования являются:
- •Три принципа тестирования:
- •Основные проблемы организации тестирования программы:
- •19. Виды тестирования
- •20. Критерии качества тестирования
- •21. Метод ручной инспекции кода; метод эквивалентов и граничных условий.
- •22. Тесты и тестовые процедуры (определения, принципы создания)
- •23. Классификация ошибок с точки зрения процесса разработки
- •24. Основные программные и эксплуатационные документы
- •25. Общее и детальное планирование испытаний
- •26. Методы оценки свойств программного продукта
- •27. Основные факторы качества программного продукта (по гост р исо/мэк 912693)
13 ) Понятие модуля. Критерии качества проектирования модулей и классов.
Четкое понятие модуля, одинаково пригодное для всех языков программирования, отсутствует, тем не менее можно выделить следующие
ключевые особенности:
1. Модуль есть единица структуры исходного текста программы, оформляемая, как правило, в виде отдельного файла.
2. Модуль в программных проектах является единицей разработки.
3. Модуль имеет две логически различные части: интерфейс и реализацию. Интерфейс модуля есть набор описаний (прототипов) функций и данных модуля, доступных «извне» модуля. Реализация модуля есть собственно программный код функций и данных.
Проектирование модулей относится скорее к детальному проектированию и выполняется практически всегда программистами.
В модуль включаются классы (типы данных), процедуры и данные, объединенные по признакам тесной информационной, логической или функциональной связи. Опыт показывает, что процесс выделения классов и модулей является последовательным. Очень важно, с самого начала по возможности приблизиться к правильным решениям.
Для оценки качества проектирования классов и модулей, выделяемых в системе, можно предложить следующие критерии:
связность (прочность) — это мера внутренних связей модуля (класса), то есть связей между его элементами. Ошибкой проектирования является связность по случайному принципу, когда в одном классе или модуле собираются совершенно независимые абстракции. Использование одних и тех же общих данных определяет наличие информационных связей, а общее назначение процедур – логической связи. Наилучшей является функциональная связность, при которой все элементы класса или модуля тесно взаимодействуют в достижении определенной цели. Таким образом, чем выше связность, тем лучше;
зацепление — сила связей модуля (класса) с другими модулями (классами), мера его независимости. Систему с сильной зависимостью между модулями гораздо сложнее воспринимать и модифицировать. Слишком сильное зацепление часто свидетельствует об ошибках проектирования. Таким образом, чем выше зацепление, тем хуже;
достаточность интерфейса — наличие в классе или модуле всего необходимого для реализации логичного и эффективного поведения, то есть наличие всех минимально допустимых характеристик данной абстракции. Минимальная допустимость означает, что ни одна из характеристик не выразима через другие;
полнота интерфейса — наличие в интерфейсной части класса всех характеристик абстракции, а не только необходимого минимума. Идея полноты охватывает аспекты максимального удобства для решения распространенных задач. Полнота является субъективным фактором, и разработчики часто ею злоупотребляют, вынося в интерфейс такие операции, которые очень легко можно реализовать с помощью более примитивных операций.
14 ) Проектирование интерфейса пользователя (определение, классификации)
ПИ очень важен для программного продукта, но для успеха его проектирования разработчику необходимо обладать немалыми теоретическими знаниями и опытом, скрепленным талантом, поскольку тема проектирования ПИ необъятна.
Интерфейс пользователя (user interface) — система правил и средств, соответственно регламентирующих и обеспечивающих взаимодействие пользователя и вычислительной системы в процессе выполнения данной программы. Средства в данном случае — это устройства ввода и вывода, а также команды, меню, указатели, кнопки и т. д. Правила определяют семантику использования указанных средств.
Поскольку стандартные устройства ввода/вывода поддерживаются в подавляющем большинстве современных программ, то обычно их никогда не упоминают явно. Однако надо четко понимать, что это просто дань традиции и аспект удобства. Понятие стандартных устройств ввода/вывода не абсолютно, оно постепенно меняется во времени.
Основные классификации ПИ
По способу формирования изображения:
символьный интерфейс пользователя (character user interface, CUI) основан на формировании изображения из набора предопределенных символов
графический интерфейс пользователя (graphical user interface, GUI) позволяет выводить произвольные изображения, используя векторную и растровую графику.
По типу управления различают :
командный интерфейс основан на управлении путем ввода с клавиатуры произвольных команд или нажатия клавиатурных сочетаний. Главная его отличительная особенность состоит в том, что пользователь должен помнить команды, зато скорость его «приказа» ограничена лишь скоростью владения клавиатурой.
визуальный интерфейс (WIMP – windows (окна), icons (значки), menus (меню) и pointers (указатели)) основан на управлении с помощью видимых пользователю элементов, таких как меню, списки, кнопки и т. п.
По активной стороне (кто является в диалоге ведущей стороной) выделяют :
классический интерфейс. Взаимодействием в основном управляет пользователь, выполняя операции в желаемом ему порядке желаемым способом (в пределах имеющихся возможностей)
интерфейс «Мастеров» (Wizards) используют для решения сложных, многоэтапных задач, при которых пользователь легко может ошибиться, упустить что-либо важное или в какой-то момент «утратить ориентацию» в последовательности действий.