Опубликован: 20.07.2007 | Доступ: свободный | Студентов: 765 / 147 | Оценка: 4.30 / 4.06 | Длительность: 09:58:00
Специальности: Программист
Введение 1:

Цели и задачи курса и практикума

Введение 1: 12345 || Лекция 1 >

Приложение 1. Постановки задач

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

Учебный пример для преподавателей

Система бронирования билетов для авиакомпании
Краткое описание

На рынок вышла новая авиакомпания "GlobalAvia". Менеджеры компании решили заказать у вашей фирмы разработку системы бронирования билетов. При заказе фирма поставила ряд условий, которые обязательно должны быть выполнены. В первой версии системы они хотят видеть две части. Работа первой части системы связана с занесением информации. Вторая часть системы предназначена для общения с клиентами.

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

Анализ постановки - полное описание
  • Задача является математической. Система должна уметь решать однокритериальную задачу поиска кратчайших путей на графах. Критерий - цена.
  • Система распределенная: так как в каждом аэропорте своя база направлений полетов самолетов, то знают о рейсе только аэропорты-соседи по рейсам.

Объекты системы: распределенное хранилище рейсов, покупатель билетов, менеджер рейсов.

  • Распределенное хранилище рейсов: название рейсов, номера и стоимость билетов.
  • Покупатель: ФИО, сумма. Покупатель задает параметры, связанные с суммой, которую он хочет потратить. Система должна подобрать оптимальный маршрут. При отсутствии прямых маршрутов система должна попробовать найти маршруты с пересадками. Если таковых не находится, система должна сказать, что с такими ограничениями нельзя добраться до места назначения.

    Среди причин:

    • Отсутствие рейсов в желаемом направлении даже с учетом пересадок.
    • Нехватка денег.

    В ответ, пользователь должен иметь возможность поменять параметры с учетом предыстории.

  • Менеджер рейсов: должен иметь следующие возможности:
    • создания и удаления аэропортов в системе.
    • создания и удаления рейсов в аэропортах.

Задачи, предлагаемые студентам

Система обработки метеоинформации
Краткое описание

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

Полная постановка задачи

Функционирование системы предполагается на локальном компьютере. Работа в системе должна включать в себя три части:

  • редактирование карт;
  • задание и редактирование движения воздушных масс и циклонов;
  • демонстрация погодных условий.

Для редактирования карт и задания движения воздушных масс предполагается, разработка редактора векторной графики. Изображения могут сроиться как из векторных примитивов: линии, окружности, прямоугольники, - так и из более сложных объектов векторной графики: полигоны, кривые Безье, …

Желательно обеспечить возможность заливки внутренности замкнутых объектов выбранным цветом.

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

Карта, изображение воздушных масс: набор векторных примитивов.

Подсистема расчета движения воздушных масс: в простейшем случае статические формулы. Более сложный случай - имитационная система или решатель систем дифференциальных уравнений.

Режим просмотра изменения метеоусловий: подсистема, которая должна быть реализована в двух видах:

  • интегрированное средство просмотра результата;
  • отдельное приложение просмотра.

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

Редактор математических формул
Краткое описание

Фирма "OurResearch" занимается написанием математических программ по заказу. При этом в фирме часто приходится писать отчеты заказчику. При написании отчетов заказчик хочет видеть в отчетах математические формулы в классическом виде.

У Вашей фирмы компания решила заказать удобное средство для перевода и написания математических выражений в разные форматы представления. Причем, если в редакторе присутствует ряд взаимосвязанных формул, то фирма хочет видеть адекватный код. При этом известно, что фирма часто использует C/C++, Pascal и Fortran.

Полная постановка задачи

Необходимо разработать систему для редактирования и написания математических формул.

Объекты системы: формула, формульный редактор.

Формула: математическое выражение в одном из видов, желательно, что бы редактор сам распознавал язык и вид выражения по сигнатуре.

Формульный редактор: визуальная часть. Должен позволять:

  • транслировать стандартный синтаксис формул во внутренний формат;
  • отображать из внутреннего формата в графический вид;
  • визуально редактировать формулы;
  • отображать структуру данных формулы.

Дополнительно система должна обеспечивать сохранение формул в нескольких форматах (например, в XML).

Редактор должен включать в себя конвертор в различные форматы, к примеру, перевод формулы в стандартное выражение для C/C++, Pascal и Fortran.

Также обязательно нужна возможность перевода формулы в BMP-изображение.

Web-сервис (на основе сокетов)
Краткое описание

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

  • входные данные;
  • выходные данные;
  • код алгоритмов.

Доступ к алгоритмам должен быть ограничен на основе разделения прав по ролям.

Полная постановка задачи

Web-сервис должен быть рассчитан на небольшое число пользователей и работу в локальной сети. К web-сервису должен быть реализован разделенный доступ пользователей.

Объекты системы: пользователь, роль, алгоритм, web-сервис.

Пользователи: логин, пароль, роль.

Пользователь может на web-сервисе осуществлять следующие действия:

  • размещать алгоритмы;
  • изымать на редактирование алгоритмы;
  • удалять алгоритмы с web-сервиса;
  • исполнять алгоритмы.

Роль: представляет собой список пользователей.

Алгоритм: название, код (математическое выражение), принадлежность пользователю, входные и выходные параметры.

Web-сервис предоставляет следующие возможности:

  • хранить алгоритмы на сервере;
  • предоставлять доступ к алгоритмам:
    • редактирование;
    • удаление;
  • исполнение алгоритма на сервере.

Для хранения алгоритмов на сервере создается дерево каталогов и файлов. Для каждого пользователя создается корневой каталог. В этом каталоге могут храниться, как алгоритмы (файлы с кодом), так и другие каталоги. Разделения прав осуществляется на основе специального файла со списком пользователей, которым доступна эта папка. Права на папку наследуются. Также можно разрешить доступ сразу группе пользователей, принадлежащих определенной роли.

Редактировать алгоритм может только пользователь, выложивший алгоритм.

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

Введение 1: 12345 || Лекция 1 >