통합개발 환경 기반의dslab.konkuk.ac.kr/etc/kcse 2013/kcse2013/kcse2013...모델 정보로...

28
통합개발 환경 기반의 UML 2.0 모델링 도구의 변화 발표자 : 정연대 대표이사 임진수 차장 KCSE 2013

Upload: others

Post on 06-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

통합개발 환경 기반의 UML 2.0 모델링 도구의 변화

발표자 : 정연대 대표이사 임진수 차장

KCSE 2013

Page 2: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 2 - www.n3soft.co.kr

1. 눈에 보이는 SW와 도구의 필요성 ------- P 3

2. UML 2.0 모델링 지원 기능 ------------ P 9

3. 변화가 필요한 통합환경 지원 기능 ------ P14

4. 결론 ---------------------------- P28

목 차

Page 3: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 3 - www.n3soft.co.kr

HW 개발 : Visible

MP3폰 PDA폰 DMB폰

SW 개발 : Invisible

?

C4I체계

ERP

계좌관리시스템

비행기 탱크

1. 1. 눈에 보이는 SW

Page 4: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 4 - www.n3soft.co.kr

1. 2. 눈에 보이는 SW

눈에 보이는 SW란? 개발자 이외의 사람들이 이해 가능한 SW 한사람이 만든 것 처럼 일관성 있는 SW 상호운용성과 재사용이 가능한 SW

눈으로 확인 가능하고 이해 가능한 결과물

요구사항 정의서 : 초기의 시스템 모습 모델링 문서 및 파일 : 모델하우스 수준의 모습 개발 단계별 산출물 : 준공 검사를 위한 평가 기준 적용 UI 및 컴포넌트별 소스코드 : 완성품

일관성 있는 SW의 조건 : 표준화의 필요성

요구사항 표현 양식의 표준 : 유사 분야 및 단위 부문별 모델링을 위한 모델 언어 및 모델링 기법 표준 : UML 개발 단계별, 활동별, 작업별 산출물 양식 표준 UI표준(웹표준 등) 및 소스코드 작성 Rule 표준

Page 5: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 5 - www.n3soft.co.kr

1.3. 눈에 보이는 SW를 위한 개발 도구 필요성

Page 6: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 6 - www.n3soft.co.kr

• 우수한 품질의 SW를 보다 빠르고 안정적으로 개발 • 분석, 설계, 구현의 개발 새명주기 전 과정 지원 • 개발자들에게 편의성 제공 • 소스코드의 생성/수정을 통하여 관련 프로젝트의 개발 기간 단축 • 역 공학을 이용한 모델 생성 용이 • 유지보수에 필요한 노력과 비용을 절감

1.3. UML 모델링 도구의 필요성

Page 7: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 7 - www.n3soft.co.kr

1.4. 기존 모델링 도구의 문제

1. CBD 기술 지원 미흡

2. 요구분석, 설계, 개발 등 CBD 개발의 일부 과정만 지원

3. 사용자 요구사항의 반영이 어려움

4. UML 다이어그램 정보의 확인 및 수정의 어려움

5. 협력 작업의 어려움

6. 설계후의 컴포넌트 식별의 어려움

7. 모델 정보로 부터 테스트케이스 작성의 어려움

8. 모델과 구현의 불일치

9. 분석, 설계 및 산출물 확인의 공간적 제약

Page 8: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 8 - www.n3soft.co.kr

1.5. 변화를 원하는 UML 모델링 도구의 모습

UML 모델링 언어 분석설계 도구 개발 및 사용기술 소프트웨어 개발 방법론

정보시스템/임베디드 시스템 모델 제공 통합개발환경 제공

Eclipse 기반 UML 2.0 모델링 언어 지원

한글메뉴와 단축키 사용

사용편의성 기능

여러 창을 열어 편집하는 MDI 기능

일괄편집이 가능한 인터페이스 컴포넌트 자동 추출기능

이미지 삽입 기능

GUI 다이어그램 기능

변화를 요구하는 도구 기능

엑셀 연동 기능

요구사항 추적 기능

설계모델 검증 기능

신속한 개발

안정적인

개발환경 우수한 품질 SW개발

테스트 모델링 기능 스마트폰 연동 기능

방법론에 따른 산출물 생성

형상관리 연동 기능

아래한글 및 워드 산출물 연동 기능

국방 U-Military 공공분야

금융분야

기타 소프트 웨어 개발

이동통신

지능형 로봇 공장자동화

Page 9: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 9 - www.n3soft.co.kr

Usecase Diagram : 액터와 시스템(또는 다른 앤터티), 그리고 유스케이스 사이의 관계를 나타내는 다이어그램.

State Diagram : 한정적인 상태 전이 시스템들을 통해 모델링된 구체적인 행위를 묘사하는 다이어그램. 특별히 객체 생애동안 객체(또는 인터렉션)의 응답과 액션들을 포함하여 이벤트들에 대한 응답에서 어떤 객체나 인터렉션이 겪게 되는 상태들의 순서들을 명세한다.

2.1. UML 2.0 모델링 지원 기능 • Behavioral Modeling

Activity Diagram : 특별한 종류의 상태도로써 시스템 내부에 있는 활동간의 흐름을 표현하는 다이어그램.

Sequence Diagram : 생명선의 이벤트 어커런스들에 상응하는, 교환되는 메시지들의 순서에 초점을 두고 인터렉션을 묘사하는 다이어그램. 커뮤니케이션 다이어그램과 달리 시퀀스 다이어그램은 객체관계들을 포함하지 않고 시간순서를 포함한다.

Page 10: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 10 - www.n3soft.co.kr

2. 2. UML 2.0 모델링 지원 기능 • Behavioral Modeling

Communication Diagram : 교류하는 Object들 간의 구조적인 관계를 강조 및 교류에 나타나는 객체들을 Graph 상의 꼭지 점으로 하여 Link롤 연결하고 Message를 순차 번호를 부여하여 표현하는 다이어그램

Interaction Overview : 제어흐름을 총괄하는 Activity Diagram의 변형을 말한다.

Timing Diagram : 선형적인 시간에 걸쳐 어떤 생명선(lifeline)의 상태 또는 조건의 변화를 보여주는 인터렉션 다이어그램. 가장 일반적인 용례는 수용되는 이벤트들 또는 자극에 대한 응답 내의 시간에 걸친 객체의 상태 내에서의 변화를 보여주기 위함이다.

Page 11: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 11 - www.n3soft.co.kr

2.3. UML 2.0 모델링 지원 기능 • Structural Modeling

Object Diagram : 시간상 어떤 시점의 객체들과 그들의 관계들을 포함하는 다이어그램.

Class Diagram : 클래스, 인터페이스 그리고 협력들과 그 관계를 보여주는 다이어그램

Component Diagram : 컴포넌트들 사이의 조직과 의존성을 보여주는 다이어그램.

Page 12: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 12 - www.n3soft.co.kr

2.4. UML 2.0 모델링 지원 기능 • Structural Modeling

Deployment Diagram : 시스템들의 실행 아키텍쳐를 묘사하는 다이어그램. 노드들은 전형적으로 포함되는 식으로 정의되며 하드웨어 장치 또는 소프트웨어 실행 환경들로 나타낸다.

Package Diagram : 패키지 Import와 패키지 확장을 포함하여 모델 요소들이 패키지로 어떻게 조직화되고 이들 사이의 의존성들이 어떻게 조직화되는지 묘사하는 다이어그램.

Composite Diagram : 어떤 분류자의 내부 구조를 묘사하는 다이어그램. 포함하는 분류자의 행위를 연이어 수행하는 부분들의 형상을 보여준다

Page 13: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 13 - www.n3soft.co.kr

2.5. UML 2.0 모델링 지원 기능 • Additional Modeling

Requirement Diagram : 요구사항명세를 정의하고 각각의 요구사항명세들 간의 관계를 보여주는 다이어그램

GUI Diagram : 웹을 포함한 각종 어플리케이션 User Interface의 그래픽적인 모델링을 할 수 있는 GUI 다이어그램을 제공한다.

DBSchema Diagram : 데이터베이스를 사용하는 엔티티들 간의 관계를 보여주는 다이어그램

Page 14: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 14 - www.n3soft.co.kr

Eclipse 기반의 통합개발환경

CBD 기술 지원

사용자 요구사항 반영

UML 다이어그램 정보의 확인 및 수정 용이

개발자간의 협력 작업 가능

링크 기능을 통해 팀작업

모델브라우징창에서 빠른 메뉴(오른 클릭)를 통하여Java/C++ /C# 소스를 생성

소프트웨어 개발방법론(마르미 III Ver. 4.0, ADDMe ver. 1.0, Ver 2.1)을 적용한 산출물 자동생성 기능 및 템플릿 제작기능을 포함

패턴을 설정하여 기본적인 모델링 생성

테스트 모델링 : 테스트 산출물 생성 가능, 테스트케이스별 테스트

개발 방법론 프로세스 생성 및 편집 기능

개발 결과물 확인의 상시성

3. 변화가 필요한 통합환경 지원 기능

Page 15: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 15 - www.n3soft.co.kr

클래스의 연관관계를 중심으로 Component를 자동으로 식별하는 기능

3.1. 컴포넌트 자동식별 기능

Page 16: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 16 - www.n3soft.co.kr

역공학을 이용한 모델 자동생성을 통하여 이미 구현된 시스템에 대한 설계 모델을 검증

3.2. 설계모델 검증 기능

Page 17: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 17 - www.n3soft.co.kr

웹을 포함한 각종 어플리케이션 User Interface의 그래픽적인 모델링을 할 수 있는 GUI 다이어그램을 제공

GUI Diagram 작성화면

3.3. GUI 다이어그램 지원

Page 18: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 18 - www.n3soft.co.kr

다이어그램 내부의 정보와 엑셀 연동 기능

• 엑셀 sheet에서 수정된 내용이 바로 모델링에 반영된다.

엑셀 불러오기

다이어그램 바로 적용

엑셀 sheet 내용 수정

• 다이어그램 정보를 한 눈에 보이게 함으로서 분석, 설계된 내용을 쉽게 확인이 가능하다. 엑셀로 저장

3.4. 엑셀연동기능

Page 19: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 19 - www.n3soft.co.kr

콘솔창의 추적결과를 클릭하면 해당하는 클래스다이어그램을 볼 수 있다.

요구사항 다이어그램 지원 및 요구사항 추적 기능

• 요구사항 추적

요구사항을 추적한 결과를 콘솔창에서 볼 수 있다.

3.5. 요구사항 추적 기능

• 요구사항 다이어그램 작성

Page 20: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 20 - www.n3soft.co.kr

• 이미지 삽입이 가능하여 업무의 직관적 이해의 폭을 높일 수 있다.

3.6. 이미지 삽입 기능

Page 21: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 21 - www.n3soft.co.kr

다이어그램 정보트리창을 통해 각 요소의 위치를 이동시키거나 각 요소를 복사/붙여넣기 기능

다이어그램창 다이어그램 정보트리창

3.7. 다이어그램 정보트리창 기능

Page 22: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 22 - www.n3soft.co.kr

산출물 워드 및 한글 생성 편집 및 방법론에 따른 전체 산출물 제공

3.8. 산출물 자동생성 지원

산출물 생성

워드,한글을 이용한 탬플릿 편집 자유로운 사용자 정의 산출물 추가

Page 23: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 23 - www.n3soft.co.kr

스마트폰 및 PC 에서 다양한 작업 환경 지원하여 개발자의 편리성 증대

3.9. 스마트환경 지원

개발자의 편리성 증대

다양한 작업환경

Page 24: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 24 - www.n3soft.co.kr

스마트기기 에서 N3Nabee 모델생성/편집 및 연동 지원

3.9. 스마트환경 지원

모델 생성 및 편집

스마트폰 연동

Page 25: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 25 - www.n3soft.co.kr

시험계획을 바탕으로 각 단계별 시험 진행 절차에 따른 모델링 지원

3.10. 테스트 모델링 지원(1/2)

인수

시험

단위

시험 통합

시험

시스템

시험

시험

계획 Add Title

Page 26: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 26 - www.n3soft.co.kr

각 단계별 시험 절차에 따라 시각적인 테스트 다이어그램을 지원하고 테스트 다이어그램을 통하여 단위/통합/시스템/인수와 관련된 산출물 자동 생성 및 JunitTest 소스를 생성하여 JuintTest를 실행하여 오류 검증

3.10. 테스트 모델링 지원(2/2)

테스트 관련 산출물 생성 JUnitTest 소스 생성

단위

시험

통합

시험

시스템

시험

인수

시험

테스트 다이어그램

JUnitTest 실행

Page 27: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 27 - www.n3soft.co.kr

다양한 형상관리툴과 연동 하여 모델링된 형상 항목을 체계적으로 관리

3.11. 형상관리 지원

CVS

모델링 도구 연동

SVN

Page 28: 통합개발 환경 기반의dslab.konkuk.ac.kr/Etc/KCSE 2013/KCSE2013/KCSE2013...모델 정보로 부터 테스트케이스 작성의 어려움 8. 모델과 구현의 불일치 9

- 28 - www.n3soft.co.kr

4. 결 론

1. SysML 기능 추가 : 자동차 및 조선 분야 활용

2. 요구사항 자동 식별 기능

3. 관리 방법론 지원

4. 다양한 개발 사례 지원

5. 대학 실습용 버전 및 개발 사례 지원