Форум Сообщества Аналитиков
Общий раздел => ПО Аналитика => Sparx => Тема начата: kirka от 16 Января 2017, 08:57:02
-
Здравствуйте.
В Enterprise Architector с помощью обратного инжиринга, отобразил исходный код приложения в виде диаграммы классов.
Однако ЕА отобразила ассоциативные (association) связи между объектами (как я понял), но не показывается связи "расширения"(extends). Почему не отображается? Как и можно ли в ЕА отобразить подобные связи между классами?
Спасибо
-
Добрый вечер.
Вы что-то путаете. В ДК нет никаких связей расширения, наверное Вы путаете ее с наследованием.
Для того, чтобы помочь Вам нужен исходный код, а также сведения о версии ЕА.
-
EA 12 версии.
Да наследование.
ЕА отобразила ассоциативные (association) связи между объектами (как я понял), но не показывается наследование (extends). Почему не отображается (должна отображаться другая стрелка)?
public class SimpleAdapter extends RecyclerView.Adapter<SimpleAdapter.VerticalItemHolder> {
Исходный Код - прилагаю файл.
Скриншот прилагаю.
Добрый вечер.
Вы что-то путаете. В ДК нет никаких связей расширения, наверное Вы путаете ее с наследованием.
Для того, чтобы помочь Вам нужен исходный код, а также сведения о версии ЕА.
-
В присланном вами коде есть только это классы реализованные вами
AlarmReceiver.java
BootReceiver.java
DateTimeSorter.java
LicencesActivity.java
MainActivity.java
Reminder.java
ReminderAddActivity.java
ReminderDatabase.java
ReminderEditActivity.java
Все они и отображаются на диаграмме,
а вот классы-предки - части библиотек, которых у вас в пакете нет, откуда же он возьмет эту информацию и отобразит ее на диаграмме?
Далее Класс SimpleAdapter показан как внедренный объект в которые еще другие внедрены в трассировке показана связь принадлежит.
Попробуйте разделить в разные файлы и еще раз импортируйте код. Думаю парсер кода спотыкается на том, что классы наследники (а также и интерфейсы) записаны в одном файле mainactivity - как гипотеза
-
Еще замечу, не все так просто с вашим кодом
public class MainActivity extends AppCompatActivity {
private RecyclerView mList;
private SimpleAdapter mAdapter;
Т.е. MainActivity является по вашей версии родителем SimpleAdapter, одновременно содержит его объект в качестве частного атрибута - отсюда ассоциация между родительским классом и его потомком
Но если попробовать все-таки разделить классы в отдельные файлы, а интерфейсы в отдельные файлы также - и попробовать реинжиниринг должно получиться, либо надо шаманить с кодом трансформации с java в uml