четверг, 8 августа 2013 г.

"Текстовый" UML aka DSL

Состоялся разговор - "как можно на UML описать процесс "читатель, читает книгу"".

Что хочу сказать?

"Просто" описать процесс - "я не знаю как". Я знаю, что при разработке системы надо начинать со сбора ТРЕБОВАНИЙ :-)

В результате разговора и "выяснения ТЗ" нарисовалась такая картина:

ЧИТАТЕЛЬ = АКТЁР
 СОСТОЯНИЕ "уровень знаний"
end

КНИГА = ПРЕЦЕДЕНТ
 ОТВЕТСВЕННОСТЬ "возможность быть прочитанной"
end

В первую очередь при разработке системы надо сделать что?

Надо СОБРАТЬ и ОПИСАТЬ требования. И ЗАФИКСИРОВАТЬ их.

to be continued....

4 комментария:

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить
  3. блин БЛОГ форматирование жрет, третий раз переписываю ((((



    не..... Книга не может быть прецедентом. Прецедент это как раз все это вместе взятое. Книга - объект в прецеденте, Читатель - субъект (актер)
    Те:

    АКТЕР Читатель {
    }

    ОБЪЕКТ Книга {
    ВОЗМОЖНОСТЬ быть_прочитанной (АКТЕР)
    }

    ПРЕЦЕДЕНТ Чтение {
    ПАРАМЕТР читатель: Читатель
    ПАРАМЕТР книга: Книга
    ДЕЙСТВИЕ {
    книга::быть_прочитанной (читатель)
    }
    }

    дальше можно расширять:
    КАЧЕСТВО Быстро {
    }

    ОБЪЕКТ Книга {
    ВОЗМОЖНОСТЬ быть_прочитанной (АКТЕР, КАЧЕСТВО)
    ВОЗМОЖНОСТЬ сдать_в_мукалотуру (АКТЕР)
    }

    ПРЕЦЕДЕНТ Чтение {
    ПАРАМЕТР читатель: Читатель
    ПАРАМЕТР книга: Книга
    ПАРАМЕТР как: Быстро
    ДЕЙСТВИЕ {
    книга::быть_прочитанной (читатель, как)
    }
    }

    и дальше:

    КАЧЕСТВО Счастье {
    }

    АКТЕР Читатель {
    СОСТОЯНИЕ удовлетворенность: КАЧЕСТВО
    }

    ОБЪЕКТ Книга {
    ВОЗМОЖНОСТЬ быть_прочитанной (АКТЕР, КАЧЕСТВО)
    ВОЗМОЖНОСТЬ сдать_в_мукалотуру (АКТЕР)
    }

    Сигара {
    ВОЗМОЖНОСТЬ выкурить (АКТЕР)
    }

    ПРЕЦЕДЕНТ Чтение {
    ПАРАМЕТР читатель: Читатель
    ПАРАМЕТР книга: Книга
    ПАРАМЕТР как: Быстро
    ПАРАМЕТР после: Сигара
    ДЕЙСТВИЕ {
    книга::быть_прочитанной (читатель, как)
    если читатель::удовлетворенность == Счастье
    то сигара_после::выкурить(читатель)
    иначе книга::сдать_в_мукалотуру(читатель)
    }
    }

    те без сиквенсов имхо, не обойтись... и... в общем-то ООП... даж не знаю хорошо это или плохо :(
    но все это можно нарисовать, прочитать, и наверное даже сгенерить

    ОтветитьУдалить