Автор работы: Пользователь скрыл имя, 11 Марта 2013 в 10:04, курсовая работа
Целью данного курсового проекта является спроектировать и реализовать на основе клиент/серверных технологий базу данных компьютерной фирмы, а также реализовать все необходимые для поиска и работы с компьютерными комплектующими запросы и отчеты.
Введение
4
1 Техническое задание
5
1.1 Анализ предметной области
5
1.2 Постановка задачи
13
2 Технический проект информационной системы
14
2.1 Функциональная модель
14
2.1.1 Контекстная диаграмма и диаграммы детализации процессов
14
2.1.2 Диаграмма дерева узлов
20
2.2 Информационная модель
21
2.2.1 Идентификация сущностей и связей. ER-диаграмма логического уровня
21
2.2.2 ER-диаграмма физического уровня. Ограничения ссылочной целостности. Определение триггеров
24
2.2.3 Определение представлений, хранимых процедур серверной компоненты
28
2.3 Верификация спроектированной логической модели
30
3 Реализация системы
38
3.1 T-SQL-определения регламентированных запросов
38
3.2 T-SQL-определения триггеров
40
3.3 T-SQL-определения хранимых процедур
44
3.4 T-SQL-определения курсоров
58
3.5 Описание клиентских приложений
59
4 Результат тестирования информационной системы
90
Заключение
91
Список использованных источников
92
cbxVendor.RowSourceType = "Table/Query"
cbxVendor.RowSource = "qGetAllVendorNames"
End Sub
Public Sub UpdateVendorAssort()
With CurrentDb.QueryDefs("
.Connect = strCurrentODBCConnectStr
.ReturnsRecords = True
.SQL = "EXECUTE GetVendorAssort"
If Not IsNull(cbxBarCode) Then
.SQL = .SQL & " '" & cbxBarCode & "'"
End If
End With
lbxVendorAssort.Requery
End Sub
Public Sub InitColumnsWidth()
lbxVendorAssort.ColumnWidths = "1 in;0.6 in;0.7 in"
End Sub
'return .listcount if not found
Public Function GetVendorAssortIndex(strVendor As String) As Long
With lbxVendorAssort
Dim i As Long
For i = 0 To .ListCount - 1
If (.ItemData(i) = strVendor) Then
Exit For
End If
Next i
End With
GetVendorAssortIndex = i
End Function
Private Sub lbxVendorAssort_Click()
With lbxVendorAssort
cbxVendor = .Column(0, .ListIndex + 1)
tbxOEMPrice = .Column(1, .ListIndex + 1)
tbxOEMCount = .Column(2, .ListIndex + 1)
End With
End Sub
Также код программы использует пользовательские общие процедуры и переменные, определенные в модуле mdlCommon:
Type CFOptions
bNoConnectionDialog As Boolean
End Type
Public Const iOptIDNoConnectionDialog As Integer = 1
Public Const strCustomStatusBarName As String = "CFStatusBar"
Public strCurrentODBCConnectStr As String
Public Options As CFOptions
Public Sub ErrorHandler()
Dim strError As String
Dim strShortError As String
Dim errLoop As Error
With DBEngine.Errors
.Refresh
If (.Count > 1 And .Item(.Count - 1).Number = Err.Number) Then
Dim i As Integer
' Enumerate Errors collection and display properties of
' each Error object.
For i = 0 To .Count - 2
strError = "Ошибка #" & .Item(i).Number & vbCr & _
" " & .Item(i).Description & vbCr & _
" (Источник: " & .Item(i).Source & ")" & vbCr
strShortError = .Item(i).Description & " "
Next
Else
strError = "Ошибка #" & Err.Number & vbCr & _
" " & Err.Description & vbCr & _
" (Источник: " & Err.Source & ")" & vbCr
strShortError = Err.Description
End If
End With
MsgBox strError, vbExclamation + vbMsgBoxHelpButton, "Компьютерная фирма - сообщение", Err.HelpFile, Err.HelpContext
SetStatus "Произошла ошибка: " & strShortError
End Sub
Public Sub CreateCustomBars()
CreateMainBar
End Sub
Public Sub CreateMainBar()
Dim cb As CommandBar
For Each cb In CommandBars
If cb.Name = strCustomStatusBarName Then
cb.Delete
End If
Next cb
Dim newBar As CommandBar
Dim newButton As CommandBarComboBox
Set newBar = Application.CommandBars.Add(
Set newButton = Application.CommandBars(
With newButton
.Text = ""
.Enabled = True
.Width = 800
End With
newBar.Position = msoBarTop
newBar.Visible = True
End Sub
Public Sub RemoveCustomBars()
Application.CommandBars(
End Sub
Public Sub TestConnection()
Dim qdfTest As QueryDef
Dim prmTest As Parameter
Dim rstTest As Recordset
Set qdfTest = CurrentDb.CreateQueryDef("")
With qdfTest
.Connect = strCurrentODBCConnectStr
.ReturnsRecords = True
.SQL = "DECLARE @param int EXECUTE Test @param OUTPUT SELECT @param"
Set rstTest = .OpenRecordset(dbOpenSnapshot)
End With
If (rstTest.RecordCount = 0 Or rstTest(0) <> 1234) Then
Err.Raise 513, CurrentDb.Name,
"Проверка соединения не
End If
rstTest.Close
SetStatus "Проверка соединения успешно пройдена"
End Sub
Public Sub MakeConnectionString()
Dim rstConnections As Recordset
Set rstConnections = CurrentDb.TableDefs("
With rstConnections
If .RecordCount = 0 Then
Err.Raise 513, CurrentDb.Name, "Нет информации о соединении"
End If
strCurrentODBCConnectStr = "ODBC;DSN=" & !DSN & _
";UID=" & !UID & _
";PWD=" & !PWD & _
";DATABASE=" & !Database
.Close
End With
End Sub
Public Sub LoadOptions()
Dim rstOptions As Recordset
Set rstOptions = CurrentDb.TableDefs("Опции").
With rstOptions
If .RecordCount = 0 Then
Err.Raise 513, CurrentDb.Name, "Нет информации об опциях"
End If
.FindFirst "Код_опции = " & CStr(iOptIDNoConnectionDialog)
If (.NoMatch) Then
Err.Raise 513, CurrentDb.Name, "Отсутствует сохраненное значение опции"
End If
If ![Значение] = "Да" Then
Options.bNoConnectionDialog = True
Else
Options.bNoConnectionDialog = False
End If
.Close
End With
End Sub
Public Sub SaveOptions()
Dim rstOptions As Recordset
Set rstOptions = CurrentDb.TableDefs("Опции").
With rstOptions
If .RecordCount = 0 Then
Err.Raise 513, CurrentDb.Name, "Нет информации об опциях"
End If
.FindFirst "Код_опции = " & iOptIDNoConnectionDialog
If (.NoMatch) Then
Err.Raise 513, CurrentDb.Name, "Отсутствует сохраненное значение опции"
End If
.Edit
If Options.bNoConnectionDialog Then
![Значение] = "Да"
Else
![Значение] = "Нет"
End If
.Update
.Close
End With
End Sub
Public Sub SetStatus(strStatus As String)
SysCmd acSysCmdSetStatus, strStatus
Dim ctlButton As CommandBarComboBox
Set ctlButton = Application.CommandBars(
With ctlButton
.Text = strStatus
End With
End Sub
Public Function IsNonNegativeNumber(s As String) As Boolean
If (IsNull(s)) Then
IsNonNegativeNumber = False
Exit Function
End If
s = Trim$(s)
If Not IsNumeric(s) Then
IsNonNegativeNumber = False
Exit Function
End If
If (s <> CStr(CLng(s))) Or (CLng(s) < 0) Then
IsNonNegativeNumber = False
Exit Function
End If
IsNonNegativeNumber = True
End Function
Public Function IsPositiveNumber(s As String) As Boolean
If (IsNull(s)) Then
IsPositiveNumber = False
Exit Function
End If
s = Trim$(s)
If Not IsNumeric(s) Then
IsPositiveNumber = False
Exit Function
End If
If (s <> CStr(CLng(s))) Or (CLng(s) <= 0) Then
IsPositiveNumber = False
Exit Function
End If
IsPositiveNumber = True
End Function
Public Function IsPercent(s As String) As Boolean
If (IsNull(s)) Then
IsPercent = False
Exit Function
End If
s = Trim$(s)
If Not IsNumeric(s) Then
IsPercent = False
Exit Function
End If
If (CDbl(s) < 0 Or CDbl(s) > 100) Then
IsPercent = False
Exit Function
End If
IsPercent = True
End Function
Public Sub ClearListBox(lbx As ListBox)
With lbx
Do While .ListCount > 0
.RemoveItem 0
Loop
End With
End Sub
Public Sub HideBars()
Dim cb As CommandBar
For Each cb In CommandBars
If cb.Name <> strCustomStatusBarName And (cb.Name <> "Menu Bar") And _
cb.Visible = True Then
cb.Visible = False
End If
Next cb
End Sub
4 Результат тестирования информационной системы
Для нормальной работы системы необходимо 256 Мбайт оперативной памяти, Windows NT/2000/XP и выше, Access 2000 и выше.
Результатом тестирования в данном случае может послужить создание отчета, содержащего информацию о работе библиотеке.
После тестирования получили результаты:
- Информационная система
поддерживает многопользователь
- Тестирование запросов прошло успешно.
В данном курсовом проекте разработана база данных с пятью клиентскими приложениями, которая хранится на SQL сервере. Для каждого пользователя составлены запросы формы и отчеты. Формы составлены на основе запросов и таблиц, и используются для занесения и модификации информации в базе данных.
Отчеты составлены на основе запросов и используются для получения информации и оформления документации.
Прогресс, достигнутый за последние несколько лет во всех аспектах вычислительной техники, включая теорию, технологию и приложения, привели к значительному расширению области применения компьютеров и росту числа их пользователей. Существенной частью современного общества являются разнообразные системы доступа и хранения информации, которые являются неотъемлемой составляющей современного научно-технического прогресса. Существует много веских причин перевода существующей информации на компьютерную основу, т.к. более быстрая обработка данных и централизация их хранения с использованием клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощает доступ и ведение.
Современные СУБД – многопользовательские системы управления базой данных, которые специализируется на управлении массивом информации одним или множеством одновременно работающих пользователей.
Во время выполнения курсового проекта была разработана многопользовательская информационная система «Компьютерная фирма».
При создании ИС использовались СУБД Microsoft ACCESS 2000, средство моделирования баз данных All Fusion Data Modeler 4.1, средство моделирования бизнес-процессов All Fusion Process Modeler 4.1, сервер баз данных Microsoft SQL server 2000, язык баз данных T-SQL.
Функциональная модель ИС описывает пять клиентских приложений. При разработке программного обеспечения использовались представления, хранимые процедуры с параметрами, триггеры, курсоры.
Все пункты курсового задания были выполнены, разработанная система выполняет поставленную перед ним задачу.
1. ГОСТ 19.101-77. Единая система
программной документации. Виды
программ и программных
2. ГОСТ 19.105-78. Единая система программной документации. Общие требования к программным документам. – М. : ИПК Изд-во стандартов, 2004. – 38 с.
3. Артемов, Д.В. Microsoft SQL Server 2000. Новейшие технологии / Д.В. Артемов. – М.: Издательско-торговый дом «Русская Редакция», 2001. – 576 с.
4. Астахова, И.Ф. SQL в примерах и задачах: учеб. пособие / И.Ф. Астахова, А.П. Толстобров, В.М. Мельников. – Мн.: Новое знание, 2002. – 176 с.
5. Гандерлой, М. Освоение Microsoft SQL Server 2005 : пер. с англ. / М. Гандерлой, Дж. Джорден, Д. Чанц. — М. : ООО "И. Д. Вильямс", 2007. — 1104 с.
Информация о работе Разработка информационной системы "Компьютерная фирма"