정처기 22년 3월 5일 기출 오답정리_01
2025. 2. 3. 14:31

[1과목]

*소프트웨어 설계

: 계획 > 분석 > 설계 > 구현 > TEST

- 계획: 비용, 일정

- 분석, 설계 : ERD, Mini, 소단, D.D

   - 요구사항 개발 프로세스 : 도출 > 분석 > 명세 > 확인 (도분명확)

- 구현, 테스트 : 유지운영

 

*객체지향 특징

: 캡슐화Encapsulation, 정보은닉Information Hiding, 상속Inheritance, 다형성Polymorphism(오버로딩/오버라이딩), 추상화Abstraction

 

*설계 기법

- 하향식 설계 = 구조적 설계, 절차지향 설계

- 상향식 설계 = 객체지향 설계

- 공통적으로 모듈간의 인터페이스는 미리 정의되어 있어야 함.

 인터페이스(모듈 간 연결 방식)가 미리 정해져 있지 않으면, 하향식은 스텁, 상향식은 드라이브라는 임시 코드를 사용함

 

* 자료 흐름도의 구성요소 (Data Dictionary)

표기형태 : 원/화살표/선2개/사각형

 

* UML : 모델링 언어

(Unified Modeling Language)

 

* 소프트웨어 UI 설계 도구

- 와이어프레임 : 기획자, 디자이너가 스케치하는 도구

- 목업 : ***정적***형태의 모형

- 프로토타입 : 동적 형태의 모형

 

* 애자일Agile

- XP

  - 의사선생님 약 주실때 피존용기에 담아주세요 : 의사소통/피드백/존중/용기/단순성)

- 스크럼

  - 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 방법론

  - 스프린트Sprint : 2~4주라는 짧은 단위에 완성되어야 함

  - 매일 15분 회의

- FDD  : 기능 중심 개발

- 크리스탈(사람 존중), 린Lean(칸반 보드)...

 

* UML 다이어그램 (시험전에 구분할정도로만 읽고 가기)

1. 구조적 다이어그램 = 정적 다이어그램

  - 클래스 다이어그램 : 클래스의 속성, 메서드로 구성

  - 컴포넌트 다이어그램 : 컴포넌트들 간의 관계

  - 객체 다이어그램 : 인스턴스

  - 컴포지트 구조 다이어그램 : 아키텍쳐 다이어그램

  - 배치 다이어그램 : 컴포넌트들의 물리적 구성

  - 패키지 다이어그램 : 관련있는 모델링 요소들을 그룹화

2. 행위 다이어그램 = 동적 다이어그램

  - 활동 다이어그램 : 활동의 흐름

  - 유스케이스 다이어그램 : 사용자 관점에서 바라본 시스템들을 표현

  - 상태 다이어그램 : 객체의 상태 변화

  - 시퀀스 다이어그램 : 시간적 흐름에 따른 메시지 교환

  - 커뮤니케이션 다이어그램 : 객체들이 주고 받는 메시지 표현

  - 인터렉션 오버뷰 다이어그램 : 활동 다이어그램 + 시퀀스 다이어그램

  - 타이밍 다이어그램 : 시간의 흐름에 따른 상태 변화를 표현

 

* SOLID(객체지향 설계) 원칙 (실기 나올수도!)

- 단일 책임 원칙 Single responsibility principle : 하나의 클랙스는 하나의 일만 수행

- 개방-폐쇄 원칙 Open/closed principle : 클래스는 확장에는 열려 있고 변경에는 닫혀 있어야 한다

- 리스코프 교체의 원칙 Liskov substitution principle : 자식 클래스는 언제든 부모 클래스로 대체할 수 있어야 한다

- 인터페이스 분리 원칙 Interface segregation principle : 쓸데없는 인터페이스 만들지 마라

- 의존관계 역전의 원칙 Dependency inversion principle : 자주 바뀌는 클래스에 의존하지 마라

 

* GoF(Gangs of Four) 디자인 패턴  (시험전에 구분할정도로만 읽고 가기. 특징들까진 읽고가)

1. 생성패턴

: Factory method, Singleton, Abstract factory, Builder, Prototype

2. 구조패턴

: Adaptor, Bridge, Composite, Decorator, Facade, Fly weight, Proxy

3. 행위패턴

: Template method, Interpreter, Iterator, Command, Chain of Responsibility, State(알고리즘), Strategy, Mediator, Memento, Visitor, Observer

 

* UI 설계원칙 (4가지 외우기! + 실기 나올수도)

- 직관성 : 누구나 쉽게 이해하고 사용

- 유효성 : 사용자의 목적을 정확하게 달성

- 학습성 : 누구나 쉽게 배우고 익힘

- 유연성 : 사용자 요구사항을 최대한 수용하며 오류 최소화

 

* 럼바우Rumbaugh 객체지향 분석 기법 (실기 나올수)

: 객체지향 분석 기법의 하나로 객체 모형, 동적 모형, 기능 모형의 3가지 모형을 생성하는 방법

1. 객체 모델링 Object Modeling : 객체 다이어그램

2. 동적 모델링 Dynamic Modeling : 상태 다이어그램

3. 기능 모델링 Functional Modeling : 자료흐름도(DFD)