Главная страница

ИГА_сети_ЭВМ_и_ТК. Хранения информации для коллективного пользования


Скачать 0.88 Mb.
НазваниеХранения информации для коллективного пользования
Дата05.04.2022
Размер0.88 Mb.
Формат файлаdoc
Имя файлаИГА_сети_ЭВМ_и_ТК.doc
ТипДокументы
#445243
страница5 из 7
1   2   3   4   5   6   7

Цель методологии разработки ПОвнедрение методов разработки программ, обеспечи-вающих достижение соответствующих характеристик качества.

 В настоящее время имеется два базовых принципа разработки программных средств: модульный и объектно-ориентированный принципы. Разработка модульных программ основывается на классических методологиях: нисходящем проектировании, расширении ядра, восходящем проектировании и их комбинации, и ряде современных методологий.

 Объектно-ориентированная разработка базируется на применении методологий объект-но-ориентированного анализа и объектно-ориентированного программирования.

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

46. Основные характеристики программных продуктов.
Программный продукт – комплекс взаимосвязанных программ для решения определен-ной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Основные характеристики:

эффективность – соответствие требованиям пользователя при минимальных требованиях к ресурсам,

надежность – обеспечение работоспособности продукта, отсутствие отказов,

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

мобильность – независимость от используемого технического обеспечения, ОС (много-платформенность),

коммуникативность – возможность интеграции с другими программными продуктами,

стоимость.
Все программы можно разделить на два класса – утилиты и программные продукты.

Утилиты играют роль сервиса в технологии обработки данных либо решают функцио-нальные задачи, не предназначены для широкого распространения.
Программные продукты предназначены для удовлетворения потребностей пользовате-лей, широкого распространения и продажи.
Различные варианты программных продуктов:
 freeware – бесплатные и свободно распространяемые программы, можно вносить в них необходимые изменения;
 shareware – некоммерческие (условно-бесплатные) программы, могут использоваться бесплатно. При регулярном использовании осуществляется взнос определенной суммы.
 OEM-программы, т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.

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

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

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


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

Относятся: текстовые и графические редакторы, электронные таблицы, СУБД, издатель-ские системы, бухгалтерские программы, системы автоматизированного проектирования (САПР), экспертные системы, браузеры, обучающие программы и др.


Инструментарий технологии программирования совокупность программ и програм-мных комплексов для разработки, отладки и внедрения программных продуктов.
Относятся: различные системы программирования и создания приложений: Quck Basic; Turbo Basic; Visual Basic; Pascal; C++; Delphi и др.
48. Основные тенденции развития программного обеспечения.
Стандартизация отдельных компонентов программных средств и интерфейсов между ни-ми для использования любого приложения на разных аппаратных платформах и в разных ОС и обеспечение его взаимодействия с широким кругом приложений.

Ориентация на объектно-ориентированное проектирование и программирование программных средств для перехода к новой технологии «сборки» из отдельных модулей-«кубиков» любого приложения для конкретных потребностей конкретного пользователя, что снижает объем и стоимость и повышает надежность приложения (офисные системы используются на 20-30%). Также снимается проблема модификации приложения при изме-нении информационных потребностей пользователя. Технология «сборки» приложений в сочетании с возможностями сетевого доступа к ним позволяет в перспективе не приобре-тать, а временно арендовать любое приложение, снижая затраты на ПО.


Интеллектуализация интерфейса пользователя для более интуитивной понятности, приближения языка общения с компьютером к языку пользователя; настройка интерфейса на особенности и потребности конкретного пользователя при его диалоге с компьютером; использование средств мультимедиа при реализации интерфейса пользователя;


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


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


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


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


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

49. Жизненный цикл программных средств.
Жизненный цикл ПС – весь период его разработки и эксплуатации, начиная от момента возникновения замысла ПС и кончая прекращением всех видов его использования и полно-го изъятия из эксплуатации.

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

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

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

Формальные преобразования. Разработка формальных спецификаций ПС и превращение их в программы путем корректных преобразований. На этом базируется компьютерная тех-нология (CASE-технология) разработки ПС.

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

- внешнее описание (анализ и определение требований, описание поведения ПС),

- конструирование (разработка архитектуры ПС, структур программ ПС, детальная спецификация);

- кодирование (программирование) создание текстов программ на языках программи-рования, отладка и тестирование;

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

- изготовление (генерации и/или воспроизведения (снятия копии) программ и програм-мных документов ПС для поставки пользователю);

- производство (изготовления нужного количества ПИ в установленные сроки)
Эксплуатация ПС:

- применение (использование для решения практических задач );

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

Эволюционная стратегия. Система также строится в виде последовательности версий, но в начале процесса определяются не все требования. Требования уточняются в результа-те разработки версий.
51. Критерии качества программ по стандартам ISO (ГОСТ Р ИСО/МЭК 9126-93).
Критерии качества устанавливаются государственными стандартами. Качество ПО оцени-вается следующими характеристиками:
Функциональные возможности
Набор функций и их конкретных свойств для реализации установленных или предполага-емых потребностей.
Надежность
Набор атрибутов сохраняющих уровень качества функционирования ПО при установлен-ных условиях за установленный период времени.
Практичность

Возможность использования ПО и его индивидуальной оценки конкретным кругом пользо-вателей.
Эффективность
Соотношению между уровнем качества функционирования ПО и объемом используемых ресурсов при установленных условиях.
Сопровождаемость
Возможность проведения конкретных изменений (модификаций) для работы ПО.
Мобильность

Способность ПО быть перенесенным из одного окружения в другое.

52. Модель СММ.
СММ (Capability Maturity Model) – стандарт – модель зрелости процесса разработки ПО, означающего его эффективность, устойчивость и надежность.

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

Первый (начальный)

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

Второй (повторяющийся)

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

Третий (определенный)

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

Четвертый (управляемый)

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

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

Методология – это реализация стандарта, определяет выполнение разработки ПО.

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

Каскадная методология выглядит как поток, последовательно проходящий фазы:

Анализ треб-й—Проектирование—Реализация—Тестирование—Интеграция и поддержка.
Итеративная методология – выполнение работ параллельно с непрерывным анализом по-лученных результатов и корректировкой предыдущих этапов работы. Проект проходит по-вторяющийся цикл:

Планирование—Реализация—Проверка—Оценка.
По ходу выявляются дополнительные требования или изменяются выявленные ранее, по-являются новые ограничения по техническими решениям, поэтому все это наиболее полно может учесть именно итерационная разработка. 
Итеративная методология сейчас наиболее распространена благодаря очевидным преиму-ществам, ее различные вариации используются в компании ДПГруп.
Rational Unified Process (RUP) — методология разработки ПО компании Rational Software.

В основе RUP лежат основные принципы:

Ранняя идентификация и непрерывное устранение основных рисков

Выполнение требований заказчиков

Ожидание изменений в требованиях и реализации в ходе разработки

Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта

Обеспечение качества на всех этапах разработки проекта

Работа в команде, ключевая роль в которой принадлежит архитекторам
Гибкая методология (Agile software development)– разработка серии коротких циклов (итераций – длятся 1-2 недели), что минимизирует риски. Каждая итерация – программный проект в миниатюре (включает: планирование, анализ требований, проектирование, коди-рование, тестирование, документирование), в конце которой переоцениваются приоритеты разработки.
Отдельная итерация недостаточна для выпуска новой версии ПО, но считается, что гибкий программный проект готов к выпуску в конце каждой итерации. Упор делается на общение лицом к лицу (большинство agile-команд располагаются в одном офисе с заказчиком). Наиболее известные и передовые гибкие методологии: SCRUM, KANBAN.
К существующей классификации методологий в зависимости от используемой модели ЖЦ (каскадные (водопадные) и итерационные) добавилась более общая классификация на: прогнозируемые (известны задачи, требования и ресурсы на весь срок проекта, их измене-ние может привести к существенному изменению проекта),

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

CASE-технология – это реализованные в виде программных продуктов технологические системы, ориентированные на создание сложных ПС и поддержку их полного ЖЦ или его основных этапов с комплексом средств автоматизации.

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

Достоинства CASE-технологии:

ускоряют процесс проектирования и разработки,

улучшают качество создаваемого ПО за счет средств автоматического контроля,

поддерживают повторное использование компонентов,

поддерживают адаптивность (развитие) и сопровождение разработки,

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

диаграммы потоков данных со словарями и спецификациями;

диаграммы "сущность-связь;

диаграммы переходов состояний.
1   2   3   4   5   6   7


написать администратору сайта