微软软件架构师培训

第一天  基于微软 .NET 框架的解决方案设计概述—— 从理论到实践
时间
课程
内容
9 :00 – 9 :50 方法总论

许多人都想了解微软是怎样来开发庞大精细如 Windows XP 的软件产品。也许有人认为微软采用的是 CMM I , RUP 或者是 XP 这样的软件开发过程规范。事实上相当多的微软员工都不了解什么是 RUP 。但这并不妨碍微软开发出高水平的软件产品。微软有自己的软件开发过程: Microsoft Solution Framework ( MSF )。 MSF 汇总了微软近 30 年软件开发实践经验。微软的所有产品,从最初的产品策划需求分析,到设计开发,测试,正式版本的发布,下一个版本的开发,都遵循 MSF 。 MSF 是微软软件开发的核心和基础。

本课程中,我们将围绕软件开发来讲述它的基本方法,例如迭代式开发, 瀑布模型和螺旋模型的结合 。并简单比较几种驻留软件开发过程: CMM I 、 RUP 和 XP 等的优缺点以及适用范围。重点将放在介绍 MSF 4 .0 。讲师将结合自己在微软工作的亲身经历深入浅出的叙述微软是在怎样的一个原则方法指导下进行软件设计,开发,测试和发行的。

10 :00 – 10 :50 团队结构

微软的产品开发团队是由 产品经理、项目经理、架构师、开发人员和测试人员 等组成。合理的人员配置和团队结构保证能开发出符合用户需求的高质量产品。

如果没有好的团队合作大规模软件开发是不可能取得成功的。我们一起来看看微软是如何将大量的优秀程序员组织起来,让个人的技能和团队合作结合起来,编写出可靠、易读、高质量的代码。

11 :00 – 11 :50 需求分析 需求分析是整个项目的第一步,也是最重要的一步。如果在做需求分析的时候和客户的想法差之毫厘,那么最终产品很可能会“谬以千里”。如果在需求分析阶段没有弄清楚需要与需求的区别,没有将所有“隐藏”需求都找到,那么项目失败的可能性就会大增。让我们一起来看微软如何利用统一的流程、先进的辅助工具让在需求分析阶段做到真正的需求“一个都不能少”。
12 :00 – 13 :00 午餐
13 :00 – 13 :50 动手实验( 1 ) 利用 MSF 理论建立团队、进行产品需求分析并策划产品方案
14 :00 – 14 :50 概念设计 概念设计、逻辑设计和物理设计是 MSF 流程中的设计“三板斧”,我们在这个课程中讲详细讨论最重要的第一板斧,利用设计时的利器 UML 对用户需求进行建模;同时将讨论 ORM 等理论在应用建模中的作用。在本课题中,我们也将引入 Function Spec 的概念,和大家分享微软如何利用 Function Spec 组织设计和开发工作的经验。
15 :00 – 15 :50 逻辑设计 从概念设计到逻辑设计,角度不同,方法也不同。微软的 MSF 流程利用设计中的三次迭代(概念设计、逻辑设计和物理设计)的第二次迭代将从业务逻辑的角度进行设计,从而保证需求到最终代码之间的高度一致。
16 :00 – 16 :30 总结和答疑
第二天 实施软件架构设计—— VSTS + MSF
时间 课程 内容
9 :00 – 9 :50 物理设计 在物理设计中,我们将利用逻辑设计的成果完成功能规格书。功能规格书 (Feature Specification) 是 MSF 中又一独具特色的内容。在整个开发过程中起到非常重要的作用,开发团队中每一个成员的工作都将以功能规格书为依据。一份详尽而实用的功能规格书可以确保整个开发团队向着统一的目标努力,不会出现偏差。设计规格书 (Design Specification) 是功能规格书到最终产品实现之间的桥梁。本专题将介绍微软设计规格书的经验,它与“概要设计”、“详细设计”的区别和联系,它到底要写到多详细,是否要定义所有的类接口和伪代码…。这些问题都将在本专题中得到解答。
10 :00 – 10 :50 产品实现 从设计到代码,还有很长的路需要走。我们将在这个专题中详细讨论具体技术、算法的使用和架构设计之间的相互影响。同时我们将介绍如何利用微软 .NET 技术实施我们的架构设计。同时,我们将同大家分享微软在进行软件开发时的交流和沟通方法。
11 :00 – 11 :50 风险管理 随着软件产品复杂度的增加,越来越多的软件公司开始重视风险管理,意识到风险管理的重要性。开发一个合理的、实施性强的进度表,并对它进行有效的跟踪和控制,在项目管理中非常重要。本专题介绍微软制定进度表的步骤及方法,同时介绍了对进度表进行有效跟踪和控制的基本技能。本专题介绍变更管理的关键概念和流程和风险分析的相关工具,,达到增进团队成员之间的了解,提高软件质量,降低开发风险和成本的目的。
12 :00 – 13 :00 午餐
13 :00 – 13 :50 动手实验( 2 ) 采用 Visual Studio 2005 Team System 进行架构设计 , 同时利用 DSL 扩展工具完成架构设计的扩展功能。
14 :00 – 14 :50 安全架构 安全永远是设计人员要考虑的头等大事之一,如何防范注入攻击?如何防范欺诈?如何防范社会工程?……我们将在该主题中和您分享微软的安全设计理念和经验。保护您的软件在复杂环境中也能立于不败之地。
15 :00 – 15 :50 扩展架构 从软件到服务,是近年来软件行业做出的重大转变之一。如何利用 SOA (面向服务)的概念设计具备高可用性、高性能和高可扩展的系统也是企业关心的目标之一。我们将在本课程中同大家分享如何通过 scale-up 和 scale-out 两种不同的思想对系统进行扩展,包括对 IT 拓扑结构的改变、性能的提升以及同异构系统的互联。
16 :00 – 16 :30 总结和答疑
第三天 设计实战—— 深度精炼架构设计
时间 课程 内容
9 :00 – 9 :50 产品稳定 产品测试是保证软件质量的重要手段。 Bug 管理是软件开发和测试中非常重要的环节。在微软, Bug 的管理贯穿于整个开发流程的始终。我们将与您分享微软的心得体会,让您亲了解微软产品组如何将自动化测试运用自如,让您将 Bug 驱动的开发和测试管理应用到实际项目中去,帮助您消除您的领导和客户对自动化测试的不正确的期望值。本专题能帮助你更好的进行自动化测试,而不仅仅是一个工具的实用者。
10 :00 – 10 :50 架构精炼 代码重用与精简的设计永远是一对矛盾。如何使我们的架构设计更加简洁?如何在设计中灵活应用各种设计模式和算法?我们将和您分享微软的经验,共同讨论简洁优美的架构设计的秘密。
11 :00 – 11 :50 设计复用 在用户需求发生改变时,在应用功能需要调整时,在 IT 基础结构发生变化时,尽可能少的改变我们的代码是设计人员的最高追求。我们将和您详细讨论设计中模块的横向与纵向耦合、层次和粒度划分以及接口的设计。分离、分离、再分离,让我们的设计可以应付绝大多数的变化而不用改变太多代码。
12 :00 – 13 :00 午餐
13 :00 – 14 :50 动手实验( 3 ) 在应用中使用 Microsoft Enterprise Library 和 Application Block 中的设计模式思想精炼设计
15 :00 – 15 :50 产品部署 光开发出好的产品还不够,我们的产品需要能够在不同的企业拓扑中正常使用。各个企业的 IT 基础结构千差万别,管理员的水平参差不齐,硬件设施千奇百怪。我们将在这个主题中和您分享产品部署时的经验,同时将讨论如何避免繁琐的维护工作。让您可以踏踏实实的开一个“庆功宴”。
16 :00 – 16 :30 总结和答疑



   
聚焦在基于微软技术的大规模软件开发技能的提高和优秀软件架构师的培养。 讲师将通过真实场景和案例来阐述最新的软件开发理论与实践;介绍使用Visual Studio 2005 Team System进行基于.NET的软件架构设计,将UML和设计模式等理论知识应用到实际需求当中去。
 

 

培训目标
学员将通过动手实验学习使用VSTS进行架构设计以及团队开发。我们将在本次培训中全面讨论:

-为业务解决方案进行需求分析
-对设计流程进行管理
-使用VSTS设计方案并且进行实施
-理解基于微软.NET框架的软件设计模式
-Microsoft Practice & Patterns设计思想
-创建安全、可扩展的高性能设计

原文地址:https://www.cnblogs.com/glume/p/700128.html