Добавлен: 19.06.2023
Просмотров: 68
Скачиваний: 4
СОДЕРЖАНИЕ
ГЛАВА 1. АНАЛИЗ СПЕЦИФИКИ ИСТОРИЧЕСКОГО РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
1.1. Предпосылки развития современных средств программирования
1.2. Обзор этапа создания первых языков программирования
ГЛАВА 2 АНАЛИЗ ЯЗЫКОВ НАПИСАНИЯ ПРОГРАММНОГО КОДА
2.1. Особенности классификации высокоуровневых языков программирования
2.2. Специфические черты и особенности ряда языков программирования
2.2.1. Язык программирования C#
2.2.2. Язык программирования Python
2.2.3. Язык программирования C++
ГЛАВА 3 СОЗДАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПОМОЩЬЮ ЯЗЫКА ПРОГРАММИРОВАНИЯ C#
3.1. Разработка и описание структуры проекта создаваемого ПО
3.2. Описание внешнего вида форм и возможностей разработанного ПО
Python позволяет определять тип переменной на этапе исполнения программы. В связи с этим вместо присваивания переменной определенного значения более корректным является использование фразы «связывания определенного значения с конкретным именем» [8]. Структура проекта Python в среде разработки PyCharm приведена на рис.7.
Рисунок 7 – Пример структуры языка программирования Python [19]
В языке поддерживаются такие встроенные типы данных как: бинарный, строковый, Unicode, целочисленный с произвольно заданной степень точности, число с плавающей запятой, и ряд других. Из современных коллекций язык обладает поддержкой таких встроенных структур как: список, словарь, кортеж (модифицируемый список), множество и др. Следует отметить, что все значения, также как и в Ruby, являются объектами, причем это характерно и для функций, модулей, методов и классов [15].
Добавить в программный код новый тип можно путем написания нового класса или определения нового типа в специальном модуле расширения, который может быть разработан на другом языке. Система классов поддерживает полноценные механизмы множественного и единичного наследования, а также функции метапрограммирования. Возможным, также является прямое наследование от подавляющего большинства встроенных типов расширений.
Строки и кортежи, относящиеся к встроенным коллекциям, являются не изменяемыми, а словари и списки – переменными, их можно модифицировать динамически. Поэтому кортежи в данном языке работают существенно быстрее чем списки.
Преимущества языка следующие.
1. Интерпретируемость и динамическая типизация. Это повышает общую скорость разработки кода и позволяет существенно упростить и облегчить отладку программ, однако при этом теряется скорость выполнения приложения.
2. Поддержка модульности и Unicode. Это позволяет разработчику использование в программах символов родного языка, а не только английского. Разработанный модуль может быть легко интегрирован в код произвольных приложений [17].
3. Поддержка работы с объектами в рамках концепции ООП и автоматическая «сборка мусора» (очистка памяти) . Планирование структуры приложения становиться проще и удобнее и разработчику нет необходимости в слежении за различными утечками памяти.
4. Интеграция с многими другими языками программирования для повышения скорости работы программных приложений. Также простота и гибкость синтаксиса языка позволяет разработчику лучше писать и читать созданный программный код. Это помогает сэкономить время разбора в коде одного разработчика другому.
5. Кроссплатформенность и поддержка большого количества модулей, интегрированных и сторонних. В ряде распространенных случаев для разработки программы достаточно просто найти готовые модули и должным образом их связать между собой. Это позволяет запускать программное приложения, написанное на языке Python, на практически любой операционной системе, где установлен интерпретатор языка нужной версии и сборки. Поэтому создатель может сэкономить время и сосредоточить внимание на более высоком уровне разработки и проектирования, работая с готовыми элементами [8].
2.2.3. Язык программирования C++
С++ в настоящее время считается одним из наиболее сложных и функциональных языков, которые применяются при разработке программных приложений в сфере коммерции. В последние годы степень востребованности языка несколько изменилась, по причине того, что стал активно развиваться язык Java, поэтому некоторые программисты перешли с С++ на Jаvа. Эти языки имеют много общего, поэтому зная один из них досконально для разработчика не составит большого друга оперативно перейти на другой язык.
Изначально язык С++ чаще всего применялся для программных задач в открытой операционной системе семейства UNIX, совместно с системой и средствами языка С. Впоследствии, распространение языка и под другие платформы стало возможно, благодаря реализации в механизмах языка таким функциональных преимуществ, как динамическая загрузка, развитая система проведения трансляции, использование базы данных [3].
В целом данный язык является программным средством широкого спектра действий, начиная от системного программирования и заканчивая разработкой распределенных и масштабируемых систем и приложений.
В языке фактически отсутствуют элементарные операций и типы данных. В частности нет типа матрица с логической операцией обращения или элемента «строка» с поддержкой операций конкатенации. В случае, когда программисту необходимо использовать такие типы данных он способен самостоятельно инициализировать их в коде. Таким образом, процесс написания кода на С++ представляет собой процесс инициализации и описания логики взаимодействия нужных типов данных и операций. Следует отметить, что грамотно реализованный пользовательский тип данных отличен от встроенного лишь способом определения, а способ использования может остаться прежним [6].
При разработке программного обеспечения на базе использования языка часто применяют интегрированную среду разработки Borland C++ Builder (рис.8).
Рисунок 8 – Пример интерфейса среды Borland C++ Builder
С целью оптимизации времени на компиляцию и исполнение написанного программного кода в языке С++ убраны возможности, потенциально приводящие к различным не оптимальным расходам памяти, в том числе и когда описанные операции не будут использованы в программе. Для этих целей разработчиками языка было принято решение не хранить объектах специальную служебную информацию. Т.е., в случае, когда программист инициализировал структуру, которая содержит две величины, каждая из которых занимает по 16 разрядов, то данная структура уместиться в рамках 32-х разрядного регистра [9].
Типы данных в языке С++ включают в себя возможности гибкого синтаксического анализа, который обеспечивается путем интеграции средств транслятора с целью идентификации возможной порчи используемых данных. Данные средства могут использоваться программистом в полной мере, благодаря поддержке оперативной скорости выполнения разработанной программы [3].
Язык в полной мере C++ поддерживает основные принципы объектно-ориентированной парадигмы разработки программного кода, в том числе наследование, инкапсуляцию и полиморфизм.
В рамках второй главы данной работы описаны результаты анализа языков разработки программного кода. Описан ряд существующих классификаций высокоуровневых языков программирования, приведено описание существующих типов трансляторов, а именно, интерпретаторов, компиляторов и ассемблеров. Кратко обозначены ключевые отличия между декларативными и императивными языками разработки ПО, описаны логические и функциональные подходы к созданию программного кода, приведен рейтинг популярности средств разработки на 2017-й год. Проведен анализ возможностей современных языков программирования C#, Python и C++, кратко обозначены их основные преимущества, недостатки и особенности.
ГЛАВА 3 СОЗДАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПОМОЩЬЮ ЯЗЫКА ПРОГРАММИРОВАНИЯ C#
3.1. Разработка и описание структуры проекта создаваемого ПО
Для программной реализации разрабатываемой системы необходимо определить структуру и логику работы системы.
Она состоит из формы авторизации, где пользователь, в зависимости от введенного логина и пароля входит в соответствующую учетную запись, которая открывает доступ к форме управления данными по информационному обеспечению, программно-техническому обеспечению, организационному обеспечению, финансовой документации и кадровой документации.
Разработанная схема основных форм и компонентов системы приведена на рис.9.
Рисунок 9 – Схема основных форм и компонентов системы
На каждой из этих форм поддерживаются возможности обработки данных в соответствующих таблицах базы данных (БД), экспорта данных в отдельных отчетов и отправки данных через веб-интерфейс.
Проект системы в среде разработки MS Visual Studio приведен на рис.10.
Разработанный проект системы использует следующие программные компоненты интеграции работы с разработанным хранилищем данных (БД) в своем составе DataSet, BindingTable, BindingNavigator, BindingSource, TableAdapter. Они используются в совокупности для обеспечения возможностей построения автоматических связей БД с пользовательским интерфейсом.
Рисунок 10 – Проект системы в среде разработки MS Visual Studio
Структура разработанных классов обработки данных в БД приведена на рис.11.
Каждый из классов начинается с названия соответствующей таблицы базы данных для организации выгрузки наборов данных в соответствующий компонент формы проекта.
Рисунок 11 – Структура разработанных классов обработки данных в БД
Для обеспечения функциональных возможностей работы программы были созданы следующие формы:
1. Main - главная форма проекта, которая доступна из административного режима пользователя.
2. FinanceData - форма редактирования финансовых данных по рабочим организации, доступная под записью менеджера или в административном режиме.
3. InfoData - форма редактирования информационных данных по регламенту организации, доступная под записью менеджера или в административном режиме.
4. OrgData - форма редактирования организационных данных компании, доступная для использования под записью менеджера или в административном режиме.
5. Personnel - форма редактирования данных по сотрудникам организации, доступная для использования под записью менеджера или в административном режиме.
6. ReadDoc - форма организации внешнего и внутреннего просмотра информационных или нормативных данных.
7. TechData - форма редактирования данных по программно-техническому составу организации, доступная для использования под записью менеджера или в административном режиме.
8. WebPage - форма организации возможностей коммуникации и отправки данных через веб-интерфейс.
Общий состав созданных форм решения WindowsFormsApplication1 разработанного проекта системы приведен в обозревателю решений MS Visual Studio на рис.12.
Рисунок 12 - Содержание форм проекта в обозревателе решений
Также, в состав решения WindowsFormsApplication1 входят сгенерированные файлы отчетов в формате rdlc.
3.2. Описание внешнего вида форм и возможностей разработанного ПО
Внешний вид созданной формы авторизации пользователя в системе приведен на рис.13. Для авторизации в системе предусмотрен режим администратора и режимы менеджеров из соответствующих подразделений (кадрового, программно-технического, финансового, организационного и информационного).
Рисунок 13 - Внешний вид созданной формы авторизации пользователя в системе
Информационное сообщение о некорректном вход в систему приведено на рис.14. Оно появляется в случае введения некорректных данных с авторизации (логина или пароля).
Рисунок 14 - Информационное сообщение о некорректном вход
Внешний вид созданной главной формы системы под записью администратора приведен на рис.15. Данная форма позволяет перейти к соответствующим форм управления данными БД (выбор соответствующей записи с помощью компонента TreeView), осуществить просмотр информации о разработчике программного продукта (нажатие кнопки «О программе») или завершить работу программы (нажатие на кнопку «Выход»).