Лабораторная работа 4

Варианты заданий

S=1,М,+

S=N,М,-

S=1,М,-

S=N,B,+

S=1,B,+

S=1,B,-

S=N,М,+

S=N,B,-

Обозначения: S=X количество серверов; M-моновещание; B-широковещание +/- -наличие режима подтверждения

Дисциплина "Объектно-ориентированное программирование"
Весенний семестр 2004/2005 уч.г.
ТРЕБОВАНИЯ
к выполнению лабораторной работы N 4
ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ СИСТЕМЫ КЛАССОВ,
ОБЕСПЕЧИВАЮЩИХ ОБМЕН СООБЩЕНИЯМИ
В ОБЪЕКТНО-ОРИЕНТИРОВАННОЙ ПРОГРАММЕ
1. Цель работы
Создание программного обеспечения для снабжения
объектно-ориентированных программ средствами обмена
сообщениями.
2. Задание
Разработать и испытать систему классов, обеспечивающих
обмен сообщениями в объектно-ориентированной программе
и являющихся самостоятельными компонентами,
ориентированными на применение в других программах.
Обмен сообщениями должен удовлетворять общим требованиям
к механизму обмена и требованиям индивидуального задания.
3. Общие требования к механизму обмена сообщениями
3.1. Обмен сообщениями должен быть построен по схеме
"почтовый клиент - почтовый сервер".
3.2. Все почтовые клиенты обмениваются сообщениями только с
помощью почтового сервера.
3.3. Почтовый сервер осуществляет регистрацию почтовых
клиентов.
3.4. Почтовый сервер принимает сообщения только от
зарегистрированных клиентов и отправляет сообщения только
зарегистрированным клиентам.
3.5. Отправляемое сообщение задает проблемное действие, которое
должен выполнить получатель и, возможно, посылку
отправителю подтверждения о получении сообщения и
выполнении заданного действия.
3.6. Схемами посылки и приема сообщений могут быть:
- односторонние: сервер-клиент, клиент-сервер";
- двухсторонние: сервер-клиент-сервер, клиент-сервер-
клиент.
3.7. Для каждой пары участников обмена сообщениями задается
режим вещания: моновещание (только указанному получателю)
или широковещание (всем клиентам, всем серверам).
4. Требования, определяемые индивидуальным заданием
Индивидуальное задание определяет схему обмена
сообщениями, режим вещания и необходимость посылки
подтверждения.
5. Основные этапы разработки
5.1. Формулирование основной идеи архитектуры системы объектов
для обеспечения обмена сообщениями.
5.2. Построение системы объектов в процессе объектно-
ориентированного анализа механизма обмена сообщениями,
заданного индивидуальным заданием и отвечающего общим
требованиям. При этом приводятся и обосновываются
информационные модели объектов, действий и связей между
ними.
5.3. Проектирование основных автономных классов на языке С++
на основе контрактов:
- для каждой интерфейсной функции должны быть
сформулированы пред- и постусловия;
- для каждого класса должны быть определены инварианты.
5.4. Проектирование конструкторов и деструкторов классов,
выделенное в отдельные подэтапы.
5.5. Проектирование системы описаний классов как системы
файлов на языке С++.
5.6. Разработка методики тестирования классов и тестовых
наборов данных.
5.7. Разработка внешней спецификации программы на языке С++,
тестирующей классы как самостоятельные компоненты,
ориентированные на применение в других разработках.
5.8. Разработка тестирующей программы на языке С++
6. Подготовка отчета по лабораторной работе.
Отчет должен быть выполнен в соответствии с
требованиями разд. 4 "Общих требований к
выполнению цикла лабораторных работ".