logo
Published on

정보처리기사 1과목 소프트웨어 설계 요약 정리

Authors
  • avatar
    Name
    Bora Choi
    Twitter

1과목 소프트웨어 설계

디자인 패턴

  • 방문자 패턴(행위패턴) : 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성함. 분리된 처리 기능은 각 클래스를 방문하여 수행
  • 옵저버 패턴(행위패턴) : 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달. 분산된 시스템 간에 이벤트 생성, 발행, 이를 수신해야할 때 이용함
  • 브릿지 패턴(구조패턴) : 구현부에서 추상층을 분리, 서로가 독립적으로 확장함. 기능과 구현을 두 개의 별도 클래스로 구현함
  • 팩토리 메서드 패턴 : 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브 클래스가 결정하도록 하는 것. 비주얼-콘스트럭터 패턴이라고도 함

시퀀스 다이어그램 구성항목

  • 액터, 활성 객체, 라이프라인, 메세지, 제어 삼각형

행위적 패턴

  • 책임연쇄 (chain of responsibility)
  • 커맨드(command)
  • 인터프리터(Interpreter)
  • 반복자(Iterator)
  • 중재자(Mediator)
  • 메멘터(Memento)
  • 옵서버(observer)
  • 상태(state)
  • 전략(Strategy)
  • 템플릿 메소드(template Method)
  • 방문자(visitor)

협약에 의한 설계(Design by Contract)

  • 클래스에 대한 여러 가정을 공유하도록 명세한 것

객체지향

객체지향 기법

  • 집단화 : is part of 클래스 간의 구조적인 집약 관계 "클래스 A는 클래스 B와 클래스 C로 구성된다"
  • 일반화 : is a 클래스들 간의 개념적인 포함 관계 "자식 클래스 A는 부모 클래스 B의 일종이다"
  • 캡슐화 : 속성(데이터)과 메소드(연산)을 하나로 묶어서 객체로 구성된다.
  • 추상화 : 공통 성질을 추출하여 수퍼 클래스로 구성한다. 또한 객체 중심의 안정된 모델을 구축 하능하며 현실 세계를 자연스럽게 표현한다. 장점으로 분석의 초첨이 명확해진다.

객체지향 설계원칙

  • 단일 책임원칙SRP : 객체는 단하나의 책임만 가져야한다.
  • 개방 폐쇄 원칙 OCP: 기존 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다.
  • 리스코프 치환원칙 LSP : 일반화 관계에 대한 이야기며, 자식 클래스는 최소한 자신의 부모 클래서에서 가능한 행위는 수행할 수 있어야 한다.
  • 인터페이스 분리원칙 ISP : 인터페이스를 클라이언트에 특화되도록 분맇시키는 원칙
  • 의존 역전 원칙 DIP : 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 것

CASE

  • 소프트웨어 공학작업을 자동화한 소프트웨어 패키지
  • 1980년대에 소개되었으며, 1990년대 부터 자주 사용되었다.
  • 객체지향 시스템 뿐만아니라 구조 시스템등 모든 분야에 적용된다
  • CASE 도구들은 소프트 웨어 관리자들과 실무자들이 소프트웨어 프로세스와 관련된 활동을 지원한다. 즉 프로젝트 관리 활동을 자동화하고, 결과물을 관리하며, 엔지니어들의 분석, 설계 및 코딩과 테스트 작업을 도운다.
  • 다양한 소프트웨어 개발 모형 지원, 그래픽 지원, 소프트웨어 생명주기의 전단계 연결

시스템 품질 속성

  • 가용성, 변경용이성, 성능, 보안성, 사용편의성, 시험용의성

미들웨어

  1. WAS : 애플리케이션 수행 미들웨어
  2. MOM : 메세지 지향 미들웨어
  3. RPC : 원격 프로시저 호출
  4. ORB : 네트워크 호출 미들웨어