-
소프트웨어 프로젝트 계획 Software Project Planning프로그래밍/컴퓨터 공학 2017. 11. 25. 17:05반응형
# 프로젝트 관리 (Project Management)
- 소프트웨어 프로젝트를 조직하고 (Organizing), 계획하며 (Planning), 일정 관리(Scheduling)하는 것
- 주어진 기간 내에 최소 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동
- 프로젝트 계획
- 프로젝트가 수행되기 전에 소프트웨어 개발 영역 결정, 필요한 자원, 비용, 일정등을 예측하는 직업
# 효과적인 프로젝트 관리를 위한 3P(3대 요소)
1. 사람 People
2. 문제 Problem : 사용자 입장에서 문제를 분석하여 인식
3. 프로세스 Process : 소프트웨어 개발에 필요한 전체적인 작업 계획
- 소프트웨어 프로젝트 비용 추정
- 프로젝트를 수행하는 데 필요한 직,간접적인 비용을 예측하는 작업
# Brooks의 법칙
- 프로젝트 진행 중에 새로운 인력을 투입할 경우 작업 적응 기간과 부작용으로 인해 일정을 더욱 지연시키고 프로젝트에 혼란을 가져오게 됨
- 간트 차트
- 프로젝트이 각 작업들이 언제 시작하고 언제 종료되었는지에 대한 작업 일정을 막대 도표를 이용하여 표시하는 프로젝트 일정표
- 프로젝트 조직 구성 계획
- 프로젝트를 수행하기 위해 참여하는 각 구성원들의 역할을 할당하고, 서로 어떤 방법을 통해 협력할 것인가를 정의하는 것
- 프로젝트를 완성하기 위해서는 프로젝트 단위로 팀을 구성하여 수행함
# PERT/CPM
# 프로젝트 비용 산정 기법
- LOC(원시 코드 라인 수) 기법
- 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
- 측정이 용이하고 이해하기 쉬워 가장 많이 사용함
- 예측치를 이용하여 생산성, 노력, 개발 기간등의 비용을 산정함
# 소프트웨어 개발 유형
- 조직형 (Organic Mode)
- 기관 내부에서 개발된 중,소규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 유형
- 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합함
- 반 분리형(Semi-detached Mode)
- 조직형과 내장형의 중간형으로 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형
- 컴파일러, 인터프리터와 같은 유틸리티 개발에 적합함
# 자동화 추정 도구
- 비용 산정의 자동화를 위해 개발된 도구
- 종류
1. SLIM : Releigh-norden 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
2. ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 하여 개발된 자동화 추정 도구
# 요구사항 (Requirements)
- 시스템이 가져야 할 기능이나 시스템이 만족하여야 할 조건
- 계약서, 기준문서, 사양서 등 공식적인 문서를 기반으로 개발된 시스템 또는 시스템 구성 요소가 포함되거나 충족시켜야 할 조건, 기능
# 요구사항 분석 (Requirements Analysis)
- 소프트웨어 개발의 실제적인 첫 단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 분석하여 문서화(명세화)하는 활동
- 사용자의 요구를 정확하게 추출하여 목표를 정하고, 분석하여 어떤 방식으로 해결할 것인지를 결정함
# 자료 사전 (DD : Data Dictionary)
- 자료 흐름도에 있는 자료를 더 자세히 정의하고, 기록한 것
- 자료 사전 표기법
= : 자료의 정의, ~로 구성되어 있음 (is composed of)
+ : 자료의 연결, 그리고 (and)
() : 자료의 생략, 생략 가능한 자료 (Optional)
[|] : 자료의 선택, 또는 (or)
{} : 자료의 반복, Iteration of
** : 자료의 설명, 주석 (Comment)
# 개체 관계도 (ERD : Entity Relationship Diagram) 작성 순서
- 주요키를 포함하여 개체 (Entity)의 속성을 모두 찾아냄
- 기본적인 개체 (Entity)와 주요키를 정의하며, 개체(Entity) 사이의 관계를 정의함
- 1 : M 관계를 단순화하기 위해 속성 개체(Entity)를 추가하며, 연관 관계를 정의하여 M:N 관계를 표현함
- 각 개체(Entity)의 정규화, 누락된 개체(Entity) 점검 및 클래스 구조가 필요한지 결정함
반응형'프로그래밍 > 컴퓨터 공학' 카테고리의 다른 글
[네트워크] 최단 경로 우선 프로토콜 OSPF (Open Shortest Path First) (0) 2017.11.29 소프트웨어 공학의 발전적 추세 Evolution of Software Engineering (0) 2017.11.27 소프트웨어 개발 생명주기 모델 Software Development Life Cycle Model (0) 2017.11.25 소프트웨어 개발 방법론 Software Development Methodology (0) 2017.11.25 소프트웨어 공학의 개요 Overview of Software Engineering (0) 2017.11.24