'프로젝트' 카테고리의 다른 글
[UML] Use Case Diagram (0) | 2017.04.12 |
---|---|
[C++] Qt 를 이용한 타이머 만들기 (0) | 2017.01.24 |
[UML] Use Case Diagram (0) | 2017.04.12 |
---|---|
[C++] Qt 를 이용한 타이머 만들기 (0) | 2017.01.24 |
'어떻게'가 아닌 Actor 가 '무엇'을 하는지에 중점을 두고 작성해야함
=> 사용 사례는 설계가 아닌 요구 분석을 위한 도구임
포함 관계 (<<include>>)
- 어떤 사용 사례가 다른 사용 사례를 포함할 때
- ex) 식당에서 [주문] 을 하기 위해서는 [메뉴 선택] 과 [결제] 를 해야 함
[그림 1 - 포함 관계 예시]
확장 관계(<<extend>>)
- 사용 사례가 일정한 조건 아래 확장된 동작을 포함
- ex) GUI 프로그램에서 [Trigger Action] 을 할 때 상황에 따라 [Enter/Space Key] 를 누르거나 [Click] 을 할 수 있음
[그림 2 - 확장 관계 예시]
일반화(generalization)
- 구체적인 것을 일반화함
- ex) [Place Order] (주문을 발주하다) 라는 것은 phone 으로 주문하거나 internet 으로 주문하는 것을 일반화했다고 할 수 있음
- attribute 와는 다른 개념임
- 상속과 같은 개념
[그림 3 - 일반화 예시]
참고 링크
그림 1 : https://i-msdn.sec.s-msft.com/dynimg/IC292999.jpeg
그림 2 : https://i.stack.imgur.com/WJDWU.png
그림 3 : http://sce.uhcl.edu/helm/rationalunifiedprocess/process/modguide/images/ucgen2.gif
버전 네이밍과 브랜치 (0) | 2017.12.01 |
---|---|
[C++] Qt 를 이용한 타이머 만들기 (0) | 2017.01.24 |
프로젝트 목적
Qt에 익숙해질겸 간단한 타이머 프로그램을 만들기로 하였습니다.
Qt 설치하기
Qt 설치 : https://wiki.qt.io/Install_Qt_5_on_Ubuntu
우분투 16.04 기준으로 Qt5 를 설치하였습니다.
Qt 특징
GitHub
https://github.com/NCookies/MyTimer
참고링크
Qt 에 대한 개념을 공부하면서 참고했던 링크입니다.
http://www.korone.net/bbs/board.php?bo_table=qt_lecture&wr_id=475
cross-platform 빌드하기
Ubuntu 16.04, Qt5 기준으로 설명합니다.(Qt4에서 하는 방법)
1. git clone https://github.com/mxe/mxe.git
2. dependencies build 설치
apt-get install \
autoconf automake autopoint bash bison bzip2 flex gettext\
git g++ gperf intltool libffi-dev libgdk-pixbuf2.0-dev \
libtool libltdl-dev libssl-dev libxml-parser-perl make \
openssl p7zip-full patch perl pkg-config python ruby scons \
sed unzip wget xz-utils
apt-get install g++-multilib libc6-dev-i386
3. 위에서 git 으로 mxe 를 받았으면 mxe 디렉터리가 생깁니다.
cd mxe && make qt5
4. <mxe root>는 mxe를 설치한 디렉터리 절대경로입니다. 이 부분을 설정해주지 않으면 뒤에서 오류가 발생할 수 있습니다.
export PATH=<mxe root>/usr/bin:$PATH
5. 빌드할 qt 프로젝트 디렉터리에서 다음 명령을 실행합니다.
<mxe root>/usr/bin/i686-w64-mingw32.static-qmake-qt5 && make
6. 중간에 에러가 발생하지 않는다면 release 디렉터리 안에 exe 파일이 생깁니다. 테스트 결과 윈도우에서도 정상적으로 작동합니다.
wine release/foo.exe
오류
make[1]: i686-w64-mingw32.static-g++: 명령을 찾지 못했음 Makefile.Release:387: 'release/main.o' 타겟에 대한 명령이 실패했습니다 make[1]: *** [release/main.o] 오류 127 make[1]: 디렉터리 '/home/ryu/QtProjects/MyTimer' 나감 Makefile:34: 'release' 타겟에 대한 명령이 실패했습니다 make: *** [release] 오류 2 해결 방법 => export PATH=/home/ryu/QtProjects/mxe/usr/bin:$PATH |
버전 네이밍과 브랜치 (0) | 2017.12.01 |
---|---|
[UML] Use Case Diagram (0) | 2017.04.12 |