Проектирование информационной системы

Автор работы: Пользователь скрыл имя, 29 Декабря 2010 в 04:20, курсовая работа

Краткое описание

Функциональный подход реализует принцип движения «от задач» и применяется, когда определен комплекс задач, для обслуживания которых создается информационная система. В этом случае можно выделить минимальный необходимый набор объектов предметной области, которые должны быть описаны.

В предметном подходе объекты предметной области определяются с таким расчетом, чтобы их можно было использовать при решении множества разнообразных, заранее не определенных задач.

Вложенные файлы: 1 файл

Net.doc

— 623.50 Кб (Скачать файл)

         ‘ запрос имени файла базы данных

          With OpenFileDialog1

            .filename = ""

           .Filter = "Все файлы (*.*)|*.*|" + _

                     "текстовые файлы(*.txt)|*.txt|" + _

                     "файлы исх. данных(*.dan)|*.dan|" + _

                     "файлы результата (*.rez)|*.rez"

            .FilterIndex = 3

            ‘ метод, используемый для открытия файла

            .ShowDalog()

            Decl.Path = .filename

          End With

 

      В приведенном выше коде используются следующие свойства окна диалога: Filter – для списка возможных типов файлов, показываемых в поле ввода со списком для типа файла; FilterIndex – для вывода в окне для типа файла того типа, который в списке Filter имеет номер, задаваемый свойством FilterIndex. Имя выбранного файла помещается в окно для имени файла, а полное имя файла становится значением свойства FileName. Чтобы не использовать длинные имена,  полное имя файла записывается в переменную Path модуля Declar.

      При открытии файла появится диалоговое окно (рисунок 6), в котором необходимо выбрать файл, который нужно открыть.

      

      Рисунок 6. Диалоговое окно открытия файла

9.2. Создание файлов базы данных

      Создание  файлов базы данных выполняется при  выборе команды меню «Файл à Создать». Данной команде соответствует процедура обработки события mnuFileNewItem_Click, которая с помощью метода Show должна выводить на экран ту форму, при помощи которой будет производиться ввод новых и редактирование существующих записей данных.

      Вначале, для простоты работы с загрузкой  новых записей базы данных, основной рабочий файл с данными будем создавать в корневом каталоге какого-либо диска, например, диска «c:» с полным именем «c:\untitled.dan», а после выхода из формы для ввода и редактирования пользователю будет предложено сохранить данные в некотором файле. Для этих целей используем элемент управления «SaveFileDialog1» главной формы frmMenu. При этом фактически будет происходить переименование файла «c:\untitled.dan» и присвоение ему имени, введенного пользователем в окне диалога.

      Запишем процедуру обработки события выбора команды меню «Файл à Создать».

    Private Sub mnuFileNewItem_Click(ByVal sender As System.Object,_

      ByVal e As System.EventArgs) Handles mnuFileNewItem.Click

          Dim i As Integer

 

          ‘ закрываются все открытые  до этого времени файлы

          Decl.CloseAllFiles()

          ' открывается основной файл "c:\untitled.dan"

          Decl.Path = PathUntitled

          f1 = New FileStream(Decl.Path, FileMode.Create)

 

          ' и файл-справочник "c:\untitled.spe"

          PathSpec = Mid(Decl.Path, 1, Len(Decl.Path) - 4) +".spe"

          F1_sp = New FileStream(Decl.PathSpec, FileMode.Create)

 

          ' количество записей в основной таблице базы данных

          ' равно нулю

          N = 0

 

          ' инициализация индексного массива Ind, который будет

          ' использоваться для сортировки данных, и массива Del

          ' для пометки удаляемых записей

          For i = 1 To Nmax

            Ind(i) = i

            Del(i) = 0

          Next i

 

          ' основная форма становится неактивной

          Me.Enabled = False

 

          ' загрузка формы для ввода записей файла frmInputEdit

          frmInputEdit.Text = "Файл: " + Decl.Path

          frmInputEdit.Show()

          frmInputEdit.ShowNewZap()  ' пользовательская процедура

          ' ввода новой записи

      End Sub

 

      Поскольку, в данном коде программы участвует новая форма для ввода и редактирования данных, то необходимо добавить ее в проект, выполнив команду «Project/Add Windows Form», и дать новой форме имя frmInputEdit.

      Теперь  наш проект содержит две формы  и нужно указать, какая из них  является главной, т.е. запускается первой. Для этого нужно выполнить команду «Project/*имя проекта* Properties…» и в открывшемся диалоговом окне в поле ввода со списком StartUp Form выбрать в качестве стартового объекта форму frmMenu.

    Несмотря на то, что форма для ввода не содержит пока никаких элементов управления, запустите проект для проверки процедуры создания файлов и взаимодействия форм. Не забывайте регулярно сохранять проект.

10. Ввод и редактирование данных

10.1. Проектирование макета формы для ввода и редактирования данных

      Для ввода и редактирования информации о студентах, сохраняемых в виде записей в файле данных, используется форма, которой дано имя frmInputEdit, она является подчиненной формой для главной формы с меню. Макет формы frmInputEdit показан на рисунке 7. При помощи выносок указаны имена помещенных на форму элементов управления – компонентов (объектов) формы.

      Остановимся на тех элементах управления, которые  используются на макете данной формы.

      Надписи (тип Label) – это объекты с именами, имеющими префикс lbl, используются как подписи элементов формы. Из этих подписей ясно, какие элементы для каких полей данных используются.

      Текстовые поля (тип TextBox) – это объекты с именами, имеющими префикс txt: txtFIO – для поля «Фамилия И.О.»; txtM1, txtM2, txtM3, txtM4, txtM5 – группа объектов, которая используется для ввода оценок.

      Командные кнопки (тип Button) – это объекты с префиксами cmd, нажатие на кнопку (событие Click), как правило, вызывает определенное действие, связанное с кнопкой.

      Элементы  управления DateTimePicker, позволяющие достаточно удобно вводить даты: txtDR – для поля «Дата рождения».

      Рисунок 7. Форма для ввода и редактирования записей файла данных

      Комбинированные поля (тип ComboBox) – они сочетают возможности текстового поля и списка, который может быть раскрывающимся; этот тип элемента управления используется для значения поля «Пол» (ComPol), список значений этого поля задается свойством Items. Свойства элемента «ComPol» зададим следующим образом:

      Items   = “мужской”

                “женский”

      Sorted = True

 

      Для заполнения поля «Специальность» (ComSpec) используются данные из файла-справочника, список значений для этого поля формируется во время выполнения программы (код будет приведен ниже).

      Флажок (тип CheckBox) – используется для того, чтобы отметить записи, которые будут удалены из файла: Check1.

      Элемент управления NumericUpDown, который исполняет роль счетчика: txtKurs – для поля «Курс»; txtGroup – для поля «Группа»; txtKol – для поля «Количество оценок».

      Элемент «NumericUpDown» используется для изменения, как в сторону увеличения, так и в сторону уменьшения с заданным шагом, в нашем случае равным 1 (свойство «increment») значений полей «Курс», «Группа» и «Количество оценок». Свойства «minimum» и «maximum» задают нижнюю и верхнюю границы изменения счетчика соответственно.

      Для перемещения по записям файла  кроме командных кнопок используется также вертикальная полоса прокрутки, которая имеет имя «vscrZap», значения некоторых ее свойств определены следующим образом:

          minimum = 1

          maxmum = 100

          SmallChange = 1

          LargeChange = 2

          Value = 1

 

      В поле «специальность» при заполнении и просмотре записей основного файла базы данных должны подставляться данные из файла-справочника, для чего были составлены процедуры и функции, приведенные в следующем разделе.

    В этом месте  необходимо нанести на форму все  элементы управления, задать из свойства и протестировать форму в автономном режиме, чтобы сравнить результат проектирования с приведенным образцом. Для автономного тестирования сделайте стартовым объектом форму frmInputEdit.

 

10.2. Программное обеспечение формы для ввода и редактирования

      Программное обеспечение формы – это процедуры обработки событий, связанные с элементами управления формы, и пользовательские процедуры и функции, которые непосредственно с элементами не связаны.

10.2.1. Пользовательские процедуры и функции

      Сначала опишем пользовательские процедуры и функции для работы с файлом-справочником. С их помощью выполняется связывание основного файла базы данных с файлом-справочником для поля «специальность».

      Пользовательская процедура LoadSprav формирует список, который будет показан в поле ввода комбинированного списка ComSpec, т.е. во время выполнения программы формируется значение свойства Items элемента  ComSpec, в список Items загружаются все записи файла-справочника.

      Private Sub LoadSprav()

          Dim Sp As TSpec = New TSpec()

          Dim i As Integer

 
 

          ' очищаем список элемента ComSpec и  добавляем в него

          ' пустую строку

          ComSpec.Items.Clear()

          ComSpec.Items.Add(" ")

 

          ' определяем количество записей  в справочнике

          Decl.NSpec = F1_sp.Length \ Sp.len

 

          ' если есть хотя бы одна запись,

          If NSpec <> 0 Then

            ' то поочередно считываем их  из файла и 

            ' добавляем в список элемента ComSpec

            For i = 1 To NSpec

              Sp.ReadFromFile(F1_sp, i)

              ComSpec.Items.Add(Trim(Sp.Number) + _

                      " - " + Trim(Sp.Name))

            Next i

          End If

      End Sub

 

      Пользовательская  функция FindSpecCode, возвращает учетный номер специальности, находящейся в справочнике на указанной позиции, передаваемой в качестве параметра.

      Private Function FindSpecCode(ByVal number As Integer) As _

                                                                  Integer

          Dim Sp As TSpec = New TSpec()

 

          Sp.ReadFromFile(F1_sp, number)

          FindSpecCode = Sp.code

      End Function

 

      Пользовательская функция FindSpecIndex получает на вход учетный номер специальности и возвращает номер записи в файле-справочнике, соответствующие этой специальности.

      Public Function FindSpecIndex(ByVal code As Integer) _

      As Integer

          Dim Sp As TSpec = New TSpec()

          Dim i As Integer

          Dim temp As Integer

 

          ' определяется количество записей в справочнике

          NSpec = F1_sp.Length \ Sp.len

          temp = 0

          For i = 1 To NSpec

            ' поочередно считываются записи  из файла

            Sp.ReadFromFile(F1_sp, i)

            ' и если учетный номер записи совпадает,

            If (Sp.Code = code) Then

              ' то запоминается номер его  позиции

              temp = i

              ' и осуществляется выход из  цикла проверки

              Exit For

            End If

          Next

 

          ' возвращается запомненный номер  позиции

          FindSpecIndex = temp

      End Function

 

      Описав  все эти процедуры и функции, мы обеспечили взаимодействие данных основного файла с данными в файле-справочнике, т.е. обеспечили связь между файлами.

Информация о работе Проектирование информационной системы