일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 십진수 이진수
- 백준 1978번
- 백준 1712번
- 비트시프트
- 백준 2775번
- 10진수 2진수
- programers
- 2751번 C
- 프로그래머스
- c 백준 4344번
- 10989 C
- 8진수
- C
- 백준
- 백준 알고리즘
- 공부
- 16진수
- 백준 1026번
- 백준 10989
- 백준 2869번
- 백준 2751번
- 백준 2839번
- 백준 4344번
- 배열 소수
- 백준 세수
- 백준 10817번
- 알고리즘
- 백준 손익분기점
- 백준 1003번
- 백준 달팽이
- Today
- Total
IT Diary
정보처리기사 5과목 본문
소프트웨어 개발 방법론
개요
소프트웨어 개발 방법론은 소프트웨어 개발, 유지보수 등에 필요한 여러 가지 일들의 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화
1. 구조적 방법론
구조적 방법론은 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리 중심 방법론
쉬운 이해 및 검증이 가능한 프로그램 코드를 생성하는 것이 목적입니다.
복잡한 문제를 다루기 위해 분할과 정복 원리를 적용합니다.
구조적 방법론의 절차
타당성 검토 단계 -> 계획 단계 -> 요구 사항 단계 -> 설계 단계 -> 구현 단계 -> 시험 단계 -> 운용/유지보수 단계
2. 정보공학 방법론
정보공학 방법론은 정보 시스템의 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료(Data) 중심의 방법론입니다.
정보 시스템 개발 주기를 이용하여 대규모 정보 시스템을 구축하는 데 적합합니다.
정보 전략 계획 수립 단계 -> 업무 영역 분석 단계 -> 업무 시스템 설계 단계 -> 업무 시스템 구축 단계
3. 객체지향 방법론
객체지향 방법론은 현실 세계의 개체를 기계 부품처럼 하나의 객체로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론입니다.
객체지향 방법론은 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택되었습니다.
객체지향 방법론의 구성요소에는 객체, 클래스, 메세지 등이 있습니다.
객체 지향 방법론의 기본 원칙에는 캡슐화, 정보 은닉, 추상화, 상속성, 다형성 등이 있습니다.
요구분석 단계 -> 설계 단계 -> 구현 단계 -> 테스트 및 검증 단계 -> 인도 단계
컴포넌트 기반 방법론
컴포넌트 기반 방법론은 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 어플리케이션을 만드는 방법론이다.
컴포넌트의 재사용이 가능하여 시간과 노력을 절감할 수 있습니다.
유지보수 비용을 최소화하고 생산성 및 품질을 향상시킬 수 있습니다.
절차
개발 준비 단계 -> 분석 단계 -> 설계 단계 -> 구현 단계 -> 테스트 단계 -> 전개 단계 -> 인도 단계
애자일 방법론
애자일은 '민첩한', '기민한'이라는 의미로, 애자일 방법론은 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발 과정을 진행하는 방법론입니다.
소규모 프로젝트, 고도로 숙달된 개발자, 급변하는 요구사항에 적합
애자일 방법론의 대표적인 종류에는 익스트림 프로그래밍, 스크럼, 칸반, 크리스탈
사용자 스토리 -> 계획 -> 개발 -> 승인 테스트
제품 계열 방법론
특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론입니다.
임베디드 소프트웨어를 만드는데 적합합니다.
제품 계열 방법론은 영역공학과 응용공학으로 구분됩니다.
영역공학 : 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역입니다.
응용공학 : 제품 요구 분석, 제품 설계, 제품을 구현하는 영역입니다.
영역공학과 응용공학의 연계를 위해 제품의 요구사항, 아키텍처, 조립 생산이 필요
비용 산정 기법
개요
소프트웨어 비용 산정은 소프트웨어의 개발 규모를 소요되는 인워, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것입니다.
소프트웨어 비용 산정을 너무 높게 산정할 경우 예산 낭비와 일의 효율성 저하를 초래할 수 있고, 너무 낮게 산정할 경우 개발자의 부담이 가중된고 품질문제가 발생할 수 있습니다.
소프트웨어 비용 산정 기법에는 하향식 비용 산정 기법과 상향식 비용 산정 기법이 있습니다.
소프트웨어 비용 결정 요소
소프트웨어 비용은 개발하는 소프트웨어, 소프트웨어 개발에 투입되는 자원, 소프트웨어 생산성에 따라 결정
소프트웨어 비용을 결정하는 요소에는 프로젝트 요소, 자원 요소, 생산성 요소가 있습니다.
프로젝트 요소
제품 복잡도 : 소프트웨어의 종류에 따라 발생할 수 있는 문제점들의 난이도를 의미한다.
시스템 크기 : 소프트웨어의 규모에 따라 개발해야 할 시스템의 크기를 의미한다.
요구되는 신뢰도 : 일정 기간 내 주어진 조건 하에서 프로그램이 필요한 기능을 수행하는 정도를 의미한다.
자원 요소
인적 자원 : 소프트웨어 개발 관련자들이 갖춘 능력 혹은 자질
하드웨어 자원 : 소프트 웨어 개발 시 필요한 장비와 워드프로세서, 프린트 등의 보조 장비를 의미
소프트웨어 자원 : 소프트웨어 개발 시 필요한 언어 분석기, 문서화 도구 등의 개발 지원 도구를 의미
생산성 요소
개발자 능력 : 개발자들이 갖춘 전문지식, 경험 이해도, 책임감, 창의력 등을 의미
개발 기간 : 소프트웨어를 개발하는 기간을 의미
하향식 비용 산정 기법 개요
하향식 비용 산정 기법은 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법
기법은 전문가 감정 기법, 델파이 기법
전문가 감정 기법
조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법
가장 편리하고 신속하게 비용을 산정할 수 있으며, 의뢰자로부터 믿음을 얻을 수 있습니다.
새로운 프로젝트에는 과거의 프로젝트와 다른 요소들이 있다는 것을 간과할 수 있습니다.
새로운 프로젝트와 유사한 프로젝트에 대한 경험이 없을 수 있습니다.
개인적이고 주관적일 수 있습니다.
델파이 기법
전문가들의 편견이나 분위기에 지배되지 않도록 한 명의 조정자와 여러 전문가로 구성됩니다.
비용 산정 순서
조정자는 각 비용 산정 요원에게 시스템 정의서와 산정한 비용 내역을 기록할 서식을 제공합니다.
산정 요원들은 정의서를 분석하여 익명으로 분석 후 비용 산정
조정자는 산정 요원들의 반응을 요약하여 배포
산정 요원들은 이전에 산정한 결과를 이용하여 다시 익명으로 산정합니다.
요원들 간의 의견이 거의 일치할 때까지 이 과정을 반복합니다.
상향식 비용 산정 기법
개요
상향식 비용 산정 기법은 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법입니다.
기법 LOC 기법, 개발 단계별 인월수 기법, 수학적 산정 기법
LOC(원시 코드 라인 수) 기법
LOC 기법은 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법입니다.
측정이 용이하고 이해하기 쉬워 가장 많이 사용됩니다.
예측치를 이용하여, 생산성, 노력, 개발 기간 등의 비용을 산정합니다.
예측치 = (낙관치 + 4* 기대치 + 비관치) / 6
산정 공식
노력(인월) = 개발 기간 X 투입인원 = LOC / 1인당 월평균 생산 코드 라인 수
개발 비용 = 노력(인월) X 단위 비용(1인당 월평균 인건비)
개발 기간 = 노력(인월) X 투입 인원
생산성 = LOC / 노력(인월)
개발 단계별 인월수(Effort Per Task) 기법
개발 단계별 인월수 기법은 LOC 기법을 보완하기 위한 기법으로, 각 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정
- LOC 기법보다 정확
소프트웨어 개발 방법론 결정의 개요
소프트웨어 개발 방법론의 결정은 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고 확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절차 등을 정의하는 것입니다.
관리 유형 | 주요 내용 |
일정관리 | 작업 순서, 작업 기간 산정, 일정 개발, 일정 통제 |
비용관리 | 비용 산정, 비용 예산 편성, 비용 통제 |
인력관리 | 프로젝트 팀 편성, 자원 산정, 프로젝트 조직 정의, 프로젝트 팀 개발, 자원 통제, 프로젝트 팀 관리 |
위험관리 | 위험 식별, 위험 평가, 위험 대처, 위험 통제 |
품질관리 | 품질 계획, 품질 보증 수행, 품질 통제 수행 |
소프트웨어 개발 표준
ISO/IEC 12207
기본 생명 주기 프로세스 | 획득, 공급, 개발, 운영, 유지보수 프로세스 |
지원 생명 주기 프로세스 | 품질 보증, 검증, 확인, 활동, 검토, 감사, 문서화, 형상 관리, 문제 해결 프로세스 |
조직 생명 주기 프로세스 | 관리, 기반 구조, 훈련, 개선 프로세스 |
'Study > 정보처리기사' 카테고리의 다른 글
정보처리기사 이해하기 힘든 것을 모아 요점 정리 (0) | 2020.09.21 |
---|---|
정보처리기사 2과목 - 소프트웨어 개발 (0) | 2020.09.17 |
정보처리기사 요점정리 (0) | 2020.09.16 |
정보처리기사 1과목 - 소프트웨어 설계 (0) | 2020.09.15 |
정보처리기사 4과목 (0) | 2020.09.09 |