ИСПОЛЬЗОВАНИЕ КОМПЬЮТЕРНОЙ ВИЗУАЛИЗАЦИИ В ПРОЦЕССЕ ЭВОЛЮЦИИ СЛОЖНЫХ ПРОГРАММНЫХ СИСТЕМ - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

ИСПОЛЬЗОВАНИЕ КОМПЬЮТЕРНОЙ ВИЗУАЛИЗАЦИИ В ПРОЦЕССЕ ЭВОЛЮЦИИ СЛОЖНЫХ ПРОГРАММНЫХ СИСТЕМ

Силантьев А.В. 1
1Волжский политехнический институт (филиал) ФГБОУ ВПО "Волгоградский государственный технический университет"
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Любой человек, который однажды имел дело с программированием, может себе хорошо представить, как разработать программу, решающую определенную задачу, для ограниченного круга людей (1-2 человека). На данное время программы делятся на «простые» и «сложные». Простые программы, как было указано выше, создаются для решения определенной задачи и используются узким кругом людей. Так же, при создании подобных программ акцент делается на правильность работы программы, а не на быстродействие. Для данных программ не требуется документация. Но существуют более серьезные программы, по сравнению с «простыми». Они называются сложными программами, либо программными системами. Основное их отличие от простых программ не только в размере программного кода, который во много раз превосходит код небольшой программы, но и в востребованности и готовности людей платить деньги за приобретение программы и обучение работе с ней.

Программной системе присуще:

  • решение одной или нескольких связанных задач;

  • удобный интерфейс;

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

  • документация;

  • возможность обновления.

Программная система включает в себя не только код, но и пользовательскую и проектную документации. Моделирование сложных программных систем в графическом виде достаточно важно как для понимания системы в целом, так и для усвоения ее работы при решении отдельных, конкретных задач. Поэтому обычно наличия единственной модели, разработанной на самом раннем этапе анализа, никогда не бывает достаточно. А, следовательно, для формирования таких моделей логично использовать специальные программные средства, позволяющие хранить в электронном виде все созданные модели системы, осуществлять автоматически связь между ними, отслеживать все вносимые изменения и т.д. Такими средствами можно считать различные case-средства, использующие унифицированный язык моделирования UML. Используя средства UML можно выполнять визуализацию процесса разработки различных программных систем, а так же конструировать, специфицировать и документировать этот процесс. UML с одинаково успешным результатом можно применять как для разработки простых информационных систем, например, информационных систем масштаба предприятия, так и достаточно сложных, таких как распределенные Web-приложений и даже встроенные системы реального времени. Этот язык достаточно выразителен, для того, чтобы позволить рассмотреть разрабатываемую систему со всех точек зрения, имеющих отношение к ее разработке и последующему развертыванию, но, с другой стороны, достаточно прост для понимания, изучения и использования.

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

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

Разработка сложных программных систем это сложный процесс. Ниже приведены некоторые причины:

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

• групповая разработка;

• увеличение степени повторяемости кодов.

На практике видно, что многие программные системы имеют иерархическую внутреннюю структуру. Такие системы рассматривают как совокупность взаимозависимых систем, так как связи их элементов различаются по силе и по типу.

Разработкой ПО и всех аспектов, связанных с её созданием, занимается программная инженерия. Возникновение и развитие данной дисциплины можно изучить по процессу формирования взгляда на программирование вообще. На раннем этапе компьютеризации основная задача программирования заключалась в последовательном создании набора команд для полезной работы компьютера. При появлении первых современных цифровых компьютеров вначале 1940-х годов, пакеты исполняемых команд которых уже были встроены в машину, возникли два главных варианта их использования. Первый вариант – применение ЭВМ для вычислений, которые невозможно быстро или вообще никак не получалось решить вручную. Второй вариант - использование средств ЭВМ в механических информационных системах. Последний вариант объективно возник позже первого. Это связано с тем, что в начале своей истории компьютеры были ограничены объемами памяти. Понятно, что данное ограничение не очень значимо для численных расчетов. Информационная система управлялась одним компьютером и использовала собственную систему управления базами данных (СУБД), объединенную в код программы. Профессионалы быстро сообразили, что такой подход не совсем удобен потому, что совместное использование нескольких пользователей с первой системой была невозможна. В 1950-х годах люди начали создавать первые языки программирования. Ведущие языки, такие как Кобол, Фортран, Алгол были созданы для решения бизнес, научных, алгоритмических задач соответственно. Время шло, запросы большого бизнеса росли, и однопользовательские программы уже не удовлетворяли таким запросам. У программных систем основными требованиями является большой объем памяти и быстродействие данной системы. Для решения задачи совместной работы нескольких пользователей начали использовать «большие ЭВМ». За границей «большие ЭВМ» называют Mainframe. Их применение основывается на решении научно-технических задач, при использовании больших баз данных. Так же Mainframe имеют возможность управлять ресурсами вычислительных систем. Но самое их актуальное применение на сегодняшний день – использование Mainframe, как сервера вычислительных сетей. Так же для решения задачи совместной работы нескольких пользователей были созданы двухуровневые клиент-серверные системы.

Архитектура «клиент-сервер» начала свое существование сначала 1990-х годов, когда персональные компьютеры начали входить в обиход и снижался спрос на мэйнфреймы. Современная технология «клиент-сервер» позволяет уменьшить нагрузку на рабочую станцию, освободить её от необходимости хранить какие-либо базы данных. Основные проблемы, такие как сбои и потери времени, возникают из-за малой пропускной способности сети. «Клиент-сервер» сосредотачивает обработку запросов на высокопоставленном SQL-сервере, реализуемом обычно на мощном техническом комплексе из двух и более серверов. В силу этого подхода к разделению функций все программное обеспечение может быть разделено на две части – клиентское (программа, использующая ресурсы) и серверное (программа, обрабатывающая запросы клиентов на получение средств определенного вида).

Технология «клиент-сервер» делит информационную систему на два уровня:

  1. систему управления базами данных (СУБД);

  2. клиентское приложение.

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

Возникновение системы «клиент-сервер» позволило:

  1. обеспечить совместную работу нескольких пользователей.

  2. уменьшить запросы к вычислительным мощностям компьютеров клиентов.

  3. пользоваться проверенными СУБД для уменьшения сбоев системы и увеличения производительности обработки и хранения информации.

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

  1.  
    • в случае выхода из стоя сервера, становится не рабочей вся вычислительная сеть.

    • для работоспособности системы требуется системный администратор.

    • дорогое оборудование.

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

В заключении важно отметить, что не любая практически сложная программная система является «правильной». При переходе от «простых» программ к «сложным» определение «правильной» программы становится бессмысленным. Так же на сегодняшний день обычными программными системами являются те, у которых программный код приблизительно равен десяткам тысяч или миллионам строк, написанных на языках высокого уровня. Нет такого человека, который полностью понимает такую структуру, поэтому программные системы чаще пишут команда разработчиков. Чем больше разработчиков, тем сложнее является связь между ними, тем важнее использование программных средств, позволяющих реализовать коммуникации между ними без смысловых потерь. К таким средствам можно отнести case-средства компьютерной визуализации моделей программных систем. Человек зрительно ориентирован, т.е. ему гораздо проще усвоить сложную и новую информацию в том случае, если она представлена графически, а не в виде объемного текстового либо программного описания. Визуальная модель, состоящая из сравнительно небольшого количества стандартных элементов и таких же стандартизированных связей между ними, может быть достаточно легко прочитана любым из участников разработки либо эксплуатации программной системы, что позволит существенно ускорить процесс разработки программной системы, полностью удовлетворяющей требованиям заказчика.

Библиографический список:

  1. Филимонова Е.В. «Информационные технологии в профессиональной деятельности» : учебник / Е.В. Филимонова. – Изд. 3-е, доп. И перераб. – Ростов н/Д: Феникс, 2009

  2. Голенищев Э.П., Клименко И.В. «Информационное обеспечение систем управления» Феникс, 2003г.

  3. Олифер В.Г., Олифер И.А. «Компьютерные сети» СПб, Питер, 2000г.

  4. Макарова Н.В., Матвеев Л.А. «Информатика» Учебник. – 3е перераб. Изд. 2002г.

  5. Абрамова, О. Ф. CASE-технологии: изучать или исключить?/ О. Ф. Абрамова . - Журнал «Alma-Mater» Вестник высшей школы.- 2012.- №9.-с.109-110.

  6. Абрамова, О.Ф. Введение в программную инженерию: методические указания к лабораторной работе на тему "Основные сведения о UML и BOUML. Диаграммы вариантов использования" Сборник «Методические указания». Выпуск 2. / О.Ф. Абрамова, Д.Н. Лясин. - Волгоград: ВолгГТУ, 2013. - номер гос. регистрации 0321301999

  7. http://www.sap-dev.ru/netweaver/1.1.php

  8. http://ru.wikipedia.org/wiki/Инженерия_программного_обеспечения

  9. http://ru.wikipedia.org/wiki/Клиент-сервер

  10. http://www.arctic-cooler.com/programming/1/ comptechnology22.htm

  11. http://www.helloworld.ru/texts/comp/other/oop/ch01.htm

Просмотров работы: 1430