Файл: Современные языки программирования (Основные сведения о языке программирования С#).pdf
Добавлен: 25.04.2023
Просмотров: 473
Скачиваний: 3
СОДЕРЖАНИЕ
Глава 1. Современные языки программирования
1.1. Основные сведения о языке программирования С#
1.2. Отличия языков программирования C# и Java
1.3. Объектные средства языков программирования C# и Java
1.4. Основные сведения о языке программирования Delphi
Глава 2. Практическая реализация программной системы
2.1. Логическое проектирование системы
2.2. Разработка интерфейса системы
Подобное разделение характерно также языкам программирования C/C++, где в рамках парадигмы программирования было введено разделение на заголовочные файлы и файлы реализации, но подобное разделение не может быть обеспечено на уровне компилятора или языка программирования.
В языках программирования C# и Java такое разделение устранено вовсе − реализация метода следует сразу после его объявления. Инкапсуляция обеспечивается лишь принадлежностью метода к той или иной области видимости используемого объекта. Для выполнения просмотра одной только интерфейсной части модуля исходного программного кода необходимо использовать специальные внутренние средства языка программирования [14].
В Delphi функция или метод четко определены специальными зарезервированными ключевыми словами function или procedure, тогда как в C-подобных языках различие определяются ключевым словом, которое определяет тип возвращаемых значений.
В отличие от C++, язык программирования C# содержит унаследованной от языка программирования Delphi концепцию свойств класса: псевдополей, которые, в некоторых случаях, могут более интуитивно, в сравнении с методами, отражать, а также изменять определенное состояние объектов.
В Delphi объектно-ориентированное и объектное программирование хоть и поощряется, однако не может быть единственно возможным. Так, может быть выполнено (в отличие от C#) использование и объявление статических иди глобальных переменных и функций [17].
Язык программирования C# принудительно является объектным. Глобальные, без привязки к классу, функции запрещаются. Value-типы, наподобие структур struct, являются унаследоваными от общего типа C#, несмотря на то, что сами по себе они не могут быть унаследованы. Вместе с тем, экземпляры классов C# являются неявно-ссылочными типами, как и в Delphi.
Несмотря на такую акцентированную на объектность парадигму, в языке программирования C# нет понятий виртуальных конструкторов, то есть выполняется создание экземпляров класса, точный тип которых на этапе компиляции является неизвестным, а известен лишь базовый класс этого экземпляра. Отчасти этот недостаток может быть замещен средствами reflections или интерфейсов, однако такие решения не могут быть стандартными для языка программирования.
Кроме того, в отличие от C# и C++, где вызов конструктора базового класса непременно осуществляется ещё до входа в тело конструктора унаследованного класса, в Delphi этот вызов делается явно. Таким образом, его можно отложить или вовсе опустить в специальных целях. Очевидно, в отличие от C#, возможен контроль над исключениями в базовых конструкторах.
Глава 2. Практическая реализация программной системы
2.1. Логическое проектирование системы
В качестве демонстрации возможностей языка программирования C# будет разработана программная система для авиакомпании «Мария».
Концептуальная модель позволяет отразить некоторую предметную область, для которой разрабатывается база данных. Атрибуты, которые характеризуют изучаемый информационный объект, представляется в виде овального блока, а связи между объектами представляются ромбами.
Мощность используемой связи обозначается разными стрелками (в направлении, где мощность равна многим - двойная стрелка, а со стороны, где она равна единице - одинарная).
Концептуальная модель разрабатываемой базы данных включает следующие сущности: турпутевка; договор; группа; организация; клиент; страховой полис; сотрудник; должность, рис. 2.
Рисунок 2. Концептуальная модель базы данных
Концептуальная модель базы данных имеет следующие отношения между атрибутами:
– клиент приобретает турпутевку;
– страховой полис оформляется для турпутевки;
– турпутевка относится к группе;
– организация обеспечивает договор;
– турпутевка заключается в рамках договора;
– сотрудник работает на должности;
– сотрудник оформляет турпутевку.
База данных информационной системы включает следующие информационные таблицы:
– таблица «Турпутевка» включает следующие реквизиты: код турпутевки; наименование турпутевки; код клиента; код группы; код сотрудника; дата расчета; код договора; дата с; дата по; код страхового полиса; цена;
– таблица «Договор» включает следующие реквизиты: код договора; наименование договора; дата составления; код организации; детали договора;
– таблица «Группа» включает следующие реквизиты: код группы; наименование группы;
– таблица «Организация» включает следующие реквизиты: код организации; наименование организации; ИНН; КПП; ОГРН; адрес; контактный телефон; электронный адрес;
– таблица «Клиент» включает следующие реквизиты: код клиента; ФИО клиента; адрес; паспортные данные; контактный телефон; электронный адрес;
– таблица «Сотрудник» включает следующие реквизиты: код сотрудника; ФИО сотрудника; адрес; паспортные данные; контактный телефон; электронный адрес;
– таблица «Страховой полис» включает следующие реквизиты: код страхового полиса; дата составления; сумма страхования; период страхования с; период страхования по; программа страховки;
– таблица «Должность» включает следующие реквизиты: код должности; наименование должности.
2.2. Разработка интерфейса системы
Проект главной пользовательской формы представлено на рис. 3. Для более наглядного вида в форме использован компонент Image с картинкой и главное меню.
Рисунок 3. Проектирование главной формы
Интерфейс разработки главного меню информационной системы представлен на рис. 4.
Главное меню разрабатываемой информационной системы включает следующие пункты: справочники; документы; отчеты; выход.
Для перехода к справочнику «Клиент» в информационной системе был разработан следующий код.
Программный код основных форм информационной системы представлен в Приложении.
private void клиентToolStripMenuItem_Click(object sender, EventArgs e)
{
s_klient form = new s_klient();
this.Hide();
form.ShowDialog();
this.Show();
}
Рисунок 4. Проектирование главного меню
Для организации работы справочников были использованы следующие компоненты: dbDataSet; BindingSource; TableAdapter; tableAdapterManager; BindingNavigator.
Вывод записей базы данных выполняется посредствам компонента dataGridView1.
Для организации обработки оперативной информации были разработаны несколько запросов, один из которых позволяет сформировать информацию о определенном клиенте «Информация по клиента».
SELECT Договор.[Код договора], Договор.[Наименоание договора], Договор.[Дата составления], Организация.[Наименование организации], Клиент.[ФИО клиента], Группа.[Наименование группы], Договор.[Детали договора] FROM Клиент INNER JOIN (Группа INNER JOIN ((Организация INNER JOIN Договор ON Организация.[Код организации] = Договор.[Код организации]) INNER JOIN Турпутевка ON Договор.[Код договора] = Турпутевка.[Код договора])
Проект формы данного отчета имеет следующий вид, представленный на рис. 5.
Рисунок 5. Проектирование отчета «Информация по клиентам»
Обработчик формы включает следующий программный код
private void button1_Click(object sender, EventArgs e)
{
// связываем запрос с файлом базы данных
string temp = null;
string a = comboBox1.Text; ;
string b = "WHERE (((Клиент.[ФИО клиента])= '" + a + "'))";
temp = CmdText + b;
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(temp, ConnString);
// создание объекта типа DataSet
DataSet ds = new DataSet();
// заполнение таблицы "Договор"
dataAdapter.Fill(ds, "[Договор]");
dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
Таким образом, была представлена технология разработки пользовательских форм и перечислены программные компоненты, которые были использованы при конструировании форм. Среди программных решений была использована технология SQL-запросов позволившая эффективно работать с файлами базы данных информационной системы и это позволило достичь высокой производительности системы.
2.3. Порядок работы с системой
Для того чтобы запустить информационную систему необходимо открыть файл program.exe.
Работа с информационной системой выполняется после авторизации пользователя при помощи использования главной формы с соответствующего иерархическим меню.
Интерфейс главной формы информационной системы представлен на рис. 6.
Возможности информационной системы разделены на группы, к которым относятся: справочники; документы; отчеты.
Воспользовавшись пунктом меню «Справочники» пользователю предоставляется возможность работы со следующими справочниками: клиент; организация; группа; сотрудник; должность.
Пользовательская форма «Клиент» предоставляет возможности просмотра, редактирования оперативной информации о клиентах организации. Интерфейс данной формы представлен на рис. 7.
Рисунок 6. Главное меню
Рисунок 7. Форма «Клиент»
Пользовательская форма «Организация» предоставляет возможности просмотра, редактирования справочной информации о организации. Интерфейс формы «Организация» представлен на рис. 8.
Пользовательская форма «Группа» предоставляет возможности просмотра, редактирования справочной информации о группах. Интерфейс формы «Группа» представлен на рис. 9. Пользовательская интерфейсная форма «Сотрудник» предоставляет возможности просмотра, редактирования оперативной информации о сотрудниках.
Рисунок 8. Форма «Организация»
Рисунок 9. Форма «Группа»
В форме «Сотрудник» есть связное поле с таблицей «Должность», что обеспечивает доступ к данным о должностях. Интерфейс данной формы представлен на рис. 10.
Рисунок 10. Форма «Сотрудник»
Пользовательская форма «Должность» предоставляет возможности просмотра, редактирования оперативной информации о должностях сотрудников. Интерфейс данной формы представлен на рис. 11.
Рисунок 11. Форма «Должность»
Воспользовавшись пунктом меню «Документы» пользователю предоставляется возможность работы со следующими документами: договор; страховой полис; турпутевка.
Пользовательская форма документа «Договор» предоставляет возможности просмотра, редактирования оперативной информации о заключаемых договорах. Интерфейс формы «Договор» представлен на рис. 12.
Рисунок 12. Форма «Договор»
Пользовательская форма документа «Страховой полис» предоставляет возможности просмотра, редактирования оперативной информации о страховых полисах в рамках заключаемых договорах. Интерфейс формы «Страховой полис» представлен на рис. 13.
Рисунок 13. Форма «Страховой полис»
Пользовательская интерфейсная форма документа «Туристическая путевка» информационной системы предоставляет возможности просмотра, редактирования оперативной информации о реализуемых туристических путевках.
Интерфейс пользовательской формы «Туристическая путевка» представлен на рис. 14.
Рисунок 14. Форма «Туристическая путевка»
Аналитические возможности в информационной системе реализованы в виде набора запросов и отчетов, среди которых можно выделить: комплектование групп; информация по клиентам.
Работа с запросом «Комплектование групп» выполняется по средствам использования специальной формы. При помощи специального поля, расположенного внизу формы, необходимо выбрать нужную группу и нажать на кнопку «Отобрать», в результате будет сформирован список клиентов по указанной группе, рис. 15.
Рисунок 15. Результат формирования запроса
Работа с пользовательским запросом «Информация по клиентам» выполняется по средствам использования специальной формы.