* 키워드 : SDLC, 델파이 기법, 상향식 모델 -LOC기법, COCOMO 모형, 테일러링, 가상화 기반 네트워크 기술 (SDN, NFV, 오픈플로우, 오버레이 네트워크)
1. 소프트웨어 생명주기 ( SDLC; Software Development Life Cycile )
- 고객의 요구에 의해서 소프트웨어 시스템이 탄생하고, 운용되는 가운데 유지보수가 반복되고, 최종적으로 수명이 다하여 파기할 때까지의 전 공정을 체계화한 절차
- 폭포수 모델, 프로토타이핑 모델, 나선형 모델, 반복적 모델
- 폭포수 모델 프로세스
: 요구사항 분석 > 설계 > 구현 > 테스트 > 유지보수
- 프로세스 설계 단계
: 시스템 분석을 통해 위협 모델링, 보안 통제 기준 설정과 같이 개발 보안 가이드가 제시하는 작업을 기존 개발 프로세스에 추가하는 작업을 수행
1-1. 소프트웨어 개발방법론 종류
- 구조적 방법론, 정보공학 방법론, 객체지향 방법론, 컴포지트 기반 방법론, 애자일 방법론, 제품계열 방법론
- 구조적 방법론
: 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론
- 객체지향 방법론
: 데이터와 관련되는 동작을 모두 포함하는 방법론으로 데이터는 실체를, 동작은 절차, 방법, 기능을 의미
- 정보공학 방법론
: 관리절차, 작업 기법의 체계화, 개발 주기 이용
- 컴포넌트 기반 방법론
: 컴포넌트(DB+SW) 조립 -> NEW 응용 프로그램 작성
- 애자일 방법론
: 사람중심, 유연/실속
- 제품계열 방법론
: 원하는 공통 기능 정의/개발 -> 특정 제품에 적용 : 임베디드 SW
1-2. 소프트웨어 개발 방법론 결정 절차
- 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영
- 개발 단계별 작업 절차를 소프트웨어 생명 주기 절차에 맞춰 수립
- 개발 단계별 활동 목적, 작업 내용, 산출물에 대한 메뉴얼 작성
1-2. 요구사항 관리 절차 (협기변확)
- 요구사항 협상 > 요구사항 기준선 > 요구사항 변경 관리 > 요구사항 확인 및 검증
* 소프트웨어 개발 참여자
- 프로젝트 관리자, 요구사항 분석가, 아키텍트, 설계자, 구현 개발자, 테스트 분석가, 보안 감시자
- 설계자
: 특정 기술이 보안 요구사항을 만족하는지 확인하고 그 기술이 적절히 사용될 수 있도록 방법을 터득해야 하고, 기존의 모든 개발 역할의 보안 관련 작업을 수행할 수 있어야 함
* 소프트웨어 비용 결정 요소
- 프로젝트 요소, 자원 요소, 생산성 요소
- 프로젝트 요소 : 제품 복잡도, 시스템의 크기, 요구되는 신뢰도
- 자원 요소 : 인적 자원, 하드웨어 자원, 소프트웨어 자원
- 생산성 요소 : 개발자의 능력과 개발 기간
2. 델파이 기법
- 하향식 비용 산정 기법 중 하나로 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법, 전문가들의 편견이나 분위기에 지배되지 않도록 한 명의 조정자와 여러 전문가로 구성
* 상향식 비용 산정 모델
- LOC, Man Month, COCOMO, Putnam, FP(Function Point)
- FP(Function Point) 기능 점수 모형
: 요구 기능을 증가시키는 인자별로 가중치를 부여하여 기능의 점수를 계산하여 비용을 산정하는 방식
- Man Month
: 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방법
3. LOC 기법
- 상향식 비용 산정 기법 중 하나로 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
- 노력(인월) : 개발 기간 * 투입 인원 LOC/1인당 월 평균 생상 코드 라인 수
- 개발 기간 : 노력/투입 인원
- 생산성 : LOC/노력
예) 총 라인수가 25000, 개발 투입 5명, 개인별 500라인일 때 개발 기간은?
- 개발 기간 = 노력/투입인원
- 노력 = (LOC/개인별라인수)
- (25000/500)/5 = 10
예) 개발 투입 2명, 개발 기간 5개월, 10000라인의 코드 개발 생산성은?
- 생산성 = LOC/노력
- 노력 = 개발 기간 * 투입 인원
- 10000/5*2 = 1000
4. COCOMO 모형
- 개발할 소프트웨어의 규모를 예측한 후 이를 소프트웨어 종류에 따라 비용을 다르게 책정
- 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용되고 있음
- COCOMO 3단계 모델 : Basic COCOMO, Intermediate COCOMO, Detailed COCOMO
>> COCOMO의 유형
- 조직형(Organic mode = 기본형) : 중, 소 규모에서 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용, 5만라인 이하
- 반분리형(Semi-detached mode) : 30만 라인 이하
- 내장형(Embedded mode) : 초대형 규모
5. 테일러링 ( Tailoring )
- 조직의 표준 프로세스를 커스터마이징하여 프로젝트의 비즈니스적으로 또는 기술적인 요구에 맞게 적합한 프로세스를 얻는 과정
- 프로세스 : 특정 정의 > 표준 프로세스 선정 및 검증 > 상위 커스터마이징 > 세부 커스터마이징 > 문서화
6. 가상화 기반 네트워크 기술
- SDN ( Software Defined Network; 소프트웨어 정의 네트워크 )
- 개방형 API(오픈플로우) 기반으로 네트워크 장비의 트래픽 경로를 지정하는 컨트롤 플레인과 트래픽 전송을 수행하는 데이터플레인을 분리하여 네트워크 트래픽을 중앙집중적으로 관리하는 기술
- 구성요소
: 애플리케이션, 네트워크 운영체제, 데이터 플레인
- NFV ( Network Function Virualization; 네트워크 기능 가상화 )
- 범용 하드웨어(서버/스토리지/스위치)에 가상화 기술을 적용하여 네트워크 기능을 가상 기능으로 모듈화하여 필요한 곳에 제공하는 기술
- 구성요소 : Virtual Network Function, Network Functions Virtualization Infrastructure, MANO(Management and Orchestration)
- 오픈플로우
- 네트워크 장치의 컨트롤 플레인(Control Plane)과 데이터 플레인(Data Plane) 간의 연계 및 제어를 담당하는 개방형 표준 인터페이스
- 구성 요소 컨프스 흐파그보
: 오픈플로우 컨트롤러, 오픈플로우 프로토콜, 오픈플로우 스위치, 흐름테이블, 파이프라이닝, 그룹테이블, 보안채널
* 파이프라이닝 : 흐름테이블에 패킷에 대한 액션을 처리하거나 다른 액션을 추가할 수 있는 기능을 갖고 있으며, 다른 흐름 테이블에 있는 엔트리와 비교하여 패킷 처리가 계속되도록 제어함
- 오버레이 네트워크
- 기존 네트워크를 바탕으로 그 위에 구성된 또 다른 네트워크
- 구성요소 돔베식
: DHT, 오버레이 노드, 맵핑, 베이스노드, 식별자
* 광전송 장비 구현 기술 : SONET, SDH, DWDM, CDMA
- SONET : 고숙 디지털 통신을 위한 광전송 시스템 표준 규격
* 인공지능 기술
- 기계 학습(Machine Learning)
: 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술
- 큐-러닝(Q-learning)
: 특정 상태에서 취할 수 있는 각 행동에 대해 효용 값을 미리 계산하여, 마르코프 의사결정 과정에 따라 최적의 정책을 찾는 강화학습 기법
- 주성분 분석(PCA)
: 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간으로 변환하는 알고리즘
- 순환 신경망
: 연속된 데이터 상에서 이전 순서의 은닉 노드의 값을 저장한 이후, 다음 순서의 입력 데이터로 학습할 때 이전의 값을 이용, 연속적인 정보의 흐름을 학습에 이용하는 딥러닝 알고리즘
- 심층 신경망(DNN)
: 입력계층과 출력계층 사이의 다단계의 은닉계층을 통해서 비선형 관계에 대한 모델링이 가능한 인공 신경망
* 이 게시물은 수제비 카페 - 페코페코 예상문제 OX 게시글을 참고로 작성되었습니다.
https://cafe.naver.com/soojebi
* 과목별 정리
2020/08/13 - [정보처리기사/1과목 소프트웨어 설계] - 정보처리기사 필기 ) 1과목 소프트웨어 설계 정리
2020/08/13 - [정보처리기사/2과목 소프트웨어 개발] - 정보처리기사 필기 ) 2과목 소프트웨어 개발 정리
2020/08/14 - [정보처리기사/4과목 프로그래밍언어 활용] - 정보처리기사 필기 ) 4과목 프로그래밍 언어 활용 정리
2020/08/14 - [정보처리기사/5과목 정보시스템 구축관리] - 정보처리기사 필기 ) 5과목 정보시스템 구축 관리 정리 1
2020/08/14 - [정보처리기사/5과목 정보시스템 구축관리] - 정보처리기사 필기 ) 5과목 정보시스템 구축 관리 정리 2
2020/08/20 - [정보처리기사/5과목 정보시스템 구축관리] - 정보처리기사 필기) 수제비 모의고사 정리 - 5과목 정보시스템 구축 관리
2020/08/20 - [정보처리기사/5과목 정보시스템 구축관리] - 정보처리기사 필기) 시나공 모의고사 정리 - 5과목 정보시스템 구축 관리
'정보처리기사 > 정보처리기사 필기' 카테고리의 다른 글
정보처리기사 필기) 수제비 모의고사 정리 - 1과목 소프트웨어 설계 (0) | 2020.08.14 |
---|---|
정보처리기사 필기 ) 5과목 정보시스템 구축 관리 정리 2 (0) | 2020.08.14 |
정보처리기사 필기 ) 4과목 프로그래밍 언어 활용 정리 (0) | 2020.08.14 |
정보처리기사 필기 ) 2과목 소프트웨어 개발 정리 (0) | 2020.08.13 |
정보처리기사 필기 ) 1과목 소프트웨어 설계 정리 (0) | 2020.08.13 |
댓글