Моделирование надежности программного обеспечения

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

Введение

 

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

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

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

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

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

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

Для описания выше определенной модели будем использовать язык моделирования UML, используемый в среде Microsoft Visio.

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

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

Диаграммы и таблицы языка UML и стандартов IDEF0, IDEF1X недостаточно эффективно моделируют веб-системы и их компоненты, поскольку они представляют собой модульные системы, состоящие из взаимосвязанных модулей. Наши исследования показали, что веб-системы и веб-компоненты (например, веб-страницы, веб-документы, веб-курсы) моделируются паттерновыми (модульными) сетями. Паттерновые сети это новый вид семантических сетей. Они обладают четко выраженными модульными свойствами и поэтому эффективно моделируют веб-системы и их компоненты. Мы построим паттерновые сети во второй части Курса. А теперь займемся языком UML.

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

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

Для реализации модели выбрана среда Microsoft Visio.

Восемь лет назад, когда продукт Visio вошел в арсенал Microsoft, он был уже очень популярен в своей категории ПО - средств деловой графики. Через год корпорация впервые представила пакет под своей торговой маркой - Microsoft Visio 2000. С самого начала Visio числился в семействе Microsoft Office, хотя все это время стоял в нем особняком и продавался только автономно, не входя в наборы офисных приложений. Наверное, именно этим объясняется тот факт, что до недавнего времени российское отделение продвижением Microsoft Visio практически не занималось, и для многих его потенциальных пользователей в нашей стране этот продукт остается почти неизвестным.

Но сейчас ситуация, похоже, изменилась: на российском сайте Microsoft в начале осени появился солидный раздел, посвященный продукту Visio, потом в Москве прошел семинар для партнеров и заказчиков, на котором приехавшие из Редмонда специалисты продемонстрировали основные возможности новой версии Visio 2007 и обрисовали возможности сотрудничества с третьими фирмами в деле его продвижения. Так что имеет смысл вернуться к этому очень интересному и перспе