소프트웨어 설계

(2022-11-30)

디자인 패턴


1. 소프트웨어 설계

  ㅇ 크고 복잡한 소프트웨어 시스템의 목적을 충족시키고자, 
     - 기본 구조 및 구현 프로그램을 고안,선택하여, 실현시키는 과정

  ㅇ 소프트웨어 설계 과정
     - 아키텍처 설계 
     - 데이터베이스 설계
     - 서브시스템 설계
     - 컴포넌트 설계
     - 자료구조, 알고리즘 설계


2. 5가지 객체 지향 설계 원칙 (SOLID)

  ㅇ 단일 책임 원칙 (Single Responsibility Principle)
  ㅇ 개방 폐쇄의 원칙 (Open Closed Principle)
  ㅇ 리스코프 교체의 원칙 (Liskov Substitution Principle)
  ㅇ 인터페이스 분리의 원칙 (Interface Segregation Principle)
  ㅇ 의존 관계 역전의 원칙 (Dependency Inversion Principle)


3. 디자인 패턴 (Design Pattern)

  ㅇ 모든 프로그램 형식에, 일반적으로 적용 가능한,
     - 자료 구조프로그램 구조를 다루는 이론

  ㅇ 주로, 
     - 소프트웨어 아키텍처 수준 보다 낮은 수준의 설계 문제에서, 
     - 자주 접하는 문제에 대해,
     - 객체 간의 상호관계 등을 이용하여,
     - 재사용 가능한 솔루션을 제공하기 위함

  ㅇ 주요 종류
     - 싱글톤 패턴
        . 하나의 클래스에 오직 하나의 인스턴스 만 갖도록 하는 패턴
     - 반복자 패턴
     - 어댑터 패턴
     - 데코레이터 패턴
     - 팩토리 메소드 패턴
     - 추상 팩토리 패턴
     - 상태 패턴
     - 옵서버 패턴

소프트웨어공학 기초
   1. 소프트웨어 공학   2. 버전 관리   3. 요구분석   4. 소프트웨어 설계   5. 소프트웨어 아키텍처   6. CBD (컴포넌트기반개발)   7. MDA (모델주도형구조)   8. 순기/생명주기   9. 분할 후 정복  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"