Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- dlfks
- java
- 오버라이딩
- 버전관리
- 오버로딩
- elastic certified engineer
- Overloading
- overriding
- 상속
- 형상관리
- git
- Elasticsearch
Archives
- Today
- Total
엔지니어 블로그
정보처리기사 실기 내용 정리-1 본문
1. 소프트웨어 생명주기
- 시스템의 요구사항 분석부터 유지 보수까지의 전과정을 체계화한 철차를 뜻한다.
- 요구분석 - 설계 - 구현 - 테스트 - 유지보수 총 5단계로 진행된다.
1-1. 소프트웨어 생명주기의 종류
- 폭포수 => 각 단계를 확실히 마무리 지은 후 다음 단계로 넘어가는 모델이다.
- 프로토타이핑 => 프로토타입을 제작하여 고객의 피드백을 받고 반영하여 소프트웨어를 만드는 모델이다.
- 나선형 => 계획-위험분석-개발-고객평가 4단계가 반복적으로 시행되는 모델이다.
- 반복적 모델 => 구축 대상을 병렬 개발 후 통합하여 완성시키는 모델이다.
1-2. 소프트웨어 개발 방법론
- 소프트웨어 개발 전과정에 지속적으로 적용 가능한 방법 철차
- 구조적 방법론 => 전체 시스템을 기능에 따라 분리 개발하고 통합하는 분할과 정복 방식의 방법론이다.
- 정보공학적 방법론 => 정보 시스템 개발에 필요한 관리 절차와 작업을 체계화하는 방법론이다.
- 객체지향적 방법론 => 객체 단위로 시스템을 설계하는 방법론이다.
- 컴포넌트 기반 방법론 => 컴포넌트를 조립해서 하나의 소프트웨어를 만드는 방법론이다.
- 에자일 => 절차보다는 사람 중심의 유연한 경량 개발 방법론이다.
- 제품 계열 방법론
1-2-1.에자일
- 에자일에는 XP와 SCRUM이 있다.
1-2-1-1.XP
- XP는 의사소통 개선과 즉각적 피드백으로 품질을 높이기 위한 방법론이다.
5대 정신
- 용기
- 단순성
- 의사소통
- 피드백
- 존중
12개 기본 원리
- 짝프로그래밍 - 개발자 둘이서 짝으로 코딩하는 원리
- 코드 공동 소유 - 시스템 내의 코드는 누구든 수정이 가능하다는 원리
- 지속적인 통합 - 매일 여러번 작업을 통합해야 한다는 원리
- 계획세우기 - 고객의 요구를 정의하고 개발자에게 필요한것과 지연가능성을 알려주어야 한다는 원리
- 테스트 주도 개발 - 테스트를 먼저 수행하고 통과할 수 있도록 코딩해야한다는 원리
- 소규모 릴리즈 - 작은 시스템을 먼저 만들고, 짧은 단위로 업데이트 한다는 원리
- 메타포어 - 공통적인 이름 체계를 바탕으로 고객과 개발자간 의사소통을 원활하게 한다는 원리
- 간단한 디자인 - 요구사항에 적합한 가장 단순한 설계를 해야한다는 원리
- 리팩토링 - 프로그램의 기능을 변경하지 않으면서 코드 중복제거,단순화 등을 위해 시스켐 재구성한다는 원리
- 40시간 작업 - 40시간 이상 작업하지 말아야 한다는 원리
- 고객상주 - 개발자의 질문에 즉각 답할 수 있는 고객을 프로젝트에 풀타임 상주시켜야 한다는 원리
- 코드표준 - 모든 코드에 대한 코딩 표준을 정해야 한다는 원리
1-2-1-2 SCRUM
매일 정해진 시간,장소에서 짧은시간 개발을 하는 팀을 위한 프로젝트 관리 방법론
스크럼 주요 구성 개념
- 백로그 - 요구사항
- 스프린트
- 스크럼 미팅
- 스크럼 마스터
- 일일 스프린트 회고
- 번 다운. 차트
1-3. 객체지향 분석 방법론
사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스,속성,연산,관계를 정의하여 모델링하는 기법이다.
1-3-1. 객체지향 분석 방법론 종류
- OOSE
- 야콥슨, 유스케이스를 모든 모델의 근간으로 활용되는 방법론
- OMT
- 럼바우, 그래픽 표기법을 이용해 소프트웨어 구성요소를 모델링 하는 방법론, 절차는 객->동->기
- OOD
- 부치, 설계 문서화를 중시하여 다이어그램 중심으로 개발하는 방법론
2. 비용산정, 일정관리 모형
2-1. 비용산정 모형
소프트웨어 소프트웨어 개발에서 실행 가능한 계획을 수립하기 위해 비용을 산정하는 방식이다.
2-1-1. 비용산정 모형 분류
분류 | 설명 | 종류 |
---|---|---|
하향식 | 전문가에게 비용산정을 의뢰하거나 전문가와 조정자를 통해 산정하는 방식 | 델파이 기법 |
상향식 | 세부적인 요구사항과 기능에 따라 필요한 비용을 계산하는 방식 | LOC Man Month COCOMO 푸트남 FP |
2-1-2. 비용산정 모형 종류
- LOC 모형
- 각 기능의 원시코드 라인 수의 '낙관치','비관치','중간치'를 측정하여 예측치를 통해 비용을 산정하는 방식이다.
- Man Month 모형
- 사람이 1개월동안 가능한 작업량을 기준으로 프로젝트 비용을 산정하는 방식이다.
- ManMonth = Loc/1달 가능 작업량
- COCOMO
- 프로그램 규모에 따라 비용을 산정하는 방식, 보헴 제안
- 규모에 따라 3가지로 나뉜다.
유형 설명 조직형 5만라인 이하의 소프트웨어(5KDSI) 반 분리형 30만 라인 이하의 소프트웨어(30KDSI) 임베디드형 30만 라인 초과의 소프트웨어 - 푸트남
- Rayleigh Norden 곡선의 노력분포를 기준으로 비용을 산정하는 방식이다.
- FP
- 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 가중치를 합산하여 비용을 산정하는 방식이다.
2-2. 일정관리 모델
프로젝트가 기한 내에 완료될 수 있도록 관리하는 모델이다.
2-2-1. 일정관리 모델의 종류
- 주공정법
- 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법
- PERT
- 3점 추정박식을 통해 일정을 관리하는 기법
- 중요 연쇄 프로젝트 관리
- 주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법