MSF(微软解决方案框架)

0 Comments

MSF(微软解决方案框架)_解决方案_计划/解决方案_实用文档。心之所向,所向披靡 MSF(微软解决方案框架结构)是一组建立、 开发和实现分布式企业系统应用的 工作模型、开发准则和应用指南。它帮助企业融合商业和技术的目标,降低采用 新技术后系统整体的费用,以及成

心之所向,所向披靡 MSF(微软解决方案框架结构)是一组建立、 开发和实现分布式企业系统应用的 工作模型、开发准则和应用指南。它帮助企业融合商业和技术的目标,降低采用 新技术后系统整体的费用,以及成功的应用微软技术整合商业过程的方法。 MSF 揭示出为成功设计、构建和管理技术基础结构或商业解决方案,所需 了解的重要风险、 重要的设计基础假设和关键的依赖关系。 它包括明确的知识库、 应用指南和实践经验,如: 企业结构设计方案—采用交互的方式,侧重于制定长期规划,同时也能完 成短期目标。 项目开发准则—包含组队模型和过程模型,用于建立高效的项目组,管理 项目的生命周期。 项目设计过程和多层结构的应用程序模型—用于支持设计复杂的分布式企 业应用。 企业信息基础设施的实施方法—使用组队模型和过程模型支持实现、操作 和技术上的方案。 一、概述 MSF 是一个经验知识库,它包括以下方面的内容: * 企业结构设计方案—采用交互的方式,侧重于制定长期规划,同时也能完成 短期目标。 * 项目开发准则—包含组队模型和过程模型,用于建立高效的项目组,管理项 目的生命周期。 * 项目设计过程和多层结构的应用程序模型—用于支持设计复杂的分布式企业 应用。 * 企业信息基础设施的实施方法—使用组队模型和过程模型支持实现、操作和 技术上的方案。 它是一种框架结构 框架结构重点解决一个基本的问题:它提供解决总体问题和作出有效决策 的轮廓。 框架结构可以增强分析和开发大型项目的能力。 MSF 能够确定项目最大的 风险在何处,强调制定计划和确定进度,确保成功发布一个产品所必备的条件。 MSF 基于一组工作模型,这组模型是由微软公司及其合作伙伴,在与客户 成功开发分布式计算和客户服务器应用程序的经验得来的。 框架结构不是一种预先决定工作结构、工作任务和发布产品具体方法的方 法论, 而是提供了灵活的方式、 应用有创造力的方法去解决实际存在问题的思想。 象任何明确定义的工作模型一样,MSF 积累了三个关键的成功因素: * 一种帮助提供技术决策指南的观点。 * 一组反复跟踪、监控和管理项目及其进展的参考方法。 * 一致的重用性保证在灵活的计算环境中有效的利用已有的知识和技能。 一个资源的集合 MSF 收集了一组集成的资源和准则来指导项目组走向成功。它包括明确的 概念、详细的工作指南和微软最好的实践经验,保证您能立即开始工作。 这些资料可由以下途径得到: * * * * 联机资料 CD-ROM 知识库 教学课程 完整的参考手册 因为 CD 光盘中的内容是由 HTML 文档组成,所以要使用 Microsoft Internet Explorer 阅读这些资料。此外,CD 光盘中还有更详尽的指南讨论在 参考手册中提出的概念。 您如何得到它 MSF 在世界范围内由微软顾问咨询部及微软认证的培训中心提供培训。 它在不断发展 MSF 是一个框架结构,它不是一成不变的。相反,MSF 会随我们从微软的 客户和合作伙伴那里的学习而不断的发展和完善, 新的思想和准则会不断地被引 进 MSF。这些发展将适应技术的更新、商业需求的变化,并支持构建更好的软 件解决方案。 技术上的变化会导致 MSF 作出相应的变化。 我们会不断地在参考资料上增 加更多的指南、 介绍和更新的概念, 根据当前的思维增进我们的教学课程。 例如: 我们认识到 Internet 强大的生命力和影响力,我们就在我们的资料上很快的作 了针对 Internet 的更新, 补充介绍我们的概念如何应用于开发基于 Internet/Intranet 基础和结构的应用程序。 MSF 将一个项目中不同阶段的工作人员分为六个角色,通过这六个角色,项 目可以得以迅速、完善地实施。这也体现了项目开发的六个重要质量指标,它们 在全球是一致的。这六个角色分别是: · 产品经理。他了解用户特征,尤其是商业特征,明确用户的需求以及需求的 期望值。之所以强调用户需求的期望值,是因为用户的商业化特征比较强,需求无 尽,无法界定到底如何才算需求得到了满足。而确定了需求期望值后,用户的商业 目的就非常明确,实施起来也比较顺畅。 · 程序管理员。 他负责制定计划,每天找出完成该计划的风险所在,排除风险, 每天交付应该完成的内容,确保计划按质、按量实施。 · 用户教育。设计友好的用户界面,对用户进行培训,确保用户能够并且愿意 和喜欢使用开发出的产品。 · 开发。 开发者在开发前期就参与用户需求分析和项目计划制定,他最清楚具 体的开发过程。 在开发期开始后,他负责进行代码开发,在每一个阶段,交付每一项 内容的代码。 · 测试。负责开发出的代码的测试。测试者并不是要找到每一个开发者的每 一段代码的每一个错误(bug),而是要找到代码错误之间的关系,解决最根本的错 误,掌握错误的状态,从而迅速排除错误。 · 后勤。后勤人员负责将实验室的产品商品化,变成实际可以运行的产品,达 到最初制定的商业目的,取得商业效益。这项工作在以往的项目中可能比较简单, 因为实验室的环境可能和实际环境几乎一致或差别不大。而现在却不同了,实验 室环境可能十分简单,而实际环境可能非常复杂,比如分布式环境、 Internet/Intranet 环境等,尤其是大企业,实际环境比实验室环境复杂得多,因 而将实验室产品运用到实际环境中是一项非常重要的工作。 这项工作没有完成好, 往往使整个项目前功尽弃,功亏一篑。 二、MSF 简史 1994 年, 基于微软产品开发的经验和教训以及微软微软咨询服务的业务经 验,微软推出了 Microsoft? 解决方案框架 Microsoft Solution Framework (MSF)。 当时的 MSF 只是这些经验教训的松散集合。在以后的几年中,MSF 进 一步吸收了微软各个部门和微软的合作伙伴在实际项目中的经验,在 2002 年, 随着的发布,微软发布了一系列关于 MSF 3.0 的白皮书, 针对 MSF 3.0 的大规模培训也在中国开始。 2006 年, MSF 4.0 随着 Visual Studio Team Foundation 2005 发布。 它增加了不少敏捷开发的内容, 并且明确刻画了团队典型的流程和在新的团队协 作软件包 VSTS 中的应用。 我们可以不用管 MSF 演化的细节,要记住所有模式都不是一成不变的, 关键是要掌握变化的原因。 三、MSF 的基本原则 MSF 的核心有八个基本原则: · 推动开放的沟通 · 为共同的前景而工作 · 充分授权和信任 · 各司其职,对项目共同负责 · 重视商业价值 · 保持敏捷,预期变化 · 质量投资 · 学习所有的经验 四、MSF 的一些特点 MSF 是微软在总结自身多年项目管理经验的基础上提出的一套项目管理界 方案,主要特点是实用性和可操作性强,有许多方面值得我们借鉴。现对其要点 作一描述。 需要注意的是, 微软有国内企业不能比拟的优势: 如人力资源优势等, 所以并不一定完全适合国内的软件行业,但我们可以发现,他们的很多做法是我 们已经意识到并有所改进, 有些做法我们可能已经体会到但还没有有上升到一个 管理原则的高度。 1、Code Review 原则 是指程序员定期向其他人讲解自己源程序的活动,这个方法被众多公司采 用并被认为是一个行之有效的方法。主要优点有: 因为要向大家讲解自己的程序,程序员会更重视自己的工作进度、代码质 量。 可以互相学习,共同提高,及时发现问题。 程序员可掌握他人的程序设计思想和方法,利于维护他人程序 2、版本管理方法,采用统一的版本管理服务器管理项目源程序,每个人的 程序,必须经另外一个程序员检查后才能 Check in, 每天晚上都有 build 所有 程序,如果 build 不能通过,程序员必须立即修改自己的程序。每隔一段时间配 合进度里程碑 release 一个内部版本。主要优点: 从开始程序就是一个整体,而不是到最后才整合在一起。 互相检查才能 Check in 可以减少错误的发生。 里程碑的设定,对大项目的管理尤其有益,既不会因为计划时间较长而有 松懈,也能做到有张有弛。 3、文档管理,MSF 的文档崇尚实用简洁,尽量避免事后没人看得文档, 资料的积累和经验的继承通过加强程序员的交流来解决(如 Code Review, Check in 前的互相检查)。微软认为,一个项目的存在是和项目组的存在相关 联的,如果项目组整个离开了团队,那么有再多的文档也没用。在不同的开发阶 段,微软也有不同的文档要求,但应该注意到,微软开大的是办事系统软件,和 一般的应用软件开发相比会有所不同。 4、人员招聘培训,人员招聘首先注重人格因素,其次是技术因素。人员的 培训最有效最方便的手段是利用网络以多媒体、电子文档的方式提供。 5、项目角色的组成:程序管理、产品管理、开发、测试、部署、用户培训, 但微软并不是每个项目都配全了这些角色,尤其是小的项目角色会有重叠。强调 最好由用户来充当产品管理角色。 6、项目测试人员和开发人员的比例为 1:1,微软通常是 2:1,微软通常会 雇用大量的学生等临时人员来进行开发和测试。 7、强调进行风险管理,对项目风险进行确认并全程跟踪。 8、项目开发过程进行里程碑的建立和管理。 9、项目总结制度。每个项目完成后,对其失败和成功的地方进行总结 五、为什么应用 MSF? 商业问题 商业策划者在面对世界上不断变化的复杂技术时,必须确定自身企业总体 技术策略的方向。最大的挑战来自于保证商业目标和技术目标间的一致。 当前,信息技术的投资较以往越来越高。投资以不仅仅局限在数据中心方 面,更多的倾向于分布式网络的增值、群组工作软件和提高使用者的生产力,保 证信息技术投资得到有效的控制。 即便完全不考虑这些投资,错误的使用技术给商业带来的负向费用的影响, 也是不容质疑的。所以新技术的成功实现将给企业带来重要的机会: 今天的分布式组件技术允许更大的弹性,包括集成不同的协议、应用程序 接口、应用程序、操作系统和硬件。 今天的技术也通过消息传递、事务处理协调、复制、数据仓库、多层结构 的设计和鲁棒性的客户机/服务器开发工具包提供对商业处理过程和活动的支 持。 基于组件的技术提供了一种在商业方案中集成组件行业最好产品的能力。 组件同样也允许随企业结构和商业处理过程的变化,更快地重新配置应用系统。 今天的技术能够在不瓦解企业的基础结构设施的情况下, 不断的适应发展变化中 的商业需求。多层结构的应用程序允许分离用户、事务和数据服务,保证新版本 的组件在不影响整个系统的情况下加以实现。 降低费用 客户机/服务器技术可以降低系统整体费用。但是企业必须重新评估它们的 基础结构设施和商业运作过程,来保证多余的费用真正被消除(例如:传统的功 能转移到更低廉的平台, 旧系统停止使用,新的商务处理过程最大的提供了增值 能力等等。) 六、MSF 如何帮助解决问题? MSF 通过五个基本模型的应用,帮助企业认识到采用新技术的优点。这些 模型适用于规划、构建和维护整个过程中不同方面的问题。(参见图 1) 图 1:MSF 强调的几个领域 MSF 企业总体结构 MSF 企业总体结构模型提供了一系列指南, 用于规划企业的基础技术设施, 流程化商业的运作过程,并鼓励重用性。这种模型是描绘构建于用户服务、事务 服务和数据服务基础上的,多层应用开发的 MSF 应用模型的基础。 图 2:企业总体结构模型 图 3:MSF 应用模型 MSF 组队模型 MSF 组队模型展示了如何组织项目队伍,在时间控制和连续不断发展计划 的要求下,有效的交付系统的解决方案。它描述了六种基本的角色(程序管理、 产品管理、开发、测试、系统实现和用户教育)。 图 4: MSF 组队模型 MSF 过程模型 MSF 过程模型解释了如何基于:范围、进度和资源,规划 和控制面向结果的项目。 它是基于四个可见里程碑交互的、 允许修改的过程模型。 过程模型中的“设计”阶段在面向商业解决方案内容,结合过程模型、组队模型和 应用模型的组件方案设计过程(Designing Component Solutions Process) 中,进行了详细的介绍。 图 5:MSF 过程模型 图 6:组件方案设计过程 七、MSF 的组成元素 规划 企业总体结构规划 应用三个基本模型可以帮助整体的理解企业。企业总体结构规划提供了分 析企业组织机构运作和商业应用集成和处理的基准。 企业总体结构是包含四个方面的框架:事务、应用、信息和技术。 这些模型不仅仅描绘了企业总体结构的组成部分,还通过以上各个方面在 集成系统中的应用, 帮助企业有效地实现每一个方面。 企业总体结构规划的过程, 提供、揭示了商业运作的标准和所受的局限,使商业运作过程更易管理、费用更 有效。 MSF 的方法以“边规划、 边设计”为基础, 这意味着企业总体结构规划过程, 一直伴随着商业需求变化和技术发展的连续过程。企业总体结构规划使用了 MSF 的一些基本原则,如:风险控制的时间安排、固定的产品发布时间、基于 活动的设计、外部可见的里程碑、小组模型、并行的结构设计、最大的限制、连 续的方案开发和结果实现。 对比以往的自上而下的方法,现在项目不仅由企业模 型所控制,它们还将直接受企业总体结构发展的影响。 构建 方案开发准则–Solutions Development Discipline (SDD) 软件开发是一种复杂的、有创造力的过程。在较大的开发队伍中,采用自上而下 的方法,将会抑制创造力、有效的交流和真正的方案开发。SDD 通过在软件开 发过程中应用 MSF 基本模型,帮助软件组织克服这些障碍。 组件方案设计–Designing Component Solutions (DCS) DCS 详细解释了 MSF 过程模型中“设计”阶段的内容。 DCS 基于方案设计过程, 覆盖了为给出满足商业需求的功能设计,所必需进行的设计活动。DCS 的概念 帮助理解和融合使用者和商业的需求(在项目层次上)。它强化应用程序的逻辑 结构,以达到简化复杂性的目标。 这种设计过程允许有效地分派各种具备专业技能的人,以使特定的需求得 到满足。 这种技术同样保证在设计过程中维护应用程序的一致性。整个设计体系 使用场景分析描绘概念设计, 使用对象和服务描绘逻辑设计,使用组件描绘物理 设计。 重用性设计–Designing for Usability (DFU) DFU 提供了大量简明的概念和实际的经验, 进行以用户为中心的基于 Windows 的程序设计。它侧重 Windows 应用程序的物理设计,强调用户界面和操作衔接 等原型技术。 维护 基础设施实现和维护 MSF 建立起对三个基本 MSF 模型中的角色、关系和应用的一致理解,解 决实现、管理和维护技术基本结构的问题。 MSF 包含 IT 基础结构实现要求的、有效的组队模型和过程模型,确定了 关键的项目构成因素和最终交付的成果, 强调一致的规划和管理模型给系统带来 的好处和费用的降低。 八、实施 MSF 在项目实施的过程中运用 MSF,其效果将是显著的,它能够将技术变成产品, 由产品变成效益;它能够帮助用户少走或不走弯路,从而更快地达到自己的商业 目标。 MSF 在微软的许多大客户中得以大显身手,比如:瀛海威、中国投资银行、 香港跑马场、香港汇丰银行等。目前,在全国几个大城市举办的 MSF 巡回讲座, 其目的 在于帮助更多的国内公司的领导,尤其是大公司的领导,认识 MSF 这一思 想和原理,并能够在 实际中运用这一思想。 微软正计划或已经开始和一些大客户 共同实施 MSF 架构,如方正、用等。张彤川先生笑着对记者说,尽管每一位实施 MSF 项目的微软顾问的收费比较高,但 MSF 来效益足可以使这笔费用微不足道。 由于我国旧的体制往往并不以商业化为主要目标或商业化目的不明确,致 使现在仍抱有旧体思想的企业在进行项目实施时常常陷入死循环。比如,当一个 开发项目即将结束时,由于技的发展或业务的发展,客户的需求有所变化(往往是 提高了),和最初签定项目实施协议时不同。 抱有旧体制思想的客户通常是拒绝在 项目结束协议上签字,而是要求开发商按照变化了需求继续进行开发。但是,当按 照变化了需求所进行的开发结束时,需求可能又发生了变。于是又继续进行开发, 如此死循环。而 MSF 却可以解开这一死循环。当开发项目结束时, 即使需求发 生了变化,但仍然可以将已开发出的部分变成产品,把该产品投入商业应用,使它 生商业效益。至于变化了的需求,则可以开发出下一个版本来满足,甚至不断地开 发新版本, 以满足不断变化的需求。 MSF 思想正是要解开这一旧体制造成的死循环,从而更好地利用投资,帮助 客户实现自己的业利益。这也是微软进行 MSF 巡回讲座、和大公司共同实施 MSF 思想的主要原因之一。 张彤川先生告诉记者,微软是一个产品提供商和技 术提供商,提供平台、产品和技术。而真正满足用户实际需求的成千上万的应用 要靠合作伙伴来完成。微软提供解决方案架构 (Solution Framework),而不提 供具体的解决方案(Solution)。 解决方案架构是一种准则或规则, 各个领域内的 合作伙伴按照这一准则,以工业化模式制定出具体的解决方案。所谓工业化模,是 指产品几乎只需要装配一下即可。就像盖房子一样,建筑者只需要把满足一定标 准的各各样的预制板组装起来,即可建出符合标准的房子。这种模式可以大大提 高代码的利用率, 使开发商不必一切从头做起,从而提高开发效率。 而 MSF 是这 一切的协调准则。 可喜的是,现在在国内已经有很多 MSF 应用或 MSF 思想得到认可的实例。 比 如,用友公司是内最著名的财务软件公司,以往大多是最终使用客户购买用友软件,而现在有 很多系统集商来购买用友财务软件。 这些集成商在用友软件的基础上开发出更能满足不同客 户的千万别的需求的产品,帮助它们达到自己的商业目的。而用友只需提供财务软件核心,让 其它集成商在此基础上进行再开发。这学习使人进步 对用友、集成商和客户都是有利的。此外,其它领域的公司也有类似情形。MSF 将结出越来越多的灿烂的果实。

发表评论

电子邮件地址不会被公开。 必填项已用*标注