책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학
· ISBN : 9788960771154
· 쪽수 : 416쪽
책 소개
목차
1장 소프트웨어 아키텍처
소프트웨어 아키텍처의 정의
소프트웨어 아키텍처를 보는 또 다른 관점
서브시스템은 의존성을 관리할 수 있도록 디자인한다
서브시스템은 인간적인 동기와 욕구를 충족시킬 수 있도록 디자인한다
훌륭한 아키텍처에 승복하라
아름다움은 그것을 추구하는 사람의 눈 안에 있다!
소프트웨어 아키텍처가 중요한 이유
수명
안정성
수정 작업의 난이도와 성격
수익성
사회적 구조
영역 결정
지속 가능한, 우월한 경쟁력
아키텍처 만들기
패턴과 아키텍처
아키텍처의 발전과 성숙: 기능과 수용력
아키텍처에 대한 관심과 육성
기술적 자산
기술적 부채
알고 있는 버그
라이선스 협약 준수
제1, 제2, 제3의 원칙
캡슐화
인터페이스
느슨한 연결
적절한 규모
높은 응집력
매개변수
지연
아키텍처의 이해
팀
2장 제품개발 첫걸음
제품관리의 정의
제품관리의 중요성
제품개발 프로세스: 릴리즈 1.0 만들기
개념제안서
제품제안서/사업계획서
개발계획서
개발
최종 품질보증QA
출시준비
출시
오해하지 말자
폭포수 프로세스를 닮았다. 그런데 폭포수 프로세스는 효과적이지 않다
모든 단계가 동등하게 중요한 것처럼 소개하고 있다
시간을 상술하지 않고 있다
어떻게 반복하나?
개발 프로세스를 정하지 않고 있다
진행 단계별로 관련된 그룹 사이의 협업 수준을 명시하지 않고 있다
사업계획서
제품개발 프로세스: 릴리즈 버전 n.n.n 만들기
제품개발 프로세스의 확장
지속적인 마감
변화관리 프로토콜
재활용 상자
주요 제품관리 개념
마케팅의 4P
총 유효 시장, 총 접근가능 시장, 시장 세그먼트
S자 제품 채택 곡선
완전제품
기술 우월성과 시장 우월성
포지션과 포지셔닝
브랜드
메인 메시지
3장 마키텍처와 타키텍처의 차이점
누가 무엇을 책임지는가?
솔루션 개발 초기에 영향을 주는 요인
미래를 보는 안목으로 현실에서 성과 만들기
미래 계획하기
피드백 이용하기
분명하게 만들기
협력하며 일하기
합의에 이르기
데이터 공유하기
컨텍스트 다이어그램과 타깃 제품
4장 비즈니스 모델과 라이선스 모델의 공생
일반적인 소프트웨어 비즈니스 모델
접근이나 이용기간 제한
트랜잭션
미터링
하드웨어
서비스
매출증가/비용절감
비즈니스 모델과 연관된 권리
비즈니스 모델을 위한 타키텍처의 지원
일반적인 문제
접근이나 이용기간 제한
트랜잭션
미터링
하드웨어
라이선스 모델 강제하기
명예 시스템
직접 만든 라이선스 관리자
서드파티 또는 전문 라이선스 관리자
클라이언트
시장의 성숙도가 비즈니스 모델에 미치는 영향
비즈니스 모델 선택
5장 기술 도입
라이선스 도입의 위험/보상
계약서―액션(행동지침)이 있는 곳
계약서의 기초
라이선스 약정
비즈니스 모델이 충돌하면, 협상을 해야 한다
라이선스 협정서 존중
라이선스 도입한 기술 관리
오픈 소스 라이선스 도입
라이선스 비용
라이선스 도입의 경제학
6장 이식성
알려진 이식성의 장점
이식성에 관한 제안
이식 가능한 애플리케이션 만들기
인터프리터 언어를 사용하라
표준에 기반한 영구 스토리지를 사용하라
비즈니스 로직을 이식 가능하게 만들라
사용자에게 가까울수록 이식성이 떨어진다
표준화되고 공동 사용 가능한 서브시스템 간의 통신에는 XML을 사용하라
이식성이란 명목으로 특정 플랫폼에 한정적인 우수한 기능을 감추지 마라
난이도 도표
1단계: 실행환경 지우기
2단계: 실행환경 정렬하기
3단계: 최종본 만들기
조심해서 약속하라
7장 배치 아키텍처
배치 방식
고객 사이트 방식
ASP 방식
MSP 방식
트랜잭션 방식(웹 서비스)
고객이 배치 아키텍처에 미치는 영향
통제와 통합
데이터 보안/프라이버시와 최고 부하
비용과 업체에 대한 신뢰
고객의 역량과 경험 그리고 지리적 분포
회사가 배치 아키텍처에 미치는 영향
세일즈 사이클
인프라에 대한 투자
현금 흐름
유연성
지리적 분포
가격이 아닌, 서비스
소프트웨어 배치 아키텍처의 선택
배치 아키텍처와 작업 배분
정보기기
배포 방식이 소프트웨어 아키텍처에 미치는 영향
유연한, 파라미터에 의한 통합 옵션, 또는 통합 옵션이 없는 경우
업그레이드 정책
데이터 보호와 접근
이전 옵션
소비자 소프트웨어의 미래
8장 통합과 확장
사용자의 지배력―주도하는 힘
통합/확장의 이유
계층적인 비즈니스 아키텍처: 논리적인 구조
사용자 인터페이스 계층
서비스 계층
도메인 모델 계층
퍼시스턴트 데이터 계층
주제에 의한 변주
계층적인 비즈니스 아키텍처 만들기
비즈니스 로직 계층에서의 통합과 확장
기술, 그리고 제어권의 소재
API를 통한 통합
등록을 통한 확장
퍼시스턴트 데이터의 통합과 확장
뷰
사용자 필드
후크 테이블
스프레드시트 피벗 테이블
추출, 변환, 로드 스크립트
고객에게 현실을 공개하라
비즈니스 파생물
전문가 서비스
교육 프로그램
자격증
사용자 커뮤니티
라이선스 협약
여러 출시에 걸쳐 API를 관리하기
API 관리 테크닉
9장 브랜드와 브랜드 요소
브랜드 요소
브랜드 네임
그래픽, 슬로건, 기타 브랜드 요소
언제 트레이드마크(™) 심볼을 사용하나
라이선스 도입한 브랜드의 관리
브랜드 요소 수정 및 맞춤
브랜드 요소 바꾸기
변경해야 할 제품 영역
QA와 변경
10장 사용성
사용성은 돈에 관한 문제다
멘탈 모델, 메타포 그리고 사용성
타키텍처가 사용자 인터페이스 디자인에 미치는 영향
영향을 미치는 범위
속도에 대한 욕구
우리가 이야기할 것을 분명하게 정하자
마키텍트가 진정으로 원하는 것
사용자에게 응답하기
성능 그리고 타키텍처의 효과
11장 설치
OOBE
아야! 그건 아프다고
고객의 공포
설치와 아키텍처
원인과 선택
설치 방법
설치 관련 데이터 수집과 전제 조건 검사하기
설치하기
설치 이후 확인하기
마지막 손길
사용자는 매뉴얼을 읽지 않는다
설치와 삭제를 테스트하라
12장 업그레이드
설치와 비슷하다. 단지 더 나쁠 뿐이다
업그레이드에 대한 공포
업그레이드의 고통을 줄이는 방법
고통 없는 업그레이드를 위한 선택
시장 성숙도와 업그레이드
13장 설정
설정용이성(사용성의 한 요소)
시스템 컨텍스트
컨텍스트 정보
초기화와 실행
값 설정하기
올바른 값 설정하기
설정 매개변수 결정법
14장 로그
무슨 일이 일어나는지 알고 싶다
충분한 데이터가 필요하다
로그 포맷과 관리
로그 포맷
로그 관리
로그 관련 표준과 라이브러리
로그 데이터에 대한 후처리
서비스에 대한 로그 남기기
15장 출시관리
그렇다, 당신이 정말 필요로 하는 것은 이것이다
기초 다지기
출시본 관리
당신이 출시하려는 것
당신이 타깃으로 삼는 사람
그들이 그것을 원하는 이유
출시본 식별
전체 또는 완전 출시본
부분 출시본
패치본
변형본
SKU(제품번호)와 시리얼넘버(일련번호)
SKU 관리
시리얼넘버, 등록 그리고 활성화
출시관리가 타키텍처에 미치는 영향
16장 보안
바이러스, 해커, 무단사용자
위험 관리
나쁜 것은 보지도, 말하지도 마라
디지털 신원 관리
권한부여(누가 무엇을 할 수 있는지 정의하기)
신원확인(누구인지 확인하기)
트랜잭션 보안
감사가능성(행위에 대한 증명)
무결성(데이터에 대한 위조와 변조 막기)
기밀성(권한 없는 사람들로부터 데이터를 보호하기)
책임성(사람들이 자신의 행동에 책임을 지게 만들기)
소프트웨어 보안
소프트웨어 보안 기술
소프트웨어 보안 비용/혜택
정보 보안
알고리즘을 비밀로 할까, 아니면 키를 비밀로 할까?
백도어
보안과 마키텍처
상호작용의 영역
부록 A 출시 체크리스트
정보 추적
엔지니어링/개발
품질 보증
기술문서
핵심 제품관리
지식 이전: 전문가 서비스
지식 이전: 세일즈와 채널
지식 이전: 기술지원
출시 활동
부록 B 전략적인 제품관리를 위한 패턴 랭귀지
패턴 적용
결과 표시와 공유
시장 지도
내용
문제
요인
해법
결과
관계된 패턴
시장 이벤트/시장 리듬
내용
문제
요인
해법
결과
관계된 패턴
기능/혜택 지도
내용
문제
요인
해법
결과
관계된 패턴
타키텍처 로드맵
내용
문제
요인
해법
결과
관계된 패턴