1과목 - 소프트웨어 설계(2022 정보처리기사 필기 정리)

백지연·2022년 2월 23일
2

정보처리기사

목록 보기
1/5
post-thumbnail

2022년 3월 5일에 치루는 정보처리기사 필기를 공부하면서 오답 및 중요 내용에 대한 정리를 해보겠다. 구체적인 설명은 빼고, 헷갈리는 것 위주로 간단하게 정리해보았다.

책은 시나공 2022 정보처리기사 필기로 공부했다.

정보처리기사 필기 문항 및 합격기준

  • 문항 : 객관식 4지 택일형, 과목당 20문항(과목당 30분)
  • 합격기준 : 100점을 만점으로 하여 과목당 40점(8개) 이상, 전과목 평균 60점(12개씩) 이상

[1과목] 소프트웨어 설계

용어

  • 미들웨어: 서로 다른 기종 간의 하드웨어나 프로토콜, 통신환경 등 연결 -> 원만한 통신 (ex. DB, RPC, MOM ...)
  • 클래스: 두 개 이상의 유사한 개체들을 묶어서 하나의 공통된 특성을 표현하는 요소
  • 메소드: 객체가 메시지를 받아 실행해야 할 때 구체적인 연산을 정의하는 것으로, 객체의 상태를 참조하거나 변경하는 수단
  • 인스턴스: 클래스에 속한 각각의 객체

코드(Code)

  • 순차 코드(Sequence Code): 자료의 발생순서, 크기 순서 등 일련번호
  • 블록 코드(Block Code): 공통성이 있는 것끼리 블록으로 구분
  • 10진 코드(Decimal Code): 코드화 대상 0~9까지 10진 분할+반복
  • 그룹 분류 코드(Group Classification Code): 대분류, 중분류, 소분류 등 그룹 일련번호
  • 연상 코드(Mnemonic Code): 약호와 기호 코드
  • 표의 숫자 코드(Significant Difigit Code Code): 물리적 수치를 그대로 코드에 적용
  • 합성 코드(Combined Code): 2개 이상의 코드를 조합

XP(eXtreme Programming)

  • 객체지향
  • 고객
  • 실천 방법: 짝 프로그래밍, 공동 코드 소유, 테스트 주도 개발, 전체 팀, 계속적인 통합, 디자인 개선(또는 리팩토링), 소규모 릴리즈

UML(Unified Modeling Language)

  • 객체지향
  • 구성 요소: 사물, 관계, 다이어그램

구조적(Structural) 다이어그램

  • 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지

행위(Behavioral) 다이어그램

  • 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍

디자인 패턴

  • GOF(Gang of Four)
  • 객체지향

생성 패턴

  • 빌더, 프로토타입, 팩토리 메소드, 추상팩토리, 싱글톤 (생빌프로팩앱싱)
  • 팩토리 메소드: 어떤 클래스가 인스턴스화 될 것인지 서브클래스가 정함
  • 프로토타입 패턴: 인스턴스를 복제하여 사용하는 패턴
  • 싱글톤(Singleton) 패턴: 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 수는 없는 패턴

구조 패턴

  • 브리지, 데코레이터, 퍼싸드, 플라이웨이트, 프록시, 컴포지트, 어댑터(구 브데 퍼플 프록컴어)
  • 브리지(Bridge) 패턴: 구현부에서 추상층 분리, 서로가 독립적으로 확장 가능

행위 패턴

  • 전략, 상태, 커맨드, 책임 연쇄, 인터프리터, 반복자, 중재자, 메멘토, 옵서버, 템플릿 메소드, 방문자
  • 전략(Srategy) 패턴: 동일한 계열의 알고리즘들을 개별적으로 캡슐화(Encapsulation)하여 상호 교환할 수 있게 정의하는 패턴
  • 방문자(Visitor) 패턴: 각 클래스의 처리 기능 분리 -> 별도의 클래스
  • 옵서버(Observer) 패턴: 한 객체의 상태 변화 시 다른 객체에게 변화된 상태 전달

객체지향 분석 기법
클래스 방식(순차적인 처리 X)

  • 럼바우(Rumbaugh): 객체 -> 동적 -> 기능

    • 객체(Object) 모델링: 가장 중요, 선행되어야 함
    • 동적(Dynamic) 모델링: 상태 다이어그램(상태도), 시간의 흐름
    • 기능(Functional) 모델링: 자료 흐름도(DFD, Data Flow Diagram)

      자료 흐름도(DFD, Data Flow Diagram)

      • 자료 흐름 그래프, 버블(Bubble) 차트
      • 구조적 분석 기법에 이용
      • 표시: 화살표, 원, 사각형, 직선
      • 시간X
  • 부치(Boock): 미시적(Micro)+거시적(Macro)

  • Coad-Yourdon: E-R 다이어그램

  • Jacobson: Use Case

  • Wirfs-Brock: 분석, 설계 구분X, 고객 명세서를 평가해 설계 작업까지 연속

UI 설계 원칙

  • 직관성: 누구나 쉽게 이해 및 사용 가능
  • 유효성: 사용자의 목적을 정확&완벽히 달성
  • 학습성: 누구나 쉽게 배우기 가능
  • 유연성: 요구사항 최대 수용 & 실수 최소화

바람직한 소프트웨어 설계 지침

  • 늘림: 응집도 -> 독립성, 재사용성 높임
  • 줄임: 결합도

자료 사전(DD; Data Dictionary)

  • []: 선택
  • {}: 반복
  • (): 생략

요구사항 명세 기법

정형
수학적 원리, 모델

비정형
상태/기능/객체
자연어, 다이어그램


공부하면서, 2022 3/5 시험 전날까지 수정/추가 할 예정이다!
잘못된 정보 수정 및 피드백 환영합니다!!

profile
TISTORY로 이사중! https://delay100.tistory.com

0개의 댓글