본문 바로가기

자격증/정처기

1과목 소프트웨어 설계_3

반응형

소프트웨어 아키텍쳐

1. 설계

- S/W 개발의 원칙이자 지침

- 사용자의 비기능적 요구사항 제약 반영, 기능적 요구사항 구현

- 어플리케이션 분할방법 & 분할된 모듈에 할당될 기능, 모듈간의 인터페이스 결정

2. 모듈화

- 공통모듈 구성하여 프로젝으틔 재사용성 향상이 목적

- 모듈크기 감소 = 통합비용 상승 / 모듈크기 증가 = 통합비용 감소

3. 추상화

- 점차 세분화, 구체화 하는것

- 최소비용으로 실제 상황 대처 & 시스템 구조 & 구성 대략 파악

- 과정 추상화 / 데이터 추상화 / 제어추상화

4. 단계적 분해

- Niklaus Wirth에 의한 하향식 설계전량

- 상위 중요 개념 -> 하위 개념으로 구체화

5. 정보은닉

- 모듈의 독립적 수행 보장

- 다른 모듈에 영향을 주지 않음, 따라서 수정, 시험, 유지보수가 용이

6. 소프트웨어 아키텍처의 품질속성

- 시스템 측면 : 성능, 보안, 가용성, 기능성, 사용성, 변경용이성, 확장성, 기타속성

- 비즈니스 측면 : 시장적시성, 비용과 혜택, 예상 시스템 수명, 기타속성

- 아키텍처 측면 : 개념적 무결성, 정확성 & 완결성, 구축가능성, 기타속성

7. 소프트웨어 아키텍처의 설계과정

- 설계 목표 설정

- 시스템 타입 결정

- 아키텍처 패턴 적용

- 서브시스템 구체화

- 검토

 

아키텍처 패턴

1. 개요

- 시행착오 줄임 = 개발 시간 단축 = 고품질 소프트웨어 생산

- 검증된 구조로 개발 = 안정적

- 공통된 아키텍처 공유 = 의사소통 간편

- 시스템 이해도 쉬워 개발에 참여 x -> 손쉽게 유지 / 보수

- 시스템 특성 개발전 예측 가능

2. 레이어 패턴(계층형 구조)

- 서비스 제공자와 클라이언트 관계

- 특정 계층만 교체 용이

3. 클라이언트 서버 패턴

- 사용자는 클라이언트만 의사소통

- 서버는 항상 대기 유지

- 서버, 클라이언트는 요청과 응답 동기화를 제외하고는 서로 독립적

4. 파이프 - 필터 패턴

- 필터는 재사용성이 좋고, 추가가 쉬워 확장이 용이

- 필터 컴포넌트를 재배치하여 다양한 파이프라인 구축 가능

5. 모델 - 뷰 - 컨트롤러 패턴

- 모델 : 서브시스템의 핵심 기능 & 데이터 보관

- 뷰 : 사용자 정보 표시

- 컨트롤러 : 사용자로부터 받은 입력 처리

 

6. 기타패턴

- 마스터 - 슬레이브 패턴 : 마스터 -> 슬레이브로 작업 후 return받음 / 장애허용시스템 또는 병렬 컴퓨팅

- 브로커 패턴 : 사용자가 우너하는 서비스와 특성을 특정 컴포넌트와 매칭 / 분산환경 시스템

- 피어투피어 패턴 : 한 컴포넌트에 대해 서버가 될 수도 클라이언트가 될 수도 있는 패턴 / 멀티스레드 방식

- 이벤트 - 버스 패턴 : 이벤트 생성(source) -> Bus가 이벤트를 채널(연결통로)로 보냄 -> Listener가 이벤트 수행

- 블랙보드 패턴 : 해결책이 명확하지 않은 문제 처리에 유용

- 인터프리터 패턴 : 각 라인을 수행하는 방법 지정 & 기호마다 클래스 구성 / 특정언어로 작성된 프로그램 코드 해석하는 컴포넌트 설계에 사용

 

 

반응형

'자격증 > 정처기' 카테고리의 다른 글

정처기 실기 파트1  (0) 2022.07.10
정보처리기사 합격 후기  (3) 2022.07.10
1과목 소프트웨어 설계_2  (0) 2020.07.06
1과목 소프트웨어 설계_1  (0) 2020.07.05
2020 정보처리기사 필기 정리  (0) 2020.07.05