HOME > Detail View

Detail View

(우리가 미처 알지 못한) 소프트웨어 공학의 사실과 오해 (Loan 52 times)

Material type
단행본
Personal Author
Glass, Robert L., 1932- 윤성준, 역 조홍진, 역
Title Statement
(우리가 미처 알지 못한) 소프트웨어 공학의 사실과 오해 / 로버트 L. 글래스 지음 ; 윤성준, 조홍진 옮김
Publication, Distribution, etc
서울 :   인사이트,   2004  
Physical Medium
336 p. ; 23 cm
Varied Title
Facts and fallacies of software engineering
ISBN
8991268021
Bibliography, Etc. Note
참고문헌과 색인수록
Subject Added Entry-Topical Term
Software engineering
000 00000cam c2200205 c 4500
001 000045126094
005 20150126142025
007 ta
008 041025s2004 ulk b 001c kor
020 ▼a 8991268021 ▼g 13560
035 ▼a KRIC09536897
040 ▼a 211014 ▼d 211009 ▼d 244002 ▼c 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.1 ▼2 23
085 ▼a 005.1 ▼2 DDCK
090 ▼a 005.1 ▼b 2004g
100 1 ▼a Glass, Robert L., ▼d 1932-
245 2 0 ▼a (우리가 미처 알지 못한) 소프트웨어 공학의 사실과 오해 / ▼d 로버트 L. 글래스 지음 ; ▼e 윤성준, ▼e 조홍진 옮김
246 1 9 ▼a Facts and fallacies of software engineering
260 ▼a 서울 : ▼b 인사이트, ▼c 2004
300 ▼a 336 p. ; ▼c 23 cm
504 ▼a 참고문헌과 색인수록
650 0 ▼a Software engineering
700 1 ▼a 윤성준, ▼e
700 1 ▼a 조홍진, ▼e
900 1 0 ▼a 글래스, 로버트 L., ▼e

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.1 2004g Accession No. 121098738 Availability Available Due Date Make a Reservation Service B M
No. 2 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.1 2004g Accession No. 121098739 Availability Available Due Date Make a Reservation Service B M
No. 3 Location Sejong Academic Information Center/Science & Technology/ Call Number 005.1 2004g Accession No. 151171166 Availability Available Due Date Make a Reservation Service M
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.1 2004g Accession No. 121098738 Availability Available Due Date Make a Reservation Service B M
No. 2 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.1 2004g Accession No. 121098739 Availability Available Due Date Make a Reservation Service B M
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Sejong Academic Information Center/Science & Technology/ Call Number 005.1 2004g Accession No. 151171166 Availability Available Due Date Make a Reservation Service M

Contents information

Book Introduction

아직도 많은 관리자들이 전통적인 제조업에서 사용하던 방법으로 소프트웨어 개발자들을 통제하고 관리하려 한다. 작업 시간을 길게 하면 그만큼 하는 일도 많아질 것이라 기대하고는 밤늦게까지 퇴근하지 못하게 한다. 일정이 지연된 프로젝트에 추가 인원을 투입하면 금방 일정을 따라 잡을 수 있을 거라 생각한다. 애초에 잘못된 일정을 계획해놓고는 일정을 맞추지 못한다고 개발자들을 닦달한다.

이 책은 소프트웨어 구축과 관련해 우리가 꼭 알아야 할 기본적인 내용임에도 불구하고 잊고 있는 사실, 알면서도 실천하지 못하는 사실, 잘못 아는 사실(오해)를 '사실'과 '오해'란 형식을 빌어 논의하고 있다. 그리고 이런 사실과 오해에 대한 논쟁과 문제점을 제시한다.

입장에 따라 프로젝트에 대한 접근방식과 인식이 다른 모든 당사자들, 프로젝트를 발주하는 측과 프로젝트를 수주해 시행하는 측, 회사의 경영진과 프로젝트 관리자와 팀원들 사이의 간극을 좁히는 데 도움을 준다.


Information Provided By: : Aladin

Author Introduction

로버트 L. 글래스(지은이)

지금까지 50여 년 동안 전산 분야에서 파란만장한 경험을 쌓아왔으며, 1954년에서 1957년 사이 항공우주 업계, 노스 아메리칸 사에서 3년 동안 일한 경험을 시작으로 밥은 소프트웨어 부문에서 진정한 선구자 중 한 명으로 거듭났다. 노스 아메리칸 사에서 근무한 경험이 계기가 되어 에어로젯-제네랄과 보잉과 같은 우주항공 회사에서 계속 일하게 되었으며, 그 이후 시애틀 대학교의 소프트웨어 공학 대학원에서 교편을 잡았고 소프트웨어 공학 연구소에서 1년을 보냈다. 초창기 밥은 워싱턴 대학교에서 도구에 초점을 맞춘 연구를 몇 년 정도(1970년 - 1972년) 진행했다. 밥은 25권이 넘는 다양한 서적과 90편이 넘는 전문 논문을 작성하는 방법으로 전산 학계가 내놓은 발견을 평가하고 이를 실무에 실질적인 가치가 있도록 만드는 전환 작업에 초점을 맞추기 위한 여러 가지 시도를 해왔다. 로버트 L 글래스는 친자 두 명과 양자 두 명의 아버지이며, 정보 시스템 관련 학계에서 활약하는 아이리스 베세이와 결혼했다.

윤성준(옮긴이)

『Java 세상을 덮친 Eclipse』를 썼으며 『패턴을 활용한 리팩터링』, 『소프트웨어 공학의 사실과 오해』, 『NoSQL: 빅데이터 세상으로 떠나는 간결한 안내서』 등을 번역했다. 현재 사이냅소프트에서 웹오피스를 개발하고 있다.

조홍진(옮긴이)

성균관대학교 정보공학과를 졸업하고, 동 대학원 소프트웨어공학 연구실에서 사용자 인터페이스와 P2P 다중 에이전트에관해 연구했다. 그 후 누리텔레콤에서 통합 전산자원관리 시스템 개발에 참여했으며, 2004년 현재는 KTH에서 모바일 개인화 서비스와 파란 메신저 아이맨의 서버를 개발하고 있다.

Information Provided By: : Aladin

Table of Contents


목차
역자의 글
추천의 글
Ⅰ부 사실 55
 서론 = 19
 1장. 관리
  사람 = 31
   사실 1 소프트웨어 작업에서 가장 중요한 요소는 프로그래머가 사용하는 도구나 기술이 아니라, 프로그래머의 자질이다 = 31
   사실 2 최고의 프로그래머는 최하의 프로그래머보다 28배 더 뛰어나다 = 36
   사실 3 지체된 프로젝트에 사람을 추가 투입하면 프로젝트가 더 늦어진다 = 40
   사실 4 작업환경은 생산성과 품질에 지대한 영향을 미친다 = 43
  도구와 기술 = 47
   사실 5 소프트웨어 업계에는 과대선전(도구와기술에 대한)이 만연해 있다 = 47
   사실 6 새로운 도구와 기술은 도입 초기에 생산성/품질 저하를 초래한다 = 52
   사실 7 소프트웨어 개발자는 도구에 대해 많은 말을 하지만, 별로 사용하지 않는다 = 56
  추정 = 60
   사실 8 폭주하는 프로젝트의 가장 흔한 원인 두 가지 중 하나는 부정확한 추정이다 = 60
   사실 9 소프트웨어 추정은 보통 부적절한 시기에 수행된다 = 66
   사실 10 소프트웨어 추정은 보통 부적절한 사람들에 의해 수행된다 = 69
   사실 11 프로젝트가 진행되면서 소프트웨어 추정을 수정하는 경우는 거의 없다 = 73
   사실 12 소프트웨어 추정이 부정확한 것은 별로 놀라운 일이 아니다. 그러나 우리는 추정에 죽고 산다! = 76
   사실 13 경영진과 프로그래머 사이에는 단절이 있다 = 80
   사실 14 타당성 조사에 대한 대답은 항상 "타당하다."이다 = 86
  재사용 = 89
   사실 15 소규모 재사용은 잘 해결된 문제다 = 89
   사실 16 대규모 재사용은 여전히 해결되지 않은 어려운 문제다 = 92
   사실 17 대규모 재사용은 서로 관련 있는 시스템 사이에서 가장 잘 적용된다 = 97
   사실 18 재사용 가능 컴포넌트는 만들기가 3배 어렵고, 3곳에 적용해봐야 한다 = 100
   사실 19 재사용된 코드를 수정하는 것은 특히 오류를 범하기 쉽다 = 104
   사실 20 디자인 패턴 재사용은 코드 재사용 문제에 대한 해결책이다 = 111
  복잡성 = 116
   사실 21 문제의 복잡성이 25% 증가하면 솔루션의 복잡성은 100%, 증가한다 = 116
   사실 22 소프트웨어 작업의 80%가 지적인 작업이다. 그 중 상당부분이 창조적인 작업이다. 사무적인 일은 거의 없다 = 119
 2장. 생명주기
  요구사항 = 129
   사실 23 폭주하는 프로젝트에서 가장 흔한 원인 두 가지 중 하나는 불안정한 요구사항이다 =  129
   사실 24 요구사항의 오류는 생산 단계에서 수정하는데 가장 비용이 많이 든다 = 135
   사실 25 누락된 요구사항은 가장 수정하기 힘든 오류다 = 139
  설계 = 145
   사실 26 명시적 요구사항을 설계로 옮겨갈 때 '파생 요구사항'이 폭발적으로 증가한다 = 145
   사실 27 소프트웨어 문제에서 최적의 솔루션이 하나 존재하는 경우는 거의 없다 = 150
   사실 28 설계는 복잡하고 반복적인 과정이다. 초기 설계 솔루션은 보통 잘못 되었거나, 최적이 아닌 경우가 많다 = 153
  코딩 = 158
   사실 29 설계자의 기본단위와 프로그래머의 기본단위가 일치하는 경우는 거의 없다 = 158
   사실 30 COBOL은 별로 훌륭한 언어가 아니지만, (비즈니스 데이터 처리에 대해서는) 다른 언어도 마찬가지다 = 162
  오류제거=167
   사실 31 오류 제거는 생명주기에서 가장 많은 시간을 소모하는 단계다 = 167
  테스트 = 170
   사실 32 프로그래머가 완전하게 테스트했다고 믿는 소프트웨어도 보통은 로직 경로의 55~60%만 테스트된 경우가 많다 = 170
   사실 33 100% 테스트 커버리지도 결코 충분하지 않다 = 176
   사실 34 테스트 도구는 꼭 필요하지만, 많은 경우 거의 사용되지 않는다 = 180
   사실 35 특정 테스트 프로세스는 자동화할 수 있고, 또 자동화해야 한다. 그러나 자동화할 수 없는 테스트 작업도 많다 = 185
   사실 36 프로그래머가 작성한 디버그 코드는 테스트 도구에 대한 중요 보완 수단이다 = 189
  검토와 검사 = 191
   사실 37 엄격한 검사는 첫 번째 테스트 케이스를 실행시키기도 전에 소프트웨어 제품에 포함된 오류의 90%까지 제거할 수 있다 = 191
   사실 38 엄격한 검사도 테스트를 대체할 수는 없다 = 196
   사실 39 출시 후 검토(회고라 부르는 사람들도 있다)는 중요하지만, 거의 실행되지 않는다 = 200
   사실 40 검토는 기술적 측면과 사회학적 측면을 모두 가지는데, 어느 쪽도 무시하면 안 된다 = 205
  유지보수 = 209
   사실 41 유지보수는 보통 소프트웨어 비용의 40~80%를 차지한다. 따라서, 유지보수는 소프트웨어 생명주기 중 가장 중요한 단계일 것이다 = 209
   사실 42 유지보수 비용의 60%는 개선 작업에 소요되는 비용이다 = 213
   사실 43 유지보수는 문제가 아니라 해결책이다 = 217
   사실 44 유지보수에서 가장 어려운 작업은 기존 시스템을 이해하는 것이다 = 219
   사실 45 더 좋은 소프트웨어 공학 기술로 개발하면 더 많은(더 적은 게 아니라) 유지보수가 필요하다 = 226
 3장. 품질
  품질 = 233
   사실 46 품질은 속성의 집합이다 = 233
   사실 47 품질은 사용자 만족, 요구사항 충족, 비용과 일정 목표 달성, 또는 신뢰성이 아니다 =  238
  신뢰성 = 241
   사실 48 대부분의 프로그래머가 흔히 범하는 오류가 있다 = 241
   사실 49 오류는 뭉치는 경향이 있다 = 244
   사실 50 소프트웨어 오류 제거에 있어 단 하나의 최상의 방법은 없다 = 246
   사실 51 오류는 항상 남아 있다. 심각한 오류를 제거하거나 최소화하는 것이 목표가 돼야 한다 = 248
  효율 = 251
   사실 52 효율은 훌륭한 코딩보다는 훌륭한 설계에 더 많은 영향을 받는다 = 251
   사실 53 고급 언어 코드도 어셈블리어 코드의 90%에 가까운 효율을 낼 수 있다 = 255
   사실 54 크기와 속도 사이에는 트레이드오프가 있다 = 259
 4장. 연구
  연구 = 265
   사실 55 많은 연구자들이 연구보다는 옹호에 치중한다 = 265
Ⅱ부 오해 5+5
 서론 = 271
 5장. 관리
  관리 = 276
   오해 1 측정할 수 없는 것은 관리할 수 없다 = 276
   오해 2 소프트웨어 품질은 관리로 해결할 수 있다 = 281
  사람 = 284
   오해 3 프로그래밍은 비자아적이 될 수 있고, 또 되어야 한다 = 284
  도구와 기술 = 287
   오해 4 도구와 기술: 한 가지로 모든 문제를 해결할 수 있다 = 287
   오해 5 소프트웨어 분야에는 더 많은 방법론이 필요하다 = 292
  추정 = 297
   오해 6 비용과 일정을 추정하기 위해서는 먼저 LOC를 추정해야 한다 = 297
 6장. 생명주기
  테스트 = 302
   오해 7 랜덤 테스트 입력은 테스트를 최적화하는 좋은 방법이다 = 302
  검토 = 307
   오해 8 "보는 눈이 많으면, 모든 버그는 그 깊이가 얕다." = 307
  유지보수 = 311
   오해 9 과거의 비용 데이터를 살펴봄으로써 미래의 유지보수 비용을 예측할 수 있고 시스템 교체 결정을 내릴 수 있다 = 311
 7장. 교육
  테스트 = 318
   오해 10 프로그래밍을 가르칠 때 프로그램을 어떻게 작성하는지 보여주며 가르친다 = 318
결론 = 323
저자에 대하여 = 327
찾아보기 = 331


New Arrivals Books in Related Fields