Форум Сообщества Аналитиков

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - BcegoqpeHu

Страницы: 1
1
Galogen, спасибо большое за Ваши подробные ответы и критику! :)
Цитировать
Впрочем тут можно найти компромисс (РЕКОМЕНДАЦИИ ПО НАПИСАНИЮ СПЕЦИФИКАЦИЙ ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ)
Именно ими я и руководствовался :).

Цитировать
Мне трудно представить себе криминалиста, который в надежде, что ему в будущем придется "редактирования, сохранения и т.д", он создает в течение рабочего дня новый фоторобот. Да и не фоторобот - это это скорее некая заготовка.
Согласен. Но данная система является учебной :) да и задание в первом сообщении я выкладывал, там по сути вообще написано "делай как хочешь". И я на 90% уверен, учитывая характер преподавателя, что он будет удивлён отсутствием варианта редактирования :).

Цитировать
Это реализация, в ВИ не должны присутствовать элементы интерфейса, т.к. они явно или неявно задают ограничения на реализацию проекта.
...
...
в вашей голове сидит явно некое конкретное поведение уже существующей системы и вы его тут воспроизводите, а это не так.
Именно, приложение уже разработано. Хотя я понимаю, что это совсем не правильно. Но я сделал именно так, как проще это сделать, учитывая требования преподавателя. :)   
Изначально я пытался описывать ВИ так как вы сказали "в ВИ не должны присутствовать элементы интерфейса". И мне было гораздо проще =), это и логично, я же не могу знать, разрабатывая общие требования к системе, как будет выглядеть интерфейс этой системы. В результате мой преподаватель моё описание назвал "философскими записками" ;D. Это, кстати, второе задание на КП, так как первое, увы, я сдал на троечку... решил пересдать. Сейчас я пытаюсь, совмещая желания преподавателя, здравый смысл и правильную разработку uml-диаграмм, сделать так, чтобы всем было хорошо. :)


Цитировать
Все это нужно отобразить Пользователь выбирает из библиотеки части лица, Система отображает результат выбора
...
...
Пользователь сохраняет полученный фоторобот, указывая имя и формат сохранения. Система сохраняет фоторобот в указаном виде.

Как я был бы рад описать это всё именно так... :)  Я запомню Ваши рекомендации, и работая над будущими проектами, я буду поступать именно так :)

И вопрос. А нужно ли как-то по особому на диаграмме ВИ указывать альтернативные потоки? Пока в моей голове сидит следующий вид диаграммы:

2
Описал варианты использования. 2 штуки =). Второй ВИ дался с трудом. И чувствую что здесь опять что-то не так.
Меня смущает то, что в ВИ "Редактирование существующего фоторобота" всё построено на "Если". То есть, если ничего из основного потока не выполнится, то ничего и не произойдёт. Мой преподаватель скажет, что он бесполезный =), мне кажется...

Описание вариантов использования
Создание нового фоторобота
Краткое описание:
Создание нового фоторобота для последующего использования – редактирования, сохранения и т.д.
Действующее лицо:
Пользователь системы.
Предусловия:
Нет.
Основной поток:
1.   Пользователь выбирает пункт меню «Файл - Новый».
2.   Система производит очистку холста для фоторобота.
3.   Пока фоторобот не состоит из основных частей лица (причёска, глаза, уши, нос, губы, подбородок)
3.1   Пользователь выбирает пункт меню с надписью соответствующей части лица (причёска, глаза, уши, нос, губы, подбородок и т.д.).
3.2   Система отображает множество вариантов выбранной части лица.
3.3   Пользователь выбирает (нажатием кнопкой мыши) один из представленных вариантов части лица.
3.4   Система размещает на холсте указанную часть лица.
4.   Пользователь выбирает пункт меню «Файл - Сохранить».
5.   Система отображает диалоговое окно «Сохранить как».
6.   Пользователь указывает имя файла и тип файла (Изображение (*.bmp) или Файл системы «Фоторобот»(*.phr)). И нажимает на кнопку «Сохранить».
7.    Система сохраняет файл фоторобота в указанное место в указанном формате.
Постусловия:
1.   На холсте отображён фоторобот.
2.   Система произвела сохранение фоторобота в файл.
Альтернативные потоки:
Нет.

Редактирование существующего фоторобота
Краткое описание:
Редактирование существующего фоторобота, расположенного в файле либо на холсте.
Действующее лицо:
Пользователь системы.
Предусловия:
1.   Если на холсте отсутствует изображение фоторобота, то должен существовать файл системы «Фоторобот» с расширением *.phr, содержащий фоторобот.
Основной поток:
1.   Если пользователь выбирает пункт меню «Файл - Открыть»
1.1   Система отображает диалоговое окно «Открыть».
1.2   Пользователь указывает имя файла системы, содержащего элементы и параметры частей лица, и нажимает кнопку открыть.
1.3   Система отображает содержимое файла на холст.
2.   Если пользователь выбирает пункт меню с надписью, соответствующей части лица.
2.1   Система отображает множество вариантов выбранной части лица.
2.2   Пользователь выбирает (нажатием кнопкой мыши) один из представленных вариантов части лица.
2.3   Система заменяет/устанавливает указанную часть лица на холсте в соответствии с вариантом выбранным пользователем.
3.   Если пользователь выбирает один из пунктов меню «Положение» (влево, вправо, вверх, вниз)
3.1   Система смещает редактируемую часть лица в выбранную сторону.
4.   Если пользователь выбирает один из пунктов меню «Масштабирование» (шире (по гор.), уже (по гор.), шире (по верт.), уже (по верт.))
4.1   Система производит масштабирование выбранной части лица в соответствии с выбранным пунктом меню «Масштабирование».
Постусловия:
1.   На холсте отображён фоторобот.
Альтернативные потоки:
Нет.


З.Ы. Под стандартным классом я имел ввиду стандартные классы среды разработки, такие как TForm, TButton,  TImage. Они для меня как чёрные ящики, я не знаю всех методов, которые они имеют. Но как я понял не обязательно отображать на диаграмме классов всех методов и атрибутов класса?

3
Доброго и вам.Интересная задача, т.е. не само приложение, а именно интерфейс к нему?
Переписал сюда дословно =)... Задание дают размытое, а спрашивают так, будто все требования к системе расписали =).
Спасибо за Ваш ответ, сейчас попробую сделать спецификацию.

А будет ли корректно то, что я уберу ВИ "Загрузить ФР", оставив ВИ "Редактировать существующий ФР" с вариантами использования только расширяющими его? Или сделать его спецификацию с описанием данного шага будет достаточным?

Для этого используется обобщение(generalisation) - http://www.uml-diagrams.org/generalization.html?context=class-diagrams
А как быть с атрибутами и методами наследуемого класса, нужно ли их перечислять? Возможно ли указать в заголовке класса имя родительского класса, если этот класс является стандартным? Или можно указать прямоугольник с именем родительского класса и провести к нему обобщение? Извиняюсь за, возможно, глупые вопросы, но во всех книгах приводятся примеры диаграмм классов из каких-то жизненных ситуаций (клиенты, банки) =). И ничего по этому поводу =)

4
Доброго времени суток, форумчане. Прошу вашей помощи в разработке системы "Фоторобот", заданной как курсовой проект.
Технические требования, представленные в задании следующие:
"Приложение предназначено для оказания помощи сотрудникам полиции в составлении фоторобота подозреваемого лица путём комбинирования отдельных выбираемых фрагментов человеческого лица (причёски, глаз, бровей, носа, рта, овала лица и т.п.).
Разработать интерфейс приложения."

При создании некоторых диаграмм возникло несколько вопросов.

Диаграмма ВИ.
Прикреплена к сообщению.
1. Вообще она корректна или нет?
2. Скорее я чего-то не понимаю... Если пользователь выбирает ВИ "Редактировать существующий ФР", то он должен открыть файл этого существующего ФР, т.е. использовать ВИ "Загрузить ФР". Далее по необходимости пользователь редактирует данный ФР и может сохранить изменения. Всё вроде как логично... Далее, если пользователь выбирает ВИ "Создание нового ФР", то для того чтобы ВИ был "полным и полезным", он обязательно включает ВИ "Добавление элементов лица" и "Сохранить ФР". И вот тут мне не понятно. Ведь пользователь при создании нового ФР может так же его и редактировать, правильно?  То есть нужно указать, что ВИ "Редактировать существующий ФР" расширяет ВИ "Создание нового ФР"?

Можно рассуждать по другому. После использования ВИ "Создание нового ФР", пользователь, если ему необходимо отредактировать ФР, который только что был создан как новый, использует ВИ "Редактировать существующий ФР". Но тут тогда неуместно обязательное включение ВИ "Загрузить ФР".

3. Если у меня масштабируются и сдвигаются только элементы лица, то верно ли я указал, что ВИ "Сдвинуть элемент" и "Масштабировать элемент" расширяют ВИ "Редактирование элементов лица"?

Диаграмма классов.
1. Как в классе указать то, что он наследует атрибуты и методы стандартного в среде разработки класса?
class TMainForm : public TForm
{
     ...
}

Страницы: 1