Разработка информационной системы "Компьютерная фирма"

Автор работы: Пользователь скрыл имя, 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

Работа состоит из  1 файл

3Пример-Компьютерная фирма.doc

— 1.27 Мб (Скачать документ)

    cbxVendor.RowSourceType = "Table/Query"

    cbxVendor.RowSource = "qGetAllVendorNames"

End Sub

 

Public Sub UpdateVendorAssort()

    With CurrentDb.QueryDefs("qVendorAssort")

        .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(strCustomStatusBarName, , , True)

    Set newButton = Application.CommandBars(strCustomStatusBarName).Controls.Add(msoControlEdit)

    With newButton

        .Text = ""

        .Enabled = True

        .Width = 800

    End With

    newBar.Position = msoBarTop

    newBar.Visible = True

End Sub

 

Public Sub RemoveCustomBars()

    Application.CommandBars(strCustomStatusBarName).Delete

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("Соединение").OpenRecordset(dbOpenSnapshot)

    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("Опции").OpenRecordset(dbOpenSnapshot)

    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("Опции").OpenRecordset(dbOpenDynaset)

    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(strCustomStatusBarName).Controls(1)

    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. Единая система  программной документации. Виды  программ и программных документов. – М. : ИПК Изд-во стандартов, 2004. –   22 с.

2. ГОСТ 19.105-78. Единая система программной документации. Общие требования к программным документам. – М. : ИПК Изд-во стандартов, 2004. – 38  с.

3. Артемов, Д.В. Microsoft SQL Server 2000. Новейшие технологии / Д.В. Артемов. – М.: Издательско-торговый дом «Русская Редакция», 2001. – 576 с.

4. Астахова, И.Ф. SQL в примерах и задачах: учеб. пособие / И.Ф. Астахова, А.П. Толстобров, В.М. Мельников. – Мн.: Новое знание, 2002. – 176 с.

5. Гандерлой, М.  Освоение Microsoft SQL Server 2005 : пер. с англ. / М. Гандерлой, Дж. Джорден, Д. Чанц. — М. : ООО "И. Д. Вильямс", 2007. — 1104 с.

Информация о работе Разработка информационной системы "Компьютерная фирма"