Форум Сообщества Аналитиков
Дисциплины => Системный Анализ и Требования => Тема начата: kirka от 03 Августа 2016, 18:32:59
-
Здравствуйте.
Имеется отчет, значение поля которого рассчитывается по алгоритму.
Таблица 1.
Наименование автомобиля Запас ресурса до ремонта
3% до 9% 9% до 20% .....
Алгоритм:
1. Проверка на наличие записи в разделе «Ремонт автомобиля»:
2.а. Запись есть.
3.а.1.Если запись последнего ремонта имеет в поле «Вид ремонта» запись «Капитальный», то
осуществляется следующее вычисление:
Значение фактического пробега автомобиля с даты выхода из ремонта до текущей даты/Нормативное значение для капитального ремонта
3.а.2.Переход к п.4.
3.б.1.Если запись последнего ремонта имеет в поле «Вид ремонта» запись «Текущий», то осуществляется следующее вычисление:
Значение фактического пробега автомобиля с даты выхода из ремонта/Нормативное значение для текущего ремонта
3.б.2.Переход к п.4.
4. Если результат при вычислении больше 3 но меньше 9%, то указанный автомобиль записывается в данную графу. Если результат при вычислении иной, то переход к описанию в другом столбце.
2.б. Записи нет.
2б.1.Осуществляется следующее вычисление:
Значение фактического пробега автомобиля с даты ввода в эксплуатацию до текущей даты/Нормативное значение для текущего ремонта
2б.2.Переход в п.4
Я хоть и написал алгоритм, но мне он не очень нравиться. Порекомендуйте пожалуйста, как можно улучшить понятность описания алгоритма? Понятен ли алгоритм? Алгоритм описывается текстом. Графики не нужны.
-
Новый топик, а проблема та же... Речь идет о форме или содержании? Вам не нравится алгоритм или то как он описан?
И довольно странно говорить о том, что графика не нужна на форуме uml...
-
Здравствуйте.
На данном этапе необходимо именно текстовое описание.
По моему проблема с содержанием. Вам понятен алгоритм?
-
Здравствуйте.
На данном этапе необходимо именно текстовое описание.
По моему проблема с содержанием. Вам понятен алгоритм?
Разобраться можно. Но с трудом - любая диаграмма будет понятней.
Если важно именно текстовое описание, то фактически алгоритм разбивается на две части:
1) расчет процента ресурса
2) выбор столбца для печати
Так и надо структурировать сценарий, чтобы читающий сначала мог уловить общий смысл алгоритма, а потом лезть во внутрь его, уточняя альтернативы
-
Кстати, характерная ошибка начинающих аналитиков: они пытаются строить структурированные тексты описаний "на лету". В итоге и получаются вот такие псевдопонятные "алгоритмы".
Нормальная схема работы такая :
1 анализ текста на естественном языке ( документ или интервью)
2 построение модели ( необязательно диаграммы)
3. Структурированный текст как лингвистическая интерпретация модели
Если пропускать этап 2, то и будет получатся вот такое нагроможденье слов. Программист обычно такой текст выбрасывает, и либо идет к пользователю сам, либо делает как-то, надеясь, что с этим текстом справится тестировщик
-
Тоже начал склоняться к диаграмме.
МОжете подсказать:
1. Какие диаграммы проще использовать? на какой нотации? чтобы можно было за 5 минут освоить
2. Можете привести примеры алгоритмов сделанных с помощью диаграмм?
-
У меня не было опыта рисования диаграмм. Нарисовал примерную блок схему алгоритма (диаграмма активности).
Посмотрите пожалуйста, корректно ли блок схема?
Алгоритм:
1. Проверка на наличие записи во вкладке «записи о произведенном ремонте» раздела «Ремонт автомобиля»
2. Запись есть.
3. Если запись последнего ремонта имеет в поле «Вид ремонта» запись «Капиталка», то осуществляется вычисление по формуле указанное в пункте А.
4. Если результат вычисления от 1% до 10%, то указанный объект записывается в данную графу. Если результат при вычислении иной, то объект записывается в соответствующем столбце (столбце "10% до 40%" или "40% до 80% и т.д.).
Альтернативный поток:
2а. Записи нет
2а.1. Осуществляется вычисление по формуле указанное в пункте Б.
2а.2. Переход в п.4
3а. Если запись последнего ремонта имеет в поле «Вид ремонта» запись «Текущий», то осуществляется вычисление по формуле указанное в пункте В.
3а.1. Переход в п.4.
Формула:
А) ((Числовое значение вид ремонта «Капитальный» - Фактическая наработка объекта)/Числовое значение вид ремонта «Капитальный» раздела «Нормативные ремонты»))*100%
Б) (Числовое значение вид ремонта «Текущий» - значение поля «С момента выпуска автомобиля»/Числовое значение вид ремонта «Текущий»)*100%
В) ((Числовое значение вид ремонта «Текущий» - Фактический пробег автомобиля с даты выхода из ремонта)/Числовое значение поля вид ремонта «СР»))*100%
-
Тоже начал склоняться к диаграмме.
МОжете подсказать:
1. Какие диаграммы проще использовать? на какой нотации? чтобы можно было за 5 минут освоить
2. Можете привести примеры алгоритмов сделанных с помощью диаграмм?
Чтоб за 5 минут никакие. Профессия аналитика теряла бы всякий смысл, если б ей можно было научиться за 5 минут.
В среднем нотация осваивается за 2-3 недели в режиме Hello word, за год как рабочий инструмент.
Практически любая диаграмма активности пример описания алгоритма. Кроме как для описания алгоритма их и не используют
-
Посмотрите пожалуйста, корректно ли блок схема?
Непонятно куда повисла ветка в диаграмме на отсутствие записи.
Непонятно, зачем вы делаете отдельное ветвления на наличие / отсутствие записи. По сути у вас три альтернативы по последнему ремонту: Null (запись о ремонте отсутствует), капитальный и текущий.
-
Непонятно куда повисла ветка в диаграмме на отсутствие записи.
Что за ветвления внизу тоже неясно
Зачем вы делаете отдельное ветвления на наличие / отсутствие записи. По сути у вас три альтернативы по последнему ремонту: Null (запись о ремонте отсутствует), капитальный и текущий.
-
Откорректировал диаграмму, добавил блок при отсутствии записи и в нижней части диаграммы о результатах вычислений.
Текстовое описание алгоритма:
1. Проверка на наличие записи во вкладке «записи о произведенном ремонте» раздела «Ремонт автомобиля»
2. Запись есть.
3. Если запись последнего ремонта имеет в поле «Вид ремонта» запись «Капиталка», то осуществляется вычисление по формуле указанное в пункте А.
4. Если результат вычисления от 1% до 10%, то указанный объект записывается в данную графу. Если результат при вычислении иной, то объект записывается в соответствующем столбце (столбце "10% до 40%" или "40% до 80% и т.д.).
Альтернативный поток:
2а. Записи нет
2а.1. Осуществляется вычисление по формуле указанное в пункте Б.
2а.2. Переход в п.4
3а. Если запись последнего ремонта имеет в поле «Вид ремонта» запись «Текущий», то осуществляется вычисление по формуле указанное в пункте В.
3а.1. Переход в п.4.
Формула:
А) ((Числовое значение вид ремонта «Капитальный» - Фактическая наработка объекта)/Числовое значение вид ремонта «Капитальный» раздела «Нормативные ремонты»))*100%
Б) (Числовое значение вид ремонта «Текущий» - значение поля «С момента выпуска автомобиля»/Числовое значение вид ремонта «Текущий»)*100%
В) ((Числовое значение вид ремонта «Текущий» - Фактический пробег автомобиля с даты выхода из ремонта)/Числовое значение поля вид ремонта «СР»))*100%
-
Учите матчасть, коллега. Посмотрите в примерах, где используется конструкция fork -join
-
А что не так? все вроде правильно, все сливается в один, т.е. результат, оценка результата всех вычислений
-
Порекомендуйте пожалуйста, как можно улучшить понятность описания алгоритма?
Вы описываете алгоритм так, как-будто он -- сценарий. А он не сценарий. Используйте язык с полноценными "если-то-иначе" и понятность повысится.
-
А что не так? все вроде правильно, все сливается в один, т.е. результат, оценка результата всех вычислений
Fork - join - конструкция параллельной обработки - И.
У вас идет выбор одной из альтернатив - Или