2016 sinvas day - 프레임워크 기반 운영 시스템 설계 모델 현행화 방안
TRANSCRIPT
현행 정보시스템 운영의 문제점
• SW공학체계에 따른 시스템 운영 프로세스 미흡
요구사항에서 테스팅까지의 일련의 통합관리 부재
현행화 및 수시적 피드백이 불가능한 산출물 관리
• 유지보수 인력 중심의 상황 별 대처
유지보수 인력의 능력과 경험에 의존
투입시간 대비 SLA(Service Level Agreement )평가
• 통합적인 SW 자원, 소스, 형상관리 등의 미흡
요구사항에서 테스트까지의 일련의 정보 부재
단순 형상관리를 통한 소스 및 빌드관리 체계
인력중심의유지보수
SW공학적프로세스미흡
통합정보관리의
미흡
2
• 소스 레벨의 패키지 단위로 생성 -> 지나치게 단편화
• 또는 전체를 한 다이어그램으로 표시 -> 지나치게 거대
• 관심 영역과 맞지 않은 scope로 다이어그램이 생성됨
• 클래스 간 연관 (Association) 이 표시되지 않거나 실제 바인딩되는 정보와 다름
기존 방법의 문제점
• 대상 메써드 구현부 내의 코드만 역공학하므로, 실제 객체간의 상호작용을 정확하게 파악하기 힘듬
• 불필요한 메시지로 인해 다이어그램이 지나치게 복잡해짐
5
21
현행화를 위한 실험적 접근법들
화면 간 이동
requestController
Client
View
forward
/login.do
<a href="/signUp.do">고객 계정 신청</a>
새로운 request
response
22
현행화를 위한 실험적 접근법들
화면 이동 정보
• 메뉴 A
• 메뉴 A-1
• 메뉴 A-2
• 메뉴 B Activity Diagram-화면흐름
@RequestMapping UseCase Action
Action
Action
Action
23
현행화를 위한 실험적 접근법들
AOP pointcut : @RequestMapping 메써드 실행 시
기능/업무별 런타임에 어떤 요청이 수행되는지 기록
상품 관리 계정 등록 제품 문의
로깅
보안
트랜잭션
페이지 이동 기록
Core Concerns
Cro
sscu
ttin
g C
on
cern
s
within(@org.springframework.stereotype.Controller *) && @annotation(requestMapping)&& execution(* *(..))
분석도구
25
현행화를 위한 실험적 접근법들
UI diagram 자동화
크롤링
• ---• ---• ---• ---
Wireframe or UI Diagram
분석, 생성
Page Navigation Diagram
UML – UseCase ScenarioREQ – Requirement
활용
정보시스템 현행화 절차
기 구축된 시스템 분석을 통한 설계 정보 생성과 분석 모델과의 연계를 통해 시스템 운영 기반 구축
시스템과 관련된 모든 정보는 통합 저장소에 탑재되어 관리
역 공학
Use Case 도출
SequenceDiagram 생성
화면 매핑
기타 정보 매핑
27
정보시스템 현행화 절차
소스코드로부터 프레임 워크 기반의 역 공학을 통한 설계정보 도출 단계
프레임워크 기반의 소스코드 역 공학을 통해서 설계정보를 최대한 도출할 수 있도록 설계하고 구현하는 단계
Source Code(based eGovFrame)
역 공학규칙 수립/구현
프레임워크 아키텍처 및 개발 요소 분석역 공학 대상 파일 분석(Source Code, Configuration File, etc…)역 공학 대상 선정역 공학 결과물 정의(Class Diagram, Sequence Diagram. Statechart Diagram, etc…)역 공학 프로그램 제작, 프로그램 테스트, 역 공학 기능 배포
역 공학을 통해서 도출된 정보에서 Use Case를 도출할 수 있도록 설계하고 구현하는 단계
역 공학을 통해서 도출된 정보에서 Use Case를 도출할 수 있도록 설계하고 구현하는 단계
Use Case Diagram 작성Actor/Use Case 도출
시스템 사용자 및 이해당사자를 Actor 후보 도출시스템 기능을 세분화하여 Use Case 후보 도출도출된 Actor와 Use Case의 관계를 수립관계 수립을 통해 Actor 와 Use Case정립Use Case Diagram 작성Actor, Use Case 간의 관계를 기반으로 체계 수립
역 공학
Use Case 도출
SequenceDiagram 생성
화면 매핑
기타 정보 매핑
28
정보시스템 현행화 절차
역 공학을 통해서 도출된 정보와 Use Case 도출 후 분석된 화면을 맵핑하는 단계
역 공학을 통해서 도출된 정보와 Use Case 도출 후 분석된 화면을 맵핑하는 단계
Use Case Use Case 명세서Flow of Event 작성기
Use Case 명세Trigger, Brief Description, Pre-Condition, Post-Condition, Flow of Event 작성
Flow of Event 작성시 연관된 화면을 도출도출된 Use Case와 연관된 화면을 역공학을 통해 도출된
화면으로 매핑, Use Case부터 설계모델까지의 추적성 확보
역 공학을 통해서 도출된 정보에서 Use Case를 도출할 수 있도록 설계하고 구현하는 단계
Use Case를 기준으로 기능과 관련된 Sequence Diagram을 소스코드를 분석하여 정보 추출을 통해 작성
역 공학
Use Case 도출
SequenceDiagram 생성
화면 매핑
기타 정보 매핑
Operation 매핑
역 공학을통해생성
29