본문 바로가기
정보처리기사

[20년 3회] 정보처리기사 필기 - 소프트웨어 설계

by 시냥이좋아 2022. 1. 21.

디자인 패턴

 

Visitor 패턴 - 데이터 구조와 처리 기능을 별도 클래스로 구성하는 패턴 (정수기 필터를 교체하는 방문원)

Observer 패턴 - 객체상태가 변하면, 다른 객체에게 변화된 상태를 전달하는 패턴

Bridge 패턴 - 기능(추상층)과 구현부를 별도 클래스로 나누는 패턴

Factory Method 패턴 - 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브 클래스가 결정하도록 하는 것

 

 

미들웨어

 

서버와 클라이언트 사이에 존재한다.

 

 

미들웨어 솔루션

 

DB ( Database )

RPC ( Remote Procedure Call )

MOM ( Message Oriented Middleware )

TP-Monitor ( Transaction Processing Monitor )

ORB ( Object Request Broker )

WAS ( Web Application Server )

 

 

시퀀스 다이어그램의 구성 요소

 

생명선, 메세지, 실행객체

 

 

협약의 의한 설계

 

선행조건, 불변조건, 결과조건의 '선불결'제가 필요하다

협약의 의한 설계밖에 없음

 

 

UML 다이어그램

 

 

구조적 다이어그램

 

배치, 클래스, 객체, 복합체구조, 컴포넌트, 패키지 다이어그램

 

 

행위적 다이어그램

 

- 단어가 의미하는 대상이 시간에 따라 유동적이다.

 

유스케이스, 시퀀스, 커뮤니케이션, 상태활동, 타이밍

 

 

 

자료 사전의 기호

 

= 자료 정의

+ 자료 연결

() 자료 생략

[] 자료 선택

{} 자료 반복

** 주석

 

 

객체지향 설계 5원칙 : SOLID

 

 

단일책임원칙 ( SRP, Single Responsibility Principle )

- 소프트웨어를 구성하는 설계부품인 클래스나 함수 등은 단 하나의 기능만을 가져야한다.

 

개방폐쇄원칙 ( OCP, Open-Closed Principle ) 

- 자신의 확장에는 열려있고, 주변의 변화에 대해서는 닫혀있다.

 

리스코프치환원칙 ( LSP, Liskov Substitution Principle )

- 부모클래스의 인스턴스 대신 자식클래스의 인스턴트를 사용해도 문제가 없다.

 

인터페이스분리법칙 ( ISP, Interface Segregation Principle )

- 클래스 내에 사용하지 않는 인터페이스는 구현하지 않는다는 원칙

 

의존역전법칙 ( DIP, Dependency Inversion Principle ) 

- 의존관계를 맺을 때에는 추상 클래스나 인터페이스와 관계를 맺는다.

 

 

자료흐름도의 구성요소

 

  • process
  • data flow
  • data store
  • terminator

 

CASE( Computer-Aided Software Engineering ) 도구

 

 

소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.

표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.

작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.

 

 

인터페이스 요구사항 검토 방법

 

인스펙션
- 작성자 이외의 전문 검토그룹이 요구사항 명세서를 상세히 조사하여 결합, 표준 위배, 문제점 등을 파악

 

동료 검토
- 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
 
CASE 도구
- 자동화된 요구사항 관리도구를 이용해 요구사항 추적성과 일관성을 검토
 
워크스루 
- 검토자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토회의를 진행하면서 결함 발견 

 

프로토타이핑

- 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물 예측

 

테스트설계

- 테스트케이스를 생성해 이후에 요구사항이 현실적으로 테스트 가능한지 검토