Читайте также: |
|
№ варианта | Бизнес-процесс | Примечания |
1. | Организация кадровой работы на предприятии[3] | |
2. | Организация планирования на предприятии | |
3. | Организация контроля качества продукции (работ, услуг) | |
4. | Организация выпуска продукции по профилю деятельности предприятия | По одному виду продукции |
5. | Организация выполнения работ по профилю деятельности предприятия | По одному виду работ |
6. | Организация оказания услуг по профилю деятельности предприятия | По одному виду услуг |
7. | Организация строительства объекта | По одному объекту |
8. | Организация проектирования инвестиционного объекта | По одному объекту |
9. | Организация выпуска нового вида продукции (работ, услуг) | |
10. | Организация снабжения предприятия материально-техническими ресурсами | |
11. | Организация управления жилищно-коммуналным хозяйством (предприятия) | |
12. | Организация управления инфраструктурой предприятия | |
13. | Организация управления запасами | |
14. | Организация диспетчирования на предприятии | |
15. | Получение кредита (займа) | |
16. | Предоставление кредита (займа) | |
17. | Оценка недвижимого имущества предприятия | |
18. | Оценка бизнеса предприятия | |
19. | Оценка автотранспорта предприятия | |
20. | Анализ производственно-хозяйственной деятельности предприятия (экономический анализ/ финансовый анализ) | |
21. | Организация финансового планирования (бюджетирования) на предприятии | |
22. | Формирование производственной программы предприятия на плановый (прогнозный) период | |
23. | Организация маркетингового исследования | |
24. | Организация бухгалтерского учета основных средств | В соответствии с ПБУ |
25. | Организация бухгалтерского учета материально-производственных запасов | То же |
26. | Организация бухгалтерского учета денежных средств | То же |
27. | Организация бухгалтерского учета ценных бумаг | То же |
28. | Организация бухгалтерского учета расчетов с контрагентами | То же |
29. | Организация бухгалтерского учета финансовых результатов | То же |
30. | Организация бухгалтерского учета налоговых разниц | То же |
31. | Организация налогового учета (налог на прибыль) | В соответствии с НК РФ |
32. | Организация управленческого учета на предприятии | |
33. | Формирование бухгалтерской отчетности предприятия | |
34. | Формирование налоговой отчетности предприятия | |
35. | Формирование статистической отчетности предприятия | |
36. | Организация планово-предупредительных ремонтов оборудования | |
37. | Инициативная тематика | По согласованию с преподавателем |
Выбор моделируемого бизнес-процесса производится индивидуально каждым студентом (рабочей группой студентов, использующих одно рабочее место) до начала выполнения лабораторной работы и согласовывается с преподавателем.
Не допускается повторение заданий в пределах учебной группы.
Приложение 2
Форма журнала документооборота
№ п\п | Наименование документа | Исполнитель | Кому передается | Периодичность исполнения | Сроки исполнения |
[1] При отсутствии на базовом предприятии необходимого количества исполнителей по данному бизнес-процессу необходимо по согласованию с преподавателем либо моделировать аналогичный бизнес-процесс применительно к среднему (крупному) предприятию либо моделировать процесс более общий, по отношению к заданному.
[2] Отчет представляется на формате А4. Защита и отчет могут приниматься преподавателем непосредственно на рабочем месте студента (рабочей группы).
[3] Под предприятием здесь и далее понимается базовая организация любой формы собственности и организационно-правового статуса (коммерческие, некоммерческие, государственные учреждения, органы государственной власти и т.д.), в которой студент проходил летнюю производственную практику.
Резюме
Резюме.
О реализации задания
Модель файловой системы представляет собой рабочий лист Microsoft Excel, на котором в виде ячеек представлены три логические структуры файловой системы:
· Каталог файлов
· Таблица распределения
· Область файлов
На рабочем листе также расположены две панели управления:
1) Операции с файлами
· добавить
· удалить
· перезаписать
2) Визуализация FAT
· показать файл
· убрать стрелки
Исходя из контекста вопроса параллельное выполнение процессов или потоков (MultiThreading) реализовывать нет необходимости. Учитывая эти факторы, а также необходимость разработки “дружественного” интерейса с применением графических примитивов, было решено использовать язык программирования VisualBasic (VBA) от фирмы Microsoft и электронную таблицу Excel 5.0 фирмы Microsoft.
Так как модель является типичной управляемой событиями системой, то алгоритм ее работы достаточно прост, а точнее представляет собой ряд алгоритмов, которые пересекаются только в среднем уровне абстракции. (см. ниже) События вызываются пользователем посредством воздействия на органы управления.
О примененных уровнях абстракции
Все возможные события были тщательно проанализированы автором и разделены на три категории, или на три уровня абстракции:
· События, вызываемые внешними воздействиями. Таковыми являются все события, вызываемые пользователем посредством вызова пунктов из групп операций с файлами.[2]
· События фундаментальной природы, т.е. базовые события, порождаемые предудущими. Их значительно меньше, и они никак не вникают в суть породивших из внешних событий.[3]
· События низкого уровня абстракции, которые являются искуственно синтезированными из предыдущих двух групп событиями и имеют целью понизить сложность системы за счет абстрагирования от непринципиальных тонкостей и усложнений в системе, диктуемых контекстом. Таковыми, например, являются события обработки неправильных ситуаций.[4]
Об интерфейсе
Интерфейс является интуитивно понятным и не навязчивым, всегда, насколько это возможно, является “демократичным” по отношению к пользователю. В программах, написанных таким стилем, очень четко прослеживается причинно-следственная связь, хорошо знакомая любому человеку и являющаяся неотъемлемой частью образного мышления. Это делат программу весьма простой в использовании, а алгоритм работы простым в понимании. Вся необходимая для работы информация представлена в диалогах, о неправильных ситуциях программа сообщает пользователю и это единственный (и законный) случай нарушения свободы действий пользователя.
Далее приводится исходный текст программы с обширными комментариями, в которых делается упор не на особенности языка программирования и конкретной реализации, а на представление составляющих файловой системы как объектов, а процедур и функций как методов, применяемых к этим объектам.
Макросы, вызываемые событиями
Public Type FileID 'Тип, описывающий файл: имя,размер и точка входа в FAT
Name As String
Size As Integer
First As Integer
End Type
Sub PressAddFile() 'Макрос, вызываемый кнопкой "Добавить Файл"
DialogSheets("Add").EditBoxes("Name").Text = "" 'подготовка диалога "Добавление файла"
DialogSheets("Add").EditBoxes("Size").Text = "" 'очистка полей ввода
Sheets("Add").Show 'Вызов диалога "Добавление файла"
With DialogSheets("Add") 'Проверка на правильность введенных данных
If (.EditBoxes("Name").Text = "") Or (.EditBoxes("Size").Text = "") Or (.EditBoxes("Size").Text = "0") Then Exit Sub
End With
Dim NewFile As FileID 'Экземпляр переменной с описанием создаваемого файла
With DialogSheets("Add")
NewFile.Name =.EditBoxes("Name").Text
NewFile.Size =.EditBoxes("Size").Text
End With
Call AddFile(NewFile) 'Вызов процедуры добавления файла
Refresh 'обновили графическое изображение размещения файлов
End Sub
Sub PressDeleteFile() 'в основном рабочем листе нажата кнопка Удалить Файл
temp = 4
With DialogSheets("Delete") 'подготавливаем к работе диалог Delete
.ListBoxes("Name").RemoveAllItems
While Sheets("Sheet").Cells(temp; 2) <> "" 'заполняем список имеющимися в каталоге файлами
.ListBoxes("Name").AddItem Text:=Worksheets("Sheet").Cells(temp; 2).Value; Index:=temp - 3
temp = temp + 1
Wend
.Show 'показываем диалог Delete
If.ListBoxes("Name") = 0 Then Exit Sub
Dim File As FileID 'переменная для идентификатора удаляемого файла.Передается процедуре DeleteFile
File.Name = Sheets("Sheet").Cells(.ListBoxes("Name") + 3; 2)
File.Size = Sheets("Sheet").Cells(.ListBoxes("Name") + 3; 3)
File.First = Sheets("Sheet").Cells(.ListBoxes("Name") + 3; 4)
Call DeleteFile(File) 'Вызываем процедуру удаления файла
Refresh 'обновили графическое изображение размещения файлов
End With
End Sub
Sub PressRemakeFile() 'нажата кнопка Изменить_размеры_файла
'по этому поводу подготавливаем к работе диалог Remake
temp = 4
With DialogSheets("Remake")
.ListBoxes("Name").RemoveAllItems
.EditBoxes("Size").Text = ""
While Sheets("Sheet").Cells(temp; 2) <> "" 'заполняем список имеющимися в каталоге файлами
.ListBoxes("Name").AddItem Text:=Worksheets("Sheet").Cells(temp; 2).Value; Index:=temp - 3
temp = temp + 1
Wend
.Show 'показываем диалог Remake
'при нажатии кнопки OK в диалоге запустится макрос DialogRemakePressOK
End With
End Sub
Sub DialogRemakePressName() 'в диалоге Перезапись выбран файл из списка
With DialogSheets("Remake") 'и поэтому в диалоге Перезапись обновляем поле размера файла в соотв. с выбранным файлом
.EditBoxes("Size").Text = Sheets("Sheet").Cells(3 +.ListBoxes("Name").ListIndex; 3).Value
End With
End Sub
Sub DialogRemakePressOK() 'в диалоге изменение размеров файла нажата кнопка OK
With DialogSheets("Remake")
.Hide 'убрали с экрана диалог
If.ListBoxes("Name").ListIndex = 0 Then Exit Sub
Dim File As FileID 'Экземпляр типа FileID - идентификатор файла
File.Name = Sheets("Sheet").Cells(3 +.ListBoxes("Name").ListIndex; 2).Text
File.Size = Sheets("Sheet").Cells(3 +.ListBoxes("Name").ListIndex; 3).Value
File.First = Sheets("Sheet").Cells(3 +.ListBoxes("Name").ListIndex; 4).Value
'проверка на наличие изменений
If.EditBoxes("Size").Text = File.Size Or.EditBoxes("Size").Text = "0" Then Exit Sub
'проверка на помещаемость
If.EditBoxes("Size").Text > (FreeSize + ((File.Size - 1) \ 8 + 1) * 8) Then
temp = MsgBox("Файл " & File.Name & " размером " &.EditBoxes("Size").Text & " не может быть размещен"; vbExclamation; "Перезапись файла")
Exit Sub
End If 'перезапись: удаление, а затем запись файла, но с другим размером
Call DeleteFile(File) 'удалили
File.Size =.EditBoxes("Size").Text 'изменили размер
Call AddFile(File) 'записали
Refresh 'обновили таблицу распределения файлов
End With
End Sub
Sub Visualisation() 'визуализация файла
temp = 4
With DialogSheets("Visualisation") 'подготавливаем к работе диалог Visualisation
.ListBoxes("Name").RemoveAllItems
While Sheets("Sheet").Cells(temp; 2) <> "" 'заполняем список имеющимися в каталоге файлами
.ListBoxes("Name").AddItem Text:=Worksheets("Sheet").Cells(temp; 2).Value; Index:=temp - 3
temp = temp + 1
Wend
.Show 'показываем диалог Visualisation
If.ListBoxes("Name") = 0 Then Exit Sub 'выбрали ли что-нибудь?
Dim NumberFile As Integer
NumberFile =.ListBoxes("Name").ListIndex 'номер по каталогу визуализируемого файла
Sheets("Sheet").Cells(NumberFile + 3; 2).ShowDependents 'показываем линии, проходящие от ячейки каталога с именем визуализируемого файла до всех занятых им ячеек области файлов
End With
End Sub
Базовые события
Const ColorOfPaper = 33 'цвет фона области файлов
Const ColorUsedPartOfFAT = 2 'цвет занятой части области файлов
Sub AddFile(NewFile As FileID) 'Процедурa добавления файла
'Проверка наличия присутствия в достаточном для создания файла количестве свободного пространства
If NewFile.Size > FreeSize Then
temp = MsgBox("Файл " + NewFile.Name + " не может быть размещен из-за нехватки свободного места."; vbExclamation; "Процесс создания файла")
Exit Sub
End If
count = NewFile.Size 'счетчик уже записанной части файла
NewFile.First = NextFreeCellFAT ' задание точки входа в FAT для данного файла
Dim PreviousCellFAT As Integer 'Номер последней модифицировавшейся ячейки FAT
PreviousCellFAT = NextFreeCellFAT
Call ToFAT(PreviousCellFAT; 0) 'Записали в нее ноль-признак того, что это последний (пока) кластер данного файла
count = count - 8 'как минимум 8 байт файла уже размещены
While count > 0 'пока весь файл не разместился
Call ToFAT(PreviousCellFAT; NextFreeCellFAT) 'в последнюю модифицировавшуюся ячейку FAT вносим указатель на следующую свободную ячейку
PreviousCellFAT = NextFreeCellFAT
Call ToFAT(PreviousCellFAT; 0) 'Записали в нее ноль-признак того, что это последний (пока) кластер данного файла
count = count - 8 'как минимум 8 байт файла уже размещены
Wend
Call AddFileToCatalog(NewFile) 'добавили файл в каталог
End Sub
Sub DeleteFile(File As FileID) 'процедура удаляет заданный файл без разговоров
Call DeleteCellFromFAT(File.First)
Call DeleteFileFromCatalog(File.Name)
End Sub
Sub Refresh() 'обновление изображения области файлов
With Sheets("Sheet")
.Range("F6:U13").Interior.ColorIndex = ColorOfPaper 'окрасили область файлов в цвет фона
.Range("F6:U13").Value = "" 'очистили все ячейки области файлов
.Range("F6:U13").NumberFormat = "0" 'формат числа для области файлов-целые числа
.ClearArrows 'убрали все стрелки
Dim PointerToFile As String
NumberFile = 1
While.Cells(NumberFile + 3; 2) <> "" 'последовательно просматриваем область файлов. Для каждого файлавыполняется следующая процедура:
NumberCellFAT =.Cells(NumberFile + 3; 4) 'точка входа в FAT N-ного файла
PointerToFile = "=R" & NumberFile + 3 & "C2" 'указатель на ячейку каталога с именем N-ного файла
Relation = (.Cells(NumberFile + 3; 3) - 1) Mod 8 'смещение. Являет собой размер неполностью заполненного кластера
While.Cells(3; NumberCellFAT + 5) <> 0 'просмотр FAT до признака конца цепочки
.Range(Cells(6; NumberCellFAT + 5); Cells(6 + 7; NumberCellFAT + 5)).Interior.ColorIndex = ColorUsedPartOfFAT + NumberFile 'выделение цветом очередного непоследнего кластера N-ного файла
.Range(Cells(6; NumberCellFAT + 5); Cells(6 + 7; NumberCellFAT + 5)).Font.ColorIndex = ColorUsedPartOfFAT + NumberFile
.Range(Cells(6; NumberCellFAT + 5); Cells(6 + 7; NumberCellFAT + 5)).Formula = PointerToFile 'каждая ячейка этого кластера теперь указывает на ячейку с именем файла в каталоге
NumberCellFAT =.Cells(3; NumberCellFAT + 5) 'взяли следующую ячейку FAT из цепочки
Wend 'теперь обработка последнего кластера N-ного файла. Отличается тем, что он может быть занят не полностью
.Range(Cells(6; NumberCellFAT + 5); Cells(6 + Relation; NumberCellFAT + 5)).Interior.ColorIndex = ColorUsedPartOfFAT + NumberFile
.Range(Cells(6; NumberCellFAT + 5); Cells(6 + Relation; NumberCellFAT + 5)).Font.ColorIndex = ColorUsedPartOfFAT + NumberFile
.Range(Cells(6; NumberCellFAT + 5); Cells(6 + Relation; NumberCellFAT + 5)).Formula = PointerToFile
NumberFile = NumberFile + 1 'работаем со следующим файлом
Wend
End With
End Sub
Макросы нижнего уровня абстракции
Function FreeSize() As Integer 'Функция для определения количества свободного места в области файлов
FreeSize = 0
temp = 6
While temp < 22 'просмотр области FAT
If Sheets("Sheet").Cells(3; temp).Value = "" Then _
FreeSize = FreeSize + 8 'если ячейка FAT пуста, то своб.места в ней 8 байт
temp = temp + 1
Wend
End Function
Function NextFreeCellFAT() As Integer 'Функция возвращает номер первого найденного свободного элемента FAT
NextFreeCellFAT = 1
While NextFreeCellFAT < 17
If Sheets("Sheet").Cells(3; NextFreeCellFAT + 5).Value = "" Then Exit Function
NextFreeCellFAT = NextFreeCellFAT + 1
Wend
End Function
Sub AddFileToCatalog(File As FileID) 'добавление файла в область каталога
temp = 4
With Sheets("Sheet")
While.Cells(temp; 2) <> ""
temp = temp + 1 'поиск свободного места в каталоге файлов
Wend 'кто дочитает до этого места-бутылка шампанского!
.Cells(temp; 2) = File.Name 'Запись в каталог информации о файле
.Cells(temp; 3) = File.Size
.Cells(temp; 4) = File.First
End With
End Sub
Sub DeleteFileFromCatalog(NameDeletedFile As String) 'удаление информации о файле из каталога
Position = 4
While Sheets("Sheet").Cells(Position; 2).Text <> NameDeletedFile
Position = Position + 1
Wend
For temp = Position To 16 + 3 'следующие за удаляемым файлом ячейки сдвигаются, _
затирая запись об удаляемом файле
Sheets("sheet").Range(Cells(temp; 2); Cells(temp; 4)).Value = _
Sheets("sheet").Range(Cells(temp + 1; 2); Cells(temp + 1; 4)).Value
Next
End Sub
Sub ToFAT(NumberCell As Integer; Value As Integer) 'Процедура записи в заданную ячейку FAT заданного значения
Sheets("Sheet").Cells(3; NumberCell + 5).Value = Value
End Sub
Sub DeleteCellFromFAT(StartCell As Integer) 'рекурсивная функция удаления цепочки из FAT _
Вызывается с номером точки входа
' MsgBox ("DeleteCellFromFAT, StartCell=" & StartCell)
If Sheets("Sheet").Cells(3; 5 + StartCell).Value = 0 Then 'если в рассматриваемой точке - 0, _
то это значит, что она является указателем конца файла
Sheets("Sheet").Cells(3; 5 + StartCell) = "" 'и поэтому очищаем эту ячейку FAT
Else 'в противном случае это указатель на следующую ячейку FAT - вызываем эту же процедуру
DeleteCellFromFAT (Sheets("sheet").Cells(3; 5 + StartCell).Value) 'но с новым номером ячейки FAT
Sheets("sheet").Cells(3; 5 + StartCell) = "" 'и затем ее очищаем
End If
End Sub
Список литературы, примененной при подготовке курсовой работы.
1. Microsoft Systems Journal, Sept 1989. Получен из Computer Library Periodicals, Jan 1990, Doc #14753 |
2. Профессиональная работа в MS-DOS, Р.Данкан, Мир, 1993 |
3. Excel 5.0 для профессионалов, Н.Николь, Р. Альбрехт, Москва, “Эком”, 1996 |
[1] Необходимо заметить, что именно такая структура использовалась в первой версии MS-DOS.
[2] PressAddFile
PressDeleteFile
PressRemakeFile
DialogRemakePressName
DialogRemakePressOK
Visualisation
[3] AddFile
DeleteFile
Visualisation
Refresh
[4] FreeSize
ToFAT
NextFreeCellFAT
AddFileToCatalog
DeleteCellFromFAT
DeleteFileFromCatalog
Дата добавления: 2014-12-18; просмотров: 116 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Задание. Выбор моделируемого бизнес-процесса | | | Заходите на http://www.doktor.ru - Русский медицинский сервер для всех! |