- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
架构师培训讲义2-需求过程与分析的核心理论解析
第二章需求过程与分析的核心理论架构设计过程分为两个阶段:高层设计阶段和详细设计阶段。高层设计阶段的重点是软件系统的体系结构设计。详细设计阶段的重点是用户界面设计、数据库设计和模块设计。而高层设计的信息,主要来自于需求分析。第一节需求过程在软件架构中的重要作用作为一个架构师,工作的主要舞台是系统设计,但设计的输入来自于需求工程,什么样的需求思想,就有什么样的架构思维。这就是说,合理而且正确的需求分析过程,是架构设计过程的一个有机的组成部分,所以,我们首先必须讨论需求分析的领域建模的有关问题。需求开发与需求管理是相辅相成的两类活动,它们共同构成完整的需求工程。需求工程结构图如下所示:需求开发和需求管理的流程下所示。其中,需求变更控制是指依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,确保需求的变更不会失去控制而导致项目发生混乱。需求的类型:作为一个检查表,需求可以按照FURPS+模型进行分类的,每个字母含义如下:F:功能性(Functional):特性、能力、安全性。U:可用性(Usability):人性化因素,帮助,文档。R:可靠性(Reliability):故障周期,可恢复性,可预测性。P:性能(Performance):响应时间,吞吐量,准确性,有效性,资源利用率。S:可支持性(Supportability):适应性,可维护性,国际化,可配置性。+:辅助和次要的因素,比如:实现(Implentation):资源限制,语言和工具,硬件等。接口(Interface):与外部系统接口所加的约束。操作(Operations):系统操作环境中的管理。包装(Packaging):授权(Legal):许可证或其它方式。事实上,FURPS+模型并不是唯一的,但用它来作为需求范围检查表是很有效的,这可以降低考虑系统的时候遗漏某些因素的风险。还有一些分类方式和FURPS+模型类似,比如ISO9126,它主要来自于美国软件工程研究所(SEI)。第二节面向过程的需求分析核心知识传统的面向过程需求分析与面向对象分析是不同的,传统方法把系统看成一个过程的集合体,由人和机器共同完成一个任务,计算机与数据交互、读出数据、进行处理又把结果写回到计算机里面去。在讨论事件的时候,过程方法强调组件的过程模型。而对象方法把系统看成一个相互影响的对象集,对象重要的是具有行为(方法),行为发送消息请求另一个对象做事情,就本质而言,对象方法不包括计算机过程和数据文件,而是对象执行活动并记录下数据,当为系统响应建模的时候,对象方法包括响应模型、模型行为以及对象的交互。两种方式的不同点如下图:下面我们先简单讨论一下面向过程分析的特点,一般来说,面向过程的分析必将导致面向过程的架构(设计)。一、数据流程图DFD1,DFD的符号面向过程的核心理念是数据流,所以它的模型主要是数据流程图(DFD),它只用了5个符号。概念:外部实体:在系统边界之外的个人和组织,它提供数据,或者接受数据输出。过程:在DFD中的一个符号,它代表数据输入转换到数据输出的算法或者程序。数据流:在DFD中的箭头,它表示在过程、数据存储和外部实体间的数据移动。数据存储:保存数据的地方,将来一个或者多个过程来访问这些数据。2,关联图系统内部在单个过程符号中概括所有处理活动的DFD。下面是客户支持系统的关联图简单例子:注意,箭头表示数据的流向。二、事件划分的系统模型(0层图)DFD的细节称作片段,片段的组合有多种方式,现代过程分析也是以事件为基础,所以完全集可以组合到一个事件划分系统模型或者称为0层图中去。其中,每个过程为一个事件的处理。三、分解过程如果一个DFD片断包括更多的处理,可以把过程进行分解,以便作更详细的研究。四、评估DFD的质量高质量的DFD是可读的、内部一致的以及能准确表示系统需求的。复杂性最小化:人们对复杂信息处理是有局限性的,当太多的信息同时出现的时候,人们把这种现象称作信息超量。在这样的情况下,可以把信息划分为小的相对独立的子集,这样便于单独考察和理解信息,这也是建模最根本的目的。7±2原则:这个原则也称之为Mille数,由心理学研究,一个人可同时记住或操纵的信息块的数目大约在7到9之间,也就是一个模型的过程数不要超过7±2个。另外数据流进、流出一个过程、数据存储或者数据元素的个数不要超过7±2个。这不是强制原则,但可以给我们提供一个警告。接口最小化:这里的接口是指一个问题或者描述中的一部分与其它部分的连接。源于7±2原则,连接数应该保持最小,如果超出了这个原则,可把一个过程分解为更多的过程,以使得分析简单。数据流一致性:通过分析数据流的不一致,可以找到错误。下面的例子使用了过程描述(面向过程英语)来描述内部过程,流入的B、C没有任何处理,也没有流出,被称之为“黑洞”。下面的例子,流
文档评论(0)