Использование ООП

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

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

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

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

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

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

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

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

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

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

Можно придерживаться классических подходов к разработке информационных систем, один из которых - схема водопада рис. 4.1 - описан ниже. Рис. 4.1. Схема водопада Кратко будут рассмотрены и некоторые другие подходы к разработке информационных систем, где использование элементов, описанных в схеме водопада, также допустимо. Какого подхода из описываемых ниже придерживаться и есть ли смысл придумывать собственный подход - в какой-то мере дело вкуса и обстоятельств.

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

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

Ниже мы рассмотрим некоторые схемы разработки проекта.