본문 바로가기

2021 정보처리기사/5과목: 정보시스템 구축 관리

[정보처리기사 5과목] 소프트웨어 개발 방법론 활용 (2)

728x90
반응형
[정보처리기사 5과목 필기 예상 키워드] 목록으로 돌아가기
과목: 5. 정보시스템 구축 관리
챕터: 1장 소프트웨어 개발 방법론 활용(2)
키워드: 소프트웨어 개발 방법론
 #애자일 방법론 / #소프트웨어 비용 결정 요소
#델파이 /#LOC / #COCOMO
#기능 점수 모형 / #프로젝트 관리
#CMMI / #SPICE / #닷넷 프레임워크

 

 

프로젝트 일정 계획

개요

🚩 프로젝트의 프로세스를 이루는 소작업을 파악하고 예측된 노력을 각 소작업에 분배하며 순서와 일정을 정하는 것

🚩 WBS, PERT/CPM, 간트 차트 등이 사용된다

 

 

 

PERT(Program Evaluation and Review Technique)

PERT는 주어진 프로젝트가 얼마나 완성되었는지 분석하는 방법으로,

각각에 필요한 시간을 계산함으로써 모든 프로젝트를 끝내는 최소시간이 얼마인지 알 수 있다. 

 

✔ 결정 경로

✔ 작업(태스크) 에 대한 경계 시간

✔ 작업(태스크) 간의 상호 관련성 등을 알 수 있음

 

✔ 낙관치: 모든 상황이 좋아서 최대로 빨리 진행될 때 걸리는 시간

✔ 기대치: 모든 상황이 정상적으로 진행될 때 거릴는 시간

✔ 비관치: 모든 상황에 많은 장애가 생겨서 가장 늦게 진행될 때 걸리는 시간

 

자료출처: 위키백과

 

CPM(Critical Path Method)

CPM은 임계 경로 기법으로, 최소의 비용 증가로 전차 프로젝트 기간을 단축하기 위한 방법으로,

각 작업의 시간당 비용증가율을 비교하여 선형계획법 등을 이용하여 목적을 달성한다

 

🚩 임계경로는 최장 경로를 의미한다(소요 기일이 가장 오래 걸린 기일)

 

1) 프로젝트의 규모를 추정한다

2) 각 단계에서 필요한 작업들을 분할한다

3) 각 작업의 상호 의존 관계를 CPM 네트워크로 나타낸다

4) 일정 계획을 간트 차트로 나타낸다

 

🚩 노드에서 작업을 표시하고, 간선은 작업 사이의 전후 의존관계를 나타냄

🚩 프로젝트 완성에 필요한 작업을 나열하고 소요기간을 예측하는데 사용됨

🚩 박스 노드는 프로젝트의 중간 점검을 뜻하는 이정표로 이 노드위에서 예상 완료 시간을 표시

🚩 한 이정표에서 다른 이정표로 도달하기 전의 작업은 모두 완료되어야만 다음 작업 진행 가능

 

자료출처: 위키백과

 

 

간트 차트

프로젝트의 각 작업들이 언제 시작하고 언제 종료되는지에 대한 작업일정을 막대 도표를 이용하여 표시하는 일정표

시간선(Time-Line) 차트라고도 한다.

 

🚩 이정표, 기간 작업, 프로젝트 일정을 나타낸다

🚩 막대로 표시하며 수평 막대의 길이는 각 태스트의 기간을 나타낸다

🚩 중간 목표 미달성 시 그 이유와 기간을 예측할 수 있다

🚩 다양한 형태로 변경하여 사용할 수 있다

🚩 작업 경로는 표시할 수 없으며 계획 변화에 대한 적응성이 약함

🚩 계획 수립 또는 수정 때 주관적 수치에 기울어지기 쉽다

 

 

 

 

소프트웨어 개발 방법론 결정

개요

프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영하고,

확정된 소프트웨어 생명 주기와 개발 방법론에 맞춰 소프트웨어 개발 단계, 활동, 작업, 절차 등을 정의

 

프로젝트 관리(Project Management)

🚩 일정 관리: 작업 순서, 작업기간 산정, 일정 개발, 일정 통제

🚩 비용 관리: 비용 산정, 비용 예산 편성, 비용 통제 

🚩 인력 관리: 프로젝트 팀 편성, 자원 산정, 프로젝트 조직 정의, 개발, 자원 통제, 프로젝트 팀 관리

🚩 위험 관리: 위험 식별, 위험 평가, 위험 대처, 위험 통제

🚩 품질 관리: 품질 계획, 품질 보증 수행, 품질 통제 수행

 

 

개발 방법론 결정 절차

(1) 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영

(2) 개발 단계별 작업 및 절차를 소프트웨어 생명 주기(기본,지원,조직 생명주기)에 맞추어 수립

(3) 결정된 개발 방법론의 단계별 활동 목적, 작업 내용, 산출물에 대한 매뉴얼을 작성

 

 

 

 

 

 

 

 

소프트웨어 개발 표준

개요

🚩 대표적 개발 표준에는 ISO/IEC 12207, CMMI, SPICE 등이 있음

 

 

ISO/IEC 12207

🚩 소프트웨어 생명 주기 표준을 제공한다.

🚩 기본 생명주기 프로세스, 지원 생명주기 프로세스, 조직 생명주기 프로세스로 구분

 

✔ 기본 생명 주기 프로세스: 획득, 공급, 개발, 운영, 유지보수 프로세스

✔ 지원 생명 주기 프로세스: 품질보증,검증,확인,활동검토,감사,문서화,형상관리,문제해결 프로세스

✔ 조직 생명 주기 프로세스: 관리, 기반구조, 훈련, 개선 프로세스

 

 

 

CMMI(Capability Maturity Model Integration)

🚩 CMMI(능력 성숙도 통합 모델)

🚩 초기, 관리, 정의, 정량적 관리, 최적화의 5단계로 성숙도를 구분한다

 

✔ 1단계 초기: 정의된 프로세스 없음 | 작업자 능력에 따라 성공 여부 결정

✔ 2단계 관리: 규칙화된 프로세스 | 특정한 프로젝트 내의 프로세스 정의 및 수행

✔ 3단계 정의: 표준화된 프로세스 | 조직의 표준 프로세스를 활용하여 업무 수행

✔ 4단계 정량적 관리: 예측 가능한 프로세스 | 프로젝트를 정량적으로 관리 및 통제

✔ 5단계 최적화: 지속적 개선 프로세스 | 프로세스 역량 향상을 위해 지속적인 프로세스 개선

 

 

SPICE(Software Process Improvement Capability dEtermination)

🚩 S 소프트웨어 P 프로세스 I 개선 및 C 능력 E평가 기준 = SPICE

🚩 공식명칭 : ISO/IEC 15504

 

✔ SPICE의 목적

- 프로세스 개선을 위해 개발 기관이 스스로 평가하는 것

- 기관에서 지정한 요구조건의 만족여부를 개발 조직이 스스로 평가하는 것

- 계약 체결을 위해 수탁 기관의 프로세스를 평가하는 것

 

 

 

테일러링

개요

🚩 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업

🚩 소프트웨어 개발 방법론 테일러링 수행절차

프로젝트 특징 정의▶표준 프로세스 선정 및 검증▶상위 수준의 커스터마이징 ▶세부 커스터마이징 ▶테일러링 문서화

 

테일러링 고려사항

🚩 내부적 기준

 

- 목표 환경: 시스템 개발 환경과 유형이 서로 다른 경우 테일러링이 필요

- 요구사항: 프로젝트에서 우선적으로 고려할 요구사항이 서로 다른 경우 테일러링이 필요

- 프로젝트 규모: 비용, 인력, 기간 등 프로젝트의 규모가 서로 다른 경우 테일러링이 필요

- 보유 기술: 프로세스, 개발 방법론, 산출물, 구성원 능력 등이 서로 다른 경우 테일러링 필요

 

 

🚩 외부적 기준

 

- 법적 제약사항: 프로젝트별로 적용될 IT Compliance(법적 규제사항, 지침 등)가 서로 다른 경우 테일러링 필요

- 표준 품질기준: 금융, 제도 등 분야별 표준 품질 기준이 서로 다른 경우 테일러링 필요

 

테일러링 기법

🚩 규모&복잡도 / 프로젝트 구성원 / 팀내 방법론 지원 / 자동화 (암기할 것)

🚩 프로젝트 규모와 복잡도에 따른 테일러링 기법(대,중,소 / 상,중,하로 구분하는 기법)

🚩 프로젝트 구성원에 따른 테일러링 기법(기술적 숙련도와 방법론의 이해 정도)

🚩 팀내 방법론 지원에 따른 테일러링 기법(의사소통 담당 인력 구성)

🚩 자동화에 따른 테일러링 기법: 작업 부하를 줄이기 위해 자동화 도구를 사용하여 산출할 수 있도록 지원하는 기법

 

 

소프트웨어 개발 프레임워크

개요

프레임워크(Framework)는 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템을 말한다

 

🚩 선행 사업자의 기술에 의존하지 않은 표준화된 개발 기반으로 인해 사업자 종속성 해소

🚩 예외 처리, 트랜잭션 처리, 메모리 공유, 데이터 소스 관리, 서비스 관리, 쿼리 서비스, 로깅 서비스, 사용자 인증 서비스 등

🚩 스프렝 프레임 워크, 전자정부 프레임워크, 닷넷 프레임워크 등

 

 

특성

🚩 모듈화(Modularity)

🚩 재사용성(Reusability)

🚩 확장성(Extensibility)

🚩 제어의 역흐름(Inversion of Control)

 

 

스프링 프레임워크(Spring Framework)

🚩 자바 플랫폼을 위한 오픈 소스 경량형 어플리케이션 프레임워크

🚩 동적 웹사이트 개발을 위해 다양한 서비스 제공

 

 

전자정부 프레임워크

🚩 우리나라 공공부문 정보화 사업 시 효율적 정보시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처 제공

🚩 응용 소프트웨어의 표준화, 품질 및 재사용성의 향상을 목적으로 함

🚩 오픈소스 기반 기술을 활용함으로써 특정 업체 종속성을 배제하고 사업별 공통 컴포넌트의 중복 개발을 방지

 

 

닷넷 프레임워크(.NET Framework)

🚩 Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크

🚩 Microsoft 사에서 통합 인터넷 전략을 위해 개발

🚩 CLR(Common Language Runtime, 공용언어 런타임) VM(가상머신) 상에서 작동

🚩 메모리 관리, 유형 및 메모리 안정성, 보안, 네트워크 작업 등 여러가지 서비스 제공

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

정보처리기사 5과목 필기(상시업뎃)

2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리된 키워드들이며, 순서와 관계 없이 

y-oni.tistory.com

참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV

728x90