- •Технология программирования, основные этапы развития: «стихийное» программирование, структурное программирование, объектно-ориентированное программирование, компонентное программирование.
- •Особенности функционирования сложных программных средств: работа в реальном времени, многообразие функций, надежность функционирования.
- •Проблемы проектирования сложных программных средств: рациональное структурное построение, технология разработки, стандартизация; блочно-иерархический подход.
- •Жизненный цикл программного обеспечения, процессы жизненного цикла, связь между процессами.
- •Основные процессы жизненного цикла: приобретение, поставка, разработка, эксплуатация, сопровождение.
- •Вспомогательные процессы жизненного цикла: документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместная оценка, аудит, разрешение проблем.
- •Организационные процессы жизненного цикла: управление, создание инфраструктуры, усовершенствование, обучение.
- •Модели жизненного цикла: поэтапная, каскадная, спиральная, переиспользования и реверсивной инженерии.
- •Способ быстрой разработки приложений (rad): условия применения, стадии жизненного цикла, достоинства и недостатки.
- •Определение метода и технологии
- •Требования к технологии
- •Оценка качества процессов создания программного обеспечения: международные стандарты серии iso 9000, cmm, spice.
- •Понятийный аппарат метрической теории программ – принципы количественного анализа качества объектов с расплывчатыми свойствами.
- •Модель и метрики оценки сложности Боэма.
- •Модель и метрики оценки сложности Холстэда.
- •Модель и метрики оценки сложности Мак-Кейба (основанные на потоковых графах).
- •Модель и метрики, основанные на информационных потоках.
- •Методы оценки качества программного обеспечения: анкетирование, рабочие списки, контрольные задачи, метрики. Государственные стандарты в области оценки качества программного обеспечения.
- •Модули, сцепление и связность - критерии независимости модулей, библиотеки ресурсов.
- •Программирование с защитой от ошибок: проверка выполнения операций, контроль промежуточных результатов, снижение погрешностей результатов, обработка исключений; сквозной структурный контроль.
- •Технологические требования: выбор архитектуры по, выбор типа пользовательского интерфейса, выбор подхода к разработке, выбор языка и среды программирования.
- •Планирование процесса проектирования, виды планов: календарный, индивидуальный, сетевой график разработки и проектирования программного обеспечения.
- •4.2. Функции программного обеспечения для календарного планирования
- •4.3. Виды календарного планирования (календарные графики, диаграммы Гантта)
- •Спецификации по при структурном подходе: формальные модели, зависящие от подхода к разработке и не зависящие от подхода – диаграммы переходов состояний, математические модели предметной области.
- •2.2.5 Границы моделирования
- •2.2.6 Выбор наименования контекстного блока
- •2.2.8 Нумерация блоков и диаграмм
- •1.1.1 I Модели idef3
- •1.1.2 Диаграммы
- •1.1.3 Единица работы. Действие
- •1.1.4 Связи
- •1.1.5 Соединения
- •1.1.6 Указатели
- •1.1.7 Декомпозиция действий
- •Построение моделей idef3: диаграммы, нумерация блоков и диаграмм, сценарий, границы моделирования, определение действий и объектов.
- •1.2.2 Определение действий и объектов
- •1.2.3 Последовательность и параллельность
- •3.2 Синтаксис и семантика диаграмм потоков данных
- •3.2.1 Функциональные блоки
- •3.2.2 Внешние сущности
- •3.2.4 Хранилища данных
- •3.2.5 Ветвление и объединение
- •3.3.2 Нумерация объектов
- •Структуры данных: несвязанные, с неявными связями, с явными связями; иерархические модели Джексона-Орра.
- •Моделирование данных – диаграммы «сущность-связь» (erd): сущность, связь, атрибут.
- •Метод Баркера.
- •Метод idef1.
Особенности функционирования сложных программных средств: работа в реальном времени, многообразие функций, надежность функционирования.
Создание сложных систем с заданными характеристиками при ограниченных ресурсах требует проведения определенного комплекса мероприятий для достижения поставленной цели, который получил название проект. Целенаправленное управление проектом предназначено для пропорционального распределения ресурсов между работами по созданию системы на протяжении всего цикла проектирования вплоть до внедрения системы в серийное производство.
В общем случае при проектировании необходимо создать в соответствии с принятым критерием эффективности оптимальную систему управления или обработки информации при ограничениях двух типов.
Первый тип ограничений характеризует уровень современных знаний теории и методов решения поставленных задач, принципов построения основных функциональных алгоритмов, методов структурного построения сложных систем и технологии их проектирования.
Второй тип ограничений относится в основном к техническим параметрам средств, на которых предполагается реализовать сложную систему, и к ресурсам, которые могут быть выделены на разработку и эксплуатацию системы. При проектировании ПС такими техническими ограничениями прежде всего являются параметры ЭВМ (объемы памяти, быстродействие, характеристики обмена информацией и т.д.), на которых предполагается реализовать КП. Важнейшим ресурсов проектирования являются кадры специалистов соответствующей квалификации, которые могут быть использованы для разработки системы. Кроме того, ресурсами проектирования являются материальные и финансовые затраты, доступные как в процессе создания, так и при последующей эксплуатации системы.
Работа в реальном времени с выдачей управляющей информации объектам — один из наиболее сложных режимов функционирования ПС. При этом от реального времени зависят не только моменты решения тех или иных задач, но и получаемые в результате данные. Реальное время в таких системах — важнейший параметр, определяющий выходные воздействия и функциональную связь между изменениями состояния реальных управляемых объектов и моделью их состояний в управляющей ЭВМ. Искажение значений времени может нарушить эту временную связь и привести к полному отказу системы управления. Длительность решения задач и скорость выдачи информации должны выдерживаться в соответствии с режимом работы и текущим состоянием источников информации и управляемых объектов. Это означает, что обработка информации и прогнозирование внешней ситуации должны осуществляться программами с более высокой скоростью, чем скорость реального управляемого процесса, с тем чтобы имелся определенный запас времени для принятия решений и формирования управляющих воздействий. Поэтому одной из важных для организации работы КП является проблема оперативного управления вычислительным процессом в реальном времени.
Разнообразие функций ПС объясняется тем, что в сложных системах один и тот же КП обычно используется для управления несколькими разнотипными объектами и, кроме того, является объектом управления для других систем более высокого ранга. В то же время управляющие программы сравнительно мало изменяются в течение длительного периода эксплуатации. Изменение характеристик или состава управляемых объектов, как правило, не вызывает фундаментальной переработки программ, так как возможность таких изменений обычно учитывается в процессе разработки. Управляющие ЭВМ, ориентированные на решение определенного класса задач, проектируются или выбираются с минимальными запасами вычислительных ресурсов. Значительная определенность задач, решаемых КП, позволяет весьма полно использовать аппаратуру и определять оптимальное соотношение между отдельными параметрами реализующих ЭВМ применительно к конкретным задачам.
Кроме того, особенность работы управляющих ПС заключается в том, что за ограниченное время решается большое количество различных функциональных задач и одновременно осуществляется обмен информацией с многочисленными внешними абонентами. Вследствие асинхронности работы большинства объектов системы управления данные от них могут поступать в случайные моменты времени, последовательность которых заранее не известна. Поэтому во многих КП строгая последовательность решения задач принципиально не может быть заранее определена или задана, так как она существенным образом зависит от поступающих сообщений и длительности решения тех или иных задач. Для «развязки» во времени процессов обмена и обработки сообщений используются буферные накопители сообщений при приеме и выдаче данных.
Надежность функционирования ПС при искажениях информации, сбоях и частичных отказах аппаратуры, которые могут возникать в процессе работы системы, — еще одна особенность ПС. Эти требования объясняются высокой степенью автоматизации процессов управления в ряде систем и особой важностью выполняемых функций. Работа в системе управления реальными объектами в большинстве случаев требует от КП надежного функционирования при длительном (иногда круглосуточном и многомесячном) непрерывном решении за данного набора задач. Так как сложность современных АСУ возрастает значительно быстрее, чем надежность используемой в них аппаратуры, то все более острой становится проблема обеспечения высокого качества выдаваемых результатов и сохранения работоспособности системы (пусть даже с худшими показателями) в условиях выхода из строя отдельных компонент аппаратуры. Для обеспечения необходимой надежности системы в КП широко применяются различные методы контроля, параллельное решение задач, а также совместная работа нескольких вычислительных машин в процессе решения единого комплекса задач управления.