Разработка имитационной модели программного обеспечения информационной системы "Центр обслуживания абонентов"
Имитационное моделирование деятельности "Центра обслуживания абонентов". Диаграммы потоков данных. Выявление вариантов использования. Моделирование видов деятельности и взаимодействий. Проектирование пользовательского интерфейса и архитектуры приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 24.10.2010 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Замечу, что любая информационная система должна иметь минимум три основные функциональные части - модули хранения данных, их обработки и интерфейса с пользователем, в моем случае с оператором. Каждая из этих частей может быть реализована независимо от двух других. Например, не изменяя программ, используемых для хранения и обработки данных, можно изменить интерфейс с оператором таким образом, что одни и те же данные будут отображаться в виде таблиц, графиков или гистограмм. Не меняя программ представления данных и их хранения, можно изменить программы обработки, например, изменив алгоритм полнотекстового поиска. И наконец, не меняя программ представления и обработки данных, можно изменить программное обеспечение для хранения данных, перейдя, например, на другую файловую систему.
В классической архитектуре клиент-сервер приходится распределять три основные части приложения по двум физическим модулям. Обычно ПО хранения данных располагается на сервере (например, сервере базы данных), интерфейс с пользователем - на стороне клиента, а вот обработку данных приходится распределять между клиентской и серверной частями. В этом-то и заключается основной недостаток двухуровневой архитектуры, из которого следуют несколько неприятных особенностей, сильно усложняющих разработку клиент-серверных систем.
При разбиении алгоритмов обработки данных необходимо синхронизировать поведение обеих частей системы. Все разработчики должны иметь полную информацию о последних изменениях, внесенных в систему, и понимать эти изменения. Это создает большие сложности при разработке клиент-серверных систем, их установке и сопровождении, поскольку необходимо тратить значительные усилия на координацию действий разных групп специалистов. В действиях разработчиков часто возникают противоречия, а это тормозит развитие системы и вынуждает изменять уже готовые и проверенные элементы.
Чтобы избежать несогласованности различных элементов архитектуры, пытаются выполнять обработку данных на одной из двух физических частей - либо на стороне клиента ("толстый" клиент), либо на сервере ("тонкий" клиент). Каждый подход имеет свои недостатки. В первом случае неоправданно перегружается сеть, поскольку по ней передаются необработанные, а значит, избыточные данные. Кроме того, усложняется поддержка системы и ее изменение, так как замена алгоритма вычислений или исправление ошибки требует одновременной полной замены всех интерфейсных программ, а иначе могут возникнуть ошибки или несогласованность данных. Если же вся обработка информации выполняется на сервере (когда такое вообще возможно), то возникает проблема описания встроенных процедур и их отладки. Дело в том, что язык описания встроенных процедур обычно является декларативным и, следовательно, в принципе не допускает пошаговой отладки. Кроме того, систему с обработкой информации на сервере абсолютно невозможно перенести на другую платформу, что является серьезным недостатком.
Большинство современных средств быстрой разработки приложений (RAD), которые работают с различными базами данных, реализует первую стратегию, т.е. "толстый" клиент обеспечивает интерфейс с сервером базы данных через встроенный SQL. Такой вариант реализации системы с "толстым" клиентом, кроме перечисленных выше недостатков, обычно обеспечивает недопустимо низкий уровень безопасности. Например, в банковских системах приходится всем операционистам давать права на запись в основную таблицу учетной системы. Кроме того, данную систему почти невозможно перевести на Web-технологию, так как для доступа к серверу базы данных используется специализированное клиентское ПО.
Итак, рассмотренные выше модели имеют следующие недостатки.
1. "Толстый" клиент:
сложность администрирования;
усложняется обновление ПО, поскольку его замену нужно производить одновременно по всей системе;
усложняется распределение полномочий, так как разграничение доступа происходит не по действиям, а по таблицам;
перегружается сеть вследствие передачи по ней необработанных данных;
слабая защита данных, поскольку сложно правильно распределить полномочия.
2. "Толстый" сервер:
усложняется реализация, так как языки типа PL/SQL не приспособлены для разработки подобного ПО и нет хороших средств отладки;
производительность программ, написанных на языках типа PL/SQL, значительно ниже, чем созданных на других языках, что имеет важное значение для сложных систем;
программы, написанные на СУБД-языках, обычно работают недостаточно надежно; ошибка в них может привести к выходу из строя всего сервера баз данных;
получившиеся таким образом программы полностью непереносимы на другие системы и платформы.
Для решения перечисленных проблем использую трехуровневую архитектур клиент-сервер.
В трехуровневой архитектуре "тонкий" клиент не перегружен функциями обработки данных, а выполняет свою основную роль системы представления информации, поступающей с сервера приложений. Трехуровневая архитектура клиент-сервер позволяет более точно назначать полномочия операторов, так как они получают права доступа не к самой базе данных, а к определенным функциям сервера приложений. Это повышает защищенность системы (по сравнению с обычно архитектурой) не только от умышленного нападения, но и от ошибочных действий персонала.
Для примера рассмотрю систему, различные части которой работают на нескольких удаленных друг от друга серверах. Допустим, что от разработчика поступила новая версия системы, для установки которой в двухуровневой архитектуре необходимо одновременно поменять все системные модули. Если же этого не сделать, то взаимодействие старых клиентов с новыми серверами может привести к непредсказуемым последствиям, так как разработчики обычно не рассчитывают на такое использование системы. В трехуровневой архитектуре ситуация упрощается. Дело в том, что поменяв сервер приложений и сервер хранения данных (это легко сделать одновременно, так как оба они обычно находятся рядом), мы сразу меняем набор доступных сервисов. Таким образом, вероятность ошибки из-за несоответствия версий серверной и клиентской частей резко сокращается. Если в новой версии какой-либо сервис исчез, то элементы интерфейса, обслуживавшие его в старой системе, просто не будут работать. Следует отметить и тот факт, что в трехуровневой системе по каналу связи между сервером приложений и базой данных передается достаточно много информации. Однако это не замедляет вычислений, так как для связи указанных элементов можно использовать более скоростные линии. Это потребует минимальных затрат, поскольку оба сервера обычно находятся в одном помещении. Таким образом, увеличивается суммарная производительность системы - над одной задачей теперь работают два различных сервера, а связь между ними можно осуществлять по наиболее скоростным линиям с минимальными затратами средств.
Рис.27. Диаграмма развертывания
Заключение
В результате проделанной мною работы была спроектирована имитационная модель информационной системы "Центр обслуживания абонентов".
В процессе работы были созданы модели вариантов использования, классов-сущностей, видов деятельности, взаимодействий, состояний, статической структуры, пользовательского интерфейса, компонентов, и архитектуры приложения.
Хочу отметить, что разработанный проект далеко не является полным и готовым к реализации. В процессе разработки были рассмотрены и смоделированы основные функции системы. Но помимо рассмотренных, система должна поддерживать еще и другие функции. Следует сказать, что плохо проработана диаграмма компонентов, однако это можно объяснить тем, что для определения состава компонентов, из которых должна состоять система, необходим очень большой объем знаний, на приобретение которого практически не было времени.
Дипломная работа был выполнена с использованием case-средств BPWin 4.0 и IBM Rational Rose 2003.
Глоссарий
CASE (Computer-Aided Software/System Engineering) - средства автоматизации методологий структурного системного анализа и проектирования
СУБД - система управления базами данных
БД - база данных
ТфОП - телефонной сети общего пользования
SADT (Structured Analysis and Design Technique) - технология структурного анализа и проектирования и ее подмножество стандарт IDEF0
DFD (Data Flow Diagrams) - диаграммы потоков данных
ERD (Entity-Relationship Diagrams) - диаграммы "сущность-связь"
STD (State Transition Diagrams) - диаграммы переходов состояний.
ПО - программное обеспечение
Библиография
1. Д.Н. Столбовский. Лекции по проектированию экономических информационных систем.
2. Леоненков. Самоучитель UML.
3. Е.Б. Золотухина, Р.В. Алфимов (c) Interface Ltd., 2001.
4. Доклад компании Yphise "UML-моделирование информационных систем и проектов" ("UML Modeling of Projects and Information Systems") /www.interface.ru/
5. Липаев В.В. "Качество программного обеспечения". - М.: "Финансы и статистика", 1993.
6. Боэм Б.У. "Инженерное проектирование программного обеспечения". - М.: "Радио и связь", 1985.
7. "Технико-экономическое обоснование дипломных проектов" под редакцией проф. В.К. Беклешова. - М.: "Высшая школа", 1991.
8. Костров А.В. "Основы информационного менеджмента": Учебное пособие. - М.: Финансы и статистика, 2001.
9. Классификационный справочник должностей служащих. - М.: ИНФРА-М, 2001.
Подобные документы
Моделирование вариантов объектно-ориентированных программных систем. Проектирование статический структуры, интерфейса, диаграмм компонентов и архитектуры приложения для разработки имитационной модели информационной системы "Центр обслуживания абонентов".
дипломная работа [951,4 K], добавлен 24.10.2010Выявление классов-сущностей (диаграмма классов) и вариантов использований системы. Моделирование видов деятельности, взаимодействий, состояний, пользовательского интерфейса и архитектуры системы (диаграмм развертывания) на основе выявленных требований.
дипломная работа [2,1 M], добавлен 24.01.2016Описание особенностей функционирования магазина. Проектирование системы: инфологическое моделирование и построение диаграммы потоков данных. Моделирование и программная реализация информационной системы. Проектирование пользовательского интерфейса.
курсовая работа [1,6 M], добавлен 18.02.2013Инфологическое моделирование предметной области. Построение диаграммы потоков данных. Обоснование выбора СУБД. Проектирование пользовательского интерфейса. Комплект поставки и порядок установки системы. Описание функционирования приложения и таблиц.
курсовая работа [3,2 M], добавлен 23.08.2014Характеристика основных потоков данных, существующих на предприятии. Способы и средства для разработки программного обеспечения. Проектирование пользовательского интерфейса. Разработка слоя взаимодействия с базой данных. Разработка слоя бизнес сервисов.
дипломная работа [750,8 K], добавлен 10.07.2017Построение имитационной модели станции технического обслуживания, на основе системы Micro Saint. Определение комплекса работ модели, основных параметров для них, связей между работами. Оценка распределения числа полицейских машин, находящихся в ремонте.
контрольная работа [1,1 M], добавлен 08.09.2010Направления деятельности ООО "Тирион" и разработка модели "AS-IS" функционирования магазина по обслуживанию покупателей. Возможности табличного процессора MS Excel. Описание интерфейса и физической структуры программного обеспечения имитационной модели.
курсовая работа [990,6 K], добавлен 13.12.2011Моделирование работы системы массового обслуживания: рассмотрение структурной схемы и временной диаграммы функционирования вычислительного центра, разработка алгоритмического и программного способов решения поставленной задачи, анализ результатов.
курсовая работа [886,5 K], добавлен 24.06.2011Методика и особенности составления имитационной модели системы массового обслуживания (СМО). Анализ и статистическая обработка показателей эффективности СМО путем решения уравнения Колмогорова, их сравнение с результатами аналитического моделирования.
курсовая работа [609,2 K], добавлен 31.01.2010Разработка модели, имитирующей работу экономической системы (станции технического обслуживания автомобилей). Определение вероятностных характеристик системы; закрепление навыков в построении имитационной модели с помощью языка моделирования GPSS.
курсовая работа [713,6 K], добавлен 05.06.2013