第1章 微软解决方案框架(MSF)简介
1. 1 微软的组织结构
1. 2 软件产业面临的挑战
1. 2. 1 不断变化的商业环境
1. 2. 2 成功来之不易
1. 3 什么是微软解决方案框架(MSF)
1. 4 微软解决方案框架的由来
1. 5 微软解决方案框架中的主要模型
1. 5. 1 企业架构模型(Enterprise Architecture Model)
1. 5. 2 解决方案设计模型(Solution Design Model)
1. 5. 3 风险管理模型(Risk Management Model)
1. 5. 4 组队模型(Team Model)
1. 5. 5 过程模型(Process Model)
1. 5. 6 应用模型(Application Model)
1. 6 MSF解决方案开发准则
1. 7 总结
第2章 MSF组队模型
2. 1 什么是MSF组队模型
2. 2 MSF组队模型的基本原则
2. 2. 1 小型的. 多元化的项目组(Small, Multidisciplinary Teams)
2. 2. 2 角色依赖和职责共享(Interdependent roles and shared responsibilities)
2. 2. 3 专深的技术水平和业务技能(Deeptechnical and businessacumen)
2. 2. 4 以产品发布为中心(Focus on competency and shipping products)
2. 2. 5 明确的目标(Clear goals and objectives)
2. 2. 6 客户的主动参与(Active customer participation)
2. 2. 7 分享产品的前景(Shared project vision)
2. 2. 8 所有人都参与设计(Everyone participating in design)
2. 2. 9 认真从过去的项目中吸取经验(Deliberate efforts to learn from past projects)
2. 2. 10 共同管理, 共同决策(Shared project management and shared decision-making)
2. 2. 11 项目组成员在同一地点办公(Team members working together atonesite)
2. 2. 12 大型项目组也像小项目组一样运转(Large teams working like small teams)
2. 3 小型项目组的优势
2. 4 成功的项目组
2. 5 组队角色
2. 5. 1 产品管理(Product Management)角色
2. 5. 2 程序管理(Program Management)角色
2. 5. 3 开发(Development)角色
2. 5. 4 测试(Testing)角色
2. 5. 5 用户体验(User Experience)角色
2. 5. 6 发布管理(Release Management)角色
2. 6 MSF组队模型不是组织结构图
2. 7 对等团队(Team of Peers)结构
2. 8 授权
2. 9 项目组的六大工作目标
2. 10 组队模型的灵活应用
2. 10. 1 小型项目组中的角色合并原则
2. 10. 2 按产品特性划分项目组
2. 10. 3 按职能划分项目组
2. 11 交流和沟通
2. 12 总结
第3章 MSF过程模型
3. 1 什么是MSF过程模型
3. 1. 1 软件开发项目的全过程
3. 1. 2 MSF过程模型
3. 1. 3 MSF过程模型与传统过程模型之间的关系
3. 2 MSF过程模型的特点
3. 2. 1 目标驱动而非任务驱动(Driven by goals not tasks)
3. 2. 2 外部可见的里程碑(Externally visible milestones)
3. 2. 3 应提交项的变更管理(Change management of deliverables)
3. 2. 4 递进的版本发布策略(Versioned releases)
3. 2. 5 风险驱动的进度管理(Risk-driven scheduling)
3. 2. 6 项目组集体参与(Fullteam involvement)
3. 2. 7 管理产品质量(Managing quality)
3. 3 微软软件开发过程的基本原则
3. 3. 1 制定计划时兼顾未来的不确定因素
3. 3. 2 通过有效的风险管理减少不确定因素的影响
3. 3. 3 经常生成过渡版本(Build)并进行快速测试来提高产品的稳定性及可预测性
3. 3. 4 快速循环. 递进的开发过程
3. 3. 5 从产品特性和成本控制出发创造性地工作
3. 3. 6 创建确定的进度表
3. 3. 7 使用小型项目组并发完成工作, 并设置多个同步点
3. 3. 8 将大型项目分解成多个可管理的单元, 以便更快地发布产品
3. 3. 9 用产品的前景目标和概要说明指导项目开发工作--先基线化, 后冻结
3. 3. 10 避免产品走形
3. 3. 11 使用概念验证原型, 进行开发前的测试
3. 3. 12 零缺陷观念
3. 3. 13 非责难式的里程碑评审会
3. 4 MSF过程模型的阶段划分和里程碑设置
3. 4. 1 主要里程碑和临时里程碑
3. 4. 2 里程碑是由目标驱动的
3. 4. 3 里程碑是项目的同步点
3. 4. 4 里程碑驱动的项目职责划分
3. 5 关键在于交流和沟通
3. 6 项目管理中的均衡三角形
3. 6. 1 均衡三角形(Tradeoff Triangle)
3. 6. 2 项目均衡矩阵(Project Tradeoff Matrix)
3. 7 递进的版本发布策略
3. 8 构想阶段(Envisioning Phase)
3. 8. 1 概述
3. 8. 2 里程碑:前景/范围得到认可
3. 8. 3 应提交项
3. 8. 4 项目组的分工
3. 8. 5 建议的临时里程碑
3. 9 计划阶段(Planning Phase)
3. 9. 1 概述
3. 9. 2 里程碑:项目计划得到认可
3. 9. 3 应提交项
3. 9. 4 项目组的分工
3. 9. 5 建议的临时里程碑
3. 10 开发阶段(Developing Phase)
3. 10. 1 概述
3. 10. 2 里程碑:开发完成
3. 10. 3 应提交项
3. 10. 4 项目组的分工
3. 10. 5 建议的临时里程碑
3. 11 稳定阶段(Stabilizing Phase)
3. 11. 1 概述
3. 11. 2 里程碑:可发布版本准备就绪
3. 11. 3 应提交项
3. 11. 4 项目组分工
3. 11. 5 建议的临时里程碑
3. 12 发布阶段(Deploying Phase)
3. 12. 1 概述
3. 12. 2 里程碑:发布完成
3. 12. 3 应提交项
3. 12. 4 项目组的分工
3. 12. 5 建议的临时里程碑
3. 12. 6 产品发布均衡矩阵(Release Tradeoff Matrix)
3. 13 总结
第4章 微软公司的程序经理
4. 1 程序经理简介
4. 1. 1 什么是程序经理
4. 1. 2 微软产品部门的组织结构图
4. 1. 3 项目组的工作结构
4. 1. 4 程序经理的历史
4. 1. 5 软件产品 代码
4. 1. 6 为什么需要程序经理
4. 1. 7 程序经理的职责
4. 1. 8 项目经理和程序经理的对比
4. 2 产品生命周期中的程序经理角色
4. 2. 1 计划阶段中程序经理的职责
4. 2. 2 开发阶段中程序经理的职责
4. 2. 3 稳定阶段中程序经理的职责
4. 2. 4 发布阶段中程序经理的职责
4. 2. 5 总结阶段中程序经理的职责
4. 3 程序经理的工作策略
4. 3. 1 程序经理的核心能力--智商(IQ)
4. 3. 2 程序经理的核心能力--情商(EQ)
4. 3. 3 什么样的人才能成为程序经理
4. 3. 4 程序经理的核心素质
4. 3. 5 沟通的方式
4. 3. 6 领导素质
4. 3. 7 协调能力
4. 4 总结
第5章 案例分析:IE浏览器项目
5. 1 概述
5. 2 浏览器市场情况回顾
5. 2. 1 市场回顾
5. 2. 2 浏览器战争
5. 2. 3 新的目标
5. 2. 4 微软为什么会赢得浏览器战争
5. 2. 4. 1 正确的市场策略
5. 2. 4. 2 一切为"战争"服务(War Mindset)
5. 3 IE项目组的组织和管理
5. 3. 1 IE产品部门的规模
5. 3. 2 IE4. 0产品部门的结构
5. 3. 3 IE4. 0产品部门内的汇报关系
5. 3. 4 IE的产品特性项目组
5. 3. 5 IE产品特性项目组的成员
5. 3. 6 产品特性项目组的工作结构
5. 3. 7 项目角色:程序经理
5. 3. 8 项目角色:开发工程师
5. 3. 9 项目角色:测试工程师
5. 3. 10 项目角色:产品经理
5. 3. 11 项目角色:其他成员
5. 3. 12 Ⅲ项目组的主要组织原则
5. 4 IE项目的生命周期管理
5. 4. 1 IE项目的生命周期
5. 4. 2 计划阶段
5. 4. 2. 1 一般工作流程
5. 4. 2. 2 项目前景和产品目标
5. 4. 2. 3 产品里程碑确定
5. 4. 2. 4 产品特性的概要和详细设计
5. 4. 3 开发阶段
5. 4. 3. 1 开发计划工作
5. 4. 3. 2 安装. 配置开发环境
5. 4. 3. 3 代码检人工作(Check-in)
5. 4. 3. 4 每日产品生成(DailyBuild)
5. 4. 3. 5 管理Bug数据库
5. 4. 4 稳定阶段
5. 4. 4. 1 产品特性冻结
5. 4. 4. 2 代码完成
5. 4. 4. 3 用户界面冻结
5. 4. 4. 4 Beta版本发布
5. 4. 5 发布阶段
5. 4. 5. 1 零Bug日期
5. 4. 5. 2 发布候选版本
5. 4. 5. 3 源代码树分支
5. 4. 5. 4 正式发布版本和签字认可
5. 4. 6 总结阶段
5. 4. 7 微软过程管理策略
5. 5 微软公司开发管理的演变
5. 5. 1 项目组管理方式的演变
5. 5. 2 过程管理方式的演变
5. 6 总结
第6章 高信度计算:开发安全的软件
6. 1 关于本章内容
6. 2 我们需要安全的系统
6. 2. 1 从著名的"ILOVEYOU"病毒谈起
6. 2. 2 Internet时代的安全问题
6. 2. 3 疯狂的网
6. 2. 4 树大招风
6. 2. 5 确保安全是CIO们面临的首要课题
6. 3 必须做好5件事
6. 3. 1 SQLServer中的xp_cmdshell问题
6. 4 致命威胁:缓冲区溢出攻击
6. 4. 1 什么是缓冲区溢出攻击
6. 4. 2 缓冲区溢出攻击实验
6. 4. 3 防范缓冲区溢出攻击的方法
6. 4. 4 其他可能导致缓冲区溢出的库函数
6. 4. 5 VisualStudio. NET的解决方案
6. 4. 6 其他危险的APl函数
6. 5 Web安全隐患:SQL嵌入攻击
6. 5. 1 什么是SQL嵌入攻击
6. 5. 2 如何防范SQL嵌入攻击
6. 6 总结
6. 7 参考文献
第7章 软件测试
7. 1 什么是软件测试
7. 2 软件测试的历史
7. 2. 1 萌芽时代
7. 2. 2 PC时代
7. 2. 3 网络时代
7. 3 测试角色
7. 3. 1 产品部门中的测试团队
7. 3. 2 测试工程师的类型
7. 3. 3 测试角色的职能项目组
7. 3. 4 测试角色与其他角色的合并
7. 4 项目过程中的测试工作
7. 4. 1 案例:发布条件
7. 5 Bug和Bug跟踪
7. 5. 1 什么是Bug
7. 5. 2 Bug跟踪过程
7. 5. 3 Bug的不同处理方式
7. 6 测试的分类
7. 6. 1 覆盖测试和使用测试
7. 6. 2 白盒测试和黑盒测试
7. 6. 3 手工测试和自动测试
7. 6. 4 软件评测(Benchmarks)
7. 7 测试工具
7. 8 软件测试的基本思想
7. 8. 1 杜绝不可靠的软件产品
7. 9 测试文档
7. 9. 1 测试计划(TestPlan)
7. 9. 2 测试说明书(Test Specification)
7. 9. 3 测试用例(Test Case)
7. 9. 4 Bug报告(Bug Repoa)
7. 9. 5 测试结果报告(Test Result Report)
7. 9. 6 工作报告(Status Repoa to Boss)
7. 10 如何成为优秀的测试工程师
7. 11 总结
第8章 案例分析:XML Web Service和开发过程管理
8. 1 概述
8. 2 . NET框架和XML Web Service技术简介
8. 2. 1 软件架构的发展过程
8. 2. 2 微软. NET框架简介
8. 2. 2. 1 客户端应用程序开发
8. 2. 2. 2 服务器应用程序开发
8. 2. 2. 3 . NET的互操作性
8. 2. 3 XML Web Service简介
8. 2. 3. 1 XML Web Service基础结构
8. 2. 3. 2 基于XML Web Service的应用模型
8. 2. 3. 3 XML Web Service的消息结构
8. 3 体验XML Web Service技术
8. 3. 1 开发者的游戏:Terrarium(生态系统游戏)
8. 3. 1. 1 游戏概述
8. 3. 1. 2 用户界面
8. 3. 1. 3 XML Web Service
8. 3. 1. 4 对等网络
8. 3. 1. 5 支持多种编程语言
8. 3. 1. 6 通过远程Web Service更新版本
8. 3. 1. 7 凭据验证和代码访问安全性
8. 3. 1. 8 结论
8. 3. 2 西安交通大学"联网拱猪"游戏
8. 3. 3 重庆大学"MyBank. Net"网上银行系统
8. 3. 4 上海交通大学"自动化图书馆"系统
8. 3. 5 XML Web Service在连锁餐厅中的应用
8. 4 体验软件开发过程管理
8. 4. 1 制定项目的前景目标
8. 4. 1. 1 微软公司对技术方向的把握
8. 4. 1. 2 项目前景目标示例
8. 4. 2 组建项目组
8. 4. 3 编写功能说明书
8. 4. 3. 1 Message Board功能说明书
8. 4. 3. 2 "联网拱猪"游戏的功能说明书
8. 4. 4里程碑管理
8. 4. 5 测试和Bug管理
8. 4. 5. 1 MiniWord测试用例
8. 4. 5. 2 "联网拱猪"游戏的自动化测试记录
8. 5 结论
第9章 案例分析:面向自然用户界面的语音技术
9. 1 语音技术概述
9. 1. 1 语音技术是自然用户界面技术的重要组成部分
9. 2 语音识别技术
9. 2. 1 语音识别技术的不同应用模式
9. 2. 2 语音识别技术在软件开发中的应用
9. 2. 3 语音识别的核心算法
9. 2. 4 如何评估语音识别系统
9. 2. 5 语音识别系统的主要功能
9. 2. 6 语音识别技术面临的挑战
9. 2. 7 应用案例:情感分析
9. 2. 8 应用案例:语音留言(Voicemessages)的自动处理
9. 2. 9 应用案例:自动会议记录(Meeting transcription)
9. 3 语音合成技术
9. 3. 1 语音合成技术的应用
9. 3. 2 语音合成的技术环节
9. 3. 3 语音合成系统的评价标准
9. 3. 4 语音合成系统的优势
9. 3. 5 木兰语音合成系统
9. 3. 6 应用案例:声音变形技术在童话故事中的应用
9. 4 微软语音开发平台
9. 5 SAPI简介
9. 5. 1 APl概述
9. 5. 2 语音合成APl
9. 5. 3 语音识别APl
9. 5. 4 文法格式(Text Grammar Format)简介
9. 6 Microsoft. NET Speech SDK简介
9. 6. 1 为什么要开发Microsoft. NET Speech SDK
9. 6. 2 Microsoft. NET Speech SDK概述
9. 7 SALT简介
9. 7. 1 SALT是什么
9. 7. 2 SALT女口何工作
9. 7. 3 SALT参考模型
9. 7. 4 SALT代码示例
9. 8 总结
第10章 信息技术的展望
10. 1 前言
10. 2 IT技术的发展趋势
10. 2. 1 Internet的发展
10. 2. 2 计算的发展
10. 2. 3 物理学三大定律
10. 2. 4 计算的四大定律
10. 2. 5 新数字媒体渐成主流
10. 2. 6 X-Internet时代即将到来
10. 2. 7 无线通信. 多媒体及Internet的融合
10. 2. 8 多模式用户界面
10. 2. 9 数字娱乐成为主流应用
10. 2. 10 高信度计算
10. 3 微软亚洲研究院及其研究成果
10. 3. 1 微软公司的企业使命
10. 3. 2 微软研究院
10. 3. 3 微软亚洲研究院
10. 3. 4 微软亚洲研究院的主要研究方向
10. 3. 5 木兰双语种语音合成系统
10. 3. 6 数字墨水技术
10. 3. 7 消费者数字体验
10. 3. 8 媒体搜索. 提取和浏览的核心技术
10. 3. 9 数字娱乐
10. 4 中国软件产业的发展
10. 4. 1 软件的服务化趋势
10. 4. 2 软件的国际化趋势
10. 4. 3 中国IT产业面临的机遇和挑战
10. 5 总结