2017年系统架构设计师案例分析试题加答案(6)
2017年系统架构设计师案例分析试题加答案

2017年系统架构设计师案例分析试题加答案(6)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。
下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。
阅读以下关于结构化软件系统建模的叙述,在答题纸上回答问题。
希赛公司拟开发一个商业情报处理系统,使公司能够针对市场环境的变化及时调整发展战略,以获取最大的商业利益。
项目组经过讨论,决定采用结构化分析和设计方法。
在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的没计思路。
小张提出先构建系统流程图(SystemFlowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。
小李提出先构建系统数据流图(DataFlowDiagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图所示。
项目组经讨沦确定以数据流图作为本阶段的建模手段。
工程师老王详细说明了流程图和数据流图之间的区别与XXX,并指出了图的数据流图中存在的错误。
3、流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。
4、请分析指出图所示的数据流图中存在的错误及其原因,并针对图的1层数据流图绘制出情报分类子系统的0层数据流图。
5、高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。
请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。
参考答案3、数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。
流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。
两者的区别如下。
①数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。
2017年下半年系统架构设计师考试上午真题(完整版)

全职师资直播+录播双保障 1v1全程辅导
希赛网() 400-111-9811
12、下面可提供安全电子邮件服务的是( )。 A、RSA B、SSL C、SET D、S/MIME
28、软件系统工具的种类繁多,通常可以按照软件过程活动将软件工具分为 ()。 A、需求分析工具、设计工具和软件实现工具 B、软件开发工具、软件维护工具、软件管理工具和软件支持工具 C、需求分析工具、设计工具、编码与排错工具和测试工具 D、设计规范工具、编码工具和验证工具
29、UNIX 的源代码控制工具(Source Code control System,SCCS)是软件项 目开发中常用的( )。 A、源代码静态分析工具 B、文档分析工具 C、版本控制工具 D、再工程工具
全职师资直播+录播双保障 1v1全程辅导
希赛网() 400-111-9811
B、需求必须能够在系统及其运行环境的能力和约束条件内实现 C、每一项需求记录的功能都必须是用户的真正的需要 D、在良好的需求陈述中,所有需求都应被视为同等重要
24、一个好的变更控制过程,给项目风险承担者提供了正式的建议变更机制。 如下图所示的需求变更管理过程中,①②③处对应的内容应分别是( )。
希赛网() 400-111-9811
2017 年下半年系统架构设计师考试上午真题(专业 解析+参考答案)
1、某计算机系统采用 5 级流水线结构执行指令,设每条指令的执行由取指令 (2 Δt )、分析指令(1Δt )、取操作数(3Δt )、运算(1Δt )和写回结果(2Δ t ) 组成, 并分别用 5 个子部件完成,该流水线的最大吞吐率为( ) ; 若连续向流水线输入 10 条指令,则该流水线的加速比为( ) .
2017年信息系统项目管理师案例分析加答案(六)

2017年信息系统项目管理师案例分析加答案(六)2017上半年信息系统项目管理师考试时间已然临近,距离下半年11月11日的考试,也相距不远。
多做试题是一种很好的巩固知识的方法,希赛小编为大家整理了几套案例分析练习题。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]A公司是一家大型信息系统集成公司,具有多年的系统集成项目实施经历,成功地在多个行业进行了系统集成项目建设,取得了较多的成果,在业内具有较好的口碑。
2013年年初,A公司通过竞标获得某市人口管理信息系统工程项目。
A公司高层认为,尽管该项目的许多需求还没有完全确定下来,但是总体感觉上同以往曾经开发过的项目比较,还是比较简单,对完成这样的项目充满信心。
项目前期,A公司请王副总经理负责此项目的启动工作。
王副总经理简单了解项目的概要情况后制定并发布了项目章程,任命小丁为项目经理。
项目团队根据分工制定了相应的项目管理子计划。
据此,项目经理小丁把各个子计划归并为项目管理计划。
为了保证项目按客户要求尽快完成,小丁基于自身的行业经验和对客户需求的初步了解,即安排项目团队开始进行项目实施,在系统开发过程中,建设方提出的建设需求不断变化,小丁本着客户至上的原则,总是安排项目组进行修改,从而导致开发工作多次反复。
而因为项目计划的多次变化,导致项目团队的成员也经历过多次调整,实际进度与里程碑计划存在严重偏离,并且项目的质量指标也经常暴露出问题。
A公司项目管理办公室在对项目阶段审查时,感到很吃惊,并对发生这种情况觉得很不理解,认为即使是需求不完善也不至于导致项目存在这么多问题,觉得该项目在管理方面肯定存在很多问题。
[问题1](12分)结合案例,除了项目经理能力因素之外,请简要分析造成项目目前状况的可能原因。
[问题2](9分)作为项目经理,应统一考虑项目进度、成本与质量之间的平衡。
任何一个要素的变动,都会引起其他要素的变动。
(1)请简要叙述项目进度、成本与质量之间的关系(2)请结合本案例说明,为了保证项目按照最初的设想按时完工,项目经理还可以采取哪些措施?[问题3](4分)结合案例,从候选答案中选择4个正确选项(每选对一个得1分,选项超过4个该题得0分),将选项编号填入答题纸对应栏内。
2017上半年下午--系统集成真题(带答案)

试题一(18 分):2017 年上半年系统集成项目管理工程师案例分析真题与参考答案阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】A 公司想要升级其数据中心的安防系统,经过详细的可行性分析及项目评估后,决定通过公开招标的方式进行采购。
某系统集成商B 公司要求在投标前按照项目实际情况进行综合评估后才能做出投标决策。
B 公司规定:评估分数(按满分为 100 分进行归一化后的得分)必须在 70 分以上的投标项目才具有投标资格。
于是 B 公司项目负责人张工在购买标书后,综合考虑竞争对手、项目业务与技术等因素,编【问题 1】 (6 分)综合上述案例,请帮助项目经理张工计算该项目的评估结果(包括合计得分和归一化结果)。
评估结果 i*相对重要程度 i归一化评估结果=5*相对重要程度 i参考答案:合计得分 83 分归一化评估结果75.45分【问题 2】 (4 分)基于以上案例,如果你是B公司管理层领导,对于该项目,是决定投标还是放弃投标?为什么?参考答案:决定投标,本项目的归一化评估结果为75.45分.根据公司投资决策规定,高于70分的投资项目才具有投标资格,因此可以进行投标。
【问题 3】(8 分)请指出项目论证应包括哪几个方面?参考答案:项目论证的内容包括项目运行环境评价、项目技术评价、项目财务评价、项目国民经济评价、项目环境评价、项目社会影响评价、项目不确定性和风险评价、项目综合评价等。
试题二(22 分):阅读下列问题,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。
【说明】某项目细分为 A. B. C. D. E. F. G. H 共八个模块,而且各个模块之间的依赖关系和持续时间如下表所示:活动代码紧前活动活动持续时间(天)A - 5B A 3C A 6D A 4E B、C 8F C、D 5G D 6H E、F、G 9【问题 1】(4 分)计算该活动的关键路径和项目的总工期参考答案:关键路径:A C E H.总工期28【问题 2】(8 分)(1)计算活动的总体时差(2)计算活动的自由时差(3)计算活动的最迟开始时间参考答案:(1) B=3,C=0,D=4(2) B=3,C=0,D=0 (3)D=9,G=13【问题 3】(5 分)如果活动 G 今早开始,但工期拖延了 5 天,则该项目的工期会拖延多少天?请说明理由。
上半年全国计算机软考系统分析师真题+答案解析(上午选择+案例分析+论文)完整版

D. 168 答案:B 本题考查信息安全中的对称加密算法。 三重 DES 加密是使用 2 个 DES 密钥,进行多次操作来完成的,所以其密钥长度是: 56*2=112 位。 7 要对消息明文进行加密传送,当前通常使用的加密算法是()。 A. RSA B. SHA-1 C. MD5 D. RC5 答案:D 本题考查的是信息安全中的加密算法。其中: RSA 是非对称加密算法;SHA-1 与 MD5 属于信息摘要算法;RC-5 属于非对称加密算 法。这些算法中 SHA-1 与 MD5 是不能用来加密数据的,而 RSA 由于效率问题,一般不 直接用于明文加密,适合明文加密的,也就只有 RC-5 了。 8 假定用户 A 、B 分别在 I1 和 I2 两个 CA 处取得了各自的证书,()是 A 、B 互信的 必要条件。 A. A 、B 互换私钥 B. A 、B 互换公钥 C. I1、I2 互换私钥 D. I1、I2 互换公钥 答案:D 本题考查的是信息安全中的 CA 认证。题目难度较高,但用排除法来分析不难得出结论。 首先,在公钥体系中,交换私钥是无论什么情况下都绝对不允许发生的情况,所以 A 与 C
选项必然错误。余下的 B 与 D ,B 选项的做法没意义,要 AB 互信,其信任基础是建立在 CA 之上的,如果仅交 换 AB 的公钥并不能解决信任的问题。而 I1 与 I2 的公钥交换倒是可以做到互信,因为 I1 与 I2 的公钥正是验证 CA 签名的依据。所以本题应选 D 。 9SHA-1 是一种针对不同输入生成()固定长度摘要的算法。 A. 128 位 B. 160 位 C. 256 位 D. 512 位 答案:B 本题考查信息安全中的摘要算法,常用的消息摘要算法有 MD5,SHA 等,市场上广泛使 用的 MD5,SHA 算法的散列值分别为 128 和 160 位,由于 SHA 通常采用的密钥长度较 长,因此安全性高于 MD5。10 某软件公司项目组开发了一套应用软件,其软件著作权人 应该是()。 A. 项目组全体人员 B. 系统设计师 C. 项目负责人 D. 软件公司 答案:D 本题考查的是知识产权中著作权归属问题。由于应用软件是公司项目组开发的,这具备职 务作品的典型特性,所以软件著作权人应为软件公司。 11 计算机软件著作权的保护对象是指()。 A. 软件开发思想与设计方案 B. 软件开发者
系统架构设计师考试试题

系统架构设计师考试试题系统架构设计师考试试题及答案选择题1. 系统架构设计师负责的系统工程工作包括()A. 需求调研、分析和整理B. 系统设计、开发和测试C. 系统运维、监控和优化D. 系统规划、架构和设计答案:D2. 下列关于系统架构设计师的职责描述中,不正确的是()A. 负责系统的整体架构设计,包括系统规划、功能模块设计、接口设计等B. 负责系统开发过程中的技术难题攻关和关键技术验证C. 负责制定系统开发计划和进度安排,并监督开发团队按计划执行D. 负责系统的性能测试、安全测试和兼容性测试,确保系统稳定可靠答案:C3. 下列关于软件开发生命周期的描述中,不正确的是()A. 需求分析阶段需要确定系统的功能、性能等要求B. 设计阶段需要根据需求分析的结果,设计出系统的整体架构和各个模块的详细设计C. 编码阶段是根据设计结果,编写出符合要求的代码D. 测试阶段只需要进行单元测试和集成测试,不需要进行系统测试和验收测试答案:D4. 下列关于软件工程方法的描述中,不正确的是()A. 软件工程方法是软件开发和维护的工程化方法B. 软件工程方法强调使用结构化的方法进行软件开发和维护C. 软件工程方法不包括面向对象的方法D. 软件工程方法需要使用软件工具进行支持答案:C5. 下列关于软件架构的描述中,不正确的是()A. 软件架构是软件系统的高级结构,用于定义软件系统的整体结构和组织B. 软件架构的主要目的是为了解决软件系统中的复杂问题,提高软件系统的可维护性和可扩展性C. 软件架构的设计不需要考虑软件系统的性能和安全性D. 软件架构可以采用多种不同的风格和模式,如分层架构、事件驱动架构等答案:C。
2017年下半年下午 系统架构设计师 试题及答案与解析-软考考试真题-案例分析及论文
2017年下半年下午系统架构设计师考试试题-案例分析+论文-答案与解析试题一(共15分)【说明】阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3。
【说明】某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。
在系统的需求分析与架构设计阶段,用户提出的需求、质量属性描述和架构特性如下:(a)、系统用户分为高级管理员、数据管理员和数据维护员等三类;(b)、系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;(c)、正常负载情况下,系统必须在 0.5 秒内对用户的查询请求进行响应;(d)、对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;(e)、系统的用户名不能为中文,要求必须以字母开头,长度不少于5个字符;(f)、更改系统加密的级别将对安全性和性能产生影响;(g)、网络失效后,系统需要在 10 秒内发现错误并启用备用系统;(h)、查询过程中涉及到的桥梁与公路的实时状态视频传输必须保证画面具有1024*768的分辨率, 40帧 /秒的速率;(i)、在系统升级时,必须保证在 10 人月内可添加一个新的消息处理中间件;(j)、系统主站点断电后,必须在 3 秒内将请求重定向到备用站点;(k)、如果每秒钟用户查询请求的数量是 10 个,处理单个请求的时间为 30 毫秒,则系统应保证在 1秒内完成用户的查询请求;(l)、对桥梁信息数据库的所有操作都必须进行完整记录;(m)、更改系统的 Web 界面接口必须在 4 人周内完成;(n)、如果"养护报告生成"业务逻辑的描述尚未达成共识,可能导致部分业务功能模块规则的矛盾,影响系统的可修改性(O)、系统必须提供远程调试接口,并支持系统的远程调试。
在对系统需求,质量属性描述和架构特性进行分析的基础上,系统的架构师给出了三个候选的架构设计方案,公司目前正在组织系统开发的相关人员对系统架构进行评估。
系统架构设计师上午试题答案详解
系统架构设计师上午试题答案详解试题一:以下关于系统架构的描述,错误的是()。
A. 系统架构是系统组件之间的结构关系和交互关系B. 系统架构设计关注系统的整体性能、可扩展性、可维护性等质量属性C. 系统架构设计的主要目标是实现系统的功能性需求D. 系统架构设计应遵循模块化、分层、分而治之等设计原则答案:C解析:系统架构设计的主要目标不仅仅是实现系统的功能性需求,还包括满足系统的非功能性需求,如性能、可扩展性、可维护性等质量属性。
因此,选项C错误。
试题二:以下哪种架构风格适用于高并发、高可用性的系统设计?()A. 面向对象B. 事件驱动C. 分层D. 微服务答案:D解析:微服务架构风格适用于高并发、高可用性的系统设计。
微服务将系统拆分为多个独立、可扩展的服务,每个服务实现特定的功能,易于扩展和维护。
而面向对象、事件驱动和分层架构风格在高并发、高可用性方面表现不如微服务。
试题三:以下关于设计模式的描述,错误的是()。
A. 设计模式是解决特定问题的通用解决方案B. 设计模式可以提高代码的可复用性C. 设计模式可以提高系统的可维护性D. 设计模式可以降低系统的性能答案:D解析:设计模式是为了解决特定问题而总结出的一套通用解决方案。
使用设计模式可以提高代码的可复用性、可维护性,并且通常情况下不会降低系统的性能。
因此,选项D错误。
试题四:以下关于软件架构设计过程的描述,错误的是()。
A. 软件架构设计过程包括需求分析、系统设计、实现、测试等阶段B. 软件架构设计过程中,需求分析是关键阶段C. 软件架构设计过程中,系统设计阶段应关注系统的整体结构D. 软件架构设计过程中,实现阶段应关注代码的优化和重构答案:A解析:软件架构设计过程主要包括需求分析、架构设计、实现、测试等阶段。
其中,需求分析是关键阶段,用于确定系统的功能和性能需求。
系统设计阶段关注系统的整体结构,实现阶段关注代码的优化和重构。
因此,选项A错误。
以下是对部分试题的详细解析:1. 试题一解析:系统架构是系统组件之间的结构关系和交互关系,包括组件的划分、组件之间的关系以及组件之间的通信机制。
系统分析师2017年上午题(附答案)
系统分析师2017年上午题(附答案)●面向对象分析中,类与类之间的“IS-A”关系是一种(1),类与类之间的“IS-PART-OF”关系是一种(2)。
(1) A.依赖关系 B.关联关系 C.泛化关系 D.聚合关系(2) A.依赖关系 B.关联关系 C.泛化关系 D.聚合关系●面向对象动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。
其中,交互模型包括(3),其他行为模型还有(4)。
(3) A.顺序图和协作图B.顺序图和状态图C.协作图和活动图D.状态图和活动图(4) A.顺序图和协作图B.顺序图和状态图C.协作图和活动图D.状态图和活动图●关于设计模式,下列说法正确的是(5)。
(5) A.原型(Prototype)和模板方法(Template Method)属于创建型模式B.组合(Composite)和代理(Proxy)属于结构型模式C.桥接(Bridge)和状态(State)属于行为型模式D.外观(Façade)和中介(Mediator)属于创建型模式●三重DES加密使用2个密钥对明文进行3次加密,其密钥长度为(6)位。
(6) A.56 B.112 C.128 D.168●要对消息明文进行加密传送,当前通常使用的加密算法是(7)。
(7) A.RSA B.SHA-1 C.MD5 D.RC5●假定用户A、B分别在I1和I2两个CA处取得了各自的证书,(8)是A、B互信的必要条件。
(8) A.A、B互换私钥B.A、B互换公钥C.I1、I2互换私钥D.I1、I2互换公钥●SHA-1是一种针对不同输入法生成(9)固定长度摘要的算法。
(9) A.128位 B.160位 C.256位 D.512位●某软件公司项目组开发了一套应用软件,其软件著作权人应该是(10)。
(10)A.项目组全体人员B.系统设计师C.项目负责人D.软件公司●计算机软件著作权的保护对象是指(11)。
(11)A.软件开发思想与设计方案B.软件开发者C.计算机程序及其文档D.软件著作权权利人●下列关于计算机程序的智力成果中,能取得专利权的是(12)。
高级 系统架构设计师 2017 年 下半年 下午试卷 论文
全国计算机技术与软件专业技术资格(水平)考试高级 系统架构设计师 2017年 下半年 下午试卷 论文(考试时间 120 分钟)试题一 论软件架构风格软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
体系结构风格反应了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。
问题:1.1请围绕"论软件架构风格'论题,依次从以下三个方面进行论述。
1.概要叙述你参与分析和设计的软件系统开发项目以及你所担任的主要工作。
2..软件系统开发中常用的软件架构风格有哪些?详细阐述每种风格的具体含义。
3.详细说明你所参与分析和设计的软件系统是采用什么软件架构风格的,并分析采用该架构风格设计的原因。
试题二 论软件系统建模方法及其应用软件系统建模(SoftwareSystemModeling)是软件开发中的重要环节,通过构建软件系统模型可以帮助系统开发人员理解系统、抽取业务过程和管理系统的复杂性,也可以方便各类人员之间的交流。
软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁,系统开发人员按照软件系统模型开发出符合设计目标的软件系统,并基于该模型进行软件的维护和改进。
问题:2.1请围绕"论软件系统建模方法及其应用"论题,依次从以下三个方面进行论述。
1.概要叙述你参与的软件系统开发项目以及你所担任的主要工作。
2.说明软件系统开发中常用的建模方法有哪几类?阐述每种方法的特点及其适用 范围。
3. 详细说明你所参与的软件系统开发项目中,采用了哪些软件系统建模方法,具体实施效果如何。
试题三 论无服务器架构及其应用近年来,随着信息技术的迅猛发展和应用需求的快速更迭,传统的多层企业应用系统架构面临越来越多的挑战,已经难以适应这种变化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017年系统架构设计师案例分析试题加答案(6)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。
下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。
阅读以下关于结构化软件系统建模的叙述,在答题纸上回答问题。
希赛公司拟开发一个商业情报处理系统,使公司能够针对市场环境的变化及时调整发展战略,以获取最大的商业利益。
项目组经过讨论,决定采用结构化分析和设计方法。
在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的没计思路。
小张提出先构建系统流程图(SystemFlowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。
小李提出先构建系统数据流图(DataFlowDiagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图所示。
项目组经讨沦确定以数据流图作为本阶段的建模手段。
工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图的数据流图中存在的错误。
3、流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。
4、请分析指出图所示的数据流图中存在的错误及其原因,并针对图的1层数据流图绘制出情报分类子系统的0层数据流图。
5、高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。
请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。
参考答案3、数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。
流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。
两者的区别如下。
①数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。
②数据流图展现系统的数据流;流程图展现系统的控制流。
③数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。
④数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模阶段。
[解析]这是一道流程图与数据流图的试题,主要考查系统流程图与数据流图的区别、以及数据流图的基本应用。
主要考查系统流程图与数据流图的区别。
系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。
系统流程图表达的是部件的信息流程,而不是表示对信息进行加工处理的控制过程。
数据流图就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
①数据流图的主要作用数据流图从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。
具体来说,数据流图的主要作用如下。
·数据流图是理解和表达用户需求的工具,是需求分析的手段。
由于数据流图简明易懂,不需要任何计算机专业知识就可以理解它,因此,系统分析师可以通过数据流图与用户进行交流。
·数据流图概括地描述了系统的内部逻辑过程,是需求分析结果的表达工具,也是系统设计的重要参考资料,是系统设计的起点。
·数据流图作为一个存档的文字材料,是进一步修改和充实开发计划的依据。
②数据流图的基本符号在数据流图中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。
数据流是具有名字和流向的数据,在数据流图中用标有名字的箭头表示。
加工是对数据流的变换,一般用圆圈表示。
数据存储是可访问的存储信息,一般用直线段表示。
外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。
③数据流图的层次结构化方法的思路是依赖于数据流图进行自顶而下的分析。
这是因为系统通常比较复杂,很难在一张图上就将所有的数据流和加工描述清楚。
因此,数据流图提供一种表现系统高层和低层概念的机制。
也就是先绘制一张较高层次的数据流图,然后在此基础上,对其中的加工进行分解,分解成为若干个独立的、低层次的、详细的数据流图,而且可以这样逐一地分解下去,直至系统被清晰地描述出来。
·顶层图。
顶层图是描述系统最高层结构的数据流图,它的特点是将整个待开发的系统表示为一个加工,将所有的外部实体和进出系统的数据流都画在一张图中。
例如,下图就是一个顶层图的实例,=只不过在绘制时做了一些处理,使得它看上去更加直观易懂。
顶层图用来描述系统有什么输入和输出数据流,与哪些外部实体直接相关,可以把整个系统的范围勾画出来。
·逐层分解。
当完成了顶层图的建模之后,就可以在此基础上进行进一步的分解。
对图进行分解,在对原有流程了解的基础上,可以得到下图。
上图是在图的基础上做的第一次分解,而在图中只有一个加工,那就是系统本身,可以将其编号为0。
因此,对顶层图进行的分解,其实就是对这个编号为0的加工进行更细化的描述,在这里引入了新的加工和数据存储,为了能够区分其位于的级别,在这个层次上的加工将以1、2、3为序列进行编号。
正是由于这是对加工0的分解,因此也称为0层图。
可以根据需要对0层图上的加工进行类似的再分解,称之为1层图,在1层图中引入的新加工,其编号规则就是1.1、1.2、…,以及2.1、2.2、…,依次类推,直到完成分析工作。
④如何画数据流图数据流图的绘制是一个自项向下、由外到里的过程,通常按照以下几个步骤进行。
·画系统的输入和输出:在图的边缘标出系统的输入数据流和输出数据流。
这一步骤其实是决定研究的内容和系统的范围。
在画的时候,可以先将尽可能多的数据流画出来,然后再删除多余的,增加遗漏的。
·画数据流图的内部:将系统的输入、输出用一系列的处理连接起来,可以从输入数据流画向输出数据流,也可以从中间画出去。
·为每一个数据流命名:命名的好坏与数据流图的可理解性密切相关,应避免使用空洞的名字。
·为加工命名:使用动宾短语为每个加工命名。
每画好一张数据流图,就需要进行检查和修改,检查和修改的原则如下。
·数据流图中的所有图形符号只限于前述4种基本图形元素,图上每个元素都必须有名字。
·每个加工至少有一个输入数据流和一个输出数据流,而且要保持数据守恒。
也就是,一个加工的所有输出数据流中的数据必须能从该加工的输入流中直接获得,或者通过该加工能产生的数据。
一个加工的输出数据流不应与输入数据流同名,即使它们的组成完全相同。
·在数据流图中,需按层给加工编号。
编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。
·规定任何一个数据流图子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致,即父图与子图的平衡。
也就是说,父图中的某加工的输入/输出流必须与它的所有子图的输入/输出数据流在数量上和名字上相同。
值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。
·在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。
但是在某张子图中,可能只有读没有写,或者只有写没有读。
·可以在数据流图中加入物质流,帮助用户理解数据流图,但不可夹带控制流。
数据流图和流程图的区别主要表现在:数据流图用于系统的逻辑建模,而流程图用于物理建模。
数据流图展现的是全局处理过程,而流程图往往是局部的处理过程。
流程图是顺序执行的处理过程,即一个时间点,通常是处理一项事务,而数据流图的处理过程是并行的,多个处理流程同时进行。
数据流图展现的是系统数据流,而流程图展现的是系统控制流。
4、如图所示的数据流图中存在的错误有以下4种。
(1)“分类训练”加工:只有输入没有输出,产生数据黑洞。
(2)“分类处理”加工:有输出没有输入,无中生有。
(3)“规则文件”数据流:外部实体没有经过加工处理,直接进入数据存储。
(4)“配置信息”数据流:外部实体之间没有加工处理,存在直接数据流。
针对图的1层数据流图绘制出情报分类子系统的O层数据流图如图所示。
是找错误数据流以及根据低层数据流图来画高层数据流图。
在找错误数据流时,首先需要了解错误数据流的类型:一类是语法错误,包括外部实体之间、数据存储之间或外部实体与数据存储之间不经过加工而存在直接数据流;另一类是逻辑错误,包括数据黑洞(只有输入没有产生输出)、灰洞(输入不足以产生输出)和无输入。
·“分类训练”加工属于数据黑洞错误:·“分类处理”加工属于无输入错误;·“规则文件”和“配置信息”数据流属于语法错误。
对于复杂系统,一般采用分层数据流图逐步细化系统的内部处理逻辑。
0层数据流图是1层数据流图更高级别的抽象。
“分类训练”和“分类处理”加工属于内部加工,“分类规则”数据流属于内部数据流,抽象为“情报分类子系统”加工。
其中,“样本数据”、“规则文件”和“配置信息”为输入数据流;“分类结果”为输出数据流。
5、高质量数据流图设计时应考虑的三个原则如下。
(1)复杂性最小化原则。
数据流图分层结构就是把信息划分为小的且相对独立的一大批子集例子,这样就可以单独考查每一个数据流图。
如果要了解某个过程更加详细的信息,可以跳转到该过程的下一层;如果要知道一个数据流图如何与其他数据流图相关联,可以跳转到上一层的数据流图进行考查。
(2)接口最小化原则。
接口最小化是复杂性最小化的一种具体规则。
在设计模式时,应使得模型中各个元素之间的接口数或连接数最小化。
(3)数据流一致性原则。
一个过程和它的过程分解在数据流内容中是否有差别?是否存在有数据流出但没有相应的数据流入的加工?是否存在有数据流入但没有相应的数据流出的加工?属于纯概念题,高质量的数据流图首先要求满足数据流一致性要求,即数据流的输入/输出应该匹配,输入数据的信息量足以产生输出数据,所有的输出数据都能够从输入数据中找到数据的来源。
对于复杂性系统,可以采用数据流图分层结构将系统的复杂性逐步分解降低,以提高数据流图的有效性。
高质量的数据流图应该简化复杂的接口,最小化接口或连接的数目。