본문 바로가기
정보처리기사

[소프트웨어 설계] 15. 소프트웨어 아키텍처

by reve5 2022. 2. 23.


10. 객체지향 설계에서 정보 은닉(Information Hiding)과 관련한 설명으로 틀린 것은?
① 필요하지 않은 정보는 접근할 수 없도록 하여 한 모듈 또는 하부시스템이 다른 모듈의 구현에 영향을 받지 않게 설계되는 것을 의미한다.
② 모듈들 사이의 독립성을 유지시키는 데 도움이 된다.
③ 설계에서 은닉되어야 할 기본 정보로는 IP주소와 같은 물리적 코드, 상세 데이터 구조 등이 있다.
④ 모듈 내부의 자료 구조와 접근 동작들에 만수정을 국한하기 때문에 요구사항 등 변화에 따른 수정이 불가능하다.

>> 정답 4번

 

 

8. 소프트웨어 아키텍처 설계에서 시스템 품질속성이 아닌 것은?
① 가용성(Availability)
② 독립성(Isolation)
③ 변경 용이성(Modifiability)
④ 사용성(Usability)

>> 정답 2번


아키텍처 설계 품질 시스템 측면
가용성 availability
변경용의성 modifiability
성능 performance
보안성 security
사용편의성 usability
시험 용의성 testability

비즈니스 측면 
시장 적시성 time to market
비용과 이익 cost and benefit
시스템 프로젝트 생명 주기 profected lifetime of the systme
목표 시장 targeted market
신규 발매 일정 rollout schedule
노후 시스템과 통합 integration with legacy system

아티텍처 측면
개념적 무결성 conceptual integrity
정확성과 안정성 correctness and completeness
개발 용이의성 buildability


https://www.youtube.com/watch?v=4i47z89nfMs&list=PLKpxllD6C8CnkSWfqRJsHOYtbBFnvtrcY&index=16 


아키텍처 = 기본구조
소프트웨어 베이스
개발 원칙 지침의 역할
동일한 아키텍처 = 기본 구조가 같은 여러 형태의 결과물
품질이 좋다 = 요구사항 충족
모듈 = 부품
아키텍처는 보듈 기준으로 설계 > 유지 관리 용의함

모듈(부품)이 많으면 조립이 어렵고
너무 적으면 부품 생산 자체에 자원이 많이 들어감

모듈화

추상화 > 각각의 기능을 공동적인 부분을 포괄하는 것, 구체화 하기 위해서 추상화를 한다.
큰 구분 > 작은 구분, 구조 파악 용이함
복잡한 문제를 최소 비용으로 해결함

과정(흐름)
구조(데이터)
제어(이벤트)

추상화 - 단계적 분해
추상화를 반복할 수록 구체적인 분해가 가능함 (=하향식 구체화)

정보은닉 각각의 모듈이 서로 접근할 수 없도록 차단. 별도의 인터페이스로 이용해서 접근할 수 있다.
각각 모듈이 정보은닉을 한다면 모듈을 확실히 보호할 수 있다. 

아키텍트 품질 속성
시스템 측면 > 성능 보안 가용성 기능성 사용성
비즈니스 측면 > 시장 적시성, 비용과 혜택, 시스템 수명
아키텍처 측면 > 무결성, 정확성, 완결성, 구축가능성

 

 

* 아키텍처 설계 품질 시스템 측면
가용성 availability
변경용의성 modifiability
성능 performance
보안성 security
사용편의성 usability
시험 용의성 testability

비즈니스 측면 
시장 적시성 time to market
비용과 이익 cost and benefit
시스템 프로젝트 생명 주기 profected lifetime of the systme
목표 시장 targeted market
신규 발매 일정 rollout schedule
노후 시스템과 통합 integration with legacy system

아티텍처 측면
개념적 무결성 conceptual integrity
정확성과 안정성 correctness and completeness
개발 용이의성 buildability

 



설계과정

목표 설정 > 개발방향을 명확히 하고 우선순위 설정
시스템 타입 > 대화형(일반적 어플리케이션), 이벤트형(외부 신호에 반응), 변환형(데이터를 다른 형태로 변환), 객체 영속형(데이터베이스 시스템)
아키텍처 패턴 > 미리 만들어 둔 공식
시스템 구체화 > 서브 시스템의 인터페이스와 인터렉션 구체화
검토

아키텍처 = 모듈 = 모듈은 아키텍처 패턴을 활용하여 제작



댓글