본문 바로가기

자격증 준비/정보처리기사 필기 - 5과목(정보시스템 구축 관리)

[정보처리기사 필기] 5과목 - 프로젝트 관리, 소프트웨어 개발

728x90
반응형

프로젝트 관리(Project Management)

주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동

 

관리 유형

  • 일정 관리 : 작업 순서, 작업 기간 산정, 일정 개발, 일정 통제
  • 비용 관리 : 비용 산정, 비용 예산 편성, 비용 통제
  • 인력 관리 : 프로젝트 팀 편성, 자원 산정, 프로젝트 조직 정의, 프로젝트 팀 개발, 자원 통제, 프로젝트 팀 관리
  • 위험 관리 : 위험 식별, 위험 평가, 위험 대처, 위험 통제
  • 품질 관리 : 품질 계획 품질 보증 수행, 품질 통제 수행

 

ISO/IEC 12207 : ISO에서 만든 표준 소프트웨어 생명 주기 프로세스로 개발, 운영 유지보수 등을 체계적으로 관리하기 위한 표준제공

  • 기본 생명 주기 프로세스 : 획득, 공급, 개발, 운영, 유지보수 프로세스
  • 지원 생명 주기 프로세스 : 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결 프로세스
  • 조직 생명 주기 프로세스 : 관리, 기반 구조, 훈련, 개선 프로세스

 

 

 

CMMI(Capability Maturity Model Integration, 능력 성숙도 통합 모델)

소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델, 미국 카네기멜론 대학 소프트웨어 공학연구소에서 개발

단계 프로세스 특징
초기
(Initial)
정의된 프로세스 작업자 능력에 따라 성공 여부 결정
관리
(Managed)
규칙화된 프로세스 특정한 프로젝트 내의 프로세스 정의 및 수행
정의
(Defined)
표준화된 프로세스 조직의 표준 프로세스를 활용하여 업무 수행
정량적 관리
(Quantitatively Managed)
예측 가능한 프로세스 프로젝트를 정량적으로 관리 및 통제
최적화
(Optimizing)
지속적 개선 프로세 프로세스 역량 향상을 위해 지속적인 프로세스 개선

 

 

SPICE(Software Process Improvement and Capability dEtermination)

SPICE(소프트웨어 처리 개선 및 능력 평가 기준)는 정보 시스템 분야에서 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준(공식 명칭 : ISO/IEC 15504)

  • 5개의 프로세스 범주와 40개의 세부 프로세스로 구성

 

프로세스 수행 능력 단계

 

단계 특징
불완전
(Incomplete)
프로세스가 구현되지 않았거나 목적을 달성하지 못한 단계
수행
(Performed)
프로세스가 수행되고 목적이 달성된 단계
관리
(Managed)
정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도하는 단계
확립
(Established)
소프트웨어 공학 원칙에 기반하여 정의된 프로세스가 수행되는 단계
예측
(Predictable)
프로세스가 목적 달성을 위해 통제되고, 양적인 측정을 통해 일관되게 수행되는 단계
최적화
(Optimizing)
프로세스 수행을 최적화하고, 지속적인 개선을 통해 업무 목적을 만족 시키는 단계

 

 

소프트웨어 개발 방법론 테일러링

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

 

고려해야할 사항은 내부적 기준외부적 기준이 있음

 

내부적 기준

  • 목표 환경 : 시스템의 개발 환경과 유형이 서로 다른 경우 테일러링이 필요
  • 요구 사항 : 프로젝트의 생명 주기 활동에서 개발, 운영, 유지보수 등 우선 고려할 요구사항이 서로 다른 경우 테일러링이 필요
  • 프로젝트 규모 : 비용, 인력, 기간 등 프로젝트의 규모가 서로 다른 경우 테일러링이 필요
  • 보유 기술 : 프로세스, 개발 방법론, 산출물, 구성원의 능력 등이 서로 다른 경우 테일러링이 필요

 

외부적 기준

  • 법적 제약사항 : 프로젝트별로 적용될 IT Compliance가 서로 다른 경우 테일러링이 필요
  • 표준 품질 기준 : 금융, 제도 등 분야별 표준 품질 기준이 서로 다른 경우 테일러링이 필요

 

 

소프트웨어 개발 프레임워크(Framwork)

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

  • 선행 사업자의 기술에 의존하지 않은 표준화된 개발 기반으로 인해 사업자 종속성이 해소
  • 예외 처리, 트랜잭션 처리, 메모리 공유, 데이터 소스 관리, 서비스 관리, 쿼리 서비스, 로깅 서비스, 사용자 인증 서비스 등이 있음

 

종류

스프링
(Spring) 
자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크
전자정부 우리나라 공공부문 정보화 사업 시 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공하는 프레임워크
닷넷
(.NET)
Windows 프로그램의 개발 및 실행 환경을 제공하는 프레임워크

 

특성

모듈화
(Modularity)
- 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써 소프트웨어의 품질 향상
- 개발표준에 의한 모듈화로 인해 유지 보수가 용이
재사용성
(Reusability)
재사용 가능한 모듈을 제공함으로써 예산 절감, 생산성 향상, 품질 보증이 가능
확장성
(Extensibility)
다형성(Polymorphism)을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 개발이 가능
제어의 역흐름
(Inversion of Control)
개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크에 넘김으로써 생상성 향상

 

 

 

소프트웨어 정의 기술(SDE, SDx; Software-Defined Everything)

네트워크, 데이터 센터 등에서 소유한 자원을 가상화하여 개별 사용자에게 제공하고, 중앙에서는 통합적으로 제어가 가능한 기술

 

관련 용어

의미
소프트웨어 정의 네트워킹
(SDN; Software Defined Networking)
- 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
- 하드웨어에 의존하는 네트워크 체계에 비해 보다 효율적으로 네트워크를 제어, 관리할 수 있음
- 기존 네트워크에는 영향을 주지 않고 특정 서비스의 전송 경로 수정을 통하여 인터넷 상에서 발생하는 문제를 처리할 수 있음
소프트웨어 정의 데이터 센터
(SDDC; Software Defined Data Center)
데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터
소프트웨어 정의 스토리지
(SDS; Software Defined Storage)
물리적인 데이터 스토리지를 가상화하여 여러 스토리지를 하나처럼 관리하거나, 하나의 스토리지를 여러 스토리지로 나눠 사용할 수 있는 기술

 

728x90
반응형