9. Примеры заданий на курсовую работу

advertisement
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Оглавление
1. Общие положения курсовой работы ................................................................................... 2
2. Организация выполнения курсовой работы ....................................................................... 2
3. Этапы создания программного приложения (интерфейса пользователя базы данных) 3
4. Технические средства реализации проекта .............................................................................4
5. Рекомендуемая структура курсового проекта ........................................................................4
5.1. Постановка задачи ..........................................................................................................4
5.2. Разработка базы данных информационной системы ..................................................5
5.3. Разработка программного кода приложения ...............................................................6
5.4. Тестирование приложения пользователя ...................................................................26
6. Заключение...............................................................................................................................26
7. Основные требования к оформлению курсового проекта ...................................................26
8. Подготовка курсового проекта к защите и защита ..............................................................26
9. Примеры заданий на курсовую работу .................................................................................27
Интерфейс пользователя информационно-справочной системы «Агентство
недвижимости» ....................................................................................................................27
Интерфейс пользователя информационно-справочной системы «Гостиничный
комплекс» .............................................................................................................................28
Интерфейс пользователя информационно-справочной системы «Продажа
авиабилетов» ........................................................................................................................28
Интерфейс пользователя информационно-справочной системы «Обеспечение
учебного процесса в вузе» ..................................................................................................29
Интерфейс пользователя информационно-справочной системы «Туристическое
агентство».............................................................................................................................29
Интерфейс пользователя информационно-справочной системы «Учет договоров
фирмы» .................................................................................................................................29
Интерфейс пользователя информационно-справочной системы «Услуги фирмы –
разработчика программного обеспечения».......................................................................30
Интерфейс пользователя информационно-справочной системы «Организация
грузоперевозок» ...................................................................................................................30
Интерфейс пользователя информационно-справочной системы «Продажа
железнодорожных билетов» ...............................................................................................30
Интерфейс пользователя информационно-справочной системы «Поликлиника» .......31
Интерфейс пользователя информационно-справочной системы «Продажа билетов на
междугородние автобусные маршруты» ...........................................................................31
Интерфейс пользователя информационно-справочной системы «Видеотека».............32
Интерфейс пользователя информационно-справочной системы «Справочник
абитуриента» ........................................................................................................................32
Интерфейс пользователя Информационно-справочной системы «Городские службы
быта» .....................................................................................................................................32
Интерфейс пользователя информационно-справочной системы «Зачисление
абитуриентов в вуз» ............................................................................................................33
Интерфейс пользователя информационно-справочной системы «ГИБДД» .................33
Интерфейс пользователя информационно-справочной системы «Спортивного клуба»
...............................................................................................................................................34
Интерфейс пользователя информационно-справочной системы «Автосалон» ............34
Интерфейс пользователя информационно-справочной системы «Городской очереди
на получение жилья» ...........................................................................................................34
Интерфейс пользователя информационно-справочной системы «Коммерческие банки
города» ..................................................................................................................................35
1
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
1. Общие положения курсовой работы
Целью выполнения курсовой работы является необходимость закрепления всех знаний и
практических навыков, полученных в результате изучения курса «Высокоуровневые методы
информатики и программирования».
Основной целью курсовой работы является создание приложения, представляющего собой
интерфейс пользователя базы данных в архитектуре «клиент-сервер».
Курсовая работа должна охватывать основные этапы жизненного цикла программного
обеспечения от постановки задачи до программной реализации приложения, его компиляции,
тестирования и документирования.
2. Организация выполнения курсовой работы
Основными этапами выполнения курсовой работы являются:
Выбор и утверждение темы курсовой работы у руководителя.
Тема курсовой работы может быть выбрана из списка тем, приведенных в разделе «Варианты
заданий на курсовую работу». Тема может быть предложена преподавателем, являющимся
руководителем работы. Тема работы может быть выбрана студентом самостоятельно.
В любом случае необходимо утвердить выбранную тему у руководителя работы и получить
ЗАДАНИЕ на курсовую работу. Бланк ЗАДАНИЯ приведен в Приложении 2.
2. Составление плана курсовой работы выполняется совместно с руководителем.
Формулируются цели и задачи курсовой работы.
3. Изучение рекомендованной и дополнительной научной литературы, ознакомление
с нормативными документами и другими источниками, относящимися к теме курсовой работы,
выполняется студентом самостоятельно в библиотеке института или библиотеках города.
4. Разработка программного кода приложения, представляющего интерфейс
пользователя базы данных, выполняется в соответствии с этапами жизненного цикла
программного обеспечения.
При разработке приложения пользователя необходимо взаимодействовать с руководителем
работы – после выбора и утверждения темы работы составить план-график выполнения работы,
посещать плановые консультации в соответствии с расписанием, проявлять инициативу к
дополнительным контактам с руководителем (электронная почта, посещение общих
консультаций преподавателя).
5. Оформление пояснительной записки
требованиями, приведенными в Приложении 3.
к
курсовой
работе
в
соответствии
с
Рекомендуемая структура пояснительной записки:






Титульный лист (Приложение 1).
Оглавление1
Введение.
Основная часть.
Заключение.
Список использованной литературы.
Перед окончательной печатью готового документа необходимо представить пояснительную
записку руководителю для проверки.
6. Подготовка к защите. На этом этапе необходимо продумать и обсудить с руководителем
работы материалы, выносимые на защиту (слайды, если они используются, базу данных,
1
Собрать оглавление в автоматизированном режиме Word
2
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
программный код приложения, оформленную пояснительную
выступления, обсудить его с руководителем работы.
записку).
Составить
план
7. Защита работы должна проходить в сроки, указанные в задании на курсовую работу в
соответствии с расписанием занятий.
3. Этапы создания программного приложения (интерфейса
пользователя базы данных)
Типовой жизненный цикл программного продукта любого класса представляет собой
последовательность этапов:





Постановка задачи и анализ предметной области;
Проектирование системы;
Программирование модулей;
Тестирование и отладка;
Внедрение, адаптация и сопровождение программного продукта.
Каждый из этапов жизненного цикла характеризуется рядом работ, выполняемых в рамках
данного этапа.
1. Этап постановки задачи и анализа предметной области включает:
 Формулировку требований к функциональности будущего программного
продукта;
 Определение объемов и структуры данных, хранимых и обрабатываемых в
системе;
 Определение основных задач, которые необходимо реализовать в коде
программы;
 Оценку требуемой надежности программной системы и др.
2. На этапе проектирования предусматривается выполнение таких работ как:
 Идентификацию описываемых объектов предметной области;
 Декомпозицию функций программной системы;
 Разработку
моделей,
визуализирующих
структуру
разрабатываемых
программных модулей.
3. На этапе программирования модулей системы выполняется:
 Написание программного кода отдельных модулей;
 Компиляция проекта.
4. Этапы тестирования и отладки предусматривают, в том числе:
 Создание




интерфейса пользователя для тестирования программного
продукта;
Разработку тестов для многофункционального тестирования и отладки;
Объединение подсистем;
Сопряжение с реальной аппаратурой;
Создание дистрибутивного пакета.
5. Под внедрением, адаптацией и сопровождением программного продукта понимают:





Выпуск документации по программной системе;
Инсталляция дистрибутива программного продукта;
Исправление ошибок;
Обобщение опыта эксплуатации;
Администрирование системы.
Основой программного продукта, разрабатываемого в рамках курсовой работы, является
приложение пользователя базы данных, обеспечивающего работу пользователя в архитектуре
«клиент-сервер». Приложение должно обеспечивать подключение к базе данных; выполнение
команд или запуск хранимых процедур базы данных; чтение, запись, модификацию записей
базы данных, представление данных в удобном для пользователя виде.
3
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Приложение должно представлять дистрибутивный пакет, который можно установить на
компьютере пользователя.
Для тестирования приложения необходимо разработать базу данных, работу с которой
обеспечивает приложение.
4. ТЕХНИЧЕСКИЕ СРЕДСТВА РЕАЛИЗАЦИИ ПРОЕКТА
При реализации курсового проекта необходимо выбрать средства для создания базы данных
и среду для написания программного кода.
Предполагается, что разработка программного кода, тестирование, отладка, компиляция
приложения, могут быть выполнены в интегрированной студии Microsoft Visual Studio. NET. 2
Студия разработана фирмой Microsoft для реализации платформы. NET Framework и
поддержки всех языков, ориентированных на использование. NET классов.
Создание базы данных также может быть выполнено визуальными средствами Microsoft Visual
Studio. NET или средствами, представленными в Microsoft SQL Server.
На примере разработки приложения «Отдел кадров предприятия» рассмотрим основные
этапы курсового проектирования.
5. РЕКОМЕНДУЕМАЯ СТРУКТУРА КУРСОВОГО ПРОЕКТА
5.1. Постановка задачи
5.1.1. Назначение приложения пользователя
Приложение пользователя информационной системы «Отдел кадров» предназначается для
работы со следующей информацией о каждом сотруднике предприятия, хранящейся в базе
данных:




название отдела, в котором работает служащий;
размер полученной сотрудником заработной платы;
размер иных доходов сотрудника;
перечень курсов для повышения квалификации,
сотрудник компании.
которые
посещал
Приложение должно обеспечивать:
 просмотр





записей базы данных, отфильтрованных по определенным
критериям (фамилии сотрудника, номеру отдела);
ввод новых записей в базу данных;
редактирование и модификацию имеющихся записей;
удаление устаревшей информации;
поиск данных по определенным критериям (фамилии сотрудника, номеру
отдела);
ведение справочников (по типам выплат и отделам предприятия).
Приложение пользователя должно иметь следующую функциональность:
 Обеспечивать соединение с источником данных с помощью одного из
провайдеров технологии доступа ADO. NET.
 В режиме активного соединения – выполнение SQL -команд на источнике
данных.
хранимых процедур, имеющихся в
результатов выполнения хранимых процедур.
 Вызов
базе
данных;
Выбор студии основан на использовании этой среды
«Высокоуровневые методы информатики и программирования».
2
4
в
получение
рамках
курса
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Отключение от источника данных и локальное хранение считанных данных.
Обработку полученных данных (фильтрацию, поиск, сортировку).
Представление данных с помощью элементов управления форм.
Добавление, удаление, модификацию данных из форм пользователей в
локальное хранилище приложение, с последующим внесением изменений в
источнике данных при активном подключении.
 Механизмы, используемые для работы с данными должны быть различными,
например, SQL -команды в текстовом исполнении и SQL -команды в виде
хранимых процедур, программируемый адаптер для выполнения SQL команд или непрограммируемый объект CommandBuilder и так далее.




5.1.2. Описание области применения приложения пользователя
Приложение пользователя
архитектуре «клиент-сервер».
должно
обеспечивать
заявленную
функциональность
в
Подключение приложения должно выполняться с помощью любого провайдера данных,
имеющегося в составе технологии доступа к данным ADO. NET.
Приложение должно быть реализовано на одном из языков концепции. NET Framework.
5.2. Разработка базы данных информационной системы
5.2.1. Разработка базы данных
Для создания базы данных под управлением SQL Server были использованы визуальные
средства интегрированной студии Visual Studio. NET – компонент Server Explorer.
База данных предназначена для хранения следующей информации о каждом сотруднике
компании:




название отдела, в котором работает служащий;
размер полученной сотрудником заработной платы;
размер иных доходов сотрудников;
перечень курсов, которые посещал служащий компании в целях повышения
квалификации.
Структура базы даны, включая отношения между таблицами, показана на рис. 2.1.
5
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Рис. 2.1. Логическая модель базы данных
5.2.2. Хранимые процедуры для базы данных
Для обработки данных на стороне сервера баз данных были написаны хранимые процедуры
на языке SQL.
Процедура 1 с входным параметром – номер отдела позволяет удалить отдел из списка
отделов:
CREATE PROCEDURE DeleteDep ( @DepartmentID int)
AS
delete from tblDepartments
where DepartmentId=@DepartmentId
RETURN
Процедура 2 позволяет вывести список всех сотрудников фирмы:
CREATE PROCEDURE ListEmployees
AS
select * from Employees
RETURN
Запуск хранимых процедур обеспечивает разработанный интерфейс пользователя.
5.3. Разработка программного кода приложения
5.3.1. Разработка MDI – приложения
Для реализации приложения в виде MDI -форм ( Multi Document Interface ) была
спроектирована следующая главная форма приложения (рис.3.1). Меню главной формы
позволяет выполнять запуск всех остальных форм приложения.
6
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Рис. 3.1. Главная форма MDI -приложения
Пример программного кода, реализующего multi document interface , представлен ниже:
Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MenuItem2.Click
Dim f As New Form4
f.MdiParent = Me
f. Show ()
End Sub
5.3.2. Разработка справочников приложения
Для работы со справочной информацией были разработаны два справочника: Типы выплат и
Отделы предприятия.
На рис.3. 2 показан внешний вид справочника Типы выплат.
7
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Рис.3.2. Справочник Тип выплат
Справочник реализован с использованием элемента управления DataGrid. Справочник
позволяет просматривать данные, добавлять новые записи, модифицировать или удалять
имеющиеся.
Программный код, реализующий справочник приведен ниже:
Imports System.Data
Imports System.Data.SqlClient
Dim cnn As New SqlConnection("server=Persist Security Info=False;Integrated Security=SSPI;
database=HumanResources; server=ABRZH")
Dim ds As New DataSet
Dim da As New SqlDataAdapter("SELECT PaymentTypeID,PaymentDesc from PaymentTypes",
cnn)
При загрузке формы выполняется команда подключения к базе данных и выборке данных из
таблицы PaymentTypes.
Private Sub Form4_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Dim da As New SqlDataAdapter("SELECT PaymentTypeID,PaymentDesc from PaymentTypes",
cnn)
Прочитанные из таблицы данные, локально хранятся в объекте DataSet и отображаются с
помощью DataGrid
da.Fill(ds, "PaymentTypes")
DataGrid1.DataSource = ds.Tables("PaymentTypes")
End Sub
Кнопка для перенесения всех изменений, имеющихся в локальном хранилище, в базу
данных.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
8
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Dim da As New SqlDataAdapter("SELECT PaymentTypeID,PaymentDesc from PaymentTypes",
cnn)
Для автоматизированного обращения к таблице
CommandBuilder , который позволяет выполнить все
добавлению в указанной таблице.
PaymentTypes создается объект
команды по вставке. Удалению,
Dim cb As New SqlCommandBuilder(da)
Рассматриваются все возможные изменения: добавление записей, редактирование, удаление.
Dim t As New DataTable
t = ds.Tables("PaymentTypes").GetChanges(DataRowState.Added)
If Not t Is Nothing Then
da.Update(t)
End If
t = ds.Tables("PaymentTypes").GetChanges(DataRowState.Modified)
If Not t Is Nothing Then
da.Update(t)
End If
t = ds.Tables("PaymentTypes").GetChanges(DataRowState.Deleted)
If Not t Is Nothing Then
da.Update(t)
End If
End Sub
Справочник для работы со списками отделов реализован в виде формы (рис.3.3).
Рис.3.3. Справочник Отделы
9
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Кнопка SPDeleteDep реализует запуск хранимой процедуры 1 DeleteDep для удаления,
указанного в качестве входного параметра, отдела.
Весь программный код формы Отделы приведен ниже:
Imports System.Data
Imports System.Data.SqlClient
Dim
cnn
As
New
SqlConnection("server=Persist
Security=SSPI;database=HumanResources;server=ABRZH")
Security
Info=False;
Integrated
Dim ds As New DataSet
Dim daDep As New SqlDataAdapter ("SELECT * from tblDepartments", cnn)
Dim daEmp As New SqlDataAdapter("SELECT * from Employees", cnn)
Dim cbDep As New SqlCommandBuilder(daDep)
Dim dv As New DataView
При загрузке формы выполняются команды по установлению соединения с базой данных,
считыванию данных из таблиц Departments и Employees , а также отображение данных этих
таблиц в связанных элементах управления.
Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
daDep.Fill(ds, "Departments")
daEmp.Fill(ds, "Employees")
TextBox1.DataBindings.Add(New Binding("text", ds.Tables("Departments"), "DepartmentId"))
TextBox2.DataBindings.Add(New Binding("text", ds.Tables("Departments"), "Description"))
ComboBox1.DataSource = ds.Tables("Employees")
ComboBox1.ValueMember = "EmployeeId"
ComboBox1.DisplayMember = "FirstName"
ComboBox1.DataBindings.Add(New
"DepartmentHeadID"))
Binding("SelectedValue",
ds.Tables("Departments"),
dv.Table = ds.Tables("Departments")
End Sub
Набор кнопок для перемещения по набору связанных записей двух таблиц.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Me.BindingContext(ds.Tables("Departments")).Position -= 1
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
Me.BindingContext(ds.Tables("Departments")).Position += 1
End Sub
Новая запись в таблицу Departments
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
Dim row As DataRow
row = ds.Tables("Departments").NewRow
10
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
ComboBox1.SelectedIndex = 1
row("Description") = ""
row("DepartmentHeadID") = ComboBox1.SelectedValue
ds.Tables("Departments").Rows.Add(row)
daDep.Update(ds.Tables("Departments"))
ds.Tables("Departments").Dispose()
daDep.Fill(ds, "Departments")
dv.RowFilter = "DepartmentID=MAX(DepartmentID)"
TextBox1.Text = dv(0).Item("DepartmentID")
TextBox2.Text = dv(0).Item("Description")
ComboBox1.SelectedIndex = 1
End Sub
Метод, позволяющий отображать связанные записи
Private Sub ComboBox1_SelectedIndexChanged (ByVal sender
System.EventArgs) Handles ComboBox1.SelectedIndexChanged
As
Object,
ByVal
e
As
If ComboBox1.SelectedIndex >= 0 Then
Label1.Text = ComboBox1.SelectedValue.ToString
End If
End Sub
Добавление изменений в базу данных с помощью объекта CommandBuilder
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button5.Click
Dim cbDep As New SqlCommandBuilder(daDep)
Dim table As New DataTable
table = ds.Tables("Departments").GetChanges(DataRowState.Deleted)
If Not table Is Nothing Then
daDep.Update(table)
End If
table = ds.Tables("Departments").GetChanges(DataRowState.Added)
If Not table Is Nothing Then
daDep.Update(table)
End If
table = ds.Tables("Departments").GetChanges(DataRowState.Modified)
If Not table Is Nothing Then
daDep.Update(table)
End If
End Sub
Кнопка Delete
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button6.Click
11
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Dim tab As DataTable
tab = ds.Tables("Departments")
Dim row() As DataRow
Dim s As String = "DepartmentID=" & Val(TextBox1.Text)
row = tab.Select(s, "DepartmentID", DataViewRowState.CurrentRows)
row(0).Delete()
End Sub
Кнопка Modified
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button7.Click
Dim i As Integer
dv.Sort = "DepartmentID"
i = dv.Find(Val(TextBox1.Text))
If i <> -1 Then
dv.AllowEdit = True
dv(0).Item("Description") = TextBox2.Text
dv(0).Item("DepartmentHeadID") = ComboBox1.SelectedValue
End If
End Sub
Кнопка для реализации вызова хранимой процедуры DeleteDep.
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button8.Click
daDep.DeleteCommand = New SqlCommand
With (daDep.DeleteCommand)
.Connection = cnn
.CommandType = CommandType.StoredProcedure
.CommandText = "DeleteDep"
End With
Необходимо описать и добавить в коллекцию.одной параметр "@DepartmentID .
daDep.DeleteCommand.Parameters.Add("@DepartmentID", SqlDbType.Int, 4, "DepartmentID")
daDep.Update(ds.Tables("Departments"))
End Sub
3.3. Разработка основных форм приложения
Заявленная в приложении функциональность была реализована в следующих основных
формах:
 Сотрудник (рис..3.4) – форма позволяет выполнять поиск сотрудника.
 Сотрудники (рис.3.5) – форма позволяет выполнять просмотр
всех
сотрудников предприятия.
 Зарплаты сотрудников (рис.3.6) – форма позволяет просматривать зарплату
выбранного сотрудника.
12
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
 Выплаты сотрудникам (рис.3.7) – форма позволяет просматривать все
выплаты указанному сотруднику.
Рис.3.4. Форма Сотрудник
Программный код формы Сотрудник с подробными комментариями приведен ниже:
Imports System.Data.SqlClient
Private ds As New DataSet
Private dvEmployees As New DataView
Private dvSalaries As New DataView
Private daEmployees As New SqlDataAdapter
Private daSalary As New SqlDataAdapter
Private daDepartments As New SqlDataAdapter
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Dim
cnn
As
New
SqlConnection
("server=Persist
Security=SSPI;database=HumanResources;server=ABRZH")
Security
Info=False;Integrated
With daEmployees
.SelectCommand = New SqlCommand
Создание объектов команд SELECT, INSERT, UPDATE и DELETE, которые будут использоваться
SQLDataAdapter для таблицы Employees
With .SelectCommand
Команда SELECT, используемая для извлечения и возвращения записей о сотрудниках
компании
.Connection = cnn
.CommandText = "SELECT EmployeeId, FirstName, SurName,"
13
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
.CommandText += " DateOfBirth, DateOfHire, lastReview, "
.CommandText += "Department from Employees"
End With 'SelectCommand
Команда INSERT, предназначенная для вставки новых строк в таблицу Employees
.InsertCommand = New SqlCommand
With .InsertCommand
.Connection = cnn
.CommandText = "INSERT Employees(Firstname, Surname,"
.CommandText += " DateOfBirth, DateOfHire, LastReview,"
.CommandText += " Department) VALUES (@Firstname, @Surname, "
.CommandText += "@DateOfBirth, @DateOfHire, @LastReview, @Department)"
With .Parameters
.Add("@Firstname", SqlDbType.VarChar, 30, "FirstName")
.Add("@Surname", SqlDbType.VarChar, 30, "SurName")
.Add("@DateOfBirth", SqlDbType.SmallDateTime, 8, "DateOfBirth")
.Add("@DateOfHire", SqlDbType.SmallDateTime, 8, "DateOfHire")
.Add("@LastReview", SqlDbType.SmallDateTime, 8, "LastReview")
.Add("@Department", SqlDbType.Int, 4, "Department")
End With 'Parameters
End With 'InsertCommand
Команда UPDATE, предназначенная для модификации существующих строк в таблице
Employees
.UpdateCommand = New SqlCommand
With .UpdateCommand
.Connection = cnn
.CommandText = "UPDATE Employees Set Firstname=@FirstName, "
.CommandText += "Surname=@Surname, dateOfBirth=@dateofbirth,"
.CommandText += " DateOfHire=@dateofhire, LastReview=@lastreview, "
.CommandText += "Department=@Department WHERE EmployeeId=@EmployeeId"
With .Parameters
.Add("@Firstname", SqlDbType.VarChar, 30, "FirstName")
.Add("@Surname", SqlDbType.VarChar, 30, "SurName")
.Add("@DateOfBirth", SqlDbType.SmallDateTime, 8, "DateOfBirth")
.Add("@DateOfHire", SqlDbType.SmallDateTime, 8, "DateOfHire")
.Add("@LastReview", SqlDbType.SmallDateTime, 8, "lastReview")
.Add("@Department", SqlDbType.Int, 4, "Department")
.Add("@EmployeeId", SqlDbType.Int, 4, "EmployeeId")
End With 'Parameters
End With 'UpdateCommand
14
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Команда DELETE, предназначенная для удаления существующих строк из таблицы Employees
.DeleteCommand = New SqlCommand
With .DeleteCommand
.Connection = cnn
.CommandText = "DELETE Salaries WHERE EmployeeId=@EmployeeId"
.CommandText = "DELETE Employees WHERE EmployeeId=@EmployeeId"
.Parameters.Add("@EmployeeId", SqlDbType.Int, 4, "EmployeeId")
End With 'DeleteCommand
Свойства AcceptChangesDuringFill равным TRUE, благодаря чему строки , добавленные в
DataSet при помощи метода Fill будут обладать начальным статусом Unchanged
.AcceptChangesDuringFill = True
C вяжем результирующее множество , возвращаемое оператором SELECT, с объектом
DataTable с именем Employees, помещаемым внутрь объекта DataSet
.TableMappings.Add("Table", "Employees")
Установим значение свойства MissingSchemaAction равным AddWithKey, благодаря чему при
первом запуске оператора FILL вместо отсутствующей схемы будет автоматически создана
новая с информацией о первичном ключе
.MissingSchemaAction = MissingSchemaAction.AddWithKey
End With 'daEmployees
Определим команды SELECT , INSERT , UPDATE и DELETE , предназначенные для извлечения
и модификации данных по заработной плате
With daSalary
Оператор SELECT для выборки данных таблицы Salaries
.SelectCommand = New SqlCommand
With .SelectCommand
.Connection = cnn
.CommandText = "SELECT EmployeeId, SalaryAppliedFrom, SalaryLevel FROM Salaries"
End With 'SelectCommand
Команда INSERT для вставки данных в таблицу Salaries
.InsertCommand = New SqlCommand
With .InsertCommand
.Connection = cnn
.CommandText = "INSERT Salaries(EmployeeId,
(@EmployeeId, @SalaryAppliedFrom, @Salarylevel)"
SalaryAppliedFrom,
Salarylevel)
With .Parameters
.Add("@EmployeeId", SqlDbType.Int, 4, "EmployeeId")
.Add("@SalaryAppliedFrom", SqlDbType.SmallDateTime, 8, "SalaryAppliedFrom")
.Add("@SalaryLevel", SqlDbType.Money, 8, "SalaryLevel")
End With 'Parameters
End With 'InsertCommand
Команда UPDATE для обновления информации в таблице Salaries
15
VALUES
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
.UpdateCommand = New SqlCommand
With .UpdateCommand
.Connection = cnn
.CommandText = "UPDATE Salaries Set SalaryAppliedFrom = @NewSalaryAppliedFrom,
SalaryLevel = @Salarylevel WHERE EmployeeID = @EmployeeId and SalaryAppliedFrom =
@OldSalaryAppliedFrom"
With .Parameters
.Add("@NewSalaryAppliedfrom", SqlDbType.SmallDateTime, 8, "salaryAppliedFrom")
.Add("@SalaryLevel", SqlDbType.Money, 8, "Salarylevel")
.Add("@EmployeeId", SqlDbType.Int, 4, "EmployeeId")
.Add ("@OldSalaryAppliedFrom", SqlDbType.SmallDateTime, 8, "SalaryAppliedFrom")
End With ' Parameters
Оригинальное значение столбца SalaryAppliedFrom , перед выполнением обновления
. Parameters ("@ OldsalaryAppliedFrom "). SourceVersion = DataRowVersion . Original
Значение столбца SalaryAppliedFrom , после выполнения обновления
.Parameters("@NewsalaryAppliedFrom").SourceVersion = DataRowVersion.Current
End With 'UpdateCommand
Оператор DELETE, предназначенный для удаления данных из таблицы Salaries
.DeleteCommand = New SqlCommand
With .DeleteCommand
.Connection = cnn
.CommandText = "DELETE Salaries WHERE EmployeeId=@EmployeeId"
.CommandText += " AND SalaryAppliedFrom=@SalaryAppliedFrom"
.Parameters.Add("@EmployeeId", SqlDbType.Int, 4, "EmployeeId")
.Parameters.Add("@SalaryAppliedFrom", SqlDbType.SmallDateTime, 8, "SalaryAppliedFrom")
End With 'DeleteCommand
Установка свойства AcceptChangesDuringFill равным TRUE, благодаря чему строки ,
добавленные в DataSet при помощи метода Fill, будут обладать начальным статусом Unchanged
.AcceptChangesDuringFill = True
C вяжем результирующее множество , возвращаемое оператором SELECT, с объектом
DataTable с именем Salaries, помещаемым внутрь объекта DataSet
.TableMappings.Add("Table", "Salaries")
Установим значение свойства MissingSchemaAction равным AddWithKey, благодаря чему при
первом запуске оператора FILL вместо отсутствующей схемы будет автоматически создана
новая с информацией о первичном ключе
.MissingSchemaAction = MissingSchemaAction.AddWithKey
End With 'daSalary
Добавим объект SqlCommand, отвечающий за управление оператором SELECT для таблицы
Departments объекта DataSet. Поскольку в данном приложении мы не намерены
модифицировать таблицу Departments, нам не потребуется прибегать к помощи ' операторов
INSERT , UPDATE , DELETE
With daDepartments
16
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
.SelectCommand = New SqlCommand
With .SelectCommand
.Connection = cnn
.CommandText = "select DepartmentId, Description From tblDepartments"
End With 'SelectCommand
Установка свойства AcceptChangesDuringFill равным TRUE, благодаря чему строки ,
добавленные в DataSet при помощи метода Fill, будут обладать начальным статусом Unchanged
.AcceptChangesDuringFill = True
C вяжем результирующее множество , возвращаемое оператором SELECT, с объектом
DataTable с именем Departments, помещаемым внутрь объекта DataSet
.TableMappings.Add("Table", "Departments")
Установим значение свойства MissingSchemaAction равным AddWithKey, благодаря чему при
первом запуске оператора FILL вместо отсутствующей схемы будет автоматически создана
новая с информацией о первичном ключе
.MissingSchemaAction = MissingSchemaAction.AddWithKey
End With 'daDepartments
Поместим данные в объект DataSet при помощи метода FILL для каждого из созданных выше
объектов SQLDataAdapter
daEmployees.Fill(ds)
daSalary.Fill(ds)
daDepartments.Fill(ds)
Добавим вычисляемый столбец в таблицу Employees объекта DataSet. В нем будет храниться
полное имя сотрудника. Это сделано для того, чтобы выбор сотрудника осуществлялся из
единого списка
ds.Tables("Employees").Columns.Add("FullName",
"FirstName +' '+ SurName")
System.Type.GetType("System.String"),
Создадим объекты DataRelation, реализующие отношения между 'различными таблицами
внутри объекта DataSet. Отношения между таблицами Salaries и Employees
ds.Relations.Add("FK_Salaries_Employees",
ds.Tables("Salaries").Columns("EmployeeId"))
ds.Tables("Employees").Columns("EmployeeId"),
Отношения между таблицами Departments и Employees
ds.Relations.Add("FK_Employees_Departments",
ds.Tables("Departments").Columns("DepartmentId"),
ds.Tables("Employees").Columns("Department"), True)
Создадим представление для таблицы Employees. Это представление будет использоваться
для выбора из списка служащих по определенному критерию при выполнении редактирования
dvEmployees.Table = ds.Tables("Employees")
Свяжем столбцы EmployeeID и FullName таблицы Employees с элементами управления
ComboBox
ComboBox1.DataSource = ds.Tables("Employees")
Определим
столбец,
возвращаемый
ComboBox1.ValueMember = "EmployeeId"
свойством
для
выбранной
Определим столбец, который будет отображаться в комбинированном списке
ComboBox1.DisplayMember = "FullName"
17
строки
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Выполним аналогичные действия для таблицы Departments и второго комбинированного
списка
ComboBox2.DataSource = ds.Tables("Departments")
ComboBox2.ValueMember = "DepartmentId"
ComboBox2.DisplayMember = "Description"
'Создадим представление для таблицы Salaries
Это представление будет использоваться для поиска записей с
сотрудников, информация о котором редактируется в настоящий момент
заработной
платой
dvSalaries.Table = ds.Tables("Salaries")
Зададим для свойства RowFilter начальное значение, равное -1, чтобы вывести в форме все
строки таблицы Salaries
dvSalaries.RowFilter = "EmployeeId=-1"
'определим стиль таблицы, который будет использоваться для сокрытия от пользователя
столбца EmployeeID
Dim dg As New DataGridTableStyle
Свяжем стиль таблицы Salaries, выводимой на экран с объектом таблицы
dg.MappingName = "Salaries"
Воспользуемся созданным ранее представлением для таблицы Salaries. Кроме того, свяжем
стиль таблицы с объектом таблицы
Затем, неявным образом будут созданы объекты GridColumnStyle. Объект GridColumnStyle
применяется для задания ширины отображаемого столбца EmployeeID, которую в данном случае
мы сделаем равной 0. Таким образом, обеспечим сокрытие данного столбца от пользователя.
DataGrid 1. DataSource = dvSalaries
DataGrid1.TableStyles.Add(dg)
DataGrid1.TableStyles("Salaries").GridColumnStyles("EmployeeId").Width = 0
GroupBox2.Enabled = False
End Sub
Кнопка EDIT
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
Настроим свойство RowFilter представления для таблицы Salaries на отображение только тех
записей, которые относятся к EmployeeID выбранного из списка сотрудников
dvSalaries.RowFilter = "EmployeeId=" & ComboBox1.SelectedValue
Зададим для текущего DataSet в качестве имени сотрудника по умолчанию имя текущего
выбранного сотрудника. Так как мы не выводим на экран столбец EmployeeID, нам необходимо
использовать значение по умолчанию. Поскольку данный столбец является частью первичного
ключа, при вставке новой строки нам должно быть известно значение в нем.
dvSalaries.Table.Columns.Item("EmployeeId").DefaultValue = ComboBox1.SelectedValue
Следующий фрагмент ограничивает перечень выводимых записей о выплатах только теми
строками, которые относятся к текущему сотруднику
dvEmployees.RowFilter="EmployeeId='"& ComboBox1.SelectedValue & "'"
Активируем группу элементов управления редактирования. Делаем неактивной группу
элементов управления навигации на время редактирования
GroupBox2.Enabled = True
18
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
GroupBox1.Enabled = False
Выводим в поля редактирования значения соответствующих столбцов для выбранного в
текущий момент сотрудника
Refresh_EmployeeDetails()
End Sub
Private Sub Refresh_EmployeeDetails()
Связываем личную информацию о сотруднике в представлении с соответствующими полями
формы
TextBox1.Text = dvEmployees(0).Item("FirstName")
TextBox2.Text = dvEmployees(0).Item("SurName")
DateTimePicker1.Value = dvEmployees(0).Item("DateOfBirth")
DateTimePicker2.Value = dvEmployees(0).Item("DateOfHire")
DateTimePicker3.Value = dvEmployees(0).Item("LastReview")
ComboBox2.SelectedValue = dvEmployees(0).Item("Department")
End Sub
Кнопка Cancel
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button5.Click
При нажатии на кнопку Cancel, вызывается метод RejectChanges объекта Dataset, который
выполняет откат всех внесенных в текущем сеансе редактирования записей.
ds.RejectChanges()
Делаем недоступной часть формы, ответственную за редактирование
Одновременно активизируем группу элементов управления навигации
информации.
GroupBox 1. Enabled = True
GroupBox 2. Enabled = False
Следующий фрагмент ограничивает перечень отображаемых строк таблицы Employees только
теми записями, которые касаются выбранного в данный момент сотрудника
dvEmployees.RowFilter = "EmployeeId=" & ComboBox1.SelectedValue
Выводим в форме исходные значения столбцов, то есть значения до момента редактирования
Refresh_EmployeeDetails()
Устанавливаем для свойства RowFilter значение, равное -1, чтобы сведения о доходах не
отображались в элементе управления "таблица"
dvSalaries.RowFilter = "EmployeeId=-1"
End Sub
' Кнопка UPDATE
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button4.Click
Сохранение изменений, внесенных при редактировании в форме при помощи представления
dvEmployees(0).Item("FirstName") = TextBox1.Text
dvEmployees(0).Item("SurName") = TextBox2.Text
dvEmployees(0).Item("DateOfBirth") = DateTimePicker1.Value
dvEmployees(0).Item("DateOfHire") = DateTimePicker2.Value
19
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
dvEmployees(0).Item("LastReview") = DateTimePicker3.Value
dvEmployees(0).Item("Department") = ComboBox2.SelectedValue
Обновление информации в таблице Employees и Salary
daEmployees.Update(ds)
daSalary.Update(ds)
Сделаем поля нижней части формы недоступными для редактирования, при этом откроем
доступ к панели навигации
GroupBox1.Enabled = True
GroupBox2.Enabled = False
Установим значения свойства RowFilter равным -1. в результате чего записи о доходах не
будут отображаться в элементе управления "таблица"
dvSalaries.RowFilter = "EmployeeId=-1"
End Sub
' Кнопка NEW
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
Объявим новый объект DataRow для хранения новой строки
Dim dr As DataRow
Новый объект DataRow создается в рамках схемы, определенной для таблицы Employees
dr = ds . Tables (" Employees "). NewRow
Сбросим элемент управления "список" Departments на первую позицию в списке
ComboBox2.SelectedIndex = 1
Заполним столбцы новой строки пустыми значениями и значениями по умолчанию
dr("FirstName") = ""
dr("SurName") = ""
dr("DateOfBirth") = DateAdd(DateInterval.Year, -15, Now)
dr("DateOfHire") = Now
dr("LastReview") = Now
dr("Department") = ComboBox2.SelectedValue
'Добавим только что созданную строку в объект DataSet
ds.Tables("Employees").Rows.Add(dr)
Обновим информацию в самой базе данных
daEmployees.Update(ds.Tables("Employees"))
daEmployees.Fill(ds, "Employees")
Извлечем запись о последнем добавленном сотруднике
dvEmployees.RowFilter = "EmployeeId=MAX(EmployeeId)"
Зададим имя служащего в элементе управления "список" именем нового служащего
ComboBox1.SelectedValue = dvEmployees(0).Item("EmployeeId")
Зададим в качестве значения по умолчанию для столбца Employee таблицы
20
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Salaries имя выбранного в данный момент сотрудника, поскольку данный столбец является
частью первичного ключа, он не должен оставаться незаполненным при вставке новой строки
dvSalaries.Table.Columns.Item("EmployeeId").DefaultValue = ComboBox1.SelectedValue
Предоставим пользователю доступ к части формы, предназначенной для редактирования.
Одновременно запретим доступ к части формы, отвечающей за выборку из списка сотрудников
GroupBox2.Enabled = True
GroupBox1.Enabled = False
Выведем в поля редактирования формы значения соответствующих столбцов новой строки,
большинство из которых пока являются пустыми
Refresh_EmployeeDetails()
End Sub
Кнопка DELETE
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
С помощью представления ограничим список выводимых записей только теми строками, для
которых EmployeeID равно EmployeeID сотрудника который в данный момент выбран в элементе
управления "список"
Удалим запись об этом служащем
dvEmployees.Sort = "EmployeeId"
dvEmployees.RowFilter="EmployeeId='"& ComboBox1.SelectedValue & "'"
dvEmployees(0).Delete()
Обновим содержимое таблицы Employees в самой базе данных при помощи метода Update
объекта Employees SQLDataAdapter
daEmployees.Update(ds)
End Sub
Рис. 3.5. Форма Сотрудники
Программный код формы Сотрудники с подробными комментариями приведен ниже:
Imports System.Data.SqlClient
Dim da As New SqlDataAdapter("SELECT * FROM Employees", cnn)
Private Sub Form7_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
MyBase.Load
21
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
cnn.Open()
da.Fill(ds, "Employees")
cnn.Close()
DataGrid1.DataSource = ds.Tables("Employees")
Dim dg As New DataGridTableStyle
dg.MappingName = "Employees"
DataGrid1.TableStyles.Add(dg)
DataGrid1.TableStyles("Employees").GridColumnStyles("EmployeeId").Width = 0
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
With da
.InsertCommand = New SqlCommand
With .InsertCommand
.Connection = cnn
.CommandText = "INSERT Employees(Firstname, Surname,"
.CommandText += " DateOfBirth, DateOfHire, LastReview,"
.CommandText += " Department) VALUES (@Firstname, @Surname, "
.CommandText += "@DateOfBirth, @DateOfHire, @LastReview, @Department)"
With .Parameters
.Add("@Firstname", SqlDbType.VarChar, 30, "FirstName")
.Add("@Surname", SqlDbType.VarChar, 30, "SurName")
.Add("@DateOfBirth", SqlDbType.SmallDateTime, 8, "DateOfBirth")
.Add("@DateOfHire", SqlDbType.SmallDateTime, 8, "DateOfHire")
.Add("@LastReview", SqlDbType.SmallDateTime, 8, "LastReview")
.Add("@Department", SqlDbType.Int, 4, "Department")
End With
End With
End With
da.Update(ds.Tables("Employees"))
End Sub
22
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Рис.3.6. Зарплаты сотрудников
Программный код формы Зарплаты сотрудников с подробными комментариями приведен
ниже:
Imports System.Data, System.Data.SqlClient
Dim cnn As
New
SqlConnection ("server=Persist
Security=SSPI;database=HumanResources;server=ABRZH")
Security
Info=False;
Integrated
Dim tabEmp As DataTable
Dim tabSalary As DataTable
Dim ds As New DataSet
Private Sub Form8_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
LoadDataSet()
End Sub
Private Sub LoadDataSet()
Dim da As New SqlDataAdapter("SELECT * FROM Employees; SELECT * FROM Salaries", cnn)
cnn.Open()
da.Fill(ds)
tabEmp = ds.Tables(0)
tabSalary = ds.Tables(1)
cnn.Close()
DataGrid1.DataSource = tabEmp
DataGrid2.DataSource = tabSalary
23
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Dim Binding As BindingManagerBase = Me.BindingContext(tabEmp)
AddHandler Binding.PositionChanged, AddressOf Binding_PositionChanged
Binding_PositionChanged(Nothing, Nothing)
End Sub
Private Sub Binding_PositionChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim Filter As String
Dim SelectedRow As DataRow
Dim Index As Integer = Me.BindingContext(tabEmp).Position
SelectedRow = tabEmp.Rows(Index)
Filter = "EmployeeID='" & SelectedRow("EmployeeID") & "'"
tabSalary.DefaultView.RowFilter = Filter
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim daEmp As New SqlDataAdapter("SELECT * FROM Employees", cnn)
Dim daSalary As New SqlDataAdapter("SELECT * FROM Salaries", cnn)
Dim cbEmp As New SqlCommandBuilder(daEmp)
Dim cbSalary As New SqlCommandBuilder(daSalary)
Dim tab As New DataTable
tab = ds.Tables(1).GetChanges(DataRowState.Deleted)
If Not tab Is Nothing Then
daSalary.Update(tab)
End If
tab = ds.Tables(0).GetChanges()
If Not tab Is Nothing Then
daEmp.Update(tab)
End If
tab = ds.Tables(1).GetChanges (DataRowState.Added Or DataRowState.Modified)
If Not tab Is Nothing Then
daSalary.Update(tab)
End If
ds.Clear()
LoadDataSet()
End Sub
24
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Рис.3.7. Выплаты сотрудникам
Программный код формы Выплаты сотрудникам с подробными комментариями приведен
ниже:
Imports System.Data, System.Data.SqlClient
Dim
cnn
As
New
SqlConnection("server=Persist
Security=SSPI;database=HumanResources;server=ABRZH")
Security
Info=False;Integrated
Dim ds As New DataSet
Private Sub Form6_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Dim cmd As New SqlCommand("SELECT EmployeeId,FirstName FROM Employees;" & "SELECT *
FROM Payments", cnn)
Dim da As New SqlDataAdapter(cmd)
da.Fill(ds)
cnn.Close()
Dim ParentCol As DataColumn = ds.Tables(0).Columns("EmployeeId")
Dim ChildCol As DataColumn = ds.Tables(1).Columns("EmployeeId")
Dim relation As New DataRelation("Emp_Payments", ParentCol, ChildCol)
ds.Relations.Add(relation)
Dim
ColSum
As
New
"SUM(Child(Emp_Payments).Amount)")
DataColumn("
Итого
",
GetType(Integer),
ds.Tables(0).Columns.Add(ColSum)
DataGrid1.DataSource = ds.Tables(0)
Dim
ColCount
As
New
DataColumn("
"COUNT(Child(Emp_Payments).Amount)")
Количество
выплат
",
GetType(Integer),
выплата
",
GetType(Integer),
ds.Tables(0).Columns.Add(ColCount)
DataGrid1.DataSource = ds.Tables(0)
Dim
ColMax
As
New
DataColumn("
"MAX(Child(Emp_Payments).Amount)")
Наибольшая
25
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
ds.Tables(0).Columns.Add(ColMax)
DataGrid1.DataSource = ds.Tables(0)
End Sub
5.4. Тестирование приложения пользователя
По результатам выполненного полнофункционального
приложения можно сделать следующие выводы:
тестирования
разработанного
 Все данные, хранящиеся в базе данных доступны для редактирования,
удаления, добавления с помощью созданных форм.
 Хранимые процедуры, размещенные в базе данных, успешно запускаются из
приложения и возвращают данные из базы данных в элементы управления
форм.
 Приложение регулирует установление и отключение соединения с базой
данных.
 После разрыва соединения приложение обеспечивает работу пользователя с
локальной копией данных, полученных из источника данных.
 Формы приложения реализуют поиск, фильтрацию и сортировку полученных
из источника данных.
6. ЗАКЛЮЧЕНИЕ
По имеющимся результатам тестирования приложения пользователя, реализующего
интерфейс к базе данных в информационной системе, можно сделать следующие выводы:
Все задачи, сформулированные для реализации в интерфейсе пользователя, успешно
решены.
Учтены все особенности доступа к удаленным данным в режиме активного подключения и
режиме отложенного доступа (работа с локальной копией данных).
7. ОСНОВНЫЕ ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ КУРСОВОГО
ПРОЕКТА
Курсовая работа оформляется в соответствии с Межгосударственными стандартами: ГОСТ
7.32-2001 «Отчет о научно-исследовательской работе. Структура и правила оформления», ГОСТ
7.1-2003 «Библиографическая запись. Библиографическое описание».
Основные позиции этих стандартов изложены в Приложении 3.
8. ПОДГОТОВКА КУРСОВОГО ПРОЕКТА К ЗАЩИТЕ И ЗАЩИТА
Получив курсовую работу после проверки руководителем, студент должен оформить ее в
соответствии с предъявленными требованиями, устранить логические и стилистические ошибки,
опечатки, сброшюровать (сшить), подготовить электронную презентацию (по согласованию с
руководителем).
Курсовую работу студент защищает перед руководителем в присутствии других студентов.
Руководитель может пригласить на защиту курсовых работ других преподавателей института.
На защите курсовой работы студент должен кратко изложить основное содержание работы,
акцентируя внимание на самостоятельно сделанных выводах, выполненных этапах разработки.
Позициями проекта, выносимыми на защиту, являются:
Анализ поставленной задачи, формализация требований, выбор программных средств
реализации проекта.
Программный код приложения пользователя.
26
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Интерфейс приложения (дизайн, функциональность элементов управления, наглядность и
адекватность интерфейса).
Базу данных для тестирования приложения.
Документирование этапов проектирования и программирования в пояснительной записке.
Защита курсового
расписанию.
проекта
проходит
в
соответствии
с
установленными
сроками
по
Оценка результатов курсового проекта выполняется в соответствии с перечисленными ниже
критериями.
На оценку УДОВЛЕТВОРИТЕЛЬНО:
Обязательное наличие пояснительной записки.
Программный код приложения с комментариями, базу данных.
Приложение, имеющее достаточную функциональность для работы с базой данных, имеющую
не менее 3-х связанных таблиц.
На оценку ХОРОШО:
Обязательное наличие пояснительной записки.
Программный код приложения с комментариями, базу данных.
Приложение, имеющее достаточную функциональность для работы с базой данных, имеющую
не менее 4-х связанных таблиц.
На оценку ОТЛИЧНО:
Обязательное наличие пояснительной записки.
Программный код приложения с комментариями, базу данных.
Приложение, имеющее достаточную функциональность для работы с базой данных, имеющую
не менее 5-ти связанных таблиц.
Пояснительная записка должна быть оформлена и распечатана в соответствии с описанными
требованиями Приложения 3.
Приложение пользователя и база данных для его тестирования, реализованные средствами
студии . NET Framework или любыми другими, должны быть продемонстрированы
непосредственно на компьютере.
Никакой программный код или его фрагменты, имеющиеся в методических разработках по
курсу, в качестве «собственной» разработки в курсовом проекте не принимается. Студент, не
выполнивший этого требования, снимается с защиты проекта.
9. ПРИМЕРЫ ЗАДАНИЙ НА КУРСОВУЮ РАБОТУ
Вариант 1
Интерфейс пользователя информационно-справочной системы
«Агентство недвижимости»
Информационно-справочная система должна обеспечивать хранение данных о жилых
объектах недвижимости, предназначенных для продажи, покупки, обмена в городе СанктПетербурге и его ближайших пригородах.
Информационная система основана на базе данных, которая содержит сведения об объектах
недвижимости:
 адрес объекта недвижимости;
 тип квартиры, количество
комнат,
изолированные;
27
метраж
комнат,
смежные
или
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
 удобства: метраж кухни, тип санузла – совмещенный или изолированный,
наличие ванны, наличие горячей воды, газовая или электрическая плита,
этаж, всего этажей, наличие лоджий и балконов;
 общий метраж квартиры, тип дома (кирпичный, блочный и т.д.), серия дома
(типовая серия дома).
В агентстве работают менеджеры, каждый из которых является исполнителем по конкретному
договору с владельцем жилья. Сведения о менеджерах также следует учитывать (фамилия, имя,
должность, телефон).
С владельцем объекта недвижимости заключается договор, предусматривающий условия
продажи / обмена / покупки / встречной покупки при продаже, обязательства сторон
(покупателя и продавца).
В роли продавца выступает Агентство, но исполнителем является менеджер агентства.
Информационная система должна обеспечивать хранение, поиск, подбор вариантов по
указанным пользователем критериям.
Вариант 2
Интерфейс пользователя информационно-справочной системы
«Гостиничный комплекс»
Информационно-справочная система должна обеспечивать хранение данных о номерах
гостиницы:
 количество мест в номере: одноместный номер, двухместный, трехместный,
 имеющихся
удобствах
номера:
наличие
телефона,
телевизора,
холодильника, балкона / лоджии и так далее,
 дополнительном сервисе гостиницы: стирка, химчистка, вызов такси и т.д.,
 этаже номера (наличие / отсутствие лифта),
 стоимости места в номере.
Клиенты гостиницы могут бронировать место для проживания заранее, оплачивая эту услугу.
При оплате проживания необходимо учитывать: стоимость места в номере определенной
категории (1, 2 или 3 местном), дополнительные услуги, оказанные проживающему клиенту,
междугородние переговоры, бронирование номера.
Чек на оплату может быть оплачен наличными деньгами или безналичным способом.
Вариант 3
Интерфейс пользователя информационно-справочной системы
«Продажа авиабилетов»
Информационно-справочная система должна обеспечивать хранение данных об авиа рейсах,
выполняемых из аэропорта города. Рейс имеет следующие характеристики: номер рейса,
аэропорт назначения, время в пути, тип самолета, выполняющий рейс. Рейс может быть
регулярным или чартерным. Для регулярного рейса следует хранить информацию о днях
недели, по которым рейс выполняется, для чартерного – даты вылета.
Продажа билетов на рейс выполняется с указанием номера рейса, даты вылета, аэропорта
назначения, времени в пути, номера места, стоимости билета. Стоимость билета зависит от
конкретного рейса (его продолжительности, типа самолета), а также от типа салона, в котором
пассажиру продано место. Билет может быть льготный по стоимости: детский, студенческий,
билет военнослужащего и так далее.
Бронирование билетов на рейс происходит за определенный срок (это зависит от того,
регулярный или чартерный рейс). Билет может быть сдан обратно, но с потерей стоимости
(шкалу потерь определите самостоятельно).
28
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Сведения о пассажирах следует также хранить в базе данных (требование безопасности).
Вариант 4
Интерфейс пользователя информационно-справочной системы
«Обеспечение учебного процесса в вузе»
Информационно-справочная система должна обеспечивать хранение данных:
 о факультетах (номер, название, руководитель);
 о кафедрах, существующих на факультетах (номер, название, факультет,
руководитель);
 о преподавателях, работающих на кафедрах (ФИО, уч. степень, должность,





кафедра);
о группах, обучающихся на кафедрах (номер, кафедра, специальность);
о студентах, учащихся в группах (ФИО, группа);
о специальностях, которым обучают кафедры (название, кафедра);
о дисциплинах, которые ведут преподаватели (название, преподаватель);
об учебных аудиториях (номер, тип – лекционная аудитория или аудитория
для практических занятий).
У информационной системы имеются различные пользователи (сотрудники деканата,
преподаватели, студенты), для которых необходимо разработать рабочие места, учитывающие
их потребности (определите самостоятельно).
Вариант 5
Интерфейс пользователя информационно-справочной системы
«Туристическое агентство»
Информационно-справочная система должна обеспечивать хранение данных о туристических
маршрутах, их направлениях, стоимости, датах прохождения, условиях.
Информационная система должна обеспечивать оформление договора с клиентом, хранение
сведений о клиентах для последующих рекламных кампаний.
Необходимо обеспечить возможность формирования сезонных каталогов о туристических
маршрутах.
Маршруты могут быть организованы как групповые или как индивидуальные. В случае
групповой организации каждый маршрут имеет определенное количество туристов,
обеспечивающих рентабельность маршрута.
Вариант 6
Интерфейс пользователя информационно-справочной системы «Учет
договоров фирмы»
Информационно-справочная система должна обеспечивать хранение данных о договорах,
выполняемых фирмой для заказчиков. Сведения о договоре должны включать: номер договора,
даты начала и окончания этапов, а также всего договора, состав (количество этапов, их
назначение, стоимость, продолжительность, руководитель). Договор имеет руководителя всего
договора, руководителей отдельных этапов, списки исполнителей.
Каждый этап договора сдается заказчику, результат сдачи фиксируется как протокол (номер,
оценка сдачи).
При заключении договора устанавливается стоимость выполнения всего договора и
отдельных его этапов. Стоимость выполнения этапов может корректироваться по итогам сдачи
предыдущих этапов.
29
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Необходимо предусмотреть пользователей системы различных категорий: менеджеры,
отвечающие за разработку и заключение договоров, руководителей, исполнителей.
Вариант 7
Интерфейс пользователя информационно-справочной системы «Услуги
фирмы – разработчика программного обеспечения»
Информационно-справочная система должна обеспечивать хранение данных об услугах,
оказываемых фирмой, занимающейся разработкой программного обеспечения.
Фирма занимается разработкой и внедрением компьютерных систем. Фирма может выполнить
только внедрение готовой системы, внедрение и сопровождение системы, полный цикл работ от
разработки до сопровождения.
Каждый проект имеет руководителя и состав исполнителей.
Проект имеет сроки и общую трудоемкость в человеко-днях. Проект разбивается на
отдельные работы, каждая работа оценена в трудоемкости и может быть поручена только
одному исполнителю. Суммарная трудоемкость проекта складывается из суммы трудоемкости
всех работ его составляющих.
Каждый заказ может находиться по плану в нескольких состояниях: разработка, отладка,
тестирование,
подготовка
документации,
сдача
заказчику,
пробная
эксплуатация,
окончательное внедрение и сопровождение.
Вариант 8
Интерфейс пользователя информационно-справочной системы
«Организация грузоперевозок»
Информационно-справочная система должна обеспечивать хранение данных об услугах,
предоставляемых транспортной компанией по перевозке грузов.
Информационная система должна хранить информацию о следующих объектах:
 имеющиеся




транспортные
средства
компании
и
их
технические
характеристики (тип, название, государственный номер);
сотрудники транспортной компании (ФИО, должность, категория);
заказчики (название, адрес, контактный телефон и т.д.);
рейс (адрес назначения, адрес отправления, даты отправления и прибытия,
исполнитель, транспортное средство);
заказы с указанием исполнителя, транспортного средства, заказчика,
адреса назначения, адреса отправления, сроков доставки, характеристик
груза, стоимости выполнения.
Информационная система должна обеспечивать формирование рейсов с оптимальным
подбором объема груза при совпадении адреса назначения.
Информационная система должна выполнять расчет стоимости перевозок с учетом всех
факторов: направления, расстояния, срочности, объема груза, количества задействованных в
перевозке транспортных средств и обслуживающего персонала.
Вариант 9
Интерфейс пользователя информационно-справочной системы
«Продажа железнодорожных билетов»
Информационно-справочная система должна обеспечивать хранение данных о поездах,
отправляющихся с вокзалов города.
30
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Данные о поезде должны включать:
 номер поезда, его направление (конечная станция, станции прохождения),
 время отхода, время в пути, время прихода на станции маршрута
следования, длительность остановок,
 тип поезда (скорый, пассажирский, фирменный).
Продажа билетов осуществляется бронированием мест в поезде с указанием:
 номера билета, номера поезда, номера вагона, номера места,
 паспортных данных пассажира,
 даты отправления состава со станции следования, конечная
станция
следования пассажира, станция посадки, станция назначения,
 тип вагона (плацкартный, купейный и так далее),
 стоимость билета с учетом льгот (дети, студенты,
другие
льготные
категории).
В информационной системе необходимо предусмотреть различные категории пользователей:
билетные кассиры, пассажиры, администраторы.
Вариант 10
Интерфейс пользователя информационно-справочной системы
«Поликлиника»
Информационно-справочная система должна обеспечивать хранение данных о расписании
приема врачей поликлиники и записи пациентов на прием.
При формировании
поликлиники:
базы
данных следует учитывать
следующие
особенности работы
Врач поликлиники является или врачом специалистом, или участковым врачом. Каждый
участковый врач обслуживает только один участок. Участок характеризуется перечнем улиц с
указанием домов, которые соответствуют данному участку. Расписания врачей сформированы
на неделю и не меняются. В расписании указаны часы приема, номер кабинета и день недели.
Врачи работают в две смены: утреннюю и вечернюю. Каждая смена имеет свои часы начала
смены и окончания смены. Для приема каждого пациента отводится строго определенное время,
поэтому прием врача делится на интервалы для приема одного пациента. Каждому интервалу
назначается номерок, содержащий порядковый номер и время начала приема, время окончания
приема.
В одном кабинете могут работать разные врачи, но только в разное время. В поликлинике
ведется учет предоставленных услуг, каждый больной имеет право на бесплатные услуги, если
он имеет медицинскую страховку.
С этой информационной системой должны работать пациенты, которые могут записаться на
прием к врачу. С информационной системой должны работать врачи: просматривать
очередность записанных пациентов. С системой должна работать администрация: количество
пациентов записавшихся, количество пациентов пришедших на прием, сведения о загрузке
кабинетов, сведения о загрузке врачей.
Вариант 11
Интерфейс пользователя информационно-справочной системы
«Продажа билетов на междугородние автобусные маршруты»
Информационно-справочная система должна обеспечивать хранение данных об автобусных
рейсах, выполняемых с городских автовокзалов. Информационная система должна
обеспечивать возможность бронирования мест на междугородние автобусы, поиска и просмотра
расписаний движения автобусов в определенном направлении, все данные о рейсе (номер,
дату, время в пути, стоимость, тип автобуса и так далее).
31
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Пользователями системы могут быть пассажиры, заказывающие билет в определенном
направлении на определенную дату. Пассажиры должны иметь возможность поиска
подходящего рейса автобуса по всем критериям: направление, время, дата, стоимость, тип
автобуса.
Кассиры должны иметь возможность поиска подходящего места по требованию пассажира и
формирование бланка билета в автоматизированном виде.
Менеджеры автовокзалов должны иметь возможность поддерживать базу данных о рейсах в
актуальном состоянии.
Система должна отслеживать наличие свободных мест и учитывать проданные места на всех
рейсах.
Вариант 12
Интерфейс пользователя информационно-справочной системы
«Видеотека»
Информационно-справочная
система
должна
обеспечивать
хранение
данных
о
видеофильмах, имеющихся в базе видеотеки. Данные о видеофильме, которые следует хранить
в базе данных информационной системы:
 Название фильма, название и автора литературного первоисточника, на




основе которого снят фильм;
Жанр, год выпуска, режиссер, исполнители главных ролей;
Краткое содержание, субъективная оценка фильма;
Награды, премии, участие фильма в кино конкурсах;
Факт наличия видеофильма в видеотеке.
Справочно-информационная система должна поддерживать поиск фильма по любому из
реквизитов. Пользователи системы могут искать фильм не только по названию, но
интересоваться творчеством определенного режиссера, известных актеров.
Менеджеры видеотеки должны иметь возможность вводить сведения о вновь поступивших
фильмах, фиксировать выдачу фильма пользователю, оформлять возврат фильма.
Вариант 13
Интерфейс пользователя информационно-справочной системы
«Справочник абитуриента»
Информационно-справочная система должна обеспечивать хранение данных обо всех вузах
города. Справочник должен содержать сведения о наименовании вуза, перечень
специальностей, конкурс прошлого года по каждой специальности для дневной, вечерней,
заочной формы обучения, размеры и условия оплаты обучения, наличии общежития для
иногородних студентов и условия проживания в нем.
Информационно справочная система должна помогать абитуриенту в выборе вуза и
специальности, выполняя запросы по всем интересующим абитуриента вопросам.
Информационно-справочная система должна иметь сервис, позволяющий сотрудникам вузов
вносить новые данные, корректировать текущие сведения о вузах и их специальностях.
Вариант 14
Интерфейс пользователя Информационно-справочной системы
«Городские службы быта»
Информационно-справочная система должна обеспечивать хранение данных об имеющихся в
городе службах бытового обслуживания населения: химчистках, прачечных, ателье по ремонту
32
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
и пошиву одежды, головных уборов, ремонту и пошиву обуви, мастерских по ремонту
электроаппаратуры, строительных фирм, выполняющих ремонт квартир и так далее.
Пользователя системы будут потребители услуг (горожане и гости города) и сотрудники
фирм, предоставляющих услуги населению.
Потребители услуг должны иметь возможность поиска требуемой услуги по любому
реквизиту: названию, стоимости, расстоянию фирмы от места проживания потребителя,
близости к метро.
Поставщики услуг должны иметь возможность поддержания сведений в системе в актуальном
состоянии: добавление, удаление, изменение данных.
Вариант 15
Интерфейс пользователя информационно-справочной системы
«Зачисление абитуриентов в вуз»
Информационно-справочная система должна обеспечивать хранение данных об абитуриента,
которые подали заявления в вуз. Информационная система должна хранить сведения об
абитуриенте: анкетные данные абитуриента, фотографию, оценки на вступительных экзаменах,
результаты собеседования, готовность учиться на коммерческой основе. Для ввода анкетных
данных в систему необходимо разработать анкету в электронном виде.
Для проведения и записи оценок, полученных абитуриентами на вступительных экзаменах,
следует разработать экзаменационные ведомости в электронном виде.
Для анализа результатов и зачисления абитуриентов в вуз следует разработать
автоматизированный алгоритм, помогающий администрации вуза принимать решение о
зачислении.
Пользователями системы будут:
 абитуриенты, которые могут самостоятельно заполнить электронную анкету,
просмотреть результаты проведения экзаменов и результаты зачисления в
вуз;
 сотрудники деканата, выполняющие все задачи по проведению приема
абитуриентов в вуз;
 ректорат вуза, принимающий решение о зачислении абитуриентов в вуз.
Вариант 16
Интерфейс пользователя информационно-справочной системы
«ГИБДД»
Информационно-справочная система должна обеспечивать хранение данных обо всех
транспортных средствах, зарегистрированных в городе. Эти сведения должны содержать:
государственный номер, марку, цвет транспортного средства, заводской и бортовой номера,
дату выпуска, особенности конструкции и окраски, дату последнего техосмотра, паспортные
данные владельца.
Информационно-справочная система также должна хранить сведения обо всех ДТП, в
которых участвовало транспортное средство, результатах расследования, виновниках аварии.
База данных информационной системы должна содержать сведения о водителях, лишенных
прав на управление транспортным средством, датой начала и окончания срока лишения прав.
База данных должна содержать сведения об угнанных транспортных средствах.
Все хранящиеся в системе данные должны быть доступны только сотрудникам ГИБДД.
Система должна иметь следующие сервисы:
 Предоставлять возможность редактирования записей;
 Внесения новых сведений по всем разделам хранимой информации;
33
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
 Осуществлять поиск по любому реквизиту, как по транспортному средству,
так и по владельцу автомобиля;
 Формировать сводные документы по техническим средствам, не прошедшим
в срок техосмотр.
Вариант 17
Интерфейс пользователя информационно-справочной системы
«Спортивного клуба»
Информационно-справочная система должна обеспечивать хранение данных о спортсменах,
состоящих в клубе: анкетные и антропологические данные, гражданство, возраст, вид спорта,
тренер, данные о личных рекордах и так далее и спортивных мероприятиях (соревнованиях,
турнирах, олимпиадах и т.д.), в которых принимают участие команды клуба.
Пользователями информационной системы должны быть тренеры, спортсмены, фанаты
клуба, менеджеры клуба – организаторы мероприятий. Каждая из категорий пользователей
должна иметь возможность поиска и просмотра списка турниров, встреч, соревнований.
Болельщики клуба должны иметь возможность просмотра календаря соревнований по каждой
команде, списки игроков и сведения о них поиск рекордсменов в заданном виде спорта,
просмотр результатов прошедших соревнований.
Тренеры и менеджеры должны иметь возможность формировать состав участников
очередных соревнований с указанием всех необходимых данных о каждом из участников.
Вариант 18
Интерфейс пользователя информационно-справочной системы
«Автосалон»
Информационно-справочная система должна обеспечивать хранение данных об имеющихся в
городе автосалонах, новых и подержанных автомобилях, которые в этих автосалонах
продаются. Для каждой автомашины необходимо хранить данные о марке автомобиля, годе
выпуска, технических характеристиках, особенностях исполнения, техническом состоянии,
стоимости автомобиля.
Пользователями системы могут быть покупатели и продавцы. Для покупателей необходимо
обеспечить в системе поиск необходимого варианта по всем имеющимся характеристикам: типу,
цене, году выпуска и так далее.
Для продавцов необходимо предусмотреть возможность
поступлениях и удаления сведений о проданных автомобилях.
ввода
сведений
о
новых
Вариант 19
Интерфейс пользователя информационно-справочной системы
«Городской очереди на получение жилья»
Информационно-справочная система должна обеспечивать хранение данных об очередниках
на получение или улучшение жилищных условий. Списки очередников должны быть
сформированы по районам города.
Сведения об очереднике, подлежащие хранению, следующие:




личные данные об очереднике (ФИО, адрес, паспорт, место работы);
состав семьи: дети, иждивенцы;
дата постановки на очередь;
размеры имеющейся жилой площади (адрес, тип дома, площадь квартиры /
комнаты, этаж, наличие удобства, наличие телефона и так далее);
34
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
 имеющиеся льготы (ветераны труда, войны, блокадники, инвалиды, дети-
инвалиды и так далее).
Необходимо хранить данные о предполагаемых требованиях очередников: размер будущей
площади, месторасположение, удобства и т.д.
Пользователями системы могут быть очередники. Для этой категории пользователей
необходимо предусмотреть просмотр очередности получения жилья для разных категорий
очередников (ветеранов, инвалидов, многодетных семей и т.д.).
Пользователями системы будут сотрудники организации, формирующей очередь (исполкома
или жилищного комитета). Эта группа пользователей должна поддерживать базу данных
очередников в актуальном состоянии: иметь возможность внесения сведений о вновь
поступающих на очередь, удаления клиентов, получивших жилье, формирование очередей для
различных категорий граждан, поиск, сортировку и другие операции с данными.
Вариант 20
Интерфейс пользователя информационно-справочной системы
«Коммерческие банки города»
Информационно-справочная
система
должна
обеспечивать
хранение
данных
о
наименованиях, адресах, статусе (форме собственности) городских банках. Пользователями
системы будут потенциальные вкладчики банков и банковские сотрудники.
Вкладчики должны иметь возможность выбрать условия хранения личных или корпоративных
средств на лицевых счетах: годовые проценты, типы вкладов, условия кредитования. Система
должна предоставлять возможность выбора банка с наибольшим процентом для заданного типа
вклада.
Для банковских служащих информационная система должна предоставлять возможности
изменения процентных ставок, условия кредитования и начисления процентов по вкладам,
ведения счетов клиентов (открытие счета, пополнение счета, начисление процентов).
Для администрации банков система должна предоставлять аналитическую отчетность по
типам вкладов, денежных суммах, хранящихся на счетах клиентов, сведения о погашении
долгов по выданным кредитам.
35
Download