- 프로젝트 조직 구성 계획
- 프로젝트를 수행하기 위해 참여하는 각 구성웓늘의 역할 할당, 협력 방법 정의
- 프로젝트 단위로 팀 구성하여 수행
- 수행기간, 작업 특성, 팀 구성원 사이의 의사 교류 횟수에 따라 팀 구성 방법이 달라질 수 있음
- 프로젝트 팀 구성의 종류
- 분산형 팀 구성
- 팀원 모두가 의사 결정 참여, 비이기적 구성 방식 (민주주의)
- 팀 구성원의 참여도와 작업 만족도 높임
- 장기 프로젝트 개발에 적합
- 다양한 교류로 인해 의사 결정 시간 지체, 개개인의 생산성, 책임감 하락 가능성
- 중앙 집중형 팀 구성
- (= 책임 프로그래머 팀 구성)
- 한 관리자가 의사 결정하고, 팀 구성원들은 그 결정에 따르는 방식
- 비교적 소규모 프로젝트에 적합
- 프로젝트 성공은 책임 프로그래머 능력에 달려있음
- 각 구성원의 역할
- 책임(고급) 프로그래머, 프로그래머, 프로그래머 사서, 보조 프로그래머
- 계층적 팀 구성
- (=혼합형 팀구성)
- 여러 초보 프로그래머를 소그룹화하여, 각 그룹을 고급 프로그래머가 관리
- 경험자(고급)과 초급 구별
- 기술 인력이 관리를 담당하여 좋은 기술력을 사장시킬 수 있음. 기술인력이 업무 능력을 갖춰야 함
- 소프트웨어 품질 보증
- 소프트웨어 품질 (Quality)
- 주어진 요구 사항을 만족시키는 능력을 갖추고 있는 소프트웨어의 측정 가능한 기능 및 특성
- 설계 품질 : 설계자가 규정한 특성
- 일치 품질 : 설계 내용들이 개발 과정에서 지켜지는 정도
- 소프트웨어 품질 관리 (Quality control)
- 주어진 요구사항에 맞게 개발하는 과정동안의 모든 활동과, 그 활동의 결과로 생산되는 산출물에 대한 품질 통제 및 보증
- 품질 표준 (목표)
- 명확하게 정의된 소프트웨어의 특성. 소프트웨어의 품질을 평가하는 기준 항목으로 사용
- 구분
- 소프트웨어 운영 특성
- 정확성 / 신뢰성 / 효율성 / 무결성 / 사용 용이성
- 소프트웨어 변경 수용 능력
- 유지보수성 / 유연성 / 시험 역량
- 소프트웨어 적응 능력
- 이식성 / 재사용성 / 상호운용성
- 소프트웨어 품질 보증 (Software Quality Assurance, SQA)
- 어떠한 소프트웨어가 이미 설정된 요구사항과 일치 여부 확인에 필요한 개발 단계 전체에 걸친 계획적 체계적 작업
- 개발 초기 - 소프트웨어의 특성과 요구사항 파악하여 품질 목표 설정
- 개발 단계 - 정형 기술 검토를 통하여 품질 목표의 충족 여부를 점검
- 개발 후 - 디버깅 및 테스트
- 정형 기술 검토 (Formal Technical Review, FTR)
- 특징
- 가장 일반적 검토 방법. 기술자들에 의해 수행되는 소프트웨어 품질 보증 활동
- 검토 유형 : 검토회의, 검열 (모두 회의 형태로 수행)
- 목적
- 검토중인 소프트웨어가 해당 요구 사항과 일치하는지 검증
- 표준 준수 여부 확인 및 기능과 로직의 오류 여부 판별
- 소프트웨어가 균일한 방식으로 개발되도록
- 프로젝트를 보다 용이하게 관리
- 검토 지침 사항
- 제품 검토에 집중
- 의제 제한
- 논제 및 반박 제한
- 문제 영역 명확히 표현
- 해결책 개선책 논하지 말것
- 참가자 수 제한, 사전 준비 강요
- 검토 확률 있는 제품에 대한 체크리스트 개발
- 자원과 시간 일정 할당
- 모든 검토자들을 위한 의미있는 훈련 필요
- 검토자들은 사전에 작성된 메모 공유
- 검토의 과정과 결과를 재검토
- 검토 회의 (walkthrough)
- 개발의 각 단계에서 개최하는 기술 평가(검토) 회의
- 구성요소와 같은 작은 단위 검토
- 오류 조기 검출 목적, 발견된 오류는 문서화
- 검출된 오류는 회의 후 해결
- 3-5명이 검토 참여 및 회의 시간은 2시간 이내
- 검토 자료는 미리 배포. 미리 검토하는 시간은 2시간 이내
- 검열 (inspection, 심사)
- 검토회의의 발전형태
- 개발 단계에서 산출된 결과물의 품질을 평가하며 이를 개선시키는 데 사용
- cf. 기타 품질 보증 활동 : 검증, 확인, 인증, 소프트웨어 시험, 오류 시험
- 소프트웨어의 신뢰성과 가용성
- 신뢰성 : 주어진 환경에서 주어진 시간 동안 오류 없이 작동할 확률
- MTBF
- 가용성 : 한 프로그램이 주어진 시점에서 요구사항에 따라 운영되는 확률
- MTBF / (MTBF + MTTR)
- 측정
- MTBF(mean time b/w failure) = MTTF + MTTR
- MTTF(mean time to failure) = sum(running#) / #
- MTTR(mean time to review) = sum(failure#) / #
'Computers > SW Engineering' 카테고리의 다른 글
day 3. 전통적 S/W 개발방법 - 요구사항 분석, 자동화 도구, 설계 (0) | 2016.03.21 |
---|---|
day 2. 프로젝트 관리 - 위험 관리, 형상 관리 (0) | 2016.03.17 |
day 2. 프로젝트 관리 - 일정 관리 (0) | 2016.03.17 |
day 1. 프로젝트 관리 - 비용 추산 (0) | 2016.03.16 |
day 0. 소프트웨어공학 개요 (0) | 2016.03.15 |