当前位置:文档之家› 项目三需求分析

项目三需求分析


无论何种系统架构应用领域,目的都是一样的,即完整地、高一致性地、平衡
各种利弊地、有技术和市场前瞻性地设计系统和实施系统。
1.2 系统架构与软件架构
• 比尔盖茨定义自己为:ห้องสมุดไป่ตู้席软件架构师
• 因此带来的问题是:
• “系统架构”或“系统设计”与“软件架构”或“软件设计”的区别于联系是
什么?
1.2 系统架构与软件架构
1.1 架构概念
• 从以上不同研究者的观点看出,不论是组成派还是决策派,其本质思想是一样
的,只是从不同的角度对这个概念进行描述;
• 组成派的观点更关注软件,倾向于“组件+交互”的思想;
• 决策派的观点更关注人,倾向于重大决策集合的思想,除了结构和行为,还关 注一些非功能的因素。
• 综上,我们可以给“架构”一个简单的定义:
CT机是现代医学诊断中不可缺少的设备。通过X线对人体的某一部分按一定厚 度进行扫描,由于人体各组织的疏密程度不同,X线的穿透能力也不同,所以 检测接收到的射线就有了差异。由此产生的信号转变为数字信息后由计算机进 行处理,并输出到显示屏上,显示出人体组织图像,以发现病变的相对空间位 置、大小、数目等。
• 因此,各工程学科在日记月累的发展历程中,逐步规范化、科学化、系列化以 及统一化,最终保证人类在复杂环境中,不确定的因素存在时,依然能够进行
有效的控制和协调。
1.2 系统架构与软件架构
• 1997年,Eberhardt Rechtin与MarkW Maier在其论著中,为计算机科学总
结了系统架构方面的实践成果,从而奠定了系统科学和系统架构在计算机科学 中的基石:
架构案例:模型-视图-控制器(MVC)

当应用程序的用户界面非常复杂,且关于用户界面的需求很容 易变化时,我们可以把交互类型的软件抽象成模型、视图和控 制器这三类组件单元,这种抽象可以很好地分离用户界面和业 务逻辑,适应变化的需求。大多数现代交互软件都在一定程度 上符合这一架构模型的特点。 MVC模式最吸引人之处在于它迫使用户必须抽象自己的代码, 把项目分为表示、逻辑和控制三部分,每部分间的关联较小。 以MVC模式构造软件,可以使得软件结构灵活、重用性好、扩 展性佳。
• 所谓“架构”,就是人们对一个结构内的元素及元素间关系的一种主观映射的 产物。
1.2 系统架构与软件架构
• 无论在哪个工程领域,从演化历史分析,都有其共同点:
-----人类的恐惧 • 人类本能:对不确定的、感觉到威胁的事物具有强烈的不安全感。从而激发了
人类尽量把这些恐惧的因素控制在最小范围内的愿望。
控制器: 控制器负责交互和将用户输入的数据导入模型,它还利用用户的 输入将应用转向其他视图。一些非持久的临时数据也应该在视 图中存取。

采用MVC的好处

显示、逻辑和数据分开,这样一方面的改变不会影响另一方面。 ◦ 更新视图: ◦ 如原来用的是CLI (Command Line Interface)的,后来要改成GUI, 只要了解原来的模型和控制器的接口,然后构造GUI,把它按过去的 协议和模型关联起来就可以了,这样做增加了组件的重用性和灵活 性。 ◦ 复用视图: ◦ 假设针对某个模型数据开发了一套View,那么在其他访问该模型数 据的地方,完全可以再次使用该套件或将现在的View组合成一个复 合视图。每个单视图有自己和模型的连接协议和自己的响应控制器 ,这样开发就仅仅变成了简单的组合。 ◦ 更新控制器:
组成派
• Garlan和Shaw的定义:
• ----架构包括组件(Component)、连接件(Connector)和约束(Constrain)三大 要素。组件可以是一组代码(例如程序模块),也可以是独立的程序(例如数据库
服务器)。连接件可以是过程调用、管道和消息等,用于表示组件之间的相互
关系。“约束”一般为组件连接时的条件;
• 可测试性
• 可服务性 • 可配置性 • 可扩展性
• 快速的响应时间
• 高质量的图像质量 • 高精度计算 • 运输和移动方便
• 资源利用率高
1.2 系统架构与软件架构
• 对以上非功能性要求汇总可以发现,这些要求都是系统级的设计要求。这些要 求,有些是与机械和电子设计相关的,但绝大多数是与软件架构和设计相联系 的。这意味着,一个完整的CT机系统的非功能性指标是由多个子系统和多种技 术结合在一起才得以实现,即一个系统往往是软硬结合的。
• Perry和Wolf的定义: • ----软件架构是一组具有特定形式的架构元素,这些元素分为三类:负责完成 数据加工的处理元素(Processing Elements)、作为被加工信息的数据元素 (Data Elements)及用于把架构的不同部分组合在一起的连接元素 (Connecting Elements)
1.2 系统架构与软件架构
• CT机的关键部分包括X线系统,高压发生器,检测器,成像系统,机架与床等
,设计电子、机械、图像处理、计算机等多学科。 • 针对CT机质量方面的系统级要求:
• 安全性
• 保密性 • 可靠性 • 健壮性
• 除了以上,CT机的非功能性要求包括: • 可用性 • 有吸引力的图像界面
结构元素和行为元素进一步组合所构成的更大规模的子系统,以及指导这一组
织-包括这些元素及其接口、它们的协作和它们的组合---架构风格; • Eoin Woods的观点: • ----软件架构是一系列设计决策,如果作了不正确的决策,你的项目可能最终 会被取消(Software architecture is the set of design decisions which, if made incorrectly, may cause your project to be cancelled)

模型—视图—控制器交互的示意图
模型:视图:控制器

模型: 模型表示应用的数据及操作这些数据的逻辑方法。任何和整个 应用有关的持久性数据都应该放在模型中。对于模型,它所提供 的API不能只针对某一个专门的视图或控制器,应该更一般化以 适应不同客户的需求。

视图: 视图将模型的当前状态展示给用户,具体的显示方法由视图负责 ,因此一个模型可以适用多个不同的视图。在模型状态改变后, 通过模型和视图之间的协议,视图得知这种改变并修改自己的显 示。对于用户的输入,视图将它们交给控制器处理。
第16讲 面向对象的分析与设计(2)
• 系统架构概念
• 架构设计实践
• 架构设计案例
• 案例原理分析
1.1 架构概念:决 策 派
• Booch、Rumbaugh和Jacobson的定义:
• ----架构是一系列重要决策的集合,这些决策与以下内容有关:软件的组织, 构成系统的及其接口的选择,这些元素在相互协作中明确表现出的行为,这些
相关主题