首页 > 培训课程 > 卓越工程师系列课堂-微软软件架构师培训

卓越工程师系列课堂-微软软件架构师培训

课程编号:54871 开课时间:2008年11月28日 地区:上海 培训费用:3800元 培训报名

聚焦在基于微软技术的大规模软件开发技能的提高和优秀软件架构师的培养。 讲师将通过真实场景和案例来阐述最新的软件开发理论与实践;介绍使用Visual Studio 2005 Team System实施MSF软件开发过程模型,使得开发工作在产品周期中被流程化。
课程目标
-为业务解决方案进行需求分析
-对设计流程进行管理
-使用VSTS设计方案并且进行实施
-理解基于微软.NET框架的软件设计模式
-Microsoft Practice & Patterns设计思想
-创建安全、可扩展的高性能设计
课程内容
第一天 基于微软.NET框架的解决方案设计概述--从理论到实践
1.方法总论
许多人都想了解微软是怎样来开发庞大精细如Windows XP的软件产品。也许有人认为微软采用的是CMMI, RUP或者是XP这样的软件开发过程规范。事实上相当多的微软员工都不了解什么是RUP。但这并不妨碍微软开发出高水平的软件产品。微软有自己的软件开发过程:Microsoft Solution Framework (MSF)。MSF汇总了微软近30年软件开发实践经验。微软的所有产品,从最初的产品策划需求分析,到设计开发,测试,正式版本的发布,下一个版本的开发,都遵循MSF。MSF是微软软件开发的核心和基础。
本课程中,我们将围绕软件开发来讲述它的基本方法,例如迭代式开发,瀑布模型和螺旋模型的结合。并简单比较几种驻留软件开发过程:CMMI、RUP和XP等的优缺点以及适用范围。重点将放在介绍MSF 。讲师将结合自己在微软工作的亲身经历深入浅出的叙述微软是在怎样的一个原则方法指导下进行软件设计,开发,测试和发行的。
我们在本课程中还将介绍微软开发平台的特性、工具以及各个技术之间的联系。
2.团队结构
微软的产品开发团队是由产品经理、项目经理、架构师、开发人员和测试人员等组成。合理的人员配置和团队结构保证能开发出符合用户需求的高质量产品。
如果没有好的团队合作大规模软件开发是不可能取得成功的。我们一起来看看微软是如何将大量的优秀程序员组织起来,让个人的技能和团队合作结合起来,编写出可靠、易读、高质量的代码。
3.动手实验(1):需求分析
需求分析是整个项目的第一步,也是最重要的一步。如果在做需求分析的时候和客户的想法差之毫厘,那么最终产品很可能会“谬以千里”。如果在需求分析阶段没有弄清楚需要与需求的区别,没有将所有“隐藏”需求都找到,那么项目失败的可能性就会大增。让我们一起来看微软如何利用统一的流程、先进的辅助工具让在需求分析阶段做到真正的需求“一个都不能少”。本实验利用MSF理论建立团队、进行产品需求分析并策划产品方案。
4.概念设计
概念设计、逻辑设计和物理设计是MSF流程中的设计“三板斧”,我们在这个课程中讲详细讨论最重要的第一板斧,利用设计时的利器UML对用户需求进行建模;同时将讨论ORM等理论在应用建模中的作用。在本课题中,我们也将引入Function Spec的概念,和大家分享微软如何利用Function Spec组织设计和开发工作的经验。
5.逻辑设计
从概念设计到逻辑设计,角度不同,方法也不同。微软的MSF流程利用设计中的三次迭代(概念设计、逻辑设计和物理设计)的第二次迭代将从业务逻辑的角度进行设计,从而保证需求到最终代码之间的高度一致。
6.高效编写规格说明书
您是否一直为如何编写高效的文档而烦恼?是否为这些文档是否真的有作用感到疑惑?Function Spec应该如何编写才能达到最佳效果?本课程将为您介绍微软内部如何规范文档的写作,又是如何提高文档的利用率和作用的。
第二天 实施软件架构设计--VSTS+MSF
1.物理设计
在物理设计中,我们将利用逻辑设计的成果完成最终的软件架构。我们将在本课程中讨论如何将逻辑业务关系和对象对应到应用程序中的用户界面、类、数据库和服务组件中去。
2.动手实验(2)
采用Visual Studio 2005 Team System进行架构设计,同时利用DSL扩展工具完成架构设计的扩展功能。
3.安全架构
使用.NET的企业解决方案模式(1)组织模式
一项技术领域的革新通常会刺激另一个领域的突破。雷达技术促进了微波炉这一烹调设备的诞生。Internet 本身最初被设计为一种具有预防单点攻击能力的军事通信网络,而现在已转变为世界上最大的知识储存库。同样,模式最初应用于建筑和城镇体系结构,但很快就被软件开发社区采用,并作为一种描述复杂软件系统的方法。
本课程通过示范如何完成下列任务而回答了其中的一些问题:
. 标识模式之间的关系。
. 将模式组合成群集。
. 标识位于不同抽象级别的模式
. 将模式应用于一个解决方案的多个方面。
. 将模式组织为框架。
. 使用模式来简述解决方案。
使用.NET的企业解决方案模式(2)表示模式
Web 上建立的第一个系统是简单地链接在一起的静态 HTML 页面,以便在分散的小组之间共享文档。随着用户的使用量增加,可响应用户输入的动态网页日益普遍。早期的动态页面一般是以通用网关接口 (CGI) 脚本的形式编写的。这些 CGI 脚本不仅包含用来确定在响应用户输入时应当显示什么内容的业务逻辑,而且还会生成表示 HTML。随着对更复杂逻辑需求的增加,对更丰富、更生动的表示形式的需求也随之增加。这种增加了的复杂性给 CGI 编程模型带来了挑战。
不久,基于页面的开发手段(如 ASP 和 JSP)出现了。这些新方法允许开发人员将脚本直接嵌入到 HTML 面中,从而简化了编程模型。当这些嵌入的脚本应用程序变得更复杂时,开发人员希望在页面级别将业务逻辑与表示逻辑分开。为适应这一要求,随之出现了具有帮助器对象和代码隐藏页面策略的标记库。然后,又出现了提供动态配置站点导航和命令调度程序的精细框架,但所有这一切都是以增加复杂性为代价的。假设现在有大量的 Web 表示可选方案,如何为您的应用程序选择适当的 Web 表示设计策略?本课程将用实例为您解答。
第三天 设计实战—— 深度精炼架构设计
1.使用.NET的企业解决方案模式(3)部署模式
在构建企业类解决方案时,不仅涉及到开发自定义软件,而且还涉及到将该软件部署到生产服务器环境中。这是软件开发工作与系统基础结构工作的交叉点。如果将这两个原则放在一起,则更加要求您对所涉及到的问题有一个基本的了解,并具备一套强大的应用程序和系统基础结构技能。单个小组极少具备所需的全部技能;因此,部署活动通常需要几个具备专门技能的小组通过协作完成。本课程将讨论如何协调应用程序开发小组和系统基础结构小组的工作。
2.使用.NET的企业解决方案模式(4)分布式系统和服务模式
在当今的互联世界中,越来越多的企业应用程序跨多个服务器分布和运行、连接到远程数据源和 Web Service,并可通过 Internet 访问。分布式计算功能强大,但也并非没有面临挑战。网络在本质上并不可靠,同本地的进程间通信相比,与远程服务器的通信速度较慢。另外,同时在多台计算机上运行一个程序可能会导致许多并发和同步问题。
在构建由近链接连在一起并使用基于实例的协作的分布式系统时,开发组织通常能够完全控制解决方案中涉及的所有组件。但是,很多大型企业应用程序包含由远链接分隔的系统,不得不与预先已存在的、通常不受开发组织控制的系统交互。例如,订单管理系统可以使用在预先已存在的系统中实现的信用评分功能或者由外部服务提供者提供的销售税额计算服务。因此,复杂的解决方案有可能必须与由外部组织控制的功能进行交互,而且必须按其原样使用。
本课程重点介绍应用程序和外部服务之间的协作。包括下列主题:
基本协作概念
Web services
使用 Web Service 实现的基于服务的协作模式
3.使用.NET的企业解决方案模式(5)性能和可靠性模式
性能、可伸缩性和可靠性是所有企业应用程序的重要特性。尽管可通过多种方法来改善性能和可靠性,但是此模式群集强调如何将为任意数量的应用程序或用户提供服务的系统组合起来,以获得更好的可伸缩性和可用性。本课程中的模式为有效地适应负载和高峰通信量的变化以及改善可用性奠定了基础。
4.动手实验(3)实战Enterprise Library
在应用中使用Microsoft Enterprise Library和Application Block中的设计模式思想实现分布式系统架构。
适合:软件开发工程师,软件设计师,项目经理,技术总监,对软件开发感兴趣者等...

时间:2008年11月28日 费用:3800元

在线咨询或报名 课程编号:54871

-




请您尽量详细填写上述内容,以便工作人员给您更确切答复
Tags: IT互联网  微软  软件架构  软件设计】 【】 【查看|发布评论】 【打印