Ответы пользователя по тегу UML
  • Как в uml указать тип поля json строки?

    vabka
    @vabka
    Токсичный шарпист
    Покажи хоть код свой что и куда ты там запихнуть пытаешься.

    В plantuml в "тип" можно произвольную строку вписывать. Можешь хоть русским языком написать "json с полем такого-то типа"

    UPD: скорее всего тебе нужно что-то типа:
    @startuml
    interface Chat {
      id: string
      type: ChatType
      name: string
      participantCount: int
      invitationLink: string
      isAllowAccessByInvitationLink: bool
      isAllowAccessInvitations: bool
      isInArchive: bool
      createadAt: Timestamp
      updatedAt: Timestamp
    }
    
    
    
    enum ChatType {
      Chat = "chat" // чат
      Community = "community" // сообщество
      Event = "event" // событие
      Course = "course" // курс
    }
    Chat -> ChatType
    @enduml
    Ответ написан
    22 комментария
  • Как должна выглядеть диаграмма взаимодействия пользователя с ис?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    Начнём с того что то что у тебя - это какие-то непонятные фигуры и стрелочки которые отражают непонятно что и непонятно зачем и для кого.

    А в реальном мире уже всё давно придумано:

    • Sequence diagram, если хочешь показать, в каком порядке и куда пойдут данные
    • Use case diagram, если хочешь показать варианты использования твоей системы разными авторами.
    • Нотация C4, если хочешь деконструировать свою систему.
    • Целая куча других диаграмм в рамках стандарта UML.



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

    Вот пара примеров диаграмм, как бы ты мог всё изобразить:
    Картинки

    Sequence:
    6466fad769376519395834.png
    Ответ написан
    2 комментария
  • Правильно ли я понимаю UML диаграмму?

    vabka
    @vabka
    Токсичный шарпист
    Да.
    Ответ написан
    Комментировать
  • Соответствует ли код uml диаграмме?

    vabka
    @vabka
    Токсичный шарпист
    Стрелка от "заместителя" и "реального субъекта" к "субъекту" называется "наследование".
    Показывает, что "Реальный субъект" и "заместитель" реализуют один и тот же интерфейс/наследованы от базового класса.

    Стрелка от "заместителя" к "реальному субъекту" называется "зависимость".
    Показывает, что "заместитель" зависит от "реального субъекта" (в данном случае содержит его)

    В коде "клиент" - это тот, кто будет вызывать методы "субъекта" (тот кто будет от него зависеть)

    В примере на python - это собственно сама программа, тк Python не обязывает тебя для всего создавать классы.

    Дублирую сюда код и картинку, чтобы не потерялись

    Proxy_patt.gif

    # -*- coding: utf-8 -*-
    
    class IMath:
        """Интерфейс для прокси и реального субъекта"""
        def add(self, x, y):
            raise NotImplementedError()
    
        def sub(self, x, y):
            raise NotImplementedError()
    
        def mul(self, x, y):
            raise NotImplementedError()
    
        def div(self, x, y):
            raise NotImplementedError()
    
    class Math(IMath):
        """Реальный субъект"""
        def add(self, x, y):
            return x + y
    
        def sub(self, x, y):
            return x - y
    
        def mul(self, x, y):
            return x * y
    
        def div(self, x, y):
            return x / y
    
    class Proxy(IMath):
        """Прокси"""
        def __init__(self):
            self.math = Math()
    
        def add(self, x, y):
            return x + y
    
        def sub(self, x, y):
            return x - y
    
        def mul(self, x, y):
            return self.math.mul(x, y)
    
        def div(self, x, y):
            return float('inf') if y == 0 else self.math.div(x, y) 
    
    p = Proxy()
    x, y = 4, 2
    print '4 + 2 = ' + str(p.add(x, y))
    print '4 - 2 = ' + str(p.sub(x, y))
    print '4 * 2 = ' + str(p.mul(x, y))
    print '4 / 2 = ' + str(p.div(x, y))


    Ответ написан
  • Как начать понимать UML-схемы?

    vabka
    @vabka
    Токсичный шарпист
    Весьма специфичная визуализация - к примеру, ощущение того, что направления стрелок должно быть противоположное.

    Значит, скорее всего, не до конца у вас сформировалось понимание ООП.
    Стрелки вполне точно показывают, кто кого расширяет, реализует, и вообще от кого зависит.
    Как начать понимать эти схемы?

    Также, как и программировать вы учились - читайте больше схем (можно найти в книгах об архитектуре ПО), составляйте свои.
    А может быть их и не нужно понимать, т.к. их редко используют?

    Тоже правда отчасти.
    Ответ написан
    1 комментарий
  • Какие есть удобные приложения для рисования UML диаграмм?

    vabka
    @vabka
    Токсичный шарпист
    plantuml - рисовать кодом
    staruml - платно, но удобно
    visio - платно и не удобно
    Ответ написан
    1 комментарий
  • Есть ли какой-то общепринятый значок для обозначения REST-ресурса на UML-диаграмме?

    vabka
    @vabka
    Токсичный шарпист
    UML - это вполне себе стандарт, и в разных типах диаграммы будет разный, но вполне конкретный значок, в зависимости от роли этого ресурса в системе.

    В этом плане Rest ничем не отличается от любого другого ресурса.

    Если уточните тип диаграммы, то можно будет сказать конкретнее.
    Ответ написан
    Комментировать
  • Поддерживает ли BoUml проектирование баз данных?

    vabka
    @vabka
    Токсичный шарпист
    Предположу, что правы оба - они просто по разному понимают "проектирование БД".
    Ну или просто у второго не достаточно данных.
    Ориентируйтесь на собственные требования и документацию
    Ответ написан
    Комментировать