[이기적 환상의콤비] 교재 2회독 후 교재를 바탕으로 키워드 암기를 위해 정리한 요약글입니다.
1. 소프트웨어 방법론
1-1. 소프트웨어 분류와 특성
- 시스템의 기본요소 : 입력, 출력, 처리, 제어, 피드백
- 플랫폼의 성능평가 기준 : 가용성, 응답시간, 정확성, 사용률
- 프레임워크의 특징 : 모듈화, 재사용성, 확장성, 제어의 역 흐름
- 프레임워크의 기대효과 : 개발 용이성, 품질보증, 변경용이성, 유지보수 용이성, 재사용성 향상, 표준화율 향상, 상호 운용성 향상
- 협약에 의한 설계를 따를 경우에 포함되어야 할 조건 : 선행조건, 결과조건, 불변조건
1-2. 소프트웨어 개발 방법론 활용
- 객체지향 방법론의 기본 원칙 : 캡슐화, 정보은닉, 추상화, 상속성, 다형성
- 컴포넌트 기반 방법론(CBD) 분석 단계 산출물 : 사용자 요구사항 정의서, 유스케이스 명세서, 요구사항 추적표
- 애자일 방법론 : 고객의 요구사항 변화에 민첩하고 유연하게 대응할 수 있도록 진행, XP, Scrum, 기능 중심 개발, 동적 시스템 개발방법, 경량개발, kanban
- 제품 계열 방법론 : 임베디드 소프트웨어 개발에 적합
- 테일러링 방법론 : ISO/IEC 12207, CMMI, SPICE 등의 소프트웨어 개발 프레임워크를 사용
- 보안 개발 방법론의 종류 : MS-SDL, Seven Touchpoints(실무적으로 검증된 방법론), CLASP, CWE(보안 취약점을 유발하는 원인을 7가지로 정리한 방법론)
- 하향식 비용 산정 기법 : 전문가 측정기법, 델파이 측정기법
- 상향식 비용 산정 기법 : LOC기법, 단계별 인월수 기법
- 소프트웨어 비용 추정 모형(수학식 산정 기법) : COCOMO 모델, Putnam 모델, 기능 점수 모델
- COCOMO 모델 : 보헴이 제안, Organic(5만 라인 이하), Semi-Detached(30만 라인 이하), Embedded(30만 라인 이상)
- Putnam 모델 : Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
- 기능 점수 모델의 비용 산정 요소 : 입력 유형의 수, 출력 유형의 수, 사용자 명령어 수, 데이터 파일의 수, 인터페이스의 수
- 소프트웨어 개발 표준 : ISO/IEC 12207, ISO/IEC 9126(기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성), CMM, CMMI, SPICE
1-3. 소프트웨어 생명 주기 모델
- 폭포수 모델 : 단계별 결과물이 정확하게 산출
- 프로토타입 모델 : 견본품
- 나선형 모델 : 위험분석 기능 추가, 보헴이 제안, 점진적으로 개발, 유지보수 과정이 필요없다.
- 애자일 모델 의 핵심가치 : 절차보다 상호작용에 더 가치를 둔다. / 실행되는 소프트웨어에 더 가치를 둔다. / 고객과의 협업에 더 가치를 둔다. / 변화에 대응하는 것에 더 가치를 둔다.
- 스크럼 모델 : 제품 책임자(PO), 스크럼 마스터(SM), 개발팀(DT)
- XP 모델 : 고객의 참여와 개발 과정의 반복을 극대화, 빠른 개발 목적, 의사소통, 단순성, 용기, 존중, 피드백
- 프로젝트 관리 : PERT(소요 기간의 예측이 어려운 경우), CPM(소요 기간이 확실한 경우)
- 형상 관리의 역할 및 특성 : 동일한 프로젝트를 여러 개발자가 동시에 개발이 가능해진다. / 불필요한 수정을 제한할 수 있다. / 배포본 관리에 유용하며 리비전이 가능하다.
2. 요구사항 확인
2-1. 소프트 웨어 개발 환경 분석
- DBMS : 종속성과 중복성의 문제를 해결해 준다.
- 미들웨어 : DBMS, RPC, MOM, TP-Monitor, ORB, WAS
2-2. 요구사항 정의
- 도출, 분석, 명세, 확인
- 요구사항 도출 기법 : 인터뷰, 설문조사, 프로토타이핑, 스토리텔링, 유스케이스
- 유스케이스 다이어그램의 구성요소 : 시스템 범위, 유스케이스, 액터, 관계
- 요구사항 분석 - 구조적 분석 도구 : 자료 흐름도(DFD), 자료사전(DD)(자료의 선택[], 자료의 반복 {}, 자료의 생략 ()), NS 차트, HIPO
- 요구사항 검증 기법 : 요구사항 검토, 프로토타이핑, 모델 검증, 인수 테스트
- 요구사항 검토 : 동료검토, 워크스루, 인스펙션, 프로토타입
- CASE : 소프트웨어 생명주기 전반을 지원하는 자동화 도구 혹은 방법론의 결합이다.
2-3. UML
- 객체지향 모델링 언어
- 구성요소 : 사물, 관계, 다이어그램
- 사물 : 구조사물, 행동사물, 그룹사물, 주해사물
- 관계 : 연관관계, 집합관계, 포함관계, 일반화관계(상위,하위관계), 의존관계(짧은 시간 동안만 연관성 유지), 실체화관계
- 구조적 다이어그램의 종류 : 클래스, 객체, 컴포넌트, 배치, 복합체, 패키지
- 행위 다이어그램의 종류 : 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍
3. 화면 설계
3-1. UI 표준
- UI의 종류 : CLI, GUI, NUI
- UI 설계 기본 원칙 : 직관성, 일관성(학습성), 효율성(유효성), 유연성
3-3. UI 설계
- UI 개발 시스템의 필수 기능 : 프롬프트 기능, 명령 검증기능, 에러처리와 에러메시지 출력 기능, 도움말 지원 기능
4. 애플리케이션 설계
4-1. 공통 모듈
- 모듈 : 프로그램을 기능 단위로 분해한 것, 재사용 가능, 종속적으로 수행
- 공유도(Fan-in) : 해당 모듈을 호출하는 상위 모듈들의 개수
- 제어도(Fan-out) : 해달 모듈이 사용하는 하위 모듈들의 개수
- 공통 모듈의 재사용 범위 : 함수와 객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용
- 재사용 모듈 설계의 유의사항 : 결합도는 약하게, 응집도는 높게, 공유도는 높이고, 제어도는 낮추어 설계한다.
4-2. 모듈의 성능 평가
- 결합도 : (낮은순) 자료 > 스탬프 > 제어 > 외부 > 공통 > 내용
- 자료 결합도(Data) : 인수과 매개변수, Call by Value
- 스탬프 결합도 : 동일한 자료구조
- 제어 결합도 : 제어 요소를 전달
- 외부 결합도 : 두 모듈이 외부에 선언된 변수를 참조하는 경우
- 공통 결합도 : 모듈이 다른 모듈의 내부 데이터를 참조하는 경우
- 내용 결합도 : 모듈이 다른 모듈의 내부 기능과 데이터를 직접적으로 사용하는 경우
- 응집도 : (낮은순) 우연적 > 논리적 > 시간적 > 절차적 > 통신적 > 순차적 > 기능적
- 순차적 응집도 : 기능 수행의 결과를 다음 기능 수행의 입력으로 사용하는 경우
- 절차적 응집도 : 모듈의 기능들이 하나의 문제를 해결하기 위해 순착적으로 수행되는 경우
7-3. 소프트웨어 아키텍처
- SOA 계층 : 표현계층, 프로세스 계층, 비즈니스 계층, 데이터 접근 계층
- 코드의 3대 기능 : 식별, 분류, 배열
- 코드의 분류 : 순차코드, 블록코드, 10진코드, 그룹 분류 코드, 연상코드, 표의 숫자 코드, 합성코드
7-4. 디자인 패턴
- 디자인 패턴의 구성 요소 : 패턴의 이름과 구분, 문제 및 배경, 솔루션, 사례, 결과, 샘플코드
- 디자인 패턴의 단점 : 객체지향 개발 위주로만 사용할 수 있다.
- 생성패턴 : Abstract Factory, Factory Method, Builder, Prototype, Singleton
- 구조패턴 : Adapter, Bridige, Composite, Decorator, Facade, Flyweight, Proxy
- 행위패턴 : Chain of Responsibilty, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Vistor
'기타 > 정보처리기사' 카테고리의 다른 글
정보처리기사 필기 키워드 정리 - 5과목 : 정보 시스템 구축 관리 (0) | 2022.04.21 |
---|---|
정보처리기사 필기 키워드 정리 - 4과목 : 프로그래밍 언어 활용 (0) | 2022.04.21 |
정보처리기사 필기 키워드 정리 - 3과목 : 데이터베이스 구축 (0) | 2022.04.20 |
정보처리기사 필기 키워드 정리 - 2과목 : 소프트웨어 개발 (0) | 2022.04.20 |
댓글