게임 개발자를 향해

소프트웨어 아키텍처 본문

정보처리기사/4. 서버 프로그램 구현

소프트웨어 아키텍처

뿌단이 2022. 9. 20. 14:27

소프트웨어 아키텍처

 

[소프트웨어 아키텍처]

  소프트웨어를 구성하는 요소들 간의 관계를 표현한 시스템의 구조 또는 구조체

 

  <소프트웨어 아키텍처 설계 기본 원리>

    1. 모듈화 : 시스템의 기능들을 모듈 단위로 나누는 것

    2. 추상화 : 전체적이고 포괄적인개념을 설계한 후 차례로 세분화하여 구체화시켜 나가는 것

        - 과정 추상화

        - 데이터 추상화

        - 제어 추상화

    3. 단계적 분해 : 하향식 설계로 문제를 상위의 중요 개념을 하위의 개념으로 구체화 시키는 분할 기법

    4. 정보 은닉 : 모듈 안에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하게 하는 기법

 

 

  <상위 설계와 하위 설계>

    1. 상위 설계 : 상위에서는 시스템의 전체적인 구조, 즉 아키텍처 등 구조, DB, 인터페이스 등을 설계한다.

    2. 하위 설계 : 하위에서는 시스템의 내부 구조 설계로, 모듈을 세부적으로 컴포넌트, 자료구조, 알고리즘 등을 설계한다.

 

 

  <소프트웨어 아키텍처의 품질 속성>

    소프트웨어 아키텍처의 품질 속성은 잘 설계되었는지 확인하기 위해 품질 평가 요소를 구체화시킨것이다.

    1. 시스템 측면 : 성능, 보안, 기능 등 시스템적인 품질

    2. 비즈니스 측면 : 시스템의 수명이나 목표 시장, 비용과 혜택 등 시스템 운영의 품질

    3. 아키텍처 측면 : 구축 가능성, 개념적 무결성 등 만들기전 예상해보는것

 

 

  <협약에 의한 설계>

    컴포넌트를 설계할 때 클래스에 대한 여러 가정을 공유할 수 있도록 명세한 것

    1. 선행 조건(Precondition) : 오퍼레이션이 호출되기 전에 참이 되어야 할 조건

    2. 결과 조건(Postcondition) : 오퍼레이션이 수행된 후 만족되어야 할 조건

    3. 불변 조건(Invariant) : 오퍼레이션이 실행되는 동안 항상 만족되어야 할 조건

 

 

읽어주셔서 감사합니다!

정처기 화이팅!

 

 

 

'정보처리기사 > 4. 서버 프로그램 구현' 카테고리의 다른 글

모듈(Module)  (0) 2022.09.20
객체지향 분석 및 설계  (0) 2022.09.20
객체지향(Object - Oriented)  (0) 2022.09.20
아키텍처 패턴  (1) 2022.09.20
개발 환경 구축  (0) 2022.09.20