Лабораторные работы по курсу
Лабораторные работы по курсу
«Проектирование информационных систем»
Из Приложения 1 необходимо выбрать тему лабораторных работ
Лабораторная работа № 1.
Построение диаграммы декомпозиции первого уровня в нотации IDEF0
Цель работы:
- кратко описать выбранную предметную область (чем занимается предприятие, какие основные процессы в нем происходят)
- определить контекст моделирования
- построить контекстную диаграмму в нотации IDEF0
Задание
1. Согласно варианту, создайте контекстную диаграмму. Определите цель, точку зрения модели. Опишите свойства в соответствующих закладках диалога Model Properties.
2. Задайте входы, выходы, механизмы и управление.
3. Создайте декомпозицию контекстной диаграммы, состоящую из 2-3 блоков. Задайте автоматическую нумерацию блоков и ICOM-кодов.
4. Установите связи между блоками. Задайте имена дуг.
5. Сохраните проект в отдельный файл.
Разработать модель предметной области
«Проектирование ИС»
AllFusion Process Modeler (далее BPwin) — CASE-средство для моделирования бизнес-процессов, позволяющая создавать диаграммы в нотации IDEF0, IDEF3, DFD. В процессе моделирования BPwin позволяет переключиться с нотации IDEF0 на любой ветви модели на нотацию IDEF3 или DFD и создать смешанную модель. BPwin поддерживает функционально-стоимостной анализ (ABC).
Работа с программой начинается с создания новой модели, для которой нужно указать имя и тип (рис.1).
Рисунок 1 Окно создания новой модели
От выбора типа модели зависит в каких нотациях можно производить декомпозицию работ. Так, если выбрать тип Business Process (IDEF0), то в созданной модели можно производить декомпозицию работ в нотациях IDEF0, IDEF3 и DFD; если выбран тип Data Flow (DFD)— в нотациях DFD и IDEF3; если же выбран тип Process Flow (IDEF3) — то только в нотации IDEF3.
После ввода имени модели и выбора ее типа BPWin сразу предложит задать параметры модели (рис. 2):
Рисунок 2 Задание параметров модели
· General— автор модели и его инициалы;
· Numbering — формат нумерации работ и диаграмм и порядок ее отображения на диаграммах;
· Display — список элементов отображения на диаграммах;
· Layout — параметры расположения;
· ABC Units — единицы функционально-стоимостного анализа;
· Page Setup — параметры страницы;
· Header/Footer — параметры верхнего и нижнего колонтитула.
После задания свойств модели появляется главное окно программы (рис. 3), состоящее из трех основных частей:
Рисунок 3 Окно работы программы
1 - обозреватель модели (Model Explorer) — отображает структуру модели (имеющиеся диаграммы и их иерархию);
2 - основная часть — в ней отображаются диаграммы, с которыми ведется работа;
3 - панели инструментов, из которых наибольший интерес представляет панель инструментов Model Toolbox.
Примечание. В созданной модели с настройками по умолчанию некорректно отображаются русские символы. Чтобы устранить этот недостаток, необходимо подкорректировать используемые в модели шрифты. Для этого в меню Model -> Default Fonts необходимо последовательно пройтись по всем пунктам (рис. 4), выбрать в выпадающем списке Script значение кириллический и поставить галочку Change all occurrences (рис. 5).
Рисунок 4. Пункты меню, отвечающие за настройки шрифта
Рисунок 5. Параметры шрифта
Панель инструментов Model Toolbox.
Данная панель инструментов отвечает за создание разнообразных графических элементов модели. В зависимости от типа текущей диаграммы набор кнопок на ней меняется.
Таблица 1 - Вид и назначение кнопок Model Toolbox
Вид кнопки | Название кнопки | Назначение кнопки |
Pointer Tool | Превращает курсор в стрелку указателя для того, чтобы можно было выделять объекты | |
- IDEF0 - DFD - IDEF3 | Activity Box Tool | Добавление на диаграмму новой работы |
Precedence Arrow Tool | Добавление на диаграмму новой стрелки | |
Squiggle Tool | Связывание названия стрелки с самой стрелкой | |
Text Tool | Добавление на диаграмму текста | |
Diagram Dictionary Editor | Вызов окна менеджера диаграмм для просмотра имеющихся диаграмм по типам и переход к выбранной | |
Go to Sibling Diagram | Переход между стандартной диаграммой, деревом узлов и FEO диаграммой | |
Go to Parent Diagram | Переход к родительской диаграмме | |
Go to Child Diagram | Переход к дочерней диаграмме | |
- DFD | External Reference Tool | Добавление на диаграмму внешней сущности |
- DFD | Data store Tool | Добавление на диаграмму хранилища данных |
- IDEF3 | Junction Tool | Добавление на диаграмму перекрестка |
- IDEF3 | Referent Tool | Добавление на диаграмму объекта ссылки |
Созданная модель уже содержит контекстную диаграмму с единственной работой ("черный ящик") в той нотации, которая была выбрана на этапе создания модели. Теперь необходимо дать этой работе название и при необходимости задать ее свойства. Для этого нужно вызвать окно свойств работы, дважды щелкнуть по ней мышью (рис. 6).
Рисунок 6. Окно свойств работы
Далее необходимо разместить на диаграмме стрелки. Для этого следует нажать на Model Toolbox кнопку Precedence Arrow Tool (курсор примет форму крестика со стрелкой), щелкнуть по тому месту, откуда стрелка должна выходить и затем щелкнуть по тому месту, куда стрелка должна заходить (BPwin подсветит эти места при наведении на них курсора). Для задания названия стрелки нужно нажать на Model Toolbox кнопку Pointer Tool и затем дважды щелкнуть по стрелке. В появившемся окне Arrow Properties название работы вводится в полеArrow Name или выбирается из списка имеющихся названий стрелок.
После размещения стрелок на диаграмме можно проводить декомпозицию ее работ. Для этого следует нажать на Model Toolbox кнопку Go to Child Diagram и затем щелкнуть по работе, которую нужно декомпозировать. Появится окно, в котором необходимо выбрать в какой нотации проводить декомпозицию и количество дочерних работ (рис. 7).
Рисунок 7. Создание дочерней диаграммы
После создания дочерней диаграммы BPwin автоматически создаст указанное число работ и разместит граничные стрелки по краям диаграммы. Далее следует связать граничные стрелки со входами работ (при необходимости можно добавить новые граничные стрелки) и связать работы между собой. Дальнейшая декомпозиция работ проводится аналогичным образом.
Целью данной и большинства последующих работ является моделирование деятельности выбранного предприятия. Для этого будут применяться методологии:
- IDEF0 - методология функционального моделирования
- IDEF3 - методология описания процессов
- DFD - методология моделирования потоков данных
- IDEF1X - методология моделирования данных
Диаграммы в первых трех методологиях будут создаваться с помощью CASE-средства AllFusion Process Modeler, IDEF1X - с помощью AllFusion ERwin Data Modeler.
Каждая диаграмма в нотациях IDEF0, IDEF3, DFD предназначена для описания одного или нескольких бизнес-процессов. Бизнес-процесс - это устойчивая, целенаправленная совокупность взаимосвязанных видов деятельности (последовательность работ), которая по определенной технологии преобразует входы в выходы, представляющие ценность для потребителя.
Результатом моделирования бизнес-процессов является модель бизнес-процессов, которая относится к одному из трех типов:
- модель AS-IS (как есть) - модель текущей организации бизнес-процессов предприятия
- модель TO-BE (как будет) - модель идеальной организации бизнес-процессов
- модель SHOULD-BE(как должно бы быть) - идеализированная модель, не отражающая реальную организацию бизнес-процессов предприятия
В лабораторных работах будет создаваться модель AS-IS.
Перед началом построения диаграмм необходимо изучить выбранную предметную область. В этой и последующих работах в качестве предметной области будет выступать вымышленное предприятие по сборке и продаже настольных компьютеров и ноутбуков. Компания не производит комплектующие самостоятельно, а только собирает и тестирует компьютеры. Основные процедуры в компании:
- продавцы принимают заказы клиентов;
- сотрудники группируют заказы по типам компьютеров;
- сотрудники собирают и тестируют компьютеры;
- сотрудники упаковывают компьютеры согласно заказам;
- кладовщик отгружает клиентам заказы
- снабженцы заказывают и доставляют комплектующие, необходимые для сборки.
Компания использует купленную бухгалтерскую информационную систему, которая позволяет оформить заказ, счет и отследить платежи по счетам.
Построение модели какой-либо системы в методологии IDEF0 начинается с определения контекста моделирования, который включает в себя субъекта моделирования, цель моделирования и точку зрения на модель.
Под субъектом понимается сама система, при этом необходимо точно установить, что входит в систему, а что лежит за ее пределами, другими словами, необходимо определить, что в дальнейшем будет рассматривать как компоненты системы, а что как внешнее воздействие.
Цель моделирования. Модель не может быть построена без четко сформулированной цели. Цель должна отвечать на следующие вопросы:
- Почему этот процесс должен быть смоделирован?
- Что должна показывать модель?
- Что может получить читатель?
Точка зрения. Не смотря на то, что при построении модели учитываются мнения различных людей, модель должна строиться с единой точки зрения. Точку зрения можно представить как взгляд человека, который видит систему в нужном для моделирования аспекте. Точка зрения должна соответствовать цели моделирования. В течении моделирования важно оставаться на выбранной точке зрения.
В данной работе субъектом будет выступать само предприятие, а именно процессы, происходящие внутри него; цель моделирования - воспроизвести бизнес-процессы, происходящие на предприятии (модель AS-IS); точка зрения - с позиции директора как лица, знающего структуру предприятия в целом.
После определения контекста моделирования можно приступать к построению контекстной диаграммы (называемой еще "черным ящиком"). Данный тип диаграммы позволяет показать, что подается на вход работы и что является результатом работы, без детализации ее составляющих. Данная диаграмма содержит только одну работу, которая будет представлять всю деятельность предприятия в целом (рис.8).
Рисунок 8. Контекстная диаграмма
Любая IDEF0 диаграмма состоит из прямоугольников, называемых работами (activity), и стрелок (arrow). Работа представляет собой некоторую конкретную функцию в рамках рассматриваемой системы. По требованиям стандарта название каждой работы должно быть выражено отглагольным существительным (например, "Изготовление детали", "Оформление заказа" и т.д.). Каждая из четырех сторон прямоугольника имеет свое определенное значение (рис.9):
Рисунок 9. Работа в IDEF0
- Вход – это потребляемая или изменяемая работой информация или материал
- Выход – информация или материал, которые производятся работой
- Управление – процедуры, правила, стратегии или стандарты, которыми руководствуется работа
- Механизмы – ресурсы, которые выполняют работу (например, сотрудники, оборудование, устройства и т.д.)
Для рассматриваемого предприятия входными стрелками будут:
- Заказы клиентов - список компьютеров и их конфигурация, которые клиент желает приобрести
- Комплектующие от поставщиков - комплектующие, полученные от поставщиков, из которых собираются компьютеры и ноутбуки
Выходные стрелки:
- Готовая продукция - собранные компьютеры и ноутбуки
- Заказы поставщикам - список комплектующих, которые предприятие закупает у поставщиков
- Оплата за комплектующие - деньги поставщикам за комплектующие
- Маркетинговые материалы - прайс-листы, рекламки и т.п.
Стрелки управления:
- Законодательство - различные законодательные документы, которыми руководствуется предприятие в процессе своей деятельности
- Правила и процедуры - различные правила и процедуры, которыми руководствуется предприятие в процессе своей деятельности (например, правила сборки и тестирования компьютеров, процедура общения с клиентами и т.п.)
Стрелки механизмов:
- Бухгалтерская система
- Персонал
Итоговая контекстная диаграмма имеет вид (рис.10):
Рисунок 10. Итоговая контекстная диаграмма
Содержание отчета:
- вариант индивидуального задания
- краткое описание выбранной предметной области (чем предприятие занимается, как функционирует)
- описание контекста моделирования
- контекстная диаграмма
Контрольные вопросы:
1. Для чего используется методология IDEF0.
2. Объясните необходимость задания цели и точки зрения модели?
3. Перечислите и расскажите назначения кнопок на панели инструментов.
4. Перечислите этапы декомпозиции блока.
5. Расскажите, каким образом на диаграмму добавить блок, дугу.
6. Дайте определение ICOM-кодов.
7. Для чего используются закладки General, Purpose, Definition, Status, Numbering, Display в диалоге Model Properties.
Лабораторная работа № 2
Лабораторная работа № 3.
Лабораторная работа 4
Лабораторная работа № 5.
Лабораторная работа № 6.
Лабораторная работа № 7.
FEO диаграммы
FEO (For Exposition Only) диаграммы (другое название - диаграммы только для экспозиции, описания) используются для иллюстрации альтернативной точки зрения, для отображения отдельных деталей, которые не поддерживаются явно синтаксисом IDEF0. FEO диаграммы позволяют нарушить любое синтаксическое правило, посколько эти диаграммы - фактически обычные картинки - копии стандартных диаграмм. Например, работа на FEO диаграмме может не иметь стрелок выхода или управления. AllFusion Process Modeler позволяет также строить FEO диаграммы для диаграмм в нотации DFD.
Для построения FEO диаграммы необходимо выбрать пункт меню Diagram -> Add FEO Diagram и в появившемся окне выбрать диаграмму, на базе которой будет строиться FEO диаграмма (рис. 1).
Рисунок 1. Добавление FEO диаграммы
Созданная диаграмма будет точной копией родительской диаграммы и будет иметь номер, равный номеру родительской диаграммы + буква F. После создания диаграммы ее можно изменять. При этом изменения не будут влиять на родительскую диаграмму.
Для просмотра списка имеющихся FEO диаграмм нужно выбрать в Обозревателе Модели (Model Explorer) вкладку Diagrams (рис.2).
Рисунок 2. Просмотр списка имеющихся FEO диаграмм
Построим FEO диаграмму для диаграммы декомпозиции второго уровня А0 "Деятельность предприятия по сборке и продаже компьютеров и ноутбуков" и покажем на ней как дочерние работы связаны между собой. Для этого создаем диаграмму, как показано выше, и удаляем на ней все граничные стрелки. Итоговая FEO диаграмма показана на рис.3:
Рисунок 3. FEO диаграмма
Диаграммы дерева узлов
Диаграмма дерева узлов показывает иерархическую зависимость работ, но не взаимосвязи между работами. В одной модели диаграмм дерева узлов может быть множество, поскольку дерево может быть построено на произвольную глубину и не обязательно с корня.
Для построения диаграммы дерева узлов необходимо выбрать пункт меню Diagram -> Add Node Tree. Появляется мастер, с помощью которого диаграмма будет создана. На первом шаге (рис.4) задается имя диаграммы дерева узлов, узел верхнего уровня и глубина дерева. Имя дерева узлов по умолчанию совпадает с именем работы верхнего уровня, а номер диаграммы генерируется автоматически как номер узла верхнего уровня + буква N.
Рисунок 4. Создание диаграммы дерева узлов. Шаг 1
На втором шаге мастера (рис.5) задаются свойства диаграммы дерева узлов.
Рисунок 5. Создание диаграммы дерева узлов. Шаг 2
По умолчанию нижний уровень декомпозиции показывается в виде списка, остальные работы - в виде прямоугольников. Если необходимо отобразить все дерево в виде прямоугольников, то следует снять галочку возле опции "Bullet last level". Список всех созданных диаграмм дерева узлов можно посмотреть в Обозреватели Модели.
Диаграмма дерева узлов для всех узлов модели показана на рис. 6:
Рисунок 6. Диаграммы дерева узлов
Содержание отчета:
- FEO диаграмма
- диаграмма дерева узлов
Лабораторная работа № 8.
Лабораторная работа № 9.
IDEF1X
IDEF1X основан на подходе Чена и позволяет построить модель данных, эквивалентную реляционной модели в третьей нормальной форме. Нотация Чена и сам процесс построения диаграмм сущность-связь изучалась в курсе "Организация баз данных и знаний", поэтому здесь мы рассмотрим только отличия IDFE1X от нотации Чена.
Сущность (Entity) - реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предметной области. Каждая сущность должна иметь наименование, выраженное существительным в единственном числе. Каждая сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного типа сущности.
Атрибут (Attribute) - любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Наименование атрибута должно быть выражено существительным в единственном числе.
Связь (Relationship) - поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области.
В методе IDEF1X все сущности делятся на зависимые и независимые от идентификаторов. Сущность является независимой от идентификаторов или просто независимой, если каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями. Сущность называется зависимой от идентификаторов или просто зависимой, если однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности. Независимая сущность изображается в виде обычного прямоугольника, зависимая - в виде прямоугольника с закругленными углами.
В IDEF1X существуют следующие виды мощностей связей:
- N мощность - каждый экземпляр сущности-родителя может иметь ноль, один или более одного связанного с ним экземпляра сущности-потомка (по умолчанию);
- Р мощность - каждый экземпляр сущности-родителя должен иметь не менее одного связанного с ним экземпляра сущности-потомка;
- Z мощность - каждый экземпляр сущности-родителя должен иметь не более одного связанного с ним экземпляра сущности-потомка;
- конкретное число - каждый экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров сущности-потомка.
Связь изображается линией, проводимой между сущностью-родителем и сущностью-потомком, с точкой на конце линии у сущности-потомка. По умолчанию мощность связи принимается равной N. Если экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем, то связь называется идентифицирующей, в противном случае — неидентифицирующей. Идентифицирующая связь изображается сплошной линией, неидентифицирующая - пунктирной линией.
В ERwin'е при установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ (FK). При установке неидентифицирующей связи атрибуты первичного ключа родительской сущности мигрируют в состав неключевых полей дочерней сущности.
Построение логической модели данных предприятия по сборке и продаже компьютеров и ноутбуков. Построение модели данных начинается с выделения сущностей данной предметной области. В нашем случае были выделены следующие сущности:
- клиент - человек, который покупает компьютеры
- заказ - список компьютеров, которые покупает клиент
- компьютер
- комплектующие - то, из чего собирают компьютеры
- сотрудник - сотрудник предприятия, собирающий конкретный компьютер
Далее рассмотрим связи между сущностями:
- Клиент - Заказ. Один клиент может делать несколько заказов. При этом если данные о клиенте имеются в базе данных, то он сделал минимум один заказ. Поэтому мощность связи - Р. Связь идентифицирующая, т.к. заказ без клиента существовать не может;
- Заказ - Компьютер. В рамках одного заказа клиент может заказать несколько компьютеров, но как минимум заказ должен состоять из одного компьютера. Поэтому мощность связи - Р. Связь идентифицирующая, т.к. компьютер без заказа существовать не может;
- Компьютер - Комплектующие. В состав одного компьютера входит много различных комплектующих; один и тот же тип комплектующего может входить в состав разных компьютеров. Мощность связи - много ко многим. В IDEF1X такой тип связи отсутствует, поэтому вводим промежуточную (ассоциативную) сущность - Конфигурация. Мощность связи между сущностями Компьютер и Конфигурация - Р, поскольку у любого компьютера должна быть конфигурация, мощность между сущностями Комплектующие и Конфигурация - N, поскольку какие-то комплектующие еще могут быть не установлены ни в один компьютер. Связь в обоих случаях идентифицирующая, т.к. конфигурация компьютера не может существовать без привязки к самому компьютеру и к комплектующим;
- Комплектующие - Тип комплектующих. Поскольку перечень типов комплектующих, которые могут быть установлены в компьютер, ограничен, но используется очень часто, то мы приняли решение создать еще одну сущность - Тип комплектующих. Мощность связи - Р. Связь идентифицирующая;
- Компьютер - Сотрудник. Каждый компьютер собирается каким-то одним сотрудником. Какие-то сотрудники могут собирать множество компьютеров. Мощность связи - N. Тип связи - неидентифицирующая, поскольку экземпляр сущности Компьютер уже может существовать, но за ним еще может быть не закреплен ни один сотрудник. Именно из этих же соображений в свойствах этой связи мы выбрали переключатель "Nulls Allowed" (на диаграмме это отображается в виде незакрашенного ромбика со стороны сущности-родителя.
Итоговая диаграмма показана на рис. 1:
Рисунок 1. Логическая модель данных предприятия по сборке компьютеров и ноутбуков
Содержание отчета:
- логическая модель данных предметной области
- краткое описание каждой сущности
Лабораторная работа № 9
Лабораторная работа № 11
Лабораторная работа № 7
Лабораторная работа №9
Порядок выполнения работы
Изучите теоретический материал из предложенной ниже литературы.
Задание 1.
Создать Windows форму.
В качестве приложения разработать простое приложение, пользовательского интерфейса которое будет содержать только главное окно. Для этого необходимо выполнить следующие шаги:
1. Создайте рабочую область, называемую также рабочей средой (проектирования), рабочим пространством и рабочей обстановкой нового проекта. Для создания каркаса приложения можно использовать мастер создания приложений - Application Wizard.
Рис. 9.1. Создания каркаса приложения
2. Создание рабочей среды нового проекта производится следующим образом:
Щелкните на ссылке Project (Создать новый проект) метки Create на начальной странице (Start Page) VS.NET. При этом откроется окно создания нового проекта New Project.
3. Для разметки окон приложения в соответствии с требованиями пользователя необходимо изменить свойства класса Forms1. Это можно сделать с помощью дизайнера окон (Form Designer), путем изменения свойств в окне Свойства (Properties) или в коде программы, аналогичным способом можно изменить и другие свойства окна.
4. На вкладке Properties измените значение в поле Text (Заголовок) на Проект БИ. При этом на форме изменится заголовок окна рис. 9.2.
Рис. 9.2. Изменение значения в поле Text на вкладке Properties
5. Откомпилируйте приложение, выбрав из главного меню команду Build :Build Project_БИ. В строке состояний должно появиться сообщение: Build succeeded
6. Для запуска приложения выберите из главного меню команду Debug/Start (F5). Приложение запустится в отладочном режиме и на экране появится разработанное окно.
Задание 2.
На Windows форме создать кнопку "Приветствие".
1. Добавьте в главную форму элемент контроля - кнопку.
2. Для этого откроем вкладку ToolBox рис. 9.3. и сначала щелкнем на элементе Button вкладки, а затем щелкнем на форме. В результате получим форму с кнопкой.
Рис. 9.3. Вкладка ToolBox
3. Для задания текста на кнопке выделите ее на форме и откройте вкладку Свойства и измените свойство Text на «Приветствие»
Рис. 9.4. Форма с измененным свойством Text кнопки
4. Для связывания функций кнопки с диалоговым окном необходимо создать обработчик события на нажатие кнопки. Для этого двойным щелчком мыши по кнопке откройте код приложения, в котором сформируется шаблон функции обработчика события Click для кнопки:
private void button1_Click(object sender, EventArgs e){}5. В полученный шаблон добавьте функцию вывода диалогового окна с сообщением.
private void button1_Click(object sender, EventArgs e){// СообщениеMessageBox.Show("Поздравляю с первым проектом на C#");}6. После компиляции и запуска приложения получим следующее окно приложения рис.9.5, а при нажатии кнопки будет выведено сообщение.
Рис. 9.5. Результат выполнения приложения
Задание 3.
Аналогично пункту 1 добавить в форму две кнопки (1 и 2), для которых задать различные цвета (свойство BackColor).
1. Добавьте на Windows форму 2 кнопки.
2. Напишите для них обработчики, которые изменяют цвета кнопок: при неоднократном нажатии любой кнопки цвета кнопок меняются (цвет кнопки 1 меняется на цвет кнопки 2 и наоборот).
Задание 4.
Добавьте кнопку "Выход"
1. Добавьте кнопку "Выход" Windows форму. Закрытие приложения обеспечивает метод Exit( ) класса Application.
2. Протестировать работу приложения.
Рис. 9.6.
Содержание отчета
- Создание Windows формы и создание кнопок на данной форме, написании для кнопок 1 и 2 обработчиков.
2. Тестирование работы приложения.
3. Выводы о проделанной работе.
Контрольные вопросы
1. Для создания кода на каких языках можно использовать Visual Studio?
2. Какие функциональные возможности в приложении имеет вкладка Properties?
3. Какой элемент должны стоять в C# при вызове функции за ее именем, даже если данной функции не передается ни один параметр?
4. Что необходимо учитывать при вводе программ, написанных на языке C#?
5. В какой элемент всегда заключается тело функции?
Литература[3-4, 11-12].
Лабораторная работа №10
План проведения занятия
1. Изучить теоретический материал.
2. Создать главное меню для пунктов главного меню создать подпункты
3. Создать дочернее окно. В дочернее окно добавить пункты меню.Написать обработчик для вызова из главного меню дочернего окна.
4. Создать модальное диалоговое окно с помощью класса MessageBox. пользовательское модальное диалоговое окно для пункта меню "О программе". Написать обработчики для вызова модальных окон.
5. Создать коды методов-заглушек для функций приложения.
6. Создать обработчики для вызова пунктов меню, панели инструментов и контекстного меню
7. Протестировать работу приложения.
Порядок выполнения работы
Задание 1.
Создание меню
1. Создайте стандартное ниспадающего меню, позволяющее пользователю выйти из приложения, выбрав пункт Объект / Выход. Для этого перетащите элемент управления MenuStrip на форму в конструкторе рис. 10.1.
Главное меню, должно включать следующие пункты: "Объект", "Справочник", "Справка".
При помощи графических средств можно настроить свойства любого элемента меню. Для пунктов меню задайте свойства:
"Объект" - свойство Name равным objektToolStripMenuItem,
"Выход" - exitToolStripMenuItem,
"Справка" - HelpToolStripMenuItem.
Рис. 10.1. Элемент управления MenuStrip
2. Для пункта "Объект" создать следующие подпункты: "Сотрудник", "Клиент", "Договор", "Поручение", "Сделка", "Выход.
Элемент управления MenuStrip позволит вводить текст меню непосредственно в элементы меню рис. 10.2.
Рис. 10.2. Простое меню на форме
3. Для пункта "Справочник" создать следующие подпункты: "Должность", "Страна", "Регион", "Город", "ИМНС". Для пункта "Справка" создать подпункт - "О программе".
Сделайте двойной щелчок на пункте меню "Выход" объект xitToolStripMenuItem Visual Studio автоматически сгенерирует оболочку для обработчика события Click и перейдет в окно кода, в котором нам будет предложено создать логику метода (в нашем случае exitToolStripMenuItem_Click):
private void exitToolStripMenuItem_Click(object sender, EventArgs e){// Здесь мы определяем реакцию на выбор пользователем пункта меню}4. На вкладке Свойства (Properties) при выводе окна событий, нажмите кнопку событию Click будет соответствовать метод menuItemExit_Click рис. 10.3.
Рис. 10.3. Событие Click и обработчик события exitToolStripMenuItem_Click
5. Напишите код обработчика для корректного завершения приложения exitToolStripMenuItem_Click. Это можно сделать с помощью метода Exit класса Application:
private void exitToolStripMenuItem_Click(object sender, EventArgs e){Application.Exit();}6. Протестируйте созданное меню, для этого создайте обработчик для пункта меню "Объект", который будет сообщать, что выбран именно этот пункт меню:
private void objektToolStripMenuItem_Click(object sender, EventArgs e){MessageBox.Show("Пункт меню Объект");}При создании меню графическими средствами Visual Studio автоматически внесет необходимые изменения в служебный метод InitializeComponent и добавит переменные-члены, представляющие созданные элементы меню.
Задание 2.
Создание дочерней формы
Основа Интерфейса (MDI) приложения - MDI родительская форма. Это - форма, которая содержит MDI дочерние окна. Дочерние окна являются "подокнами", с которыми пользователь взаимодействует в MDI приложении.
1. Для определения главного окна (Form1), как родительской формы в окне Свойств, установите IsMDIContainer свойство - true. Это определяет форму как MDI контейнер для дочерних форм. Для того чтобы родительское окно занимало весь экран необходимо свойству WindowsState установить значение Maximized.
2. Создайте еще одно окно, которое будет дочерним (FormEmployee). Для этого выберите пункт меню Project/Add Windows Form.Это окно должно вызываться из пункта главного меню "Сотрудник".
3. Вставьте код, подобный следующему, чтобы создать новую MDI дочернюю форму, когда пользователь щелкает на пункте меню, например "Сотрудник" - имя объекта - employeeToolStripMenuItem (В примере ниже, указатель события обращается к событию Click для employeeToolStripMenuItem_Click).
Данный обработчик приведет к выводу на экран дочернего окна
private void menuItemEmploye_Click(object sender, System.EventArgs e)
{ // Создать объект FEmployee класса FormEmployeeFormEmployee FEmployee = new FormEmployee();// Установить родительское окно для дочернегоFEmployee.MdiParent = this;// Вывести на экран дочерее окноFEmployee.Show();}Задание 3.
Задание 4.
Задание 5.
Задание 6.
Задание 7.
Создание контекстное меню
Класс ContextMenuStrip применяется для показа контекстного меню, или меню, отображаемого по нажатию правой кнопки мыши.
1. Открой панель Toolbox и добавьте элемент управления contextMenuStrip на форму FormEmployee .В результате получаем форму FormEmployee с контекстным меню
2. Сформируйте пункты контекстного меню. Формирование пунктов контекстного меню производится аналогично формированию пунктов главного меню рис.10.17.
Рис. 10.17. Вид контекстного меню
3. Установить значение созданного объекта contextMenuStrip1 для подключения контекстного меню к форме FormEmployee на вкладке Свойства (Properties) строке, соответствующей свойству ContextMenuStrip рис.10.18.
Рис. 10.18. Подключение контекстного меню к форме
Выполните компиляцию проекта и запустите приложения на выполнение, затем выберите из главного меню пункт "Сотрудник" и на появившейся форме щелкните правой кнопкой мыши. В результате на форме должно всплыть контекстное меню.
Рис. 10.19. Активизация контекстного меню
4. Осуществите привязку пунктов контекстного меню к конкретным функциям путем создания кода обработчика событий для каждого пункта меню. Для формирования обработчика необходимо перейти в окно дизайнера формы FormEmployee, выделить на форме класс ContextMenuStrip и сделать двойной щелчок на соответствующем пункте меню, например "Отменить". В сгенерированном обработчике необходимо добавить вызов метода, для функции "Отменить" - метод Undo( ). Листинг обработчика метода приведен ниже.
private void undo1ToolStripMenuItem_Click(object sender, EventArgs e){Undo();}Содержание отчета
1. Крат<