Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на Гордееву.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
616.96 Кб
Скачать

1. Основные этапы решения задач на эвм. Критерии качества программы.

1.1. Назовите основные этапы решения задач на ЭВМ. Какие основные задачи решаются на этих этапах?

1. Постановка задачи:

•   сбор информации о задаче;

•   формулировка условия задачи;

•   определение конечных целей решения задачи;

•   определение формы выдачи результатов;

•   описание данных (их типов, диапазонов величин, структуры и т. п.).

2. Анализ и исследование задачи, модели:

•   анализ существующих аналогов;

•   анализ технических и программных средств;

•   разработка математической модели;

•   разработка структур данных.

3. Разработка алгоритма:

•   выбор метода проектирования алгоритма;

•    выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

•    выбор тестов и метода тестирования;

•    проектирование алгоритма.

4. Программирование:

•   выбор языка программирования;

•   уточнение способов организации данных;

•   запись алгоритма на выбранном языке программирования.

5. Тестирование и отладка:

•   синтаксическая отладка;

•   отладка семантики и логической структуры;

•    тестовые расчеты и анализ результатов тестирования;

•   совершенствование программы.

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

7. Сопровождение программы:

•   доработка программы для решения конкретных задач;

•   составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию.

1.2. Что понимают под термином “технология программирования”?

Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:

-указание последовательности выполнения технологических операций;

-перечисление условий, при которых выполняется та или иная операция;

1.3. Назовите и дайте характеристику основным периодам истории развития технологии программирования.

1ый этап – стихийное программирование с появлением 1ой ЭВМ – сер. 1960х гг.. Отсутствие сформулированных МП, программирование – искусство, программы имеют простую структуру и пишутся в машинных кодах. Появления ассемблера далее asm повысило читаемость программы и позволило использовать имена переменных и названия операций. Революционным шагом стало появление возможности оперировать подпрограммами далее ПП. 2ой этап – структурное программирование 1960-1970 гг.. В основе структурного подхода лежит декомпозиция сложных систем с целью программирования их в виде набора ПП небольшого размера, по 40-60 операторов. 3ий этап – объектно-ориентированное программирование середина 80х – конец 90х. Программа представляет собой совокупность взаимодействующих между собой с помощью сообщений объектов, каждый из которых является экземпляром определенного типа класса. Класс содержит в себе описание переменных и функций для их обработки. 4ый этап – компонентный подход и CASE технологии конец 90х – до сегодняшних дней. Программа составляется из компонентов, предоставляемых в двоичном виде скомпилированных, взаимодействие между ними осуществляется с помощью стандартизованных двоичных интерфейсов.

1.4. Какие характеристики качества программного обеспечения существуют? Дайте пояснения

Ка́чество програ́ммного обеспечения — характеристика программного обеспечения (ПО) как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».

Функциональные возможности - способность программного средства обеспечивать решение задач, удовлетворяющих сформулированные потребности заказчиков и пользователей при применении комплекса программ в заданных условиях.

Функциональная пригодность - набор и описания субхарактеристики и ее атрибутов, определяющие назначение, номенклатуру, основные, необходимые и достаточные функции программного средства, соответствующие техническому заданию и спецификациям требований заказчика или потенциального пользователя.

Правильность (корректность) - способность программного средства обеспечивать правильные или приемлемые для пользователя результаты и внешние эффекты.

Способность к взаимодействию - свойство программных средств и их компонентов взаимодействовать с одной или большим числом компонентов внутренней и внешней среды.

Защищенность - способность компонентов программного средства защищать программы и информацию от любых негативных воздействий.

Надежность - обеспечение комплексом программ достаточно низкой вероятности отказа в процессе функционирования программного средства в реальном времени.

Эффективность - свойства программного средства, обеспечивающие требуемую производительность решения функциональных задач, с учетом количества используемых вычислительных ресурсов в установленных условиях.

Практичность (применимость) - свойства программного средства, обусловливающие сложность его понимания, изучения и использования, а также привлекательность для квалифицированных пользователей при применении в указанных условиях.

Сопровождаемость - приспособленность программного средства к модификации и изменению конфигурации и функций.

Мобильность - подготовленность программного средства к переносу из одной аппаратно-операционной среды в другую.

1.5. Какие подходы к качеству программного обеспечения существуют? Что является объектом исследования в этих подходах? Перечислите основные стандарты в области информационных технологий на качество продукта и качество процессов.

Первая часть стандарта - ISO 9126-1 - распределяет атрибуты качества программных средств по шести характеристикам, используемым в остальных частях стандарта. В части стандарта ISO 9126-1 даются определения с уточнениями из остальных его частей для каждой характеристики программного средства, а также для субхарактеристик качества.

Вторая и третья части стандарта - ISO 9126-2 и ISO 9126-3 - посвящены формализации соответственно внешних и внутренних метрик характеристик качества сложных программных средств. 

Четвертая часть стандарта - ISO 9126-4 - предназначена для покупателей, поставщиков, разработчиков, сопровождающих, пользователей и менеджеров качества программных средств. 

Методологии и стандартизации оценки характеристик качества готовых программных средств и их компонентов (программного продукта) на различных этапах жизненного цикла посвящен международный стандарт ISO 14598, состоящий из шести частей.

1.6. Что понимают под моделями качества процессов разработки программного обеспечения? Для чего они разработаны? Что гарантирует сертификация качества процессов и почему?

На данный момент наиболее распространена и используется многоуровневая модель качества ПО , представленная в наборе стандартов ISO 9126. На верхнем уровне выделено 6 основных характеристик качества ПО, каждую из которых определяют набором атрибутов, имеющих соответствующие метрики для последующей оценки.

Качество ПО - это относительное понятие, которое имеет смысл только при учете реальных условий его применения, поэтому требования, предъявляемые к качеству, ставятся в соответствии с условиями и конкретной областью их применения. Оно характеризуется тремя аспектами: качество программного продукта, качество процессов ЖЦ и качество сопровождения или внедрения

Модель качества ПО имеет следующие четыре уровня представления.

Первый уровень соответствует определению характеристик (показателей) качества ПО, каждая из которых отражает отдельную точку зрения пользователя на качество. Согласно стандарту [10.1-10.4] в модель качества входит шесть характеристик или шесть показателей качества:

  • функциональность (functionality);

  • надежность (realibility);

  • удобство (usability);

  • эффективность (efficiency);

  • сопровождаемость (maitainnability);

  • переносимость (portability).

Второму уровню соответствуют атрибуты для каждой характеристики качества, которые детализируют разные аспекты конкретной характеристики. Набор атрибутов характеристик качества используется при оценке качества.

Третий уровень предназначен для измерения качества с помощью метрик, каждая из них согласно стандарту определяется как комбинация метода измерения атрибута и шкалы измерения значений атрибутов. Для оценки атрибутов качества на этапах ЖЦ (при просмотре документации, программ и результатов тестирования программ) используются метрики с заданным оценочным весом для нивелирования результатов метрического анализа совокупных атрибутов конкретного показателя и качества в целом. Атрибут качества определяется с помощью одной или нескольких методик оценки на этапах ЖЦ и на завершающем этапе разработки ПО.

Четвертый уровень - это оценочный элемент метрики (вес), который используется для оценки количественного или качественного значения отдельного атрибута показателя ПО. В зависимости от назначения, особенностей и условий сопровождения ПО выбираются наиболее важные характеристики качества и их атрибуты.

1.7. Назовите группы международных организаций, поддерживающих процесс стандартизации информационных технологий.

Процесс стандартизации информационных технологий поддерживают три основные группы организаций (http://www.citforum.ru/programming/prg96 /sukhomlin.shtml).

Международные организации, входящие в структуру ООН.

International Organization for Standardization (ISO) - международная организация по стандартизации.

Об ISO В 1947 году представители 25 стран решили создать организацию, основной задачей которой стала бы координация разработок и унификация международных стандартов. Новая организация получила название International Organization for Standardization (ISO). Несоответствие полного названия и аббревиатуры объясняется тем, что "ISO" - это греческий префикс, означающий "равный".

International Electrotechnical Commision (IEC) - международная электротехническая комиссия.

International Telecommunication Union-Telecommunications (ITU-T) - международный союз по телекоммуникации - телекоммуникация. До 1993 года эта организация называлась International Telegraph and Telephone Consultative Committee - международный консультативный комитет по телефонии и телеграфии.

Промышленные профессиональные или административные организации.

Institute of Electrical and Electronic Engineers (IEEE) - институт инженеров по электротехнике и электронике.

Internet Activity Board (IAB) - совет управления деятельностью Интернета.

Промышленные консорциумы.

Object Management Group (OMG) - группа управления объектами.

Х/Open - консорциум, организованный группой поставщиков компьютерной техники.

Open Software Foundation (OSF) - фонд открытого программного обеспечения.

1.8. Какие уровни включает “модель зрелости”? Дайте их характеристику.

В модели определено пять уровней зрелости организации

Начальный уровень. На этом уровне процесс разработки характеризуется практическим отсутствием процессов управления. Успех проекта зависит от индивидуальных усилий, личных качеств и даже героизма участников проекта.

Повторяемый уровень. На этом уровне зрелости в компании должны быть внедрены основные процессы управления для отслеживания стоимости, графика проекта и его функциональности. Уровень характеризуется тем, что управление проектами основывается на накопленном опыте и ранее достигнутые успехи будут повторены на подобных приложениях.

Определенный уровень. Процесс разработки программного обеспечения (как на уровне управленческой, так и инженерной деятельности) документирован, стандартизован и интегрирован на уровне всей организации. Процесс перестает зависеть от индивидуальных качеств отдельных разработчиков и не может скатиться на более низкие уровни в кризисных ситуациях.

Управляемый уровень. В компании устанавливаются детальные количественные показатели на процесс разработки и качество продукта. И процесс разработки, и продукты - понимаемы и контролируемы.

Оптимизирующий уровень. Продолжающееся совершенствование процесса разработки на основе анализа текущих результатов процесса и применения инновационных идей и технологий.

1.9. Что понимают под технологичностью программного обеспечения?

Технологичность программного продукта – качество его проекта, от которого зависят трудовые и материальные затраты на его реализацию, сопровождение и последующие модификации.

Основные факторы, определяющие технологичность программного обеспечения:

- проработанность его моделей;

- уровень независимости модулей;

- стиль программирования;

- степень повторного использования кодов.

1.10. Что называют “хорошим стилем” оформления программ и почему?

Соответствие имен параметров прототипа именам параметров в определении функции считается хорошим стилем программирования

Тексты программ должны оформляться в соответствии с «хорошим стилем» программирования, т. е. должны быть легко читаемы и хорошо документированы.

Хороший стиль: • имя объекта должно соответствовать его содержанию • если позволяет язык программирования, можно использовать символ _ для визуального разделения имен, состоящих из нескольких слов • необходимо избегать близких по написанию имен

1.11. От каких ошибок защищает “программирование с защитой от ошибок” и почему? Что понимают под термином “исключительная ситуация”? Какие существуют способы обработки исключительных ситуаций? Приведите примеры глобальной и локальной обработки исключений.

Программирование, при котором применяют специальные приемы раннего обнаружения и нейтрализации ошибок, было названо защитным или программированием с защитой от ошибок. При его использовании существенно уменьшается вероятность получения неверных результатов.

Детальный анализ ошибок и их возможных ранних проявлений показывает, что целесообразно проверять:

• правильность выполнения операций ввода-вывода;

• допустимость промежуточных результатов (значений управляющих переменных, значений индексов, типов данных, значений числовых аргументов и т. д.).

 ошибки передачи – аппаратные средства, например, вследствие неисправности, искажают данные

ошибки преобразования – программа неверно преобразует исходные данные из входного формата во внутренний

• ошибки перезаписи – пользователь ошибается при вводе данных, например, вводит лишний или другой символ

• ошибки данных – пользователь вводит неверные данные. Ошибки передачи обычно контролируются аппаратно.

Во время выполнения программы могут возникать ситуации, когда состояние данных, устройств ввода-вывода или компьютерной системы в целом делает дальнейшие вычисления в соответствии с базовым алгоритмом невозможными или бессмысленными. Классические примеры подобных ситуаций приведены ниже.

Целочисленное деление на ноль. Результата у операции быть не может, поэтому ни дальнейшие вычисления, ни попытка использования результата деления не приведут к решению задачи.

Ошибка при попытке считать данные с внешнего устройства. Если данные не удаётся ввести, любые дальнейшие запланированные операции с ними бессмысленны.

Исчерпание доступной памяти. Если в какой-то момент система оказывается не в состоянии выделить достаточный для прикладной программы объём оперативной памяти, программа не сможет работать нормально.

Появление сигнала аварийного отключения электропитания системы. Прикладную задачу, по всей видимости, решить не удастся, в лучшем случае (при наличии какого-то резерва питания) прикладная программа может позаботиться о сохранении данных.

Появление на входе коммуникационного канала данных, требующих немедленного считывания. Чем бы ни занималась в этот момент программа, она должна перейти к чтению данных, чтобы не потерять поступившую информацию.