이 포스팅은 주관적으로 중요하다고 생각한 키워드를 정리한 글입니다.
스크럼 개발 프로세스
스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 회의 -> 스프린트 검토 회의 -> 스프린트 회고
XP 핵심 가치
의사소통, 단순성, 용기, 존중, 피드백
요구사항 개발 프로세스
도출 -> 분석 -> 명세 -> 확인
UML
-
사물 : 구조, 행동, 그룹, 주해
-
관계 : 집합(◇ㅡ), 포함(◆ㅡ), 의존(<·······), 일반화(◁ㅡ), 실체화(◁---)
-
다이어그램
-
정적 모델링 -> 구조적 다이어그램 : 클래스, 객체, **컴포넌트, 배치(구현단계)**, 복합체, 패키지
-
동적 모델링 -> 행위 다이어그램 : 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용, 타이밍
-
UI
-
와이어프레임 : 뼈대
-
목업 : 정적형태
-
스토리보드 : 와이어프레임 + 이동 흐름, 설명
-
프로토 타입 : 인터랙션, 테스트
품질 요구사항
-
기능성(적합성, 정밀성, 상호운용성, 보안성, 호환성)
-
신뢰성(성숙성, 고장 허용성, 회복성)
-
사용성(이해성, 학습성, 운용성, 친밀성)
-
효율성(시간 / 자원 효율성)
-
유지보수성(분석성, 변경성, 안정성, 시험성)
-
이식성(적용성, 설치성, 대체성, 공존성)
소프트웨어 아키텍쳐
-
모듈화 : 모듈의 개수와 크기는 반비례, 개수와 비용은 비례
-
추상화 : 세분화하여 구체화
-
과정 추상화 : 전반적인 흐름
-
데이터 추상화 : 데이터의 세부사항 정의 x
-
제어 추상화 : 이벤트의 발생의 세부사항 정의 x
-
아키텍쳐 패턴
-
레이어 패턴
-
계층식 마주보는 두 계층사이 상호작용
-
상위 : 서비스 제공자 / 하위 : 클라이언트
-
-
클라이언트 서버
-
하나의 서버 다수의 클라이언트
-
요청을 위한 동기화를 제외하곤 독립적
-
-
파이프 필터
-
데이터 스트름 절차의 각 단계를 캡슐화하여 파이프를 통해 전송
-
데이터 변환, 버퍼링, 동기화
-
-
MVC(모델 뷰 컨트롤러) 패턴
-
모델 : 서브시스템의 핵심 기능과 데이터 보관
-
뷰 : 사용자에게 정보 표시
-
컨트롤러 : 사용자로부터 받은 입력 처리
-
대화형 애플리케이션
-
-
마스터-슬레이브 : 작업 분할 후 다시 돌려받음
-
브로커 패턴 : 브로커 컴포넌트가 요청에 맞는 컴포넌트 연결
-
피어투피어 패턴 : 피어가 서버도 되고 클라이언트도 됨
-
이벤트 버스 : 구독한 리스너에게 메시지 받아 이벤트 처리
-
블랙보드 : 검색을 통해 블랙보드에서 데이터 찾음
모듈
-
결합도는 약하게 응집도는 강하게
-
결합도 : 모듈 간의 관계
-
내용 : 내부 기능, 내부 자로 참조
-
공통 : 공통 데이터 영역
-
외부 : 외부의 다른 모듈에서 참조
-
제어 : 제어 신호 이용하여 통신하거나 요소를 전달
-
스탬프 : 자료구조가 전달됨
-
자료 : 매개변수 데이터 넘겨줌
-
-
응집도 : 모듈 내부 요소가 관련된 정도
-
기능적 : 단일 문제와 연관
-
순차적 : 모듈에서 나온 데이터가 다음 모듈의 입력
-
통신적 : 동일한 입력과 출력하여 서로 다른 기능
-
절차적 : 다수 기능 시 기능을 순차적으로 수행
-
시간적 : 특정 시간
-
논리적 : 유사한 성격 혹은 특정 형태
-
우연적 : 관련 없는 요소들로 구성
-
디자인 패턴
-
생성 패턴
-
추상 팩토리 : 구체적인 클래스에 의존하지 않고 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현
-
빌더 : 작게 분리된 인스턴스를 건축 하듯이 조합하여 객체 생성
-
팩토리 메소드 : 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴
-
프로토타입 : 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴
-
싱글톤 : 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만 여러 프로세스가 동시에 참조할 수는 없음
-
-
구조 패턴 : 클래스나 객체들을 조합하여 더 큰 구조로 만들 수 있게 해주는 패턴
-
어댑터 : 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주는 패턴
-
브리지 : 구현부에서 추상층을 분리하여 서로가 독립적으로 확장할 수 있도록 구성한 패턴
-
컴포지트 : 여러 객체를 가진 복합 객체와 단일 객체를 구분 없이 다루고자 할 때 사용하는 패턴
-
데코레이터 : 객체 간의 결합을 통해 능동적으로 기능들을 확장할 수 있는 패턴
-
퍼싸드 : 복잡한 서브 클래스들을 피해 더 상위에 인터페이스를 구상함으로써 서브 클래스의 기능을 간편하게 사용할 수 있도록 하는 패턴
-
플라이웨이트 : 인스턴스가 필요할 때마다 생성하는 것이 아닌 공유해서 사용함으로써 메모리를 절약하는 패턴
-
프록시 : 접근이 어려운 객체와 여기에 연결하려는 객체 사이에서 인터페이스 역할을 수행하는 패턴
-
-
행위 패턴 :클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의한 패턴
-
책임 연쇄 : 요청을 처리할 수 있는 객체가 둘 이상 존재하여 한 객체가 처리하지 못하면 다음 객체로 넘어가는 형태의 패턴
-
커맨드 : 요청을 객체의 형태로 캡슐화하여 재이용하거나 취소할 수 있도록 요청에 필요한 정보를 저장하거나 로그에 남기는 패턴
-
인터프리터 : 언어에 문법 표현을 정의하는 패턴
-
반복자 : 자료 구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴
-
중재자 : 수많은 객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의하는 패턴
-
메멘토 : 특정 시점에서의 객체 내부 상태를 객체화함으로써 이후 요청에 따라 객체를 해당 시점의 상태로 돌릴 수 있는 기능을 제공하는 패턴
-
옵서버 : 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달하는 패턴
-
상태 : 객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때 사용하는 패턴
-
전략 : 동일한 계열의 알고리즘들을 개별적으로 캡슐화하여 상호 교환할 수 있게 정의하는 패턴
-
템플릿 메소드 : 상위 클래스에서 골격을 정의하고 하위 클래스에서 처리를 구체화하는 구조의 패턴
-
방문자 : 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성하는 패턴
-
요구사항 검증 방법
-
동료 검토 : 직접 설명하는걸 동료들이 들으면서 결함 발견
-
워크 스루 : 미리 배포하여 사전 검토 후 짧은 회의를 통해 발견
-
인스펙션 : 검토 전문가들이 발견
-
CASE : 일관성 분석을 통해 표준 준수 여부 확인
시스템 연계 기술
-
DB Link, API/Open API, EAI(송수신 처리 현황 모니터링, 통제), Socket, Web Service
미들웨어
-
RPC : 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출
-
MOM : 메시지 기반의 비동기형 메시지 전달
-
TP-Monitor : 트랜잭션 처리 및 감시
-
ORB : 객체 지향 미들웨어
-
WAS : 동적인 콘텐츠 처리
'2020(개정) 이후 정보처리기사 > 1과목 : 소프트웨어 설계' 카테고리의 다른 글
2020 정보처리기사 필기 - 1.4 인터페이스 설계(2) (0) | 2020.04.11 |
---|---|
2020 정보처리기사 필기 - 1.4 인터페이스 설계(1) (0) | 2020.04.11 |
2020 정보처리기사 필기 - 1.3 애플리케이션 설계(2) (3) | 2020.04.08 |
2020 정보처리기사 필기 - 1.3 애플리케이션 설계(1) (2) | 2020.04.08 |
2020 정보처리기사 필기 - 1.2 화면 설계(2) (1) | 2020.04.07 |