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

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

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

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

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

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

Net.doc

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

      Сначала в проект нужно добавить новый стандартный модуль командой  Project / Add Module и дать ему имя, затем ввести программный код.

      Приведем  программный код модуля Decl.

      ‘ Подключение библиотек ввода и вывода для работы с файлами

      Imports System.IO

      Imports System.Text

 

      ‘ создание нового пространства имен для

      ‘ возможности подключения модуля к формам проекта

      Namespace Decl

 

      Module Declar

      ‘ Объявление пользовательского типа,

      ‘ описывающего структуру записи для

      ‘ входных данных – информации о  студенте

         Public Class TStud

           Public Kurs As Byte    ' курс

           Public Group As Byte    ' номер группы

           Public FIO As String ' фамилия, имя и отчество

           Public Spec As Integer' учетный номер специальности

           Public DataR As Date ' дата рождения

           Public Pol As Byte  ' пол

           Public Kol As Byte     ' количество экзаменов

           Public M(4) As Byte  ' полученные оценки

           Public len As Integer = 1 + 1 + 40 + 4 + 20 + 1 + 1 + 5

                                                     ' размер переменной

 

           Public Sub writeToFile(ByVal ff As FileStream)

             Dim writer As BinaryWriter = New BinaryWriter(ff)

             Dim tempstr As String

            

             If FIO.Length > 20 Then

               FIO = Left(FIO, 20)

             Else

               tempstr = New String(" ", 20 - FIO.Length)

               FIO = FIO + tempstr

             End If

 

             writer.Write(Kurs)

             writer.Write(Group)

 

             Dim temp() As Byte = _

     UnicodeEncoding.Unicode.GetBytes(FIO)

             writer.Write(temp)

             writer.Write(Spec)

 

             temp = _

     UnicodeEncoding.Unicode.GetBytes(DataR.ToString("dd.MM.yyyy"))

             writer.Write(temp)

 

             writer.Write(Pol)

             writer.Write(Kol)

             writer.Write(M)

           End Sub

 

           Public Sub writeToFile(ByVal ff As FileStream, _

     ByVal i As Integer)

             ff.Seek((i - 1) * len, SeekOrigin.Begin)

             writeToFile(ff)

           End Sub

 

           Public Sub ReadFromFile(ByVal ff As FileStream, _

     ByVal i As Integer)

             ff.Seek((i - 1) * len, SeekOrigin.Begin)

 

             Dim reader As BinaryReader = New BinaryReader(ff)

             Dim temp() As Byte

 

             Kurs = reader.ReadByte()

             Group = reader.ReadByte()

 

             temp = reader.ReadBytes(40)

             FIO = UnicodeEncoding.Unicode.GetString(temp, 0, 40)

 

             Spec = reader.ReadInt32()

 

             temp = reader.ReadBytes(20)

             DataR = _

     CType(UnicodeEncoding.Unicode.GetString(temp, 0, 20), Date)

 

             Pol = reader.ReadByte()

             Kol = reader.ReadByte()

             M = reader.ReadBytes(5)

           End Sub

         End Class

 

         ' Объявление пользовательского типа,

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

         ' входных данных справочника – информации о специальности

         Public Class TSpec

           Public Code As Integer   ' учетный номер специальности

           Public Number As String = New String(" ", 6)

     ' шестизначный код специальности

           Public Name As String = New String(" ", 100) 

     ' наименование специальности

           Public len As Integer = 4 + 7 + 200 ' размер переменной

 

           Public Sub writeToFile(ByVal ff As FileStream)

             Dim writer As BinaryWriter = New BinaryWriter(ff)

             Dim tempstr As String

 

             If Number.Length > 6 Then

               Number = Left(Number, 6)

             Else

               tempstr = New String(" ", 6 - Number.Length)

               Number = Number + tempstr

             End If

 

             If Name.Length > 100 Then

               Name = Left(Name, 100)

             Else

               tempstr = New String(" ", 100 - Name.Length)

               Name = Name + tempstr

             End If

 

             Dim temp() As Byte = _

     UnicodeEncoding.Unicode.GetBytes(Number)

 

             writer.Write(Code)

             writer.Write(temp)

             temp = UnicodeEncoding.Unicode.GetBytes(Name)

             writer.Write(temp)

           End Sub

 

           Public Sub writeToFile(ByVal ff As FileStream, _

     ByVal i As Integer)

             ff.Seek((i - 1) * len, SeekOrigin.Begin)

 

             writeToFile(ff)

 

         End Sub

 

         Public Sub ReadFromFile(ByVal ff As FileStream, _

     ByVal i As Integer)

             ff.Seek((i - 1) * len, SeekOrigin.Begin)

 

             Dim reader As BinaryReader = New BinaryReader(ff)

             Dim temp() As Byte

 

             Code = reader.ReadInt32()

             temp = reader.ReadBytes(12)

             Number = UnicodeEncoding.Unicode.GetString(temp, 0, 12)

 

             temp = reader.ReadBytes(200)

             Name = UnicodeEncoding.Unicode.GetString(temp, 0, 200)

           End Sub

         End Class

 

         ' Объявление пользовательского типа,

         ' описывающего структуру записи

         ' для вычисления среднего балла студента

         Public Class TBall

           Public Kurs As Byte    ' курс

           Public Group As Byte    ' номер группы

           Public FIO As String = New String(" ", 20)

           Public Sb As Single    ' средний балл

           Public len As Integer = 1 + 1 + 40 + 4 ' размер

                                                            ‘ переменной

 

         Public Sub writeToFile(ByVal ff As FileStream)

             Dim writer As BinaryWriter = New BinaryWriter(ff)

             Dim tempstr As String

 

             If FIO.Length > 20 Then

               FIO = Left(FIO, 20)

             Else

               tempstr = New String(" ", 20 - FIO.Length)

               FIO = FIO + tempstr

             End If

 

             Dim temp() As Byte = _

     UnicodeEncoding.Unicode.GetBytes(FIO)

 

             writer.Write(Kurs)

             writer.Write(Group)

             writer.Write(temp)

             writer.Write(Sb)

         End Sub

 

         Public Sub writeToFile(ByVal ff As FileStream, _

     ByVal i As Integer)

             ff.Seek((i - 1) * len, SeekOrigin.Begin)

 

            writeToFile(ff)

 

         End Sub

         Public Sub ReadFromFile(ByVal ff As FileStream, _

     ByVal i As Integer)

             ff.Seek((i - 1) * len, SeekOrigin.Begin)

 

             Dim reader As BinaryReader = New BinaryReader(ff)

 

             Kurs = reader.ReadByte()

             Group = reader.ReadByte()

             Dim temp() As Byte = reader.ReadBytes(40)

             FIO = UnicodeEncoding.Unicode.GetString(temp, 0, 40)

             Sb = reader.ReadSingle()

           End Sub

         End Class

 

     ' Объявление констант и переменных,

     ' используемых  в модулях форм,

     ' пользовательских  процедурах и функциях

     Public Const Nmax As Integer = 100

     Public Const PathUntitled As String = "с:\untitled.dan"

     Public Const PathTemp As String = "c:\$$$$.tmp"

 

     Public Path As String

     Public PathSpec As String

     Public Path1 As String

     Public Path2 As String

     Public FName As String

     Public richName As String

 

     Public f1 As FileStream

     Public F2 As FileStream

     Public F3 As FileStream

     Public F4 As Integer

     Public F1_sp As FileStream

 

     Public N As Integer

     Public NSpec As Integer

     Public Pos As Integer

 

     Public Ind(Nmax) As Integer

     Public Del(Nmax) As Integer

 

     Public Button As MsgBoxResult

 

      ‘ функция, которая закрывает все открытые рабочие файлы

     Public Sub CloseAllFiles()

         If Not (f1 Is Nothing) Then f1.Close()

         If Not (F1_sp Is Nothing) Then F1_sp.Close()

         If Not (F2 Is Nothing) Then F2.Close()

        If Not (F3 Is Nothing) Then F3.Close()

      End Sub

End Module

End Namespace

 

     После описания пользовательского модуля Declar необходимо изменить функцию обработки события выбора пункта меню «Выход». Измененная функция имеет вид:

 

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

         ByVal e As System.EventArgs) Handles mnuFileExitItem.Click

     If (vbYes =MsgBox("Действительно хотите выйти?",vbYesNo)) Then

       Decl.CloseAllFiles()

       End

     End If

   End Sub

 

9. Работа с файлами

9.1. Использование диалогового окна Windows

      Для открытия и сохранения файлов в проекте  используется стандартное диалоговое окно Windows, которое создается с использованием элементов управления соответственно OpenFileDialog и SaveFileDialog. Нанесем на главную форму с меню (frmMenu) объекты для работы с диалоговыми окнами для открытия и сохранения файлов, можно оставить им те имена, которые им присвоит система (OpenFileDialog1 и SaveFileDialog1), а можем дать другие имена. Заметим, что во время выполнения приложения данные элементы управления не видны.

      Окна диалога имеют определенные свойства и методы. Используемые нами в данной реализации свойства и методы для обоих типов объектов совершенно одинаковы, поэтому остановимся на свойствах только одного элемента управления при пояснении кодов процедур обработки событий для открытия и сохранения файлов. Что касается методов, то для обоих элементов будет использован метод ShowDialog() для получения имен диска, папки и файла соответственно для существующего файла и нового, сохраняемого файла.

      Приведем  фрагмент кода для вызова диалогового  окна Windows для открытия и сохранения файлов.

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