1
Задачи студентов / Диаграмма классов и вариантов использования: нужна помощь!
« : 19 Июня 2011, 20:13:51 »
Привет. Делаю программу для создания виртуального тура.
Подробности:
1) Есть программа, выводящая изображение, взятое из базы данных (SQLite).При этом используется OpenGL для создания фигуры на которую накладывается в виде текстуры взятое изображение.
2) Пользователь может добавлять изображения в базу данных.
3) Между изображениями есть переходы (в виде стрелок). Можно переходить из одной сцены в другую.
4) Имеются контрольные точки, которые позволяют перемещаться к нужной сцене не проходя до нее последовательно весь путь.
Нужно составить use case диаграмму, диаграмму классов.
С UML раньше не имел дело, но теперь понадобилось.
Я попробовал сделать use case диаграмму (посмотрите пожалуйста):
Собираюсь делать диаграмму классов. Программу писал на Qt (C++)
Пусть есть такой код, на его примере не могли бы вы мне показать, как будет выглядить диаграмма классов. Просто я незнаю, как в UML представить signals и slots Qt.
mainwindow.h
mainwindow.cpp
Спасибо.
Подробности:
1) Есть программа, выводящая изображение, взятое из базы данных (SQLite).При этом используется OpenGL для создания фигуры на которую накладывается в виде текстуры взятое изображение.
2) Пользователь может добавлять изображения в базу данных.
3) Между изображениями есть переходы (в виде стрелок). Можно переходить из одной сцены в другую.
4) Имеются контрольные точки, которые позволяют перемещаться к нужной сцене не проходя до нее последовательно весь путь.
Нужно составить use case диаграмму, диаграмму классов.
С UML раньше не имел дело, но теперь понадобилось.
Я попробовал сделать use case диаграмму (посмотрите пожалуйста):
Собираюсь делать диаграмму классов. Программу писал на Qt (C++)
Пусть есть такой код, на его примере не могли бы вы мне показать, как будет выглядить диаграмма классов. Просто я незнаю, как в UML представить signals и slots Qt.
mainwindow.h
Код: [Выделить]
#include <QMainWindow>
class Scene3D;
class dbViewer;
class QListWidget;
class QToolBar;
class QAction;
class QTableWidget;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
private slots:
void aboutSlot();
void checkPhotoSlot();
void informationSlot();
private:
void createToolBar();
void createActions();
void createStatusBar();
void createCheckPointList();
void createTableWidget();
enum { COLUMN = 2 };
QTableWidget *checkpointTable;
QAction *exitAction;
QAction *aboutAction;
QAction *nextPhotoAction;
QAction *previousPhotoAction;
QAction *checkerAction;
QAction *informationAction;
QToolBar *toolBar;
Scene3D *view3D;
dbViewer *viewChecker;
};
mainwindow.cpp
Код: [Выделить]
#include <QtGui>
#include "mainwindow.h"
#include "dbViewer.h"
#include "scene3D.h"
#include "helpBrowser.h"
MainWindow::MainWindow()
{
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
view3D = new Scene3D;
viewChecker = new dbViewer;
setCentralWidget(view3D);
setContextMenuPolicy(Qt::NoContextMenu);
setGeometry(100, 100, 800, 600);
createActions();
createToolBar();
createStatusBar();
createCheckPointList();
connect(checkpointTable, SIGNAL(cellDoubleClicked(int,int)), view3D, SLOT(getPhoto(int,int)));
}
...
Спасибо.