요구기술
- UML2.1
- 유스케이스 모델링
- 객체지향 언어 (Java) 고급
- 디자인 패턴
- 아키텍처 패턴
- 도메인 모델링
- J2EE
아키텍처 정의
- IEEE1471 : 시스템의 근간이 되는 구성 (fundamental organization)
- 고유의 목표를 달성하기 위해 요건 : 기능요건-->기능 설계, 품질요건-->아키텍처 설계
- 능과 품질요건은 직교함 : ex) 다리의 상판(기능), 교각(품질)
- 시스템은 하나의 아키텍처를 가진다. 유일하게!!
- 아키텍처는 "아키텍처 서술"을 통해 "표현"해야함 -> 뷰 -> 모델링(ea), 문서(word), 프리젠테이션(ppt)
- 뷰는 뷰포인트 명세를 준수하여야 한다. : ex) 4+1뷰, RUP
- 아키텍처 설계에 영향을 주는 시스템 특성들
- 사용자 수 : 단일 사용자, 다중 사용자
- 티어 유형 : 단일 티어, 다중 티어
- 어플리케이션 수 : 단일 어플리케이션, 다중 어플리케이션
- 어플리케이션 용도 : 업무용, 시스템용
- 어플리케이션 활용 : 운영용, 솔루션

참고 : 4+1뷰
- Use Case View
- Implementation View
- Design View
- Process View
- Deployment View

참고 : Rational Unified Process (RUP)
- 4단계 : Inception(초기) > Elaboration(상세) > Construction(구축) > Transition(이행)

- 반복 (Iterations)

아키텍처 수립 프로세스
- 전형적인 아키텍쳐 수립 프로세스 지점은 RUP의 Elaboration 부분임
- 표준 아키텍쳐 수립 프로세스 예
- 1. 아키첵쳐 요구파악 : 이해관계자 식별, 품질속성 식별
- 2. 참조아키텍처 준비 : 자체 참조 아키텍쳐 준비
- 3. 아키텍쳐 모델링 : 뷰정의, 패턴 선정, 프레임워크 선정, 설계이슈 선정
- 4. 아키텍처 프로토타입 : 유스케이스 단위 설계, 컴포넌트 단위 설계, 기술 이슈 설계, 구현
- 5. 아키텍쳐 배포 : 아키텍쳐 문서 작성
- 산출물
- 1. 아키텍처 서술 : 모델, 문서, 발표자료
- 2. 아키텍쳐 프로토타입 (AS a reference implemetation)
- 3. 설계가이드 (UI, 컴포넌트, 데이터, 인터페이스 등)
품질속성
시스템의 품질 속성
- 가용성 (available)
- 변경용이성 (modificability)
- 수행성능 (performance)
- 보안성 (security)
- 테스트 용이성 (testablilty)
- 사용성 (usability)
품질속성 시나리오
- 구성 : 자극의 원천, 자극, 환경, 대상, 응답, 응답측정
- 요구사항 단계에서 작성


참고 : SAiP 품질모델
시스템 품질속성
- 가용성(Availability)
- 보안(Security)
- 성능(Performance)
- 변경가능성(Modifiability)
- 사용성(Usability)
- 시험가능성(Testability)
비즈니스 품질속성
- 적시성 (Time to Market)
- 비용과 혜택 (Cost and Benefit)
- 예상 시스템 수명 (Projected Lifetime of the System)
- 목표 시장 (Targeted Market)
- 공개 일정 (Rollout Schedule)
- 기존 시스템과 통합 (Integration with Legacy Systems)
아키텍처 품질속성
- 개념 무결성(Conceptual Integrity)
- 정확성과 완결성(Correctness and Completeness)
- 구축가능성(Buildability)
품질목표
가용성 (available) 전술
- 오류감지(ping/echo, hearbeat, exception)
- 오류복구
- 오류예방(트랜잭션:all or nothing, 프로세스 모니터)
변경용이성 (modificability)
- 변경의 모듈화(모듈 일반화, 변경 예상)
- 파급효과 예방(정보 은폐, 기존 인터페이스 유지, 통신경로 제한, 중재자 사용)
- 바인딩 연기
수행성능 (performance)
- 자원요구(대기시간 감소, 처리할 이벤트 감소, 자원 사용 전술)
- 자원관리 (동시성 도입)
- 자원 중재(스케쥴링 전략)
보안성 (security)
- 공격저지
- 공격감지
- 공격복구
테스트 용이성 (testablilty)
- 입출력 관리
- 내부 모니터링
사용성 (usability)
- UI분리




