《系统分析与设计读书笔记.pdf》由会员分享,可在线阅读,更多相关《系统分析与设计读书笔记.pdf(16页珍藏版)》请在三一文库上搜索。
1、 ;. 系统分析与设计读书报告 姓名:王旭 学院:软件学院 班级:硕 3098 学号: 3113370003 日期: 2014 年 6 月 20 日 ;. 系统分析与设计读书报告 【书名】 :系统分析与设计【第七版】 【出版社】:机械工业出版社 【作者】 :(美)Kenneth E.Kendall Julie E.Kendall 著 施平安 郝清赋译 前言 花了一个礼拜的时间读完了这本系统分析与设计(第七版)。这本书的结 构比较清晰,每一张之间结合比较紧密,由简入难,分部分、分章节对各个模块 的内容进行了深入的探讨, 这本书也新增了不少的知识点, 比如以人为中心的软 件开发过程,敏捷开发等著名
2、的软件开发理论指导。 1.什么是企业架构?如何进行系统分析? 企业架构就是企业对组织工作任务进行分工、分组和协调合作。企业架构 最早的思想雏形来自企业建模领域。20 世纪 80 年代中期之前,几乎只有学术界 对企业再造或企业建模的思想感兴趣,但使用的理论和模型通常被限于某个信息 系统的设计和开发。 20 世纪 80 年代中期,当时还是IBM 员工的 John Zachman率先提出了 “ 信息 系统架构框架 ” 的概念,从信息、流程、网络、人员、时间、基本原理等6 个透 视角度来分析企业, 也提供了与这些视角每个相对应的6 个模型,包括语义、 概 念、逻辑、物理、构件和功能等模型。由于其杰出的
3、开创性工作成果,Zachman 被公认为是企业架构领域的开拓者。 系统分析方法是指把要解决的问题作为一个系统,对系统要素进行综合分 析,找出解决问题的可行方案的咨询方法。兰德公司认为, 系统分析是一种研究 方略,它能在不确定的情况下,确定问题的本质和起因,明确咨询目标,找出各 种可行方案, 并通过一定标准对这些方案进行比较,帮助决策者在复杂的问题和 环境中作出科学抉择。 系统分析的主要任务是将在系统详细调查中所得到的文档资料集中到一起, 对组织内部整体管理状况和信息处理过程进行分析。它侧重于从业务全过程的角 ;. 度进行分析。分析的主要内容是:业务和数据的流程是否通畅,是否合理;数据、 业务过
4、程和实现管理功能之间的关系;老系统管理模式改革和新系统管理方法的 实现是否具有可行性等等。 系统分析的目的是将用户的需求及其解决方法确定下 来,这些需要确定的结果包括: 开发者关于现有组织管理状况的了解;用户对信 息系统功能的需求 ;数据和业务流程 ;管理功能和管理数据指标体系;新系统拟改 动和新增的管理模型等等。 系统分析所确定的内容是今后系统设计、系统实现的 基础。 2.系统架构师的职责 系统构架师是近几年来在国内外迅速成长并发展良好的一个职位,它的重要 性及给 IT 业所带来的影响是不言而喻的。在我国虽然还存在一定的争论性、不 可预测性、不理解性,不确定性,但它确实是时代发展的需要。 系
5、统架构师的职责就是设计一个公司的基础架构,并提供关于怎样建立和维 护系统的指导方针。具体来讲,系统架构师的职责主要体现在以下几方面: 1.负责公司系统的架构设计、研发工作; 2.承担从业务向技术转换的桥梁作用; 3.协助项目经理制定项目计划和控制项目进度; 4.负责辅助并指导SA开展设计工作; 5.负责组织技术研究和攻关工作; 6.负责组织和管理公司内部的技术培训工作; 7.负责组织及带领公司内部员工研究与项目相关的新技术; 8.管理技术支撑团队并给项目、产品开发实施团队提供技术保障。 一般来讲,系统架构师应该拥有以下几方面的能力: 1.具备 8年以上软件行业工作经验; 2.具备 4年以上 C
6、/S 或 B/S 体系结构软件产品开发及架构和设计经验; 3.具备 3年以上的代码编写工作经验; 4.具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验; 5.对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握; 6.对 .Net/JAVA技 术 及 整 个 解 决 方 案 有 深 刻 的 理 解 及 熟 练 的 应 用 , 并 且 精 通 WebService/J2EE 架构和设计模式,并在此基础上设计产品框架; 7.具有面向对象分析、设计、开发能力(OOA 、OOD 、OOP ) ,精通 UML和 ROSE ,熟练使用 Rational Rose、PowerDesig
7、ner 等工具进行设计开发; 8.精通大型数据库如Oracle 、Sql Server等的开发; 9.对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并 ;. 有实践基础; 10.在应用系统开发平台和项目管理上有深厚的基础,有大中型应用系统开发和实施的成 功案例; 11.良好的团队意识和协作精神,有较强的内外沟通能力 3. 项目管理 项目管理是一种活动,也是一种技能,在项目经理的带领下,如何进行高效 的项目开发,这是项目管理的主要内容。 项目管理的工作流程主要有: 启动项目, 确定可行性,活动控制和规划,项目进度计划,功能点分析,开发和测试。 在启动项目之后的第一件事情
8、就是要进行可行性分析。 可行性分析 是通过对项目的主要内容和配套条件,如市场需求、资源供应、 建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、 经济、 工程等方面进行调查研究和分析比较, 并对项目建成以后可能取得的财务、 经济效益及社会环境影响进行预测, 从而提出该项目是否值得投资和如何进行建 设的咨询意见, 为项目决策提供依据的一种综合性的系统分析方法。可行性分析 应具有预见性、公正性、可靠性、科学性的特点。 可行性分析的意义:作为投资项目中的前期工作的重要内容,对项目具有 十分重要的作用, 主要体现在以下几个方面:(1) 可行性研究是坚持科学发展观、 建设节约型社会的
9、需要;(2)可行性研究是建设项目投资决策和编制设计任务书 的依据; (3)可行性研究是项目建设单位筹集资金的重要依据;(4)可行性研究 是建设单位与各有关部门签订各种协议和合同的依据;(5)可行性研究是建设项 目进行工程设计、施工、设备购置的重要依据;(6)可行性研究是向当地政府、 规划部门和环境保护部门申请有关建设许可文件的依据;(7)可行性研究是国家 各级计划综合部门对固定资产投资实行调控管理、编制发展计划、固定资产投资、 技术改造投资的重要依据; (8)可行性研究是项目考核和后评估的重要依据。 项目进度计划 是在拟定年度或实施阶段完成投资的基础上,根据相应的工 程量和工期要求, 对各项工
10、作的起止时间、 相互衔接协调关系所拟定的计划,同 时对完成各项工作所需的劳力、材料、设备的供应做出具体安排。 如何编制项目计划: 编制进度计划前要进行详细的项目结构分析,系统地剖析整个项目结构构 成,包括实施过程和细节, 系统规则地分解项目。 项目结构分解的工具是工作分 解结构 WBS 原理,它是一个分级的树型结构,是将项目按照其内在结构和实施 过程的顺序进行逐层分解而形成的结构示意图。通过项目WBS 分解作到将项目 分解到内容单一的、 相对独立的、 易于成本核算与检查的项目单元,作到明确单 ;. 元之间的逻辑关系与工作关系, 作到每个单元具体地落实到责任者,并能进行各 部门、各专业的协调。
11、进度计划编制的主要依据是:项目目标范围;工期的要求;项目特点;项目 的内外部条件; 项目结构分解单元; 项目对各项工作的时间估计;项目的资源供 应状况等。进度计划编制要与费用、质量、安全等目标相协调,充分考虑客观条 件和风险预计, 确保项目目标的实现。 进度计划编制主要工具是网络计划图和横 道图,通过绘制网络计划图,确定关键路线和关键工作。根据总进度计划,制定 出项目资源总计划,费用总计划,把这些总计划分解到每年、每季度、每月、每 旬等各阶段,从而进行项目实施过程的依据与控制。 在分析如何进行人力资源分配以及确定开发周期时,功能点分析是一个很有 用的分析方法。 功能点分析法是与是用什么技术无关
12、,着重计算该软件的实现需要实现多少 功能的方法。采用该方法,能够更好地与客户进行沟通,因为不涉及技术,因此 客户也比较容易明白该软件的开发过程。 功能点计算的类型分为: 开发项目开发项目功能点计算度量的是项目完成、用户第一次安装系统 时提供给用户的功能 升级项目升级项目功能点计算度量的是项目完成对已存在的应用系统 新增、修改或者删除的功能 应用程式应用程式功能点计算度量的是已经安装运行的系统提供给用 户的功能。 ;. 计算功能点有时又比较简单,有时候比较复杂,取决于所要实现的软件的规 模与复杂度, 最后将计算出来的功能数与调整因子进行处理,可以得出最终的功 能点数。 得出功能点后,就需要进行软
13、件的开发了。目前比较流行的就是敏捷开发。 简单的说 ,敏捷开发 是一种以用户的需求进化为核心、迭代、循序渐进的 开发方法。 在敏捷开发中, 软件项目的构建被切分成多个子项目,各个子项目的 成果都经过测试, 具备集成和可运行的特征。 换言之,就是把一个大项目分为多 个相互联系, 但也可独立运行的小项目, 并分别完成, 在此过程中软件一直处于 可使用状态。 敏捷建模(Agile Modeling , AM ) 的价值观包括了 XP (Extreme Programming : 极限编程)的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价 值观:谦逊。 敏捷开发是针对传统的瀑布开发模式的弊
14、端而产生的一种新的开发模式,目 标是提高开发效率和响应能力。除了原则和实践, 模式也是很重要的, 多研究模 式及其应用可以使你更深层次的理解敏捷开发。 沟通:建模不但能够促进你团队内部的开发人员之间沟通、还能够促进你的 团队和你的 project stakeholder之间的沟通。 简单:画一两张图表来代替几十甚至几百行的代码,通过这种方法,建模成 为简化软件和软件 (开发)过程的关键。 这一点对开发人员而言非常重要它简 单,容易发现出新的想法,随着你(对软件)的理解的加深,也能够很容易的改 进。 反馈: Kent Beck 在 Extreme Programming Explained中有句
15、话讲得非常好: “ 过 度自信是编程的职业病,反馈则是其处方。” 通过图表来交流你的想法,你可以 快速获得反馈,并能够按照建议行事。 勇气:勇气非常重要,当你的决策证明是不合适的时候,你就需要做出重大 的决策,放弃或重构( refactor)你的工作,修正你的方向。 谦逊:最优秀的开发人员都拥有谦逊的美德,他们总能认识到自己并不是无 所不知的。事实上,无论是开发人员还是客户,甚至所有的project stakeholder , 都有他们自己的专业领域, 都能够为项目做出贡献。 一个有效的做法是假设参与 项目的每一个人都有相同的价值,都应该被尊重。 敏捷开发的原则是: 1)个体和交互胜过 过程和
16、工具 2)可以工作的软件胜过 面面俱到的文档 3)客户合作 胜过 合同谈判 ;. 4)响应变化 胜过 遵循计划 5)虽然右项也有价值,但是我们认为左项具有更大的价值。 4.需求分析 在开发软件的最重要的就是进行软件需求分析,在需求分析阶段设计得当, 可以加快软件的开发速率, 并且能够大大降低软件在后期的修改频率,并且能够 降低软件的开发成本, 毕竟,在后期修改软件错误的成本远远大于在软件开发初 期的成本。 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分 析各种可能的解法, 并且分配给各个软件元素。 需求分析是软件定义阶段中的最 后一步,是确定系统必须完成哪些工作,也就是对目标
17、系统提出完整、准确、清 晰、具体的要求。 在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和 建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原 始问题及目标软件建立逻辑模型。 分析人员要将对原始问题的理解与软件开发经 验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理 要求,哪些是用户尚未提出但具有真正价值的潜在需求。 软件需求包括三个不同的层次:业务需求、用户需求和功能需求(也包括 非功能需求)。 1业务需求( business requirement)反映了组织机构或客户对系统、产品高 层次的目标要求,它们在项目视图与范围文档中予以说
18、明。 2用户需求 (user requirement) 文档描述了用户使用产品必须要完成的任务, 这在使用实例( usecase)文档或方案脚本说明中予以说明。 3功能需求 (functional requirement)定义了开发人员必须实现的软件功能, 使得用户能完成他们的任务,从而满足了业务需求。 5. 数据流图 在软件分析过程汇总数据流图是一个很重要的分析工具,它能够为开发人 员带来方便, 并且能够为客户提供一个明朗的开发过程,极大的方便了客户与开 发人员之间的沟通。 数据流图( Data Flow Diagram ) :简称 DFD ,它从数据传递和加工角度,以 图形方式来表达系统的
19、逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程, 是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 数据流图是结构化分析方法中使用的工具, 它以图形的方式描绘数据在系统 中流动和处理的过程, 由于它只反映系统必须完成的逻辑功能,所以它是一种功 ;. 能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。 数据流程图包括: a指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体; b指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器 功能; c指明几个处理和(或)数据媒体之间的数据流的流线符号; d便于读、写数据流程图的特殊符号。 数据流图
20、有两种典型结构, 一是变换型结构, 它所描述的工作可表示为输入、 主处理和输出,呈线性状态。另一种是事务型结构,这种数据流图呈束状,即一 束数据流平行流入或流出,可能同时有几个事务要求处理。 变换型结构数据流图 事务型结构数据流图 在单张数据流图时,必须注意以下原则: 1. 一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相 同。 2. 保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该 加工的输入数据流中直接获得,或者说是通过该加工能产生的数据。 3. 每个加工必须既有输入数据流,又有输出数据流。 4. 所有的数据流必须以一个外部实体开始,并以一个外部实体结束。 5
21、. 外部实体之间不应该存在数据流。 ;. 6. 数据字典 数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、 外部实体等进行定义和描述, 其目的是对数据流程图中的各个元素做出详细的说 明。 数据字典( Data dictionary)是一种用户可以访问的记录数据库和应用程 序源数据的目录。 主动数据字典是指在对数据库或应用程序结构进行修改时,其 内容可以由 DBMS 自动更新的数据字典。被动数据字典是指修改时必须手工更新 其内容的数据字典。 数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是 供人查询对不了解的条目的解释,在结构化分析中, 数据字典的作用是给数据
22、流 图上每个成分加以定义和说明。 换句话说,数据流图上所有的成分的定义和解释 的文字集合就是数据字典, 而且在数据字典中建立的一组严密一致的定义很有助 于改进分析员和用户的通信。 数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的 信息。用户可以用SQL语句访问数据库数据字典。 数据字典的组成: 1、数据项 2、数据结构 3、数据流 4、数据存储 5、处理过程 数据字典各部分的描述 数据项:数据流图中数据块的数据结构中的数据项说明,数据项是不可再分的 数据单位。若干个数据项可以组成一个数据结构。 数据结构: 数据流图中数据块的数据结构说明,数据结构反映了数据之间的组 合关系。
23、一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成, 或由若干个数据项和数据结构混合组成。 数据流:数据流图中流线的说明,数据流是数据结构在系统内传输的路径。 数据存储: 数据流图中数据块的存储特性说明,数据存储是数据结构停留或保 存的地方,也是数据流的来源和去向之一。 处理过程: 数据流图中功能块的说明, 数据字典中只需要描述处理过程的说明 ;. 性信息 7. 决策树和决策表 决策树 (Decision Tree)是在已知各种情况发生概率的基础上,通过构成 决策树来求取净现值的期望值大于等于零的概率,评价项目风险, 判断其可行性 的决策分析方法, 是直观运用概率分析的一种图解法。
24、由于这种决策分支画成图 形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他 代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度, 使用算法 ID3, C4.5和 C5.0 生成树算法使用熵。 决策树的组成: 1)决策点,是对几种可能方案的选择,即最后选择的最佳方案。如果决策属 于多级决策,则决策树的中间可以有多个决策点,以决策树根部的决策点为 最终决策方案。 2)状态节点,代表备选方案的经济效果(期望值),通过各状态节点的经济效 果的对比,按照一定的决策标准就可以选出最佳方案。由状态节点引出的分 支称为概率枝, 概率枝的数目表示可能出现的自然状态
25、数目每个分枝上要注 明该状态出现的概率。 3)结果节点,将每个方案在各种自然状态下取得的损益值标注于结果节点的 右端。 决策树的优点: ;. 决策树易于理解和实现, 人们在在学习过程中不需要使用者了解很多的背景 知识,这同时是它的能够直接体现数据的特点,只要通过解释后都有能力去理解 决策树所表达的意义。 对于决策树,数据的准备往往是简单或者是不必要的,而且能够同时处理数 据型和常规型属性, 在相对短的时间内能够对大型数据源做出可行且效果良好的 结果。 易于通过静态测试来对模型进行评测,可以测定模型可信度;如果给定一个 观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。 决策树的缺点
26、: 1) 对连续性的字段比较难预测。 2) 对有时间顺序的数据,需要很多预处理的工作。 3) 当类别太多时,错误可能就会增加的比较快。 4) 一般的算法分类的时候,只是根据一个字段来分类。 决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件 较多,各条件又相互组合、 有多种决策方案的情况。 精确而简洁描述复杂逻辑的 方式,将多个条件与这些条件满足后要执行动作相对应。但不同于传统程序语言 中的控制语句,决策表能将多个独立的条件和多个动作直接的联系清晰的表示出 来。 决策表的优点: 决策表能罗列出所有的可能情况,并清晰的指出相应的处理方式,用户不需 要考虑其中的逻辑关系就能一眼看出
27、其中什么样的动作对应什么样的情况,这比 程序语言中层层嵌套的逻辑语句要强多了。而所有可能情况的平面罗列, 也能避 免在程序语言编写中, 因为逻辑上的层层嵌套而产生遗漏,尤其在 if-then-else 结构中 else 部分是可选的情况下。 8. 数据库及其设计 数据库( Database)是按照数据结构来组织、存储和管理数据的仓库,它产 生于距今六十多年前, 随着信息技术和市场的发展, 特别是二十世纪九十年代以 后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理 的方式。数据库有很多种类型, 从最简单的存储有各种数据的表格到能够进行海 量数据存储的大型数据库系统都在各个方
28、面得到了广泛的应用。 数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。 以内模式为框架所组成的数据库叫做物理数据库;以概念模式为框架所组成 的数据叫概念数据库;以外模式为框架所组成的数据库叫用户数据库。 ;. 物理数据层。 它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据 是原始数据, 是用户加工的对象, 由内部模式描述的指令操作处理的位串、字符 和字组成。 概念数据层。 它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑 定义及数据间的逻辑联系, 是存贮记录的集合。 它所涉及的是数据库所有对象的 逻辑关系,而不是它们的物理情况,是数据库管理员概念
29、下的数据库。 逻辑数据层。 它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集 合,即逻辑记录的集合。数据库不同层次之间的联系是通过映射进行转换的。 数据库的主要特点: 实现数据共享 减少数据的冗余度 数据的独立性 数据实现集中控制 数据一致性和可维护性,以确保数据的安全性和可靠性 故障恢复 NoSQL ,泛指非关系型的数据库。随着互联网web2.0 网站的兴起,传统的关 系数据库在应付web2.0 网站,特别是超大规模和高并发的SNS类型的 web2.0 纯动态网站已经显得力不从心, 暴露了很多难以克服的问题, 而非关系型的数据 库则由于其本身的特点得到了非常迅速的发展。 N
30、osql 数据库的特点: 1)它们可以处理超大量的数据。 2)它们运行在便宜的PC服务器集群上。 3)它们击碎了性能瓶颈。 4)没有过多的操作。 5)Bootstrap支持 Nosql 的优点: a.易扩展 b.大数据量,高性能 c.灵活的数据模型 d.高可用 数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库 ;. 的结构和建立数据库的过程。数据库系统需要操作系统的支持。 数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的 核心技术。 由于数据库应用系统的复杂性,为了支持相关程序运行, 数据库设计 就变得异常复杂, 因此最佳设计不可能一蹴而就,而只能是一种
31、“反复探寻, 逐 步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之 间关系的过程。 数据库设计步骤:需求分析,概念设计,逻辑设计,物理设计,验证设计, 运行与维护设计。 1. 需求分析阶段:综合各个用户的应用需求 2. 概念设计阶段:形成独立于机器特点,独立于各个DBMS 产品的概念模式 (E-R 图) 3. 逻辑设计阶段:首先将E-R图转换成具体的数据库产品支持的数据模型, 如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑, 在基本表的基础上再建立必要的视图(View) ,形成数据的外模式 4. 物理设计阶段:根据DBMS 特点和处理的需要,进行物理
32、存储安排,建立 索引,形成数据库内模式。 在数据库设计中,经常会用到E-R图。 E-R 图也称实体 -联系图 (Entity Relationship Diagram),提供了表示实体 类型、属性和联系的方法,用来描述现实世界的概念模型。 E-R方法是“实体 -联系方法”( Entity-Relationship Approach)的简称。 它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式, 用矩 形表示实体型, 矩形框内写明实体名; 用椭圆表示实体的属性, 并用无向边将其 与相应的实体型连接起来; 用菱形表示实体型之间的联系, 在菱形框内写明联系 名,并用无向边分别与有关实体
33、型连接起来,同时在无向边旁标上联系的类型 (1:1,1:n或 m:n) 。 E-R图的四个组成部分: 矩形框:表示实体,在框中记入实体名。 菱形框:表示联系,在框中记入联系名。 椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其 名称下划一下划线。 连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直 线上标注联系的类型。 画出 E-R图的步骤: 确定所有的实体集合 ;. 选择实体集应包含的属性 确定实体集之间的联系 确定实体集的关键字,用下划线在属性上表明关键字的属性组合 确定联系的类型, 在用线将表示联系的菱形框联系到实体集时,在线旁注明是 1 或 n
34、(多)来表示联系的类型 9. 理解人机交互 人机交互是一门研究系统与用户之间的交互关系的学问。系统可以是各种 各样的机器, 也可以是计算机化的系统和软件。人机交互界面通常是指用户可见 的部分。用户通过人机交互界面与系统交流,并进行操作。 人机交互界面的设计 要包含用户对系统的理解(即心智模型) ,那是为了系统的可用性或者用户友好 性。 人机界面( Human-Computer Interface,简写 HCI) :是人与计算机之间传递、 交换信息的媒介和对话接口,是计算机系统的重要组成部分。 人机交互技术领域热点技术的应用潜力已经开始展现,比如智能手机配备的 地理空间跟踪技术, 应用于可穿戴式
35、计算机、 隐身技术、 浸入式游戏等的动作识 别技术,应用于虚拟现实、 遥控机器人及远程医疗等的触觉交互技术,应用于呼 叫路由、家庭自动化及语音拨号等场合的语音识别技术,对于有语言障碍的人士 ;. 的无声语音识别, 应用于广告、网站、产品目录、杂志效用测试的眼动跟踪技术, 针对有语言和行动障碍人开发的“意念轮椅”采用的基于脑电波的人机界面技 术等。热点技术的应用开发是机遇也是挑战,基于视觉的手势识别率低, 实时性 差,需要研究各种算法来改善识别的精度和速度,眼睛虹膜、掌纹、笔迹、步态、 语音、唇读、人脸、 DNA等人类特征的研发应用也正受到关注,多通道的整合 也是人机交互的热点, 另外,与“无所
36、不在的计算”、 “云计算”等相关技术的 融合与促进也需要继续探索。 10.UML面向对象分析 UML (Unified Modeling Language的缩写)统一建模语言 , 是用来对软件密 集系统进行可视化建模的一种语言。UML 为面向对象开发系统的产品进行说明、 可视化、和编制文档的一种标准语言。 统一建模语言 (UML)是非专利的第三代建 模和规约语言。 UML 是在开发阶段,说明,可视化,构建和书写一个面向对象 软件密集系统的制品的开放方法。UML 展现了一系列最佳工程实践,这些最佳实 践在对大规模,复杂系统进行建模方面, 特别是在软件架构层次已经被验证有效。 UML被 OMG 采
37、纳作为业界的标准。 UML 最适于数据建模,业务建模,对象建模, 组件建模。 UML 2.0 中一共定义了 13 种图示( diagrams) 。最常用的 UML 图包括:用例图、 类图、序列图、状态图、活动图、组件图和部署图。 1)类图 (Class Diagram) 2)组件图 (Component diagram) 3)复合结构图 (Composite structure diagram) 4)部署图 (Deployment diagram) 5)对象图 (Object diagram) 6)包图(Package diagram) 7)活动图 (Activity diagram) 8)状
38、态机图 (State Machine diagram) 9)用例图 (Use Case Diagram) 10) 交互图( Interaction diagrams) 11) 通信图 (Communication diagram 12) 序列图 (Sequence diagram) 13) 时间图 (UML Timing Diagram) (UML 2.0) UML语义 描述基于 UML的精确元模型定义。元模型为UML的所有元素在语 法和语义上提供了简单、 一致、通用的定义性说明, 使开发者能在语义上取得一 致,消除了因人而异的最佳表达方法所造成的影响。此外 UML 还支持对元模型的 ;. 扩
39、展定义。 UML表示法 定义 UML符号的表示法,为开发者或开发工具使用这些图形符 号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的 模型,在语义上它是UML元模型的实例。 标准建模语言 UML的主要特点可以归结为三点: (1) UML统一了 Booch、OMT 和 OOSE 等方法中的基本概念。 (2) UML还吸取了面向对象技术领域中其他流派的长处,其中也包括非OO 方法的影响。 (3)UML在演变过程中还提出了一些新的概念。在UML标准中新加了模板 (Stereotypes)、 职 责 (Responsibilities)、 扩 展 机 制 (Extensibility mechanisms)、线程(Threads) 、过程 (Processes) 、分布式 (Distribution)、并 发(Concurrency) 、模式(Patterns)、合作(Collaborations)、活动图(Activity diagram)等新概念,并清晰地区分类型(Type) 、类(Class) 和实例 (Instance)、 细化(Refinement) 、接口 (Interfaces)和组件 (Components)等概念。 UML是一个标准的图形表示法,它不是面向对象的分析和设计,也不是一种 方法,它仅仅是一组符号而已。
链接地址:https://www.31doc.com/p-5544197.html