- •Лабораторная работа № 1 Работа с таблицей символов
- •Краткие теоретические сведения Простейшие способы организации таблицы идентификаторов
- •Принципы работы хеш-функций
- •Построение таблиц идентификаторов на основе хеш-функций
- •Построение таблиц идентификаторов по методу цепочек
- •Комбинированные способы построения таблиц идентификаторов
- •Порядок выполнения работы
- •Требования к оформлению отчета
- •Основные контрольные вопросы
- •Варианты заданий
- •Рекомендуемая литература
- •Лабораторная работа № 2 Проектирование лексического анализатора
- •Краткие теоретические сведения
- •Порядок выполнения работы
- •Требования к оформлению отчета
- •Основные контрольные вопросы
- •Варианты заданий
- •Рекомендуемая литература
- •Лабораторная работа № 3 Построение простейшего дерева вывода
- •Краткие теоретические сведения
- •Распознавание цепочек кс-языков
- •Грамматики предшествования
- •Алгоритм “сдвиг-свертка” для грамматик простого и операторного предшествования
- •Общий алгоритм работы синтаксического анализатора
- •Порядок выполнения работы
- •Требования к оформлению отчета
- •Основные контрольные вопросы
- •Варианты исходных грамматик
- •Варианты заданий
- •Рекомендуемая литература
- •Лабораторная работа № 4 Генерация и оптимизация объектного кода
- •Краткие теоретические сведения
- •Алгоритм генерации объектного кода по дереву вывода
- •Построение ассемблерного кода по дереву вывода
- •Построение списка триад по дереву вывода.
- •Оптимизация объектного кода методом свертки
- •Оптимизация объектного кода методом исключения лишних операций
- •Общий алгоритм генерации и оптимизации объектного кода
- •Порядок выполнения работы
- •Требования к оформлению отчета
- •Основные контрольные вопросы
- •Варианты заданий
- •Рекомендуемая литература
- •Лабораторная работа № 5 Определения объема памяти для структур данных
- •Краткие теоретические сведения Принципы распределения памяти
- •Виды переменных и областей памяти Распределение памяти для переменных скалярных типов
- •Распределение памяти для сложных структур данных
- •Выравнивание границ областей памяти
- •Виды областей памяти. Статическое и динамическое связывание Глобальная и локальная память
- •Статическая и динамическая память
- •Порядок выполнения работы
- •Требования к оформлению отчета
- •Основные контрольные вопросы
- •Варианты исходных грамматик
- •Варианты заданий
- •Рекомендуемая литература
- •Лабораторная работа № 6 Разработка простейшего приложения на основе технологии «клиент-сервер»
- •Краткие теоретические сведения Методы организации распределенных вычислений
- •Технология odbc
- •Технологии ole db и ado
- •Поддержка технологий доступа к субд в системах программирования
- •Проблемы и недостатки архитектуры «клиент-сервер»
- •Порядок выполнения работы
- •Требования к оформлению отчета
- •Основные контрольные вопросы
- •Варианты заданий
- •Рекомендуемая литература
Порядок выполнения работы
Получить вариант задания у преподавателя.
Разработать структуру БД в соответствии с полученным заданием, выбрать тип используемой СУБД (по согласованию с преподавателем).
Создать БД в соответствии с разработанной структурой. При необходимости реализовать хранимые процедуры, триггеры и другие средства обработки данных на сервере.
Изучить принципы построения приложений на основе архитектуры «клиент-сервер». Выбрать технологию для взаимодействия с серверной частью.
Выбрать систему программирования для разработки клиентской части приложения (по согласованию с преподавателем).
Используя выбранную технологию взаимодействия с серверной частью, с помощью выбранной системы программирования разработать клиентскую часть приложения.
Написать и отладить программу на ЭВМ.
Подготовить и защитить отчет.
Продемонстрировать разработанное приложение преподавателю.
Требования к оформлению отчета
Отчет по лабораторной работе должен содержать следующие разделы:
Краткое изложение цели работы.
Задание по лабораторной работе.
Схему организации БД (БД должна содержать не менее трех взаимосвязанных таблиц).
Описание выбранной технологии взаимодействия клиентской и серверной частей приложения.
Текст программы (оформляется при необходимости по согласованию с преподавателем).
Выводы по проделанной работе.
Основные контрольные вопросы
Назовите уровни обработки данных.
Назовите основные особенности архитектуры "клиент-сервер"
Какие функции может выполнять сервер в архитектуре "клиент-сервер"?
Что такое файл-сервер? Назовите особенности его реализации.
Какие существуют методы работы с базами данных?
Дайте характеристику интерфейса ODBC.
Какие источники данных могут быть использованы ODBC?
Как осуществляется работа программы при использовании ODBC?
Варианты заданий
Общие требования к разрабатываемому приложению:
Приложение должно реализовывать простейшую прикладную функцию в соответствии с заданием. Конкретный состав выполняемых функций разрабатывается студентами самостоятельно, при необходимости согласовывается с преподавателем.
Функции приложения должны выполняться на основе взаимодействия с БД. Состав таблиц и структура БД разрабатывается студентами самостоятельно, согласовывается с преподавателем. Как правило, БД должна содержать 3-5 взаимосвязанных таблиц.
Приложение должно работать в двух режимах: административном режиме и режиме пользователя. В административном режиме должно быть доступно больше функций по управлению данными (состав функций для каждого режима указан в варианте задания). Два режима работы приложения должны быть реализованы либо в виде двух программных модулей, либо в виде двух режимов работы одного программного модуля – в этом случае выбор режима работы должен выполняться на основе ввода имени и пароля пользователя при запуске программного модуля.
Интерфейс клиентской части приложения должен быть простым, понятным и ориентированным на пользователя. В частности, при выборе данных для взаимосвязанных таблиц выбор должен осуществляться из связанной таблицы с наглядным отображением значащих полей, поиск должен осуществляться по заданным пользователем критериям, при возникновении ошибок, связанных с обработкой данных, должны выдаваться соответствующие сообщения (не сообщения сервера взаимодействия с СУБД!).
№ |
Функции приложения |
Функции администратора |
Функции пользователя |
|
|
Библиотека |
Ввод и редактирование данных об имеющихся книгах. |
Библиотекарь: выдача книг и получение книг от читателей. |
|
|
Библиотека |
Библиотекарь: обработка поступивших заявок, выдача книг и получение книг от читателей. |
Читатель: поиск информации о наличии книг, заявка на получение найденной книги. |
|
|
Театральная касса |
Ввод и редактирование данных о спектаклях и наличии билетов. |
Кассир: продажа и возврат билетов. |
|
|
Театральная касса |
Кассир: обработка поступивших заказов, продажа и возврат билетов. |
Зритель: поиск информации о спектаклях и о наличии билетов на них, заказ билета на выбранный спектакль. |
|
|
Железнодорожная касса |
Ввод и редактирование данных о расписании и маршрутах движения поездов. |
Кассир: продажа и возврат билетов. |
|
|
Железнодорожная касса |
Кассир: обработка поступивших заказов, продажа и возврат билетов. |
Пассажир: поиск информации о возможности проезда до станции назначения и о наличии мест, заказ билета на определенный поезд. |
|
|
Автосалон
|
Ввод и редактирование данных об автомобилях, их комплектации и сроках поставки. |
Продавец: заключение договоров о покупке автомобиля, заказ автомобиля нужной комплектации. |
|
|
Автосалон
|
Продавец: обработка заявки, заключение договоров о покупке автомобиля, заказ автомобиля нужной комплектации. |
Покупатель: поиск информации об автомобиле нужной комплектации, формирование заявки на автомобиль. |
|
|
Мебельная фабрика
|
Ввод и редактирование информации о конструкции мебели. |
Изготовитель: ввод информации о поступлении комплектующих на склад и об изготовлении мебели. |
|
|
Мебельная фабрика
|
Изготовитель: ввод информации о поступлении комплектующих на склад и об изготовлении мебели, продажа изготовленной мебели. |
Покупатель: поиск наличия необходимой мебели, заказ и приобретение мебели по заказу. |
|
|
Стадион |
Формирование расписания матчей. |
Кассир: продажа билетов и возврат проданных билетов. |
|
|
Стадион |
Кассир: обработка заказов, продажа билетов и возврат проданных билетов. |
Зритель: поиск информации об интересующем матче, заказ билетов на выбранный матч. |
По согласованию с преподавателем, допускается объединять однотипные по функциям задания (например, варианты 1 и 2) для выполнения их группой студентов (2-3 человека). В этом случае разрабатывается одна БД и несколько приложений (в соответствии с вариантами задания).
Допускается выполнение студентами своих собственных вариантов работы (по выбору) при условии согласования с преподавателем функций разрабатываемого приложения.
