반응형
소프트웨어 아키텍처
소프트웨어의 골격이 되는 기본구조
요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체
모듈화
소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 나눈 것
- 재사용성이 향상된다
- 너무 작게 나누면 개수가 많아저져 모듈 통합 비용이 많이 들고, 너무 크게 나누면 하나의 재작 비용이 많이 든다
추상화
문제의 전체적이고 포괄적인 개념을 설계한 후 세분화 하여 구체화 시키는 것
- 시스템 구축 전 유사 모델을 만들어 테스트 가능
- 최소의 비용으로 실제 상황 대저 가능
- 과정 추상화 : 전반적인 흐름만 파악
- 데이터 추상화 : 세부적인 속성은 정의하지 않고 데이터 구조를 대표할 수 있는 표현으로 대체
- 제어 추상화 : 이벤트 발생의 정확한 절차나 방법은 정의하지 않고 대표할 수 있는 표현으로 대체
단게적 분해
- 하향식 설계 전략 상위 개념부터 하위개념으로 구체화한다
- 추상화의 반복에 의해 세분화
- 기능 부터 알고리즘, 자료구조 같은건 가능한 나중에
정보은닉
- 다른 모듈이 접근하거나 변경하지 못하도록
- 반드시 필요한 기능이 있어서 커뮤니케이션이 필요하면 필요한 정보만 인터페이스로 주고 받는다
- 독립적으로 수행가능
- 하나의 모듈이 변경되어도 다른 모듈에 영향을 주지 않아 수정, 시험, 유지보수가 용이
소프트웨어 아키텍처의 품질 속성
- 시스템 측면, 비즌스 측면, 아키텍처 측면으로 나뉜다
소프트웨어 아키텍처의 설계 과정
설계 목표 설정 -> 시스템 타입 결정 -> 아키텍처 패턴 적용 -> 서브시스템 구체화 -> 검토
2021 시나공 정보처리기사 필기 도서를 학습하고 정리하였습니다
반응형
'study > 정보처리기사' 카테고리의 다른 글
객체지향 (Object-Oriented) (0) | 2022.04.23 |
---|---|
아키텍처 패턴 (0) | 2022.04.22 |
사용자 인터페이스(User Interface) (0) | 2022.04.22 |
UML(Unified Modeling Language) (0) | 2022.04.19 |
CASE(자동화 도구) 와 HIPO (0) | 2022.04.12 |