- •I часть
- •Понятия: программное средство и его проект. Их классификация.
- •Стратегии разработки пс
- •Характеристики стратегий разработки
- •Классический жизненный цикл по. Каскадная модель.
- •Макетирование пс
- •Инкрементная модель разработки
- •Быстрая разработка приложений (rad).
- •Спиральная модель стратегии разработки пс.
- •Цели разработки
- •Количественные оценки пс и процесса его разработки. (включает в себя вопросы№№11,12)
- •13) Предварительная оценка проекта и его реализуемости (?)
- •14) Идентификация и анализ риска.
- •15) Планирование структуры распределения работ и используемых ресурсов
- •17) Структурный анализ требований для процедурной реализации проекта.
- •18) Sadt–диаграммы структурного анализа.
- •22) Особенности этапов проектирования
- •23) Виды поддержки проектирования пс
- •II часть
- •23) Виды поддержки проектирования пс.
- •24) Проектирование структуры пс: декомпозиция, модули и их свойства.
- •25) Проектирование интерфейса пс: структура, классификация и стандартизация пользовательских интерфейсов.
- •26) Эргономические требования к интерфейсу.
- •27)Проектирование данных и процедур пс.
- •29) Процедурный подход к программированию.
- •30)Объектно-ориентированный подход к программированию.
- •31) Выбор языка и среды программирования
- •32) Защитное и сборочное программирование.
- •33) Стиль программирования.
- •34) Понятия теста и процессов тестирования и отладки.
- •35) Характерные программные ошибки.
- •36) Нисходящий и восходящий подходы к тестированию.
- •37) Отладчики программ.
- •39) Средства автоматизации разработки программ (case-средства).
- •41) Классификация стандартов.
- •42) ГосТы рф и система международных стандартов iso.
31) Выбор языка и среды программирования
Факторы, влияющие на выбор:
1. требования заказчика
2. знание языка самими разработчиками
3. возможности самого языка программирования
При решении конкретной прикладной задачи в большинстве случаев язык и среда программирования не выбираются, а задаются извне - заказчиком, начальником и т.п. В том же редком случае, когда возможен выбор, следует из следующих условий (в порядке приоритета): а) характера самой задачи и технических требований; б) наработанного инструментария и имеющихся для данной среды библиотек; в) имеющихся в языке и среде программирования инструментальных средств.
Применимость языка для той или иной задачи зависит от того, каким набором понятий он оперирует, в рамках каких концепций (парадигм) он позволяет работать, какие имеются стандартные и распространенные пользовательские библиотеки и т.д.
По набору понятий языки, прежде всего, подразделяются на высоко- и низкоуровневые. Первые предоставляют высокий уровень абстракции от оборудования, вторые - низкий, приближенный к машинному.
С точки зрения того, внесены ли в набор понятий особые, специфичные для предметной области объекты, языки делятся на универсальные (процедурные) и специализированные.
32) Защитное и сборочное программирование.
Защитное программирование - стиль написания программ, при котором появляющиеся ошибки легко обнаруживаются и идентифицируются программистом.
Защитное программирование предполагает соблюдение трех основных принципов:
-1- входные данные каждого модуля должны тщательно анализироваться в предположении, что они ошибочны;
-2- каждая программная ошибка должна быть выявлена как можно раньше, что упрощает установление ее причины;
-3- ошибки в одном модуле должны быть изолированы так, чтобы не допустить их влияние на другие модули.
Сборочное программирование - технология программирования, при которой программа собирается посредством повторного использования уже известных фрагментов программ.
Сборочное программирование решает задачу многократного и быстрого применения в процессе создания программы заранее изготовленных деталей.
Для того чтобы представить полезность и важность такого подхода к программированию, достаточно вспомнить о роли сборных конструкций в современном домостроении. Роль деталей в сборочном программировании играют программные модули. Это — программы, обладающие определенной структурной и функциональной целостностью и в то же время специально приспособленные к тому, чтобы вступать в четко определимое и контролируемое информационно-логическое взаимодействие с другими модулями (под взаимодействием понимается или обмен информацией или определенная соподчиненность выполнения).
Сборочное программирование эффективно, когда комбинирование сравнительно небольшого числа заранее запрограммированных модулей позволяет быстро решить любую задачу из некоторого класса часто возникающих проблем. Ориентация на класс задач — особенность сборочного программирования — объясняет его актуальность, поскольку широкое распространение мини- и микро-ЭВМ позволяет применять каждую отдельную машину для решения определенных специальных задач. В общем случае сборочное программирование — это тоже синтез программы по спецификации задачи, однако в условиях, когда отдельные блоки ее решения уже отработаны и запрограммированы. При этом синтез конкретной программы сводится к извлечению из условия задачи схемы сборки модулей, а эта работа существенно более простая, и ее легче контролировать. Мало того, для некоторых классов задач схема сборки может извлекаться из условия задачи по формальным правилам, и в результате процесс построения программы приобретает полностью автоматический характер.