UML диаграмма классов (Class Model) приложений WhatsApp, Telegram

Для осуществления программного описания приложений WhatsApp и Telegram используем UML-диаграмму классов. (Рисунок 3)

Обозначение на диаграмме Расшифровка Комментарий
UML диаграмма классов (Class Model) приложений WhatsApp, Telegram - student2.ru   UML диаграмма классов (Class Model) приложений WhatsApp, Telegram - student2.ru Класс - Имя класса   - Свойства класса (атрибуты)   - Операции объектов класса
Видимость: + открытый (public)   - закрытый (private)     # защищённый (protected)   / производный (derived)   Взаимосвязи классов и их объектов   Виден всем.   Атрибут не виден внешним классом (объектом), используется только объектом его содержащим. Атрибут виден для потомков данного класса.   Атрибут может быть совмещен с другим.    
+1..1 Мощность связи На диаграмме между классами User, Contact установлена мощность связи 1 к 1. Это значит, что в списке контактов пользователя, каждый контакт соответсвует отдельному человеку.

Описание классовых составляющих диаграммы

User -- # name: String # phone: int - contact: Contact[0..*] -- + WindowBuilder + setName(newName:String) + getName():String + setPhone(newPhone:int) + getPhone():int + addContact(NewContact: Contact) boolean     + getContact() :Contact[0...*]   Contact -- - name: String - status: String - gender: int Boolean   - num: Contactlist [0..*] - message: Message[0..*] -- + Contact (n:string)   + getName(): String + getStatus(): String + getGender(): int boolean + setNum(NewNum: Contactlist) boolean + getNum(): Contactlist[0..*] + getSearch: int boolean   + WindowBuilder   Search -- - searchname: String - searchnumber: int - contact : Contact [0..*]   - num : Contactlist [0..*] -- + WindowBuilder + setSearchName(Findname: String) + setSearchNumber(Findnumber: int) / Fname (Findname && Name : String) / Fnumber (Findnumber && num : int) + getSearchName() : Contact[0..* ] + getSearchNumber() : Contactlist [0..* ]   Contactlist -- - contact : Contact - position: int -- + num(position: int, con: Contact) + WindowBuilder + setNum(Contactlist : int)   + getNum(int): Contactlist [0..*] + addNum(NewNum: Contactlist [1..*], NewContact: Contact)   Message -- - text : String - date: Date - time: Time - recived: boolean - read: boolean -- + WindowBuilder + getTime() : Time + getDate() : Date + setText(NewText: String)   + getRead(): substring(0, NewText) Boolean   + getRecived(): substring (NewText) boolean     Date -- - day: int - month: int - year: int -- + WindowBuilder + getDay(): int + getMonth(): int + getYear(): int   Time -- - hours: int - minutes: int - seconds: int -- + WindowBuilder + getHours(): int + getMinutes(): int + getSeconds(): int Класс профиля пользователя   Имя пользователя (строка символов, строчный тип данных) Номер телефона (целочисленный тип данных) Атрибуту «контакт» присваиваем неограниченный ряд пользовательских контактов Создание Графического интерфейса рабочих окон Ввод имени, присвоение новому имени строки символов Вывод имени (строка) Ввод номера телефона, присвоение новому номеру целых чисел. Вывод номера телефона в виде целого числа. Добавление контакта, присвоение новому контакту св-ва класса «Контакт». Оператор boolean, указывает на то, что добавление происходит по принципу булевой алгебры – если контакт уже существует, в новом контакте будет 0. Вывод контакта из ряда контактов. (Порядок счёта контактов начинается с 0) Класс профиля собеседника, контакта.   Имя собеседника (строка) Статус собеседника (строка) Пол (сложение целых чисел с помощью булевой алгебры: 0 – М, 1 - Ж) Присвоение номеру класс «Список контактов» Присвоение сообщению класс «Список сообщений»   Присваивание значения строки переменной класса «Контакт» Вывод имени контакта (строка) Вывод статуса контакта (строка) Вывод пола Редактирование номера контакта, присвоение новому номеру класса «Список контактов» Вывод номера из ряда «Списка контактов» Запуск абстрактного класса «Поиск» (0 возвращается в систему) Создание Графического интерфейса рабочих окон   Абстрактный класс «Поиск»   Переменная поиска по имени (строчный тип) Переменная поиска по номеру (целочисленный тип) Атрибуту контакт присваивается ряд пользовательских контактов Атрибуту номер присваивается ряд номеров телефонной книжки   Ввод поиска по имени, присвоение переменной значений строчного типа. Ввод поиска по номеру, присвоение переменной значений целочисленного типа.   Выполнение логического умножения между переменными имени и поиска по имени, между переменными номера и поиска по номеру. Если значения совпадут, поисковик вернёт 1. Вывод значения поиска по имени из ряда пользовательских контактов. Вывод значения поиска по телефону из ряда номеров телефонной книги.   Класс «Список контактов» (телефонная книга)   Атрибуту контакт присваиваем свойства класса «Контакт» Атрибуту позиция присваиваем целочисленное значение   Присвоение переменным номера, значения переменной позиция и класса «Контакт»   Ввод и изменение текущего номера, с помощью выбранного значения позиции в «Списке контактов». Вывод значения номера с учётом выбранной позиции в «Списке контактов». Добавление нового номера, его переменной будет присвоено последующее число в ряде, а переменной новый контакт – соответствующее значение класса «Контакт»   Класс «Сообщение»   Атрибут текстового сообщения (строка) Атрибуту дата присваивается значение класса «Дата» Атрибуту время присваивается значение класса «Время» Атрибуты ответ и прочитать определяются значениями булевой алгебры.     Вывод времени сообщения из значения класса «Время» Вывод даты сообщения из значения класса «Дата» Ввод текстового строчного значения переменной новое текст. Вывод значения прочтения между значением начала первой строки и значением переменной новый текст. Значения повторяющихся строк выводиться не будут. Вывод подстрочного значения ответа, нижний предел которой – значение переменной новый текст. Повторяющиеся строки возвращены не будут.   Класс «Дата»   Атрибут день (целочисленное значение) Атрибут месяц (целочисленное значение) Атрибут год (целочисленное значение)     Вывод значения день Вывод значения месяц Вывод значения год   Класс «Время»   Атрибут часы (целочисленное значение) Атрибут минуты (целочисленное значение) Атрибут секунды (целочисленное значение)     Вывод значения часы Вывод значения минуты Вывод значения секунды




Наши рекомендации