일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Lua
- #부동산전자거래 #부동산전자계약 #부동산계약 #부동산전자계약방법 #부동산전자계약하는법 #부동산계약방법 #부동산중개수수료 #부동산중개수수료아끼기 #부동산복비아끼기
- file read
- #신혼부부 #결혼준비 #신혼부부희망타운신혼부부특별공급
- object
- FILE TRANSFER
- QT TCP
- C API
- 수도권주택공급
- meta table
- lua setup
- file open
- C++ API
- 청량리역한양수자인192
- 티몬삼겹살데이
- lua for windows
- 엑스퍼트생일축하해
- 찾다죽는줄
- 국토교통부
- 중소규모택지
- 월세
- lua interpreter
- 등록임대주택
- lua install
- TCP/IP
- 프리미어 영상저장
- QTcpServer
- file write
- 프리미어 영상변환
- 엑스퍼트2주년
- Today
- Total
Value Creator의 IT(프로그래밍 / 전자제품)
#2 starUML 예제 프로그램 작성으로 익히기(수강신청 시스템) 본문
starUML 예제 프로그램 작성
• 1.1 예제소개 수강신청 시스템 구축
– 수강신청 시스템 구축 요구사항
이 시스템은 수강신청페이지에 접속하여 수강신청을 할 수 있도록 도와주는 것. 시스템에 등록된 학교 학생이 수강신청 페이지에 로그인 후 과목을 선택하고, 수업을 선택하여 잔여좌석을 확인. 만약, 잔여좌석이 없을 경우 과목선택부터 다시 하고 잔여좌석이 있을 경우 수강신청을 완료 하게 된다.
– 수강 신청 시스템의 구현 환경
˃ 운영체제환경
-> 사용자는 PC 기반의 Windows XP를 운영체제로 사용
-> Web Server, DB Server, Web Application Server는 Windows NT 기반의 운영체제
˃ 네트워크 환경
» 사용자와 Web Server간의 통신은 HTTP 방식을 사용
» 사용자와 Web Application Server간의 통신은 TCP/IP 방식을 사용
» Web Server와 DB Server, DB Server와 Web Application Server간의 통신은 TCP/IP 방식
• StarUML을 실행하고 새Project를 생성 : Test
– Approach는‘Default Approach’를 선택
• ‘Default Approach’ 실행 결과
– 기본적으로 5개의 모델에 대하여 UML 생성 가능
• Diagram 생성
– Model Explorer에서 각Diagram에 적합한 Model선정 → Add Diagram → Diagram선택 → 이름변경
• 선택한 Diagram이 Model Explorer에 생성
• Tool Box와 Main Window가 Diagram의 종류에 맞게 생성
• 수강신청 시스템의 요구사항의 Use Case Diagram 표현
대기상태에서 수강신청을 하기 위해 수강신청 페이지에 접속
로그인을 하고 과목목록을 확인한 뒤 과목을 선택
선택한 과목의 수업을 선택하면 수강신청이 완료
• 수강신청 시스템의 요구사항의 Use Case Diagram 표현
• Use Case Diagram 그리기 : Diagram 생성
– Model Explorer <<usecaseModel>> Use Case Model 선택 → Add Diagram -> Use Case Diagram
• Actor를 식별
– Toolbox의 UseCase에서 Actor아이콘클릭 → 마우스로 크기지정 → Actor 이름입력
• Use Case를 식별
– Toolbox의 UseCase에서 UseCase아이콘 클릭 → 마우스로 크기지정 → Use Case 이름입력
• Use case 추가 작성
– 수강신청하기, 수강신청취소하기, 수강인원확인하기, 로그인 Use case
• 연관관계 표시
– Toolbox의 UseCase에서 Association클릭 → Actor와 UseCase 마우스 연결
• Include관계를 표시
– Toolbox의 UseCase에서 Include 클릭 → Use Case와Use Case 마우스로 연결
• 1.3 Class Diagram
• 수강신청시스템의 요구사항의 Class Diagram 표현
학교는 0명 이상의 학생으로 구성된 집합연관, 학생은 여러 수업을, 수업은 여러 명의
학생을 수용할 수 있는 多대多 관계. 교수 한 명당 0개 이상의 수업을 담당
• Class Diagram Tool Bar (1/2)
• Class Diagram Tool Bar (2/2)
• Use Case Diagram 그리기 : Diagram 생성
– Model Explorer의<<designModel>> Design Model 선택 → Add Diagram -> Class Diagram
• 시스템을 구성하는 학교클래스 표현
– Toolbox의 Class에서 Class아이콘 → 마우스로 Class 크기지정 → Class 이름입력
• 학교Class에 Attributes입력
– 학교Class 선택 → 마우스오른쪽버튼 → Collection Editor… → Attributes 탭 → Insert 아이콘 →Edit 클릭 → 마우스오른쪽버튼클릭 → Name 변경
• 학교Class에 Operations입력
• 학교Class 선택 → 마우스오른쪽버튼 → Collection Editor… → Operations 탭 →
Insert → Edit → 마우스오른쪽버튼 → Name 변경
• 학교 Class생성방법을 참고로 교수, 수업, 학생Class 생성
• 클래스간의 관계를 표현 : 집합연관관계(한 클래스가 다른 클래스를 포함하는 관계)
– Toolbox의 Class에서 Aggregation → Class와 Class 마우스로 연결(드래그)
• 클래스간의 관계를 표현 : 연관관계(한 클래스와 다른 클래스가 연관관계가 있음)
– Toolbox의 Class에서 Association → Class와 Class 마우스로 연결(드래그)
• 1.4 Sequence Diagram
• 수강신청시스템의 요구사항의 Sequence Diagram 표현
• Sequence Diagram Tool Bar
• Sequence Diagram 그리기 : Diagram생성
– Model Explorer의 <<analysisModel>> Analysis Model → 마우스오른쪽버튼 → Add Diagram →Sequence Diagram
• 상호작용에 참여하는 개체들을 표시
– Toolbox의 Sequence에서 Object 아이콘 → 마우스로 크기지정 → 이름입력
• 상호작용에 참여하는 개체들을 표시
– Student Object생성하는 방법을 참고하여 Login, application, application management 개체 표시
• 다른 객체로의 제어흐름의 이동과 호출 메소드를 표시
– Toolbox의 Sequence에서 Stimulus아이콘 → Object와 Object선택 → Stimulus이름 입력
• 다른 객체로의 제어흐름의 이동과 호출 메소드를 표시
– Toolbox의 Sequence에서 Stimulus아이콘 → Object와 Object선택 → Stimulus이름 입력
• 1.5 Activity Diagram
• 수강신청 시스템의 요구사항의 Activity Diagram 표현
수강신청 페이지에 접속하여 과목을 선택한 뒤 수업을 선택하여 잔여좌석을 확인
잔여좌석이 없을 경우 과목선택부터 다시 시작. 잔여좌석이 있을 경우 수업등록을 하고 완료
• Activity Diagram Tool Bar
• Activity Diagram 그리기 : Diagram생성
– Model Explorer의 각 Diagram에 적합한 Model선정 → 오른쪽버튼 → Add Diagram →
Activity Diagram
• 객체의 상태변화가 시작됨을 알림
– Toolbox의 Activity에서 InitialState아이콘 → 마우스로 크기 조절
• 작업을 알림
– Toolbox의 Activity에서 ActionState아이콘 → 마우스로 크기지정 → ActionState 내용입력
• 하나의 상태에서 다른 상태로 변화되는 것을 표현
– Toolbox의 Activity에서 Transition아이콘 → 위에서 아래로 드래그
• ActionState과 Transition생성방법을 참고하여 작성
• 논리식의 결과값에 따라 분기가 일어나는 곳을 표현
– Toolbox의 Activity에서 Decision선택 → 마우스로 크기 설정
– Toolbox의 Activity에서 Transition선택 → 분기가 일어나는 곳과 Decision 부분 연결 (EX : 과목선택)
– 이어준 선을 더블 클릭하여 내용을 입력
• 객체의 상태변화가 끝나게 됨을 알림
– Toolbox의 Activity에서 FinalState아이콘 → 마우스로 크기지정
– Toolbox의 Activity에서 Transition아이콘 → 위에서 아래로 드래그
• 1.6 State chart Diagram
• 수강신청 시스템의 요구사항의 State chart Diagram표현
대기상태에서 수강신청을 하기 위해 수강신청 페이지에 접속한다.
로그인을 하고 과목목록을 확인한 뒤 과목을 선택한다.
선택한 과목의 수업을 선택하면 수강신청이 완료된다.
• State chart Diagram Tool Bar
• State chart Diagram그리기 : Diagram생성
– Model Explorer의 각Diagram에 적합한Model 선정 → 오른쪽버튼 → Add Diagram →
State chart Diagram
• 객체의 상태변화가 시작됨을 알림
– Toolbox의 State chart에서 InitialState아이콘 → 마우스로 크기 지정
• 객체의 상태를 표현
– Toolbox의 State chart에서 State아이콘 → 마우스로 State크기지정 → State 내용입력
• State생성방법을 참고하여 과목목록확인, 수업목록확인 객체의 상태를 표현
• 하나의 상태에서 다른 상태로 변화되는 것을 표현
– Toolbox의 State chart에서 Transition아이콘 → 연결할State 와State 선택
• 객체의 상태변화가 끝나게 됨을 알림
– Toolbox의 State chart에서 FinalState아이콘 → 마우스로 크기 지정
– Toolbox의 State chart에서 Transition아이콘 → State와 FinalState 연결
• 객체의 상태변화를 표현
– 화살표선택 → 더블클릭 → 해당내용입력
• 1.7 Collaboration Diagram
• 수강신청 시스템의 요구사항의 Collaboration Diagram표현
수강신청 페이지에 접속하여 과목을 선택한 뒤 수업을 선택하여 잔여좌석을 확인
잔여좌석이 없을 경우 과목선택부터 다시 시작
잔여좌석이 있을 경우 수업등록을 하고 완료
• Collaboration Diagram Tool Bar
• Collaboration Diagram그리기 : Diagram생성
– Model Explorer의 각Diagram에 적합한Model 선정 → 오른쪽버튼 → Add Diagram →
Collaboration Diagram
• 객체를 생성
– Toolbox의 Collaboration에서 Object아이콘 → 마우스로 Object크기지정 → Object내용입력
• 객체 생성하는 방법을 참고하여 과목선택, 수업선택, 수강처리, 수강인원확인, 수강완료
객체를 생성
• 객체 사이의 링크를 생성
– Toolbox의 Collaboration에서 Link아이콘 → 연결할 Link와 Link사이 드래그
• Link의 상태변화를 표현
– Link 선택더블클릭 → 해당내용입력
'1. 프로그래밍 > 1) UML' 카테고리의 다른 글
#5 UML 가장 많이 쓰이는 항목 - Use Case, Class Diagram, Sequence Diagram - 개념과 예제 (0) | 2019.03.25 |
---|---|
#4 starUML 예제 프로그램 작성으로 익히기(생산관리 시스템) (0) | 2019.03.21 |
#3 starUML 팁(1) Tips for UML (1) | 2019.03.21 |
#1 starUML 시작하기(소개, 설치, 주요기능, Diagram, Use case, Class, Object) (0) | 2019.03.19 |