시스템분석/소프트웨어 공학

> 전체도서 > 시스템분석/소프트웨어 공학

>>  전체도서

>>  전산학개론

>>  프로그래밍 언어

>>  C 언어

>>  자료 구조

>>  데이터베이스/화일처리

>>  운영체제/UNIX시스템

>>  컴퓨터 구조/논리 회로

>>  데이터 통신/인터넷

>>  프로그래밍/전자상거래

>>  시스템분석/소프트웨어 공학

>>  컴퓨터 게임/멀티미디어/컴퓨터 그래픽스

>>  OA/오피스

>>  전산수학/통계학

book list

전체 도서 보기

전산학개론

프로그래밍 언어

C 언어

자료 구조

데이터베이스/화일처리

운영체제/UNIX시스템

컴퓨터 구조/논리 회로

데이터 통신/인터넷

웹 프로그래밍/전자상거래

시스템분석/
소프트웨어 공학

컴퓨터 게임/멀티미디어
컴퓨터 그래픽스

OA/오피스

이산수학/통계학

소프트웨어 개발에 따른 프로젝트 관리 및 문서화

정익사
2017-02-09
조회수 1087

소프트웨어 개발에 따른 프로젝트 관리 및 문서화

 지은이 : 정문재

 ISBN : 978-89-353-0469-1

 금액 : 32,000원


● 발행날짜 : 2017년 3월 3일

● 페이지 : 592페이지

● 판매처 : 온라인 서점

● 강의자료 제공

   책 소개
 책 소개
이 책에서는 현대적인 기법을 적용하여 소프트웨어 개발 프로젝트를 관리하는 방법에 대해 설명한다. 이 책은 단지 이론적인 방법론이 아닌 실제적인 방법을 제시할 뿐만 아니라 기법 이상의 상세한 이론을 접하고자 하는 이들을 위해 쓰여 졌다. 이 책의 가장 큰 목적은 다음과 같은 소프트웨어 개발 작업과 관련하여 다양한 도구 또는 절차와 실제 개발 사례를 설명하는 것이다.

- 제안서 작성 및 평가
- 개발 일정 수립
- 프로젝트 비용 산정
- 효과적인 개발 표준의 적용
- 표준을 적용한 실제 개발사례

이 책은 독자가 한 개 이상의 프로그래밍 언어와 소프트웨어공학 개론 정도의 지식을 갖고 있다고 가정하고 만들어졌다. 따라서 이 책은 소프트웨어 공학을 공부하는 학부 3, 4학년 및 대학원 학생들의 실습 교재로 사용할 수 있으며, 소프트웨어 개발에 관련된 관리자(PM) 또는 프로젝트 팀원, 나아가서 프로젝트를 기획하고자 하는 기획부서원과 경영을 책임지는 고급 경영자들을 대상으로 쓴 소프트웨어 개발 프로젝트 관리서이다.

요즈음 정보기술 산업만큼 변화가 심한 분야는 없는 것 같다. 기업의 경영진들의 마인드도 새로운 정보 기술의 과감한 도입 없이는 기업의 혁신도 없고, 도약도 없고, 심지어 생존의 위협을 직접적으로 받는다는 것을 인식하게 되었다. 많은 업계와 조직에서 정보기술 프로젝트 관리 및 그 역할의 중요성이 날로 증가하고 있으며, 또한 정보기술 프로젝트 관리는 특정 자질과 기술이 필요하다는 것을 인식하고 있다.

새로운 정보 기술의 도입은 그 자체가 예측할 수 없는 수많은 위험 속에 이루어지는 도전이며, 새로운 정보 기술 도입과 기존 자원(전산요원, IT Infra, Network 망) 등의 활용만으로 성공이 보장되지 않는 상황이다. 과거 정보기술(IT, 또는 업무개발) 프로젝트라 함은 단순히 업무를 프로그램화하는 과정을 지칭하였으나, 근래에는 여기에 업무개선과 정보 기술 인프라 구축까지 포함하고 인력의 재교육 또는 기술적 능력의 전수 등을 포함하는 복합적인 행위들의 유기체를 말한다. 따라서 외부의 자원(outsourcing)을 활용할 수밖에 없고, 이 사업의 과정이 아주 복잡한 프로젝트라는데 또 다른 딜레마에 빠지게 된다.

이러한 현실을 감안하여 이 책은 소프트웨어 개발 프로젝트 관리의 전 과정을 기술적인 측면과 관리적인 측면을 심층적으로 기술하였으며, 다양한 기법과 도구들을 소개함으로서 프로젝트의 성격이나 규모에 따라 관련 기술들을 효과적으로 적용할 수 있도록 유도하고 있으며, 이런 행위들을 좀 더 체계적이고, 현실적인 예로서 설명하였다. 또한 소프트웨어 개발 프로젝트관리 시 표준을 준수하려고 노력하였으며, 특히 US DOD(국방성) 표준 2167, 소프트웨어 개발에 관한 IEEE 표준, ISO 9000 소프트웨어 표준을 사용하여 기술하였다.
이 책의 구성은 모두 12개의 장 및 부록으로 구성되어 있으며, 각 장이 진행되면서 소프트웨어 프로젝트 관리의 각 단계를 단계적으로 설명한다. 각 장의 끝에서는 요약의 형태로 각 장의 내용을 간략하게 요약한다. 요약은 장의 내용을 상기하거나 장의 내용을 파악하는 데 이용할 수 있으며, 각 장에서 설명한 개념 또는 기법을 이해하는 데 도움이 된다.
제1장에서는 소프트웨어 프로젝트 관리의 개념에 대해 설명한다. 이 장에서는 또한 프로젝트 관리자들이 새로운 개발 절차를 도입하기 위해 최고 경영진으로부터 승인을 받고자할 때 부딪칠 수 있는 어려움에 대해 설명한다.
제2장에서는 흔히 일어날 수 있는 소프트웨어 개발 문제에 대해 간략히 설명한다.(이 후 장에서 더 자세히 설명함). 이 장은 두 부분으로 구성되어 있다. 첫 번째 부분은 소프트웨어 관리와 관련된 기본적인 문제에 익숙하지 않은 독자들을 위한 것이다. 두 번째 부분은 초보 및 숙련된 프로젝트 관리자 모두를 위한 것이다. 이 부분에서는 앞에서 논의한 문제를 해결하는 방법, 즉 위험성 분석에 대해 설명한다.
제3장에서는 인력 관리에 관한 기본적인 원칙들을 설명하였다. 이 장에서는 소프트웨어 엔지니어들 사이의 생산성 차이와 프로그래머들의 일반적인 성격 등과 같이 소프트웨어 엔지니어를 관리하는 것에 관련된 구체적인 문제들에 대해 논의한다.
제4장에서는 산정서를 작성하는 다양한 기법에 대해 상세하게 설명하였다. 프로젝트의 규모와 프로젝트 개발 일정의 산정뿐만 아니라 메모리와 디스크 필요량과 같은 기술적인 산정에 대해서도 설명하였다. 이 장에서는 또한 경험을 통해서 어떻게 산정 작업을 향상시킬 수 있으며 프로젝트가 진행됨에 따라서 산정 수치를 갱신하는 방법에 대해서도 설명한다.
제5장에서는 소프트웨어 개발 계약에 대해 설명한다. 이 장에서는 소프트웨어 개발 계약 체결 방법, 제안서 작성 방법, 제안서의 구성, 고객과 개발자 사이의 관계 구축 등에 대해 설명한다. 또한 제안 요청서(RFP)와 제안서를 제출한 후의 선정 절차에 대해서도 설명한다.
제6장에서는 구성 관리, 품질 검증, 소프트웨어 테스트라는 세 가지 기본적인 관리 지원 기능에 대해서 설명한다. 또한 이 장에서는 이들 세 기능 간의 관계에 대해서도 설명한다.
제7장에서는 소프트웨어 개발에 있어서 가장 어려운 문제인 대규모 소프트웨어 프로젝트의 관리에 대해 설명한다. 이 장에서는 ‘분할 지배’ 기법을 이용하여 대규모 프로젝트를 관리가 용이한 소규모 프로젝트로 분할하는 방법에 대해 설명한다.
제8장에서는 클라이언트/서버 환경에서의 프로젝트 관리에 대해 알아본다. 이 장에서는 클라이언트/서버 개발 환경 및 목표 환경과 관련된 관리 문제에 대해 알아보고, 각 환경의 장점과 단점에 대해 설명한다. 또한 클라이언트/서버 프로젝트의 개발과 관련한 디자인 고려 사항에 대해서도 다룬다.
제9장에서는 단계적 소프트웨어 개발 기법을 중심으로 기본적인 소프트웨어 개발 주기를 설명하고 있으며, 다른 기법에 대해서도 다루고 있다(간이 프로토타입 제작, 나선형 모델 등). 또한 프로젝트 관리자의 관점에서 기본적인 단계를 설명하고, 각 단계의 분위기와 문제점에 대해 설명하였다. 그리고 소프트웨어 개발 주기에 관한 IEEE 1074 표준에 대해 설명하였다.
제10장에서는 일정관리 및 프로젝트개발 계획안(PDP)에 대해 설명한다. 고전적인 Gantt 및 PERT 도표와 작업 세분화 구조(WBS)를 포함하여 다양한 일정 작성 및 계획 기법에 대해 설명하였다.
제11장에서는 소프트웨어 개발 표준을 개략적으로 기술하였다. 특히 US DOD(국방성) 표준 2167, 소프트웨어 개발에 관한 IEEE 표준, ISO 9000 소프트웨어 표준에 대해 기술하였고, 영국 표준이나 유럽 소프트웨어 개발 표준과 같은 다른 표준에 대해서도 언급하고 비교해 보았다.
제12장에서는 사례연구(CASE STUDY)로서 저자가 강의 중에 학생들에게 실습과제로 부여한 팀 프로젝트(소프트웨어 개발 실습 과제)를 Term 프로젝트 형태로 제시하고 있다. 이론으로만 배우고 처음 개발 실습에 임하는 학생들에게는 여기에 수록된 개발 사례가 많은 도움이 될 것으로 사료된다.
 저자소개
 목차
제 01 장 소프트웨어 개발 프로젝트 관리의 개요

1.1 개요
1.2 소프트웨어 수요의 증가
1.3 소프트웨어 개발에 있어서 관리의 의미
1.4 사례
1.5 새로운 개발 기법에 대한 승인받기
1.6 소프트웨어 조직의 평가
1.6.1 성공 가능성
1.6.2 SEI 등급
1.6.3 왜 수치인가?
1.7 요약

제 02 장 소프트웨어 개발 프로젝트와 관련된 문제들

2.1 개요
2.2 기본적인 문제들
2.2.1 프로젝트 요구사항과 관련된 문제들
2.2.2 잦은 변경
2.2.3 사전 산정 및 관련 문제들
2.2.4 외부 자원
2.2.5 소프트웨어 프로젝트 완료하기
2.2.6 팀원 편성 및 재편성
2.2.7 감시 및 감독
2.3 위험성 분석
2.3.2 분석 단계
2.3.3 대처 계획 실행하기
2.4 요약

제 03 장 소프트웨어 엔지니어의 관리 원칙

3.1 개요
3.2 소프트웨어 프로젝트의 구조
3.3 팀 구조
3.3.1 팀 리더
3.3.2 민주적 팀
3.3.3 수석 엔지니어 팀
3.3.4 전문가 팀
3.4 기본적인 보고 기법
3.4.1 현황 보고서
3.4.2 프로젝트 현황 회의
3.5 소프트웨어 엔지니어의 관리를 위한 일반적인 가이드라인
3.6 요약

제 04 장 소프트웨어 개발에 따른 산정서 작성 및 기법

4.1 개요
4.2 프로젝트 산정서
4.3 단계적 산정
4.3.1 규격품 컴포넌트
4.3.2 완전 경험 컴포넌트
4.3.3 부분 경험 컴포넌트
4.3.4 새로운 개발
4.3.5 위험 수준별 프로젝트 세분화
4.4 새로운 개발의 산정
4.4.1 프로토타입 방식 2
4.4.2 통계 방식
4.5 건설적인 비용 모델(COCOMO)
4.5.1 인적 자원 수준
4.5.2 복잡성 수준
4.5.3 신뢰성 요인
4.5.4 개발 환경
4.5.5 서브시스템
4.5.6 비용 산정 알고리즘
4.6 기능 요소 분석
4.6.1 기본적인 FPA 단계
4.6.2 FPA의 응용
4.7 범위 산정
4.8 하드웨어 자원 산정
4.8.1 CPU 로드
4.8.2 데이터 저장장치
4.8.3 처리 속도
4.9 비 개발 오버헤드
4.10 요약

제 05 장 소프트웨어 개발에 따른 계약

5.1 개요
5.2 원가 가산 계약과 협정 가격 계약 문제
5.2.1 원가 가산 계약
5.2.2 협정 가격 계약
5.3 기타 고객-개발자 관계
5.4 제안 요청서(RFP)
5.4.1 기본적인 문제들
5.4.2 제안 요청서의 작성
5.4.3 제안 요청서의 발행
5.5 제안서
5.5.1 비 청원 제안서
5.5.2 청원 제안서
5.5.3 제안서 작성 팀
5.5.4 제안서의 형식
5.5.5 작업 내역서(SOW)
5.6 제안서 검토 및 선정 과정
5.6.1 제안서 선정 위원회
5.6.2 제안서 평가 기법
5.7 제안서와 관련한 기타 고려 사항
5.7.1 고객과 관련된 문제들
5.7.2 제안자와 관련된 문제들
5.8 요약

제 06 장 소프트웨어 개발 프로젝트 지원기능

6.1 개요
6.2 소프트웨어 구성 관리(SCC)
6.2.1 구성 관리에 관련된 용어
6.2.2 구성 관리 자원
6.2.3 소프트웨어 구성 관리 계획
6.2.4 일반적인 가이드라인
6.3 소프트웨어 품질 검증(SQA)
6.3.1 우수한 소프트웨어의 개발
6.3.2 품질 관리에 필요한 자원
6.3.3 소프트웨어 품질 검증 계획안
6.3.4 소프트웨어 품질 측정 기준
6.3.5 일반적인 가이드라인
6.4 소프트웨어 테스트
6.4.1 소프트웨어 테스트의 유형
6.4.2 공식적인 테스트 절차
6.4.3 일반적인 가이드라인
6.5 요약

제 07 장 대규모 소프트웨어 개발 프로젝트 관리:분할 지배 기법

7.1 개요
7.2 단계적 세분화
7.2.1 기능적 세분화
7.2.2 디자인 세분화
7.3 작업 세분화 구조
7.3.1 프로젝트의 세분화
7.3.2 프로젝트 관리 수단으로서의 WBS
7.4 대규모 프로젝트의 관리
7.4.1 서브시스템
7.4.2 기능적 세분화에 관한 가이드라인
7.4.3 디자인 세분화 가이드라인
7.4.4 작업 세분화 가이드라인
7.5 요약

제 08 장 클라이언트/서버 환경에서의 소프트웨어 개발 프로젝트 관리

8.1 개요
8.2 클라이언트/서버 환경 소개
8.2.1 정의와 용어
8.2.2 클라이언트/서버의 목적
8.2.3 클라이언트의 기능
8.2.4 서버의 기능
8.3 네트워크
8.3.1 네트워크 프로토콜
8.3.2 네트워크와 관련해 고려해야 할 사항들
8.4 프로젝트 관리에 있어서 클라이언트/서버 환경의 장점과 단점
8.5 클라이언트/서버 환경 선택
8.6 프로젝트 관리
8.6.1 프로젝트의 통제
8.6.2 디자인의 결정
8.6.3 테스트 및 통합의 관리
8.7 클라이언트/서버 환경의 관리에 관한 도움말
8.8 요약

제 09 장 소프트웨어 개발 주기

9.1 개요
9.2 개념 단계
9.2.1 개념 단계의 분위기
9.2.2 개념 단계에서의 문제점
9.3 소프트웨어 요구사항 단계
9.3.1 요구사항 단계의 분위기
9.3.2 요구사항 단계의 문제들
9.4 디자인 단계
9.4.1 디자인 단계의 분위기
9.4.2 디자인 단계의 문제들
9.5 구현 단계
9.5.1 구현 단계의 분위기
9.5.2 구현 단계의 문제들
9.6 통합 및 테스트 단계
9.6.1 통합 및 테스트 단계의 분위기
9.6.2 통합 및 테스트 단계의 문제들
9.7 유지보수 단계
9.7.1 유지보수 단계의 분위기
9.7.2 유지보수 단계의 문제들
9.8 IEEE 1074표준:소프트웨어 주기 프로세스에 관한 표준
9.8.1 프로젝트 소프트웨어 주기 모델의 선택
9.8.2 프로젝트 관리 프로세스
9.8.3 개발 전 프로세스
9.8.4 개발 프로세스
9.8.5 개발 후 프로세스
9.8.6 필수 프로세스
9.9 요약

제 10 장 소프트웨어 개발 프로젝트 일정 짜기

10.1 개요
10.2 프로젝트 개발 계획안
10.3 일정이 확정된 작업 및 기점
10.3.1 일정이 확정된 작업 목록
10.3.2 주요 기점과 베이스라인
10.4 Gantt 도표
10.5 PERT 도표와 결정적인 경로(CP)
10.5.1 결정적인 경로(CP)
10.5.2 PERT 패키지와 향상된 기능들
10.6 인원 일정 짜기
10.6.1 개발팀 규모
10.6.2 숙련 기술과 경험
10.6.3 악명 높은 작업자 월(man month)
10.7 자원 일정 짜기
10.7.1 작업장 일정 짜기
10.7.2 장비 일정 짜기
10.7.3 판매업체와 하청업체
10.8 일정 감시 및 갱신
10.8.1 정기 보고서
10.8.2 기타 일정 감시 활동
10.8.3 일정 갱신하기
10.9 일정 작성과 계획을 위한 일반적인 가이드라인
10.9.1 초기 작업 목록 세분화하기
10.9.2 일정 승인받기
10.9.3 일정, 자원, 물품 및 기능간의 관계
10.10 요약

제 11 장 소프트웨어 개발 표준

11.1 개요
11.2 소프트웨어 개발 표준
11.3 US DOD 표준 2167
11.3.1 표준 2167의 개요
11.3.2 검사 및 감사
11.3.3 데이터 항목 사양(DID)
11.3.4 표준 수정하기
11.3.5 2167 표준의 장점과 단점
11.4 IEEE 소프트웨어 엔지니어링 표준
11.4.1 IEEE 표준의 개요
11.4.2 IEEE 소프트웨어 엔지니어링 표준 분류집
11.4.3 IEEE 표준 일람
11.4.4 IEEE표준의 장점과 단점
11.4.5 IEEE와 DOD 표준의 비교
11.5 유럽의 소프트웨어 표준
11.5.1 ISO 9000 표준
11.5.2 영국 표준
11.6 Ada표준
11.6.1 Ada 환경
11.6.2 Ada PDL에 관한 IEEE 표준
11.7 기타 소프트웨어 개발 표준 65
11.8 요약

제 12 장
CASE STUDY
CASE STUDY(A) 우편번호 관리 시스템 개발
CASE STUDY(B) 택배관리 시스템 개발

부록
SI Project의 필수 관리 및 산출물 예제
0 0