Диплом создание программного модуля для организации. Пояснительная записка. Частного образовательного учреждения дополнительного профессионального образования МастерПрогресс
Скачать 1.12 Mb.
|
Рисунок 2.1 – ERD-диаграмма программного модуля поддержки и сопровождения для программного обеспечения ЧОУ ДПО «Мастер-Прогресс» Рассмотрим и опишем подробнее каждую сущность, а также входящие в них атрибуты. Сущность «Сотрудники» имеет семантическое отношение к сущности «Лицензия». Данная таблица нужна для предоставления информации о сотруднике, который является ответственным лицом за лицензирование и обновление лицензии для каждого программного обеспечения, находящегося под его ответственностью, в таблице указаны: его фамилия, имя, отчество и номер телефона сотрудника. Сущность «Лицензия» имеет семантическое отношение к сущности «Программное обеспечение» и выполняет такую же роль, как и «Сотрудники». В ней хранится тип лицензии программного обеспечения, срок её действия и ответственное лицо, т.е. сотрудник, ответственный за её продление или установку, если лицензия вовсе отсутствует. Сущность «Ошибка» имеет семантическое отношение к сущности «Лог ошибок» и в ней содержится информация об ошибке, которая может возникнуть в программном обеспечении при работе. Данные из этой таблицы будут использованы в таблице «Лог ошибок» и в ней указаны: номер ошибки, название ошибки, которая возникла при работе, тип ошибки и статус, в котором и в данный момент находится ошибка. Сущность «Лог ошибок» имеет семантическое отношение к сущности «Программное обеспечение». В ней содержится описание ошибки, которая возникла в процессе использования программного обеспечения, а также дата возникновения ошибки и номер лога ошибок с информацией об ошибках. Сущность «Программное обеспечение» имеет отношение ко всем сущностям данного модуля. Данная таблица предоставляет информация о программном обеспечении, установленном в организации ЧОУ ДПО «Мастер-прогресс», о том какая лицензия на нём установлена и какие ошибки могли возникнуть в ходе пользования программным обеспечением. 2.2 Разработка UML диаграмм для программного модуля поддержки и сопровождения для программного обеспечения на примере ЧОУ ДПО «Мастер-Прогресс» Unified Modeling Language — это система обозначений, которую можно применять для объектно-ориентированного анализа и проектирования. Его можно использовать для визуализации, спецификации, конструирования и документирования программных систем. UML – унифицированный язык моделирования и графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов, системного проектирования и отображения организационных структур. Одна из задач UML — служить средством коммуникации внутри команды и при общении с заказчиком. Возможными вариантами использования диаграмм UML является: проектирование UML-диаграммы помогут при моделировании архитектуры больших проектов, в которой можно собрать как крупные, так и более мелкие детали и нарисовать схему приложения. По нему впоследствии будет строиться код; реверс-инжиниринг — создание UML-модели из существующего кода приложения, обратное построение. Может применяться, например, на проектах поддержки, где есть написанный код, но документация неполная или отсутствует; из моделей можно извлекать текстовую информацию и генерировать относительно удобочитаемые тексты — документировать. Текст и графика будут дополнять друг друга. Разработаем UML диаграммы для программного модуля поддержки и сопровождения для программного обеспечения, чтобы наглядно показать взаимодействие пользователя с программным модулем для организации ЧОУ ДПО «Мастер-Прогресс». Диаграмма вариантов использования (сценариев поведения, прецедентов) является исходным концептуальным представлением системы в процессе ее проектирования и разработки. Данная диаграмма состоит из актеров, вариантов использования и отношений между ними. Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества актеров, взаимодействующих с системой с помощью так называемых вариантов использования. При этом актером называется любой объект, субъект или система, взаимодействующая с моделируемой системой. В свою очередь вариант использования – это спецификация функций, которые система предоставляет актеру. Другими словами, каждый вариант использования определяет некоторый набор действий, совершаемых системой при взаимодействии с актером. При этом в модели никак не отражается то, каким образом будет реализован этот набор действий. Диаграмма вариантов использования программного модуля поддержи и сопровождения для программного обеспечения ЧОУ ДПО «Мастер-Прогресс» представлена на рисунке 2.2. Рисунок 2.2 – Диаграмма вариантов использования программного модуля поддержки и сопровождения для программного обеспечения На данной диаграмме видно, что программа будет иметь два вида пользователей: «Пользователь» и «Администратор». Актер «Пользователь» у которых из доступных действий является просмотр программного обеспечения, возможность проверки лицензии необходимого программного обеспечения и возможность выявить любые возможные ошибки программного обеспечения. При этом у актёра «Администратора» возможностей больше, поскольку кроме действий пользователя, «Администратор» этого модуля может взаимодействовать с базой данных, а именно просматривать данные находящиеся в базе и, при необходимости, отредактировать данные и добавить новые, а также лицензировать программное обеспечение, обновить лицензию, если истёк её срок действия или поставить новую, где она вовсе отсутствовала. Реализация отдельного варианта использования требует участия и взаимодействия определенных экземпляров актеров и классов. Наиболее подходящий инструмент для описания такого взаимодействия – это диаграммы последовательности и коммуникации, которые, по сути, отображают одну и ту же информацию. В связи с этим большинство Case-средств позволяет после построения одной из диаграмм автоматически получить другую, а также выполнять синхронизацию этих диаграмм между собой. Диаграмма взаимодействия — это диаграмма, на которой представлено взаимодействие, состоящее из множества объектов и отношений между ними, включая и сообщения, которыми они обмениваются. Этот термин применяется к видам диаграмм с акцентом на взаимодействии объектов (диаграммах кооперации, последовательности и деятельности). Диаграммы последовательности являются видом диаграмм взаимодействия языка UML, которые описывают отношения объектов в различных условиях. Условия взаимодействия задаются сценарием, полученным на этапе разработки диаграмм вариантов использования. Диаграммы последовательностей удобно использовать не только при проектировании архитектуры приложений, но и для описания взаимодействия процессов/потоков. Визуальное представление в таких случаях гораздо проще воспринимается, чем текстовое описание. На диаграмме последовательности отображается ряд специфичных элементов, которые отсутствуют на других диаграммах, основными элементами диаграммы последовательности являются обозначения объектов, прямоугольники с названиями объектов, вертикальные «линии жизни», отображающие течение времени, прямоугольники, отражающие деятельность объекта или исполнение им определенной функции, прямоугольники на пунктирной «линии жизни», и стрелки, показывающие обмен сигналами или сообщениями между объектами. На рисунке 2.3 представлена диаграмма взаимодействия программного модуля поддержки и сопровождения. Рисунок 2.3 – Диаграмма взаимодействия программного модуля поддержки и сопровождения На данном рисунке можно увидеть работу всей программы со стороны. Сначала пользователь входит в систему и может просмотреть требуемое программное обеспечение, затем система выдаёт ему список программного обеспечения из базы данных, и система выводит весь список программного обеспечения. У пользователя есть выбор, поскольку возможно просмотреть лицензию ПО или узнать об ошибках, которые возникли во время использования. Если пользователь захочет просмотреть лицензию, он производит поиск, а система в свою очередь отправляет запрос о лицензии в базу данных, если лицензия там присутствует, то система выводит информацию о ней, если она там отсутствует, то система выводит и информацию об ошибке. Если пользователь выберет проверку ошибок ПО, то он также просматривает информацию в системе, система запрашивает данные в базу данных, если ошибки ПО найдены, то база данных и система выдают информацию об ошибке, если же ошибки отсутствуют, то база данных и система выдают пользователю информацию о том, что ошибки ПО отсутствуют. Классы – очень важные строительные материалы объективно-ориентированной системы. Они представляют собой описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Класс реализует один или несколько интерфейсов. Диаграмма классов описывает типы объектов системы и различного рода статические отношения, которые существуют между ними. Каждый класс должен обладать именем, отличающим его от других классов. Имя – это текстовая строка. Имя класса может состоять из любого числа букв, цифр и знаков препинания, за исключением двоеточия и точки, и может записываться в несколько строк. На практике обычно используются краткие имена классов, взятые из словаря моделируемой системы. Каждое слово в имени класса традиционно пишут с заглавной буквы На диаграммах классов изображаются также атрибуты классов, операции классов и ограничения, которые накладываются на связи между объектами. Вид и интерпретация диаграммы классов существенно зависит от точки зрения (уровня абстракции). На рисунке 2.4 представлена диаграмма классов для программного модуля поддержки и сопровождения. Рисунок 2.4 – Диаграмма классов для программного модуля поддержки и сопровождения Класс «Сотрудники» содержит такие атрибуты как «ID», «ФИО», «Телефон». Данный класс хранит в себе данные о сотрудниках, ответственных за лицензирование программного обеспечения в организации. Класс «Лицензия» содержит в себе такие атрибуты как «Номер», «Тип», «Срок действия», «Ответственное лицо» и хранит в себе данные о лицензиях, которые установлены на каждом программном обеспечении организации дополнительного образования. Класс «Программное обеспечение» имеет в себе такие атрибуты как «Номер», «Название», «Лицензия», «Ошибка» и хранит в себе всю необходимую информацию о программном обеспечении организации дополнительного образования. Класс «Лог ошибок» имеет в себе такие атрибуты как «Номер», «Дата», «Описание ошибки» и хранит в себе данные обо всех ошибках, которые возникли во время работы программного обеспечения. Класс «Ошибка» имеет атрибуты «Номер», «Название», «Тип», «Статус» и хранит в себе данные об ошибке, которая возникла в программном обеспечении во время использования. Диаграммы размещения – это один из двух видов диаграмм, используемых при моделировании физических аспектов объектно-ориентированной системы. Такая диаграмма представляет конфигурацию узлов, где производится обработка информации, и показывает, какие артефакты размещены на каждом узле. Диаграммы размещения используются для моделирования статического представления системы с точки зрения размещения. Диаграммы размещения важны не только для визуализации, специфицирования и документирования встроенных, клиент-серверных и распределенных систем, но и для управления исполняемыми системами с использованием прямого и обратного проектирования. Диаграмма размещения для учебно-методического отдела ЧОУ ДПО «Мастер-Прогресс» представлена на рисунке 2.5. Рисунок 2.5 – Диаграмма размещения для учебно-методического отдела ЧОУ ДПО «Мастер-Прогресс» Данная диаграмма размещения показывает, как в учебно-методическом отделе организации ЧОУ ДПО «Мастер-Прогресс» расположены и подключены персональные компьютеры для работы с программным модулем поддержки и сопровождения для программного обеспечения [10]. 2.3 Выбор инструментальных средств разработки программного модуля поддержки и сопровождения для программного обеспечения на примере ЧОУ ДПО «Мастер-Прогресс» Проведем выбор инструментальных средств разработки программного модуля поддержки и сопровождения для программного обеспечения который состоит их анализа зыков программирования и СУБД. Следует выбрать наиболее подходящий язык программирования, на котором проще и эффективнее всего будет разрабатываться программный модуль поддержки и сопровождения для программного обеспечения. Для анализа и сравнения было выбрано два наиболее подходящих языка программирования C# и Python. Язык программирования C# — современный объектно-ориентированный и типобезопасный язык программирования. C# позволяет разработчикам создавать множество типов безопасных и надежных приложений, работающих в экосистеме .NET. C# предоставляет языковые конструкции для непосредственной поддержки такой концепции работы. Благодаря этому C# подходит для создания и применения программных компонентов. Python — высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ. Язык является полностью объектно – ориентированным — всё является объектами. Результат анализа в виде сравнения двух языков программирования представлен в таблице 2.6. Таблица 2.6 – Результаты анализа и сравнения
Из данной таблицы сравнения можно сделать вывод о том, что язык программирования C# является наиболее подходящим языком для разработки программного модуля благодаря своей простоте и универсальности. Для непосредственной разработки интерфейса и реализации функциональности программного модуля, была выбранная интегрированная среда разработки Microsoft Visual Studio. Данная среда позволяет разрабатывать как консольные приложения, так и игры, и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight. Данная среда хороша тем, что имеет ряд преимуществ таких как IntelliSense технология автодополнения Microsoft. Дописывает название функции при вводе начальных букв. Кроме прямого назначения, IntelliSense используется для доступа к документации и для устранения неоднозначности в именах переменных, функций и методов, используя рефлексию. Code Anilizer функционал, который помогает найти ошибки в коде. Совмещён с IntelliSense, тем, что все ошибки, уведомления, потенциальные ошибки подсвечиваются. Также вся эта информация отображается в окне "Error List". Perfomance Analizer инструмент, отображающий затраты ресурсов при работе приложения/сервиса в виде статистики и графиков. Test Manager встроенный менеджер тестов. После создания теста можно с помощью специального окна запускать и настраивать тесты. Extension/Updates Manager менеджер плагинов, адаптеров, провайдеров. Позволяет легко найти, установить, обновить любое дополнение. Nuget система управления пакетами для платформ разработки Microsoft, в первую очередь библиотек .NET Framework. Управляется .NET Foundation. Удобная установка библиотек в любой .Net проект. Git Manager встроенный менеджер контроля версий. Изначально работал только с Team Foundation Server. Сейчас можно подключить Team Explorer (Название менеджера) к любому репозиторию. Присутствуют все необходимые функции для работы с git без запросов. Но несомненным плюсом Visual Studio будет поддержка платформы .NET network. .NET — это платформа для разработки любых приложений: для Интернета, мобильных устройств, настольных ПК, игр, Интернета вещей и так далее. Можно выделить следующие два сильных преимущества платформы .NET Поддержка нескольких языков программирования, в основе всей платформы .NET лежит CLR (Common Language Runtime) — общеязыковая среды выполнения. Поэтому, кроме C# приложения для .NET могут быть написаны, например, на таких языках как F#, Visual Basic, Visual C++ и даже на ныне «мёртвом» диалекте — Delphi.NET. Кроссплатформенность платформа, .NET в современной её реализации позволяет разрабатывать приложения для Windows, Linux, Mac OS, Android и других операционных систем. Кроме СУБД для разработки и создания базы данных, а также создания запросов и функций к ней SQL Server Management Studio также присутствует СУБД Microsoft Access которая позволяет разрабатывать и создавать базу данных, а также запросы и функции к ней. Результат анализа в виде сравнения представлены в таблице 2.7. Таблица 2.7 – Результаты анализа и сравнения
Из данной таблицы сравнений можно сделать вывод о том, что СУБД SQL Server Management Studio является наиболее подходящей для разработки базы данных для модуля благодаря своей универсальности и дополнительным функциям, которые данная среда может предоставить. Для разработки объектов базы данных было выбрана СУБД SQL Server Management Studio. Среда SQL Server Management Studio — это единая универсальная среда для доступа, настройки и администрирования всех компонентов MS SQL Server, а также для разработки компонентов системы, редактирования текстов запросов, создания скриптов и пр. Благодаря наличию большого количества визуальных средств управления, «Среда SQL Server Management Studio» позволяет выполнять множество типовых операций по администрированию MS SQL Server администраторам с любым уровнем знаний SQL Server. Удобная среда разработки, встроенный веб-браузер для быстрого обращения к библиотеке MSDN или получения справки в сети, подробный учебник, облегчающий освоение многих новых возможностей, встроенная справка от сообществ в Интернете и многое другое позволяют максимально облегчить процесс разработки в среде SQL Server, а также дает богатые возможности для создания различных сценариев SQL Server.С помощью Management Studio можно подключаться к любым компонентам SQL Server, таким как: Database Engine, службы Integration Services, службы Analysis Services, службы Reporting Services. Другими словами, с помощью Management Studio можно управлять не только основным компонентом Database Engine, но и другими немало важными компонентами. В итоге SQL Server Management Studio это единая полнофункциональная программа по управлению SQL сервером. При помощи инструментария SQL Server Management Studio была разработана база данных. Все таблицы также были созданы с помощью SQL-запросов, а также при помощи встроенного графического редактора. В ходе главы была спроектирована база данных для программного модуля, были разработаны UML диаграммы, а также выбраны инструментальные средства для разработки программного модуля непосредственно по принципу сравнения двух сред. 3 Реализация и тестирование программного модуля поддержки и сопровождения для программного обеспечения на примере ЧОУ ДПО «Мастер-Прогресс» 3.1 Разработка базы данных программного модуля поддержки и сопровождения для программного обеспечения на примере ЧОУ ДПО «Мастер-Прогресс» Для создания реляционной базы данных было создано 5 таблиц, которые отображают полную информацию необходимую для автоматизации процесса нахождения ошибок программного обеспечения и проверки лицензирования программного обеспечения: таблица «Сотрудники»; таблица «Лицензия; таблица «Программное обеспечение»; таблица «Лог ошибок»; таблица «Ошибка». Таблица «Сотрудники» содержит информацию о сотрудниках, ответственных за лицензирование программного обеспечения. Атрибуты сущности представлены в таблице 3.1. Таблица 3.1 – Таблица «Сотрудники»
Таблица «Лицензия» содержит информацию о данных на лицензии, необходимых для определения лицензирования программного обеспечения. Атрибуты сущности представлены в таблице 3.2. Таблица 3.2 – Таблица «Лицензия»
Таблица «Программное обеспечение» содержит информацию о программном обеспечении, которая необходима для определения используемого программного обеспечения. Атрибуты сущности представлены в таблице 3.3. Таблица 3.3 – Таблица «Программное обеспечение»
Таблица «Лог ошибок» содержит информацию об ошибках, которые возникают в процессе использования программного обеспечения. Атрибуты сущности представлены в таблице 3.4. Таблица 3.4 – Таблица «Лог ошибок»
Таблица «Ошибка» содержит информацию об ошибке, которая возникла в программном обеспечении. Атрибуты сущности представлены в таблице 3.5. Таблица 3.5 – Таблица «Ошибка»
Данные таблицы были созданы на языке SQL с помощью запросов, которые будут показаны далее. SQL запрос – это специальное строковое обращение к базе, в котором отражаются поля (частицы данных) и условия, по которым эту информацию необходимо предоставить. Логика составления запроса данных из базы на большинстве языков программирования максимальна проста. Язык SQL-программирования гибкий, благодаря чему для различных целей можно модифицировать запрос. Это может быть связано с особенностью архитектуры базы, которая будет сказываться на времени выполнения запроса, предотвращении возможных проблем на определённом этапе работы, а также удобочитаемостью полученного результата. При помощи SQL-запросов была создана база данных, поэтому все таблицы также были созданы с помощью SQL-запросов. Схема данных полностью соответствует вышеописанным сущностям базы данных [16]. Результат выполнения запросов на создания таблиц будет показан на рисунке 3.6 в виде схемы базы данных программного модуля поддержки и сопровождения для программного обеспечения для организации ЧОУ ДОП «Мастер-Прогресс». |