반응형

*아키텍처 패턴 (=아키텍처 스타일 =표준 아키텍처)

- 아키택처를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미하며, 아키텍처 패턴은 소프트웨어 시스템의 구조를 구성하기 위한 기본적인 윤곽을 제시한다.

- 아키택처 패턴에는 서브시스템들과 그 역할이 정의되어 있으며, 서브시스템 사이의 관계와 여러 규칙, 지침 등이 포함되어 있다.

- 아키텍처 패턴의 종류에는 레이어 패턴, 클라이언트-서버 패턴, 파이프-필터 패턴, 모델-뷰-컨트롤러 패턴 등이 있다.

 

*아키텍처 패턴의 장점

- 시행착오를 줄여 개발 시간을 단축시키고, 고품질의 소프트웨어를 생산할 수 있다.

- 검증된 구조로 개발하기 때문에 안정적인 개발이 가능하다.

- 이해관계자들이 공통된 아키텍처를 공유할 수 있어 의사소통이 간편해진다.

- 시스템의 구조를 이해하는 것이 쉬워 개발에 참여하지 않은 사람도 손쉽게 유지 보수를 수행할 수 있다.

- 시스템의 특성을 개발 전에 예측하는 것이 가능하다.

반응형

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

객체지향  (0) 2020.05.11
아키텍처 패턴 종류  (0) 2020.05.11
정보 은닉  (0) 2020.05.10
모듈화, 추상화  (0) 2020.05.09
소프트웨어 아키텍처  (0) 2020.05.09
반응형

*정보 은닉 (Information Hiding)

- 정보 은닉은 한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법이다.

- 어떤 모듈이 소프트웨어 기능을 수행하는데 반드시 필요한 기능이 있어 정보 은닉된 모듈과 커뮤니케이션할 필요가 있을 때는 필요한 정보만 인터페이스를 통해 주고 받는다.

- 정보 은닉을 통해 모듈을 독립적으로 수행할 수 있고, 하나의 모듈이 변경되더라도 다른 모듈에 영향을 주지 않으므로 수정, 시험, 유지보수가 용이하다.

반응형

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

아키텍처 패턴 종류  (0) 2020.05.11
아키텍처 패턴  (0) 2020.05.10
모듈화, 추상화  (0) 2020.05.09
소프트웨어 아키텍처  (0) 2020.05.09
HCI, UX, 감성공학  (0) 2020.05.08
반응형

*모듈화 (Modularity)

- 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 나누는 것을 의미한다.

- 자주 사용되는 계산식이나 사용자 인증과 같은 기능들을 공통 모듈로 구성, 프로젝트의 재사용성을 향상 시킬 수 있다.

- 모듈의 크기를 너무 작게 나누면 개수가 많아져 모듈 간 통합 비용이 많이 든다.

- 모듈의 크기를 너무 크게 나누면 개수가 적어 모듈 간 통합 비용은 적게 들지만, 모듈 하나의 개발 비용이 많이 든다.

 

*추상화 (Abstraction)

- 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화 시켜 나가는 것이다.

- 인간이 복잡한 문제를 다룰 때 가장 기본적으로 사용하는 방법으로, 완전한 시스템을 구축하기 전 그 시스템과 유사한 모델을 만들어서 여러 가지 요인들을 테스트할 수 있다.

- 추상화는 최소의 비용으로 실제 상황에 대처할 수 있고, 시스템 구조 및 구성을 대략적으로 파악할 수 있게 해준다.

반응형

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

아키텍처 패턴  (0) 2020.05.10
정보 은닉  (0) 2020.05.10
소프트웨어 아키텍처  (0) 2020.05.09
HCI, UX, 감성공학  (0) 2020.05.08
UI 시나리오 문서  (0) 2020.05.07
반응형

*소프트웨어 아키텍처

- 소프트웨어 아키텍처는 소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체이다.

- 소프트웨어 개발 시 적용되는 원칙과 지침이며, 이해 관계자들의 의사소통 도구로 활용된다.

- 소프트웨어 아키텍처의 설계는 기본적으로 좋은 품질을 유지하면서 사용자의 비 기능적 요구사항으로 나타난 제약을 반영하고, 기능적 요구사항을 구현하는 방법을 찾는 해결 과정이다.

- 애플리케이션의 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정한다.

- 소프트웨어 아키텍처 설계의 기본 원리로는 모듈화, 추상화, 단계적 분해, 정보은닉이 있다.

반응형

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

정보 은닉  (0) 2020.05.10
모듈화, 추상화  (0) 2020.05.09
HCI, UX, 감성공학  (0) 2020.05.08
UI 시나리오 문서  (0) 2020.05.07
UI 유용성 평가  (0) 2020.05.06

+ Recent posts