소프트웨어 아키텍처 평가기법
소프트웨어 또는 시스템을 구축하기 위해 가장 중요한 것이 아키텍처죠!
아키텍처에는 시스템의 특성, 요구사항 등을 해결하기 위한 전략과 제약사항 포함되어야 겠죠.
이번에는 이렇게 힘들게 만든 아키텍처가 잘만든 것인지에 대한 평가를 위한 평가기법에 대해 알아 보겠습니다.
1. 소프트웨어 아키텍처 평가기법의 개요
1) 소프트웨어 아키텍처(Software Architecture) 평가기법이란?
- 아키텍처의 접근법이 품질속성(보안, 성능, UI 등)에 미치는 영향을 판단하여 아키텍처 적합성을 판단 및 평가하는 표준기법
2) 소프트웨어 아키텍처 평가기법 유형
관점 |
유형 |
내용 및 기법 |
가시성 |
가시적 평가 |
Inspection, Review, Validation & Verification |
비가시적 평가 |
SAAM, ATAM, CBAM, ARID, ADR |
|
시점 |
이른 평가 |
아키텍처 구축과정 중 어느 때나 평가 가능 비용 및 평가부담 적음 |
늦은 평가 |
기존 시스템의 요구사항에 대한 아키텍처의 적합성을 판단할 때 사용 |
2. 평가기법 관계도 및 평가기법 설명
1) 평가기법 관계도
2) 평가기법 설명
가. ATAM(Architecture Tradeoff Analysis Method)
- 아키텍처의 품질속성에 초점을 맞춘 평가기법으로 품질속성 간의 상충관계를 평가
- 특징
-> 명확한 분석, Legacy System 분석에 활용가능
-> 비기능적 요구사항(신뢰성, 사용성, 유지보수성 등) 중심분석
-> 아키텍처 스타일, 품질속성은 SAAM 영향을 받음
나. CBAM(Cost Benefit Architecture Method)
- 아키텍처의 경제적 측면에 초점을 맞춘 평가기법
- 특징
-> ATTAM의 결과물을 기반으로하여 아키텍처의 경제성을 분석
-> ROI 측면의 의사결정을 위한 기준 제시
다. SAAM(Software Architecture Analysis Method)
- 사용자의 요구사항 시나리오와 아키텍처 간의 매핑을 통한 적합성 분석
- 특징
-> 아키텍처의 Modifiability와 Functionality 집중분석
-> 평가 경험이 없는 조직에서도 활용가능
라. ADR
- 아키텍처의 구성요소 간의 응집도를 평가하는 기법
마. ARID(Architecture Reviews for Intermediate Design)
- 전체 아키텍처가 아닌 특정 부분에 대한 품질요소에 집중하여 평가
'아키텍처' 카테고리의 다른 글
웹 환경의 이해(2/2) (0) | 2017.01.18 |
---|---|
웹 환경의 이해(1/2) (0) | 2017.01.18 |
Client와 Server간의 암호화 통신을 위한 SSL/TLS
SSL(TLS)란?
SSL은 Secure Socket Layer의 약자로 웹서버와 웹 브라우저 간의 암호화 통신을 위하여 응용계층과 TCP/IP 계층에서 동작하는 프로토콜이며, Netscape사에서 만들었으며 ISO표준 정식명칭은 TLS(Transport Layer Security)이다.
SSL/TLS의 주요기능
1) 인증 : 상대 사이트에 대한 신뢰성 인증
2) 암호화 : 다양한 암호화 알고리즘을 이용하여 메시지 암호화
3) 무결성 : 송/수신 메시지에 대한 Checksum기능, 변조 방지
4) 지원 프로토콜 : HTTPS(port:443), TELNETS(port:992), POP3S(port:995), SFTP(port:22)
SSL/TLS 처리과정
[Handshake 과정]
위의 그림에서 보듯이 많은 단계를 거쳐야 메시지 송/수신 처리가 가능하다. 그만큼 처리 속도가 떨어진다는 얘기다. 또한, DDOS 공격 시 그 만큼 부하가 많이 발생한다는 의미이기도 하다. 그래서 주요정보가 송/수신되는 기능에만 SSL/TLS 처리가 필요함.
그외 암호화 통신을 위해 SET(전자결제), IPSEC(VPN 구현) 등이 있음.
'보안' 카테고리의 다른 글
코드 난독화 (Obfuscation) (0) | 2017.01.26 |
---|---|
Ransomware(랜섬웨어) (1) | 2017.01.25 |
공지사항 등록 테스트
1. 등록화면 호출
- http://localhost:8080/board/regNoticeView.do
2. 테스트 데이터 입력 및 첨부파일 등록
3. DB 확인
3.1 공지사항 입력 내용 확인
1 2 | SELECT * FROM SCOTT.TB_NOTICE | cs |
1 2 | SELECT * FROM SCOTT.TB_ATT_FILE | cs |
'프로그래밍' 카테고리의 다른 글
페이지 이동 시 검색조건 유지 (0) | 2017.04.18 |
---|---|
SSL 인증 우회하기 (1) | 2017.04.18 |
스프링 프로젝트 - 공지사항 기능 구현 (0) | 2017.03.16 |
스프링 프로젝트 - 첨부파일 처리 (0) | 2017.03.10 |
스프링 프로젝트 - 공지사항 Request 처리를 위한 환경설정 (0) | 2017.02.21 |