MCSD.NET之70
作为刚刚兴起的MCSD.NET认证考试的一部分,解决方案体系结构考试(70-100)已经过修订。新考试“分析需求和定义微软。NET解决方案结构”(70-300)于2003年2月正式推出。它涵盖了软件开发中最难的一些内容,它将带你超越设计平台的代码,深入了解开发应用的原因和过程。
本学习指南是根据我参加本次考试测试版后的印象编写的,这样你就会知道如何实现各种设计任务——包括需求收集、技术结构、概念和逻辑设计、数据建模、用户界面和物理设计——这些都与微软有关。NET
使用我们的学习指南准备70-300的考试
本文是可下载的学习指南的一部分,它会展示这个考试涉及的很多内容。在学习指南中,您将学习如何根据Microsoft .NET实现各种设计任务,包括需求收集、技术结构、概念和逻辑设计、数据建模、用户界面设计和物理设计。
设计解决方案的一个重要部分是将您的原始概念转换为系统的逻辑结构。这个转换过程包括识别逻辑设计的关键点,在各种类型的API中进行选择,然后使用这些信息创建一个宽泛的设计标准,该标准将区分组成解决方案的组件和模块。最后,您需要审查您提倡的解决方案,以确保业务规则正确地集成到逻辑设计中,并且还要测试这个逻辑设计对性能、可访问性、安全性、可伸缩性、可维护性和可伸缩性的影响。
API的类型
当客户提出需要设计一个可以为他们完成特定任务的应用程序时,例如“我需要一个可以让我管理联系信息的东西。你能给我做一个吗?”我的第一反应是回答:“当然,我有144种方法来实现这个目标。但是我该选哪个呢?”
当您将概念设计转换为逻辑形式时,您需要考虑API的类型,以及您可以使用的各种方法中的哪一种最适合您的解决方案。在大多数情况下,您最终会组合以下应用程序类型:
桌面应用程序
Web应用程序
分层应用程序
协作应用程序
桌面应用程序
桌面应用程序是标准的基于表单的应用程序,所有这些类型的应用程序通常分为以下几类:
单文档界面(SDI)应用程序是最简单的类型,它允许用户在应用程序的单个实例中打开一个活动窗口。想想看:Word的(原始)版本只允许您一次编辑一个文档。
多文档界面(MDI)应用程序可以同时打开多个活动窗口,通常是在一个主父窗口中。父窗口菜单的可用选项将根据活动窗口的可用功能而变化。Word和Excel是MDI应用的经典例子。
控制台应用程序在命令提示符下运行。这些通常是需要很少用户交互的系统工具或服务。
基于对话框的应用程序通常引用Windows中的向导。这些应用程序作为工具运行,允许用户回答一些问题或完成一些步骤来执行复杂的线性任务。
Web应用
与桌面应用相比,Web有很多优点,包括集中管理、易于升级、客户端功能统一等。它的缺点是,如果你不能访问服务器,它们通常不会工作。但是,这个问题也包含在。NET,包括对断开连接的Web应用程序甚至断开连接的数据库的支持。
分层应用
在分层解决方案中,组件根据其功能进行分层,不同的层通常位于不同的计算机上。在设计分层应用程序的过程中,当您将概念设计转换为逻辑设计时,您会希望区分它需要的各个层。分层应用程序的巨大优势包括其可扩展性和易维护性。它的不足就是复杂的问题。
协同应用
最后也是最复杂的应用类型是协同应用。这类应用程序的一个例子是Microsoft NetMeeting的白板功能,它允许多个用户同时在白板上书写和绘图。白板的所有用户都可以实时看到任何变化。Visual Studio。NET可以让很多开发者同时开发同一个应用,所以是协作应用的又一个例子。
逻辑、扩展和基于组件的设计
一旦确立了概念设计的要点,并确定了根据此概念构建的应用程序的类型,就有了解决方案的基础。然后,您可以开始设计构成可交付产品的真正组件和服务。与所有设计元素一样,在编写代码之前,应该仔细归档和考虑组件和服务的定义。
组件
如果你告诉一个程序员你需要一个组件,那么你会得到一个ActiveX控件,一个Java类或者一个. NET组件,这取决于平台。但是如果你告诉一个软件设计师同样的事情,你会得到不同的东西。对于软件设计者来说,组件意味着解决方案的任何一小部分,它被分离为一组功能和特性,并与该解决方案的其他组件相关。例如,结构组件可以是一组数据存储过程,也可以是可以放在CD上的可再分发的客户端程序。它也可以是用户在使用最终解决方案时需要使用的一组技能。你需要像设计师一样思考组件,这样才能丰富你的组件设计。
服务
程序员将服务理解为Web服务、COM+或协议服务器。然而,对于软件设计师来说,服务往往意味着向个人或组织支付费用,以获得对某些需求的支持。这笔费用可以是每年向VeriSign支付500美元,获得代码签名的认证;也可以每月向互联网服务提供商(ISP)支付250美元,以获得窄带静态IP连接。如果您的解决方案需要这种类型的支持,您需要确保在解决方案的建议中充分说明这一点。
将业务规则集成到对象设计中
无论您的解决方案是一组组件、一组服务还是两者的组合,您都希望确保它集成到组织的业务规则中:这些规则将定义或限制您的解决方案所关注的业务的特定方面。这个过程很容易导致整个解决方案的失败。无论这个解决方案设计得多么扎实和仔细,如果它违反了重要的业务规则——例如,“每个采购订单都必须得到管理层成员的批准”——它将被认为是失败的。
逻辑设计对PASS ME目标的影响
逻辑、模块和基于组件的解决方案设计的最后一部分将发生在设计过程的最后,并将向后持续一段时间。你有一个可以接受的解决方案,但是现在你会想知道这个解决方案能在多大程度上满足甚至超过你的期望。这个阶段是你收集它的优点来确定你的解决方案是否符合PASS ME的目标。效果好吗?需要访问的人可以轻松访问吗?稳定安全吗?容易维护吗?能满足未来的要求吗?
0条评论