소프트웨어 설계

(2024-08-25)

디자인 패턴


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. 분할 후 정복  

  1. Top (분류 펼침)      :     1,591개 분류    6,514건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)          편집 후원          편집 이력