1. 모델 기반 개발 방식 소개
생성일: Jun 5, 2019 3:36 PM 최종수정시간: Jun 5, 2019 5:12 PM 출처 및 링크: LG Learning Plus
용어정리
- 모델
- 인간 또는 모델과 기계가 의사소통할 수 있는 가장 추상화된 형태의 설계 방식 및 프로그래밍의 수단
- MDD
- 모델 기반 개발 방식, 공정 안에서 모델 적극적 활용
- MDA - Model Driven Architecture
- 모델로부터 소스 코드를 생성하기 위한 개발 표준
- DevOn MDA
- 모델 기반 개발 방식을 지원하는 LG CNS의 자동화 도구
왜 모델에 주목하는가?
- SW 개발 방식은 언어로 통해 개발한다.
- 컴퓨터는 데이터를 처리하기 위해, 0과 1로 구성된 기계지향적인 바이너리를 해석한다.
- Assembly에서는 바이너리를 MOV로 표현
- 코드 중심으로 개발하는 것보다, SW를 모델 중심으로 설계
- 표준화되고 일관된 서비스를 생성하기 위함
DevOn MDA
- PIM(업무설계모델)을 집중적으로 작성하게 된다.
- PSM(구현모델) : PIM과 100% 매핑
- PSM과 소스코드를 100% 매핑하여 소스코드 자동 생성
- 모델 설계시 비즈니스 로직과 상관없는 부분은 최대한 자동화 해준다.
모델기반 개발 절차
- 기본(기존과 동일)
- 요구 사항을 분석
- 화면 정의
- 테이블 작성
- 업무설계모델 > 기술설계모델(자동생성) > 단위코드생성(자동생성) > 단위 테스트(실행) > 검증결과 반영) : 반복적 설계 및 검증
- 통합 코드 생성
- 코딩이 아닌 모델링
2. UseCase 모델링
생성일: Jun 5, 2019 3:57 PM 최종수정시간: Jun 24, 2020 8:29 AM
모델기반 개발 방식
유스케이스 모델링의 개념
- 정의
- 개발자가 아닌 사용자(고객)의 관점으로, 개발될 시스템에 대한 사용자 요구사항을 모델링하는 기법
- 액터와 시스템 간의 상호작용 분석을 통해, 화면, 정보 수준의 데이터, 이벤트, 예외처리, 연계 대상등을 식별하는 것
- 구성
- 다이어그램(UML)
- 명세서(텍스트)
- 장점 (왜 하는가?)
- 누가 어떤 목적으로 시스템을 사용하는지 명시적 표현가능
- 시스템 경계 명확히 파악가능
- 개발의 전체 생명주기를 사용자 요구사항 중심으로 이끌어감
- 중요한 점
- 향후 관리 측면을 고려, 너무 크게 묵거나, 너무 잘게 쪼개지지 않도록 한다.(적절한 크기로 식별하는 것이 중요하다)
유스케이스 명세서의 주요 개념
- 명세서
- 유스케이스에 대한 구체적 명세를 기술한 문서
- 목적
- 요구사항의 시나리오 파악을 위해 TEXT 기반의 문서 작성
-
예시
- (시나리오)
- 기본 흐름 : 유스케이스의 기능을 수행하게 되는 긍정적 흐름 작성
- 대안 흐름 : 기본 흐름을 수행 중 대안적으로 발생하는 선택및 예외흐름
유스케이스 다이어그램 및 주요개념
- 액터(Actor)
- 자신의 목적을 달성하기 위해 시스템을 직접적을 사용하게 될 시스템 외부에 존재하는 어떤 사람 또는 어떤 것의 역할
- 사람(시스템 사용자), 시스템(개발 외 인터페이스가 필요한 시스템), 디바이스(OS 제공 외, 외부 인터페이스가 필요한 디바이스)
- 종류
- 1차 엑터 : 시스템 사용을 시작하는 주체(사람)
- 직접적으로 사용하는 사용자
- 사용자를 유형 및 업무별로 일반화 시킨 역할
- 2차 엑터 : 1차 엑터 목적 달성을 위해 보조적 역할 수행
- 타 시스템 및 시스템 외부에서 시스템과 인터페이스하는 역할 ex)그룹웨어, 은행연합회
- 유스케이스가 액터를 제어할 때
- 1차 엑터 : 시스템 사용을 시작하는 주체(사람)
- UML 표기법 : 사람 모양이다. 스테레오 타입은 사람/디바이스
- 액터는 업무별로 생성된다.
- 유스케이스
- Actor의 시스템 사용 목적을 달성할 수 있도록 우리가 개발할 시스템이 제공해야 하는 서비스
- 시스템 처리 기능, 시스템이 제공하는 기능 또는 서비스
- 하나 이상의 일련의 트랜잭션들로 수행
- 트랜잭션의 기능이 operation으로 구현 > 여러개의 operation이 모여 하나의 useCase 실현
- 종류
- 온라인 유스케이스 : 화면과 주로 상호작용하며 실시간 처리
- 배치 유스케이스 : 특정한 시간대에 대량 데이터 일괄처리
- 공통서비스 유스케이스 : 여러 유스케이스의 공통 기능 처리
-
UML 표기법 : 실선으로 된 타원, 스테레오는
- 업무 기능 분해도 & 업무 흐름도를 통해 UseCase를 식별 한다.
- Lv1. Process > Lv2. 프로세스 체인 > Lv3. 프로세스 > Lv4. 액티비티 > Lv5. 액티비티(Transaction)
- 비슷한 정보군끼리 UseCase로 묶는다.
- (트랜잭션)
- 액터로부터 발생한 이벤트가 시스템 내부 처리를 거쳐 다시 액처로 돌아가는 행위의 집합
- 다이어그램
- Actor와 유스케이스 관계를 도식화한 것(대표 산출물)
- 과정
- 1차 액터의 요구사항이 정의
- UI 화면 정의
- 이벤트 정의 : 무슨 정보를 주고 받는지 식별
- 예외 사항 정의
- System Interface 정의(유스케이스의 결과가 타시스템에 넘어갈 때) : 연계 대상 식별
- 작성법
- 액터와 유스케이스 정의는 병렬적으로 진행
- 먼저 대화를 시작하는 쪽에서 대화를 받는 쪽으로 방향성 표시(액터 > 유스케이스)
- 해당 유스케이스 내에 공통서비스 유스케이스가 진행되는 경우
- (연관관계)
- 액터와 유스케이스 간의 커뮤니케이션 관계를 표시하는 것
- 화상표의 방향은 누가 먼저 행위를 시작하는지 의미
- RSA : 모델링 툴, DevOnMDA 플러그인이 존재한다.
- 사용법
- 액터추가 : UML 추가 > 액터
- 관계는 연관/직접연관/포함 등이 존재한다.
- 사용법