软考中级软件设计师----结构化开发

1.模块独立性

1.1 耦合

        用于衡量模块间连接紧密程度,取决于接口复杂程度、调用方式和信息类型。有以下几个类型。

  • 无直接耦合:模块间无直接关系,耦合性最弱。
  • 数据耦合:有调用关系,传递简单数据值。
  • 标记耦合:传递数据结构
  • 控制耦合:传递控制变量,被调用模块(具有多个功能)有选择地执行功能。
  • 外部耦合:通过软件外环境联结。
  • 公共耦合:通过公共数据环境相互作用。
  • 内容耦合:直接使用另一个模块内部数据或转入内部,或通过非正常入口转入另一个模块内部时。

1.2内聚

        用于衡量模块内部元素结合紧密程度,理想模块只做一件事。类型有:

  • 偶然内聚(巧合内聚):模块内各处理元素无联系。
  • 逻辑内聚:执行若干逻辑相似功能,通过参数确定具体功能。
  • 时间内聚:将同时执行的动作组合。
  • 过程内聚:完成多个按指定过程执行的任务。
  • 通信内聚:处理元素在同一数据结构上操作,或使用相同输入 / 产生相同输出数据
  • 顺序内聚:处理元素紧密相关且顺序执行,前一功能输出是下一功能输入
  • 功能内聚:最强内聚,所有元素共同完成一个功能,缺一不可。

2.系统分析与设计

1.系统分析概述

        是一种问题求解技术,将系统分解以研究各部分工作与交互,目的是让项目团队更全面理解问题和需求,侧重业务问题方面。

2.系统结构设计原则

  • 分解 - 协调原则:把系统分解为小问题处理,并协调各部分关系。
  • 自顶向下原则:先确定上层模块功能,再逐层确定下层模块功能。
  • 信息隐蔽、抽象原则:上层模块规定下层模块做什么,不规定怎么做,保证模块独立性。
  • 一致性原则:保证软件设计过程规范、标准和文件模式统一。
  • 明确性原则:模块功能和接口明确,消除多重功能和无用接口。
  • 低耦合、高内聚原则:降低模块间耦合,提高模块内聚度。
  • 扇入扇出系数合理原则:模块扇入、扇出系数要适当,平均通常为 3 或 4 ,一般不超 7。
  • 规模适当原则:模块规模要适中,避免过大或过小。
  • 作用范围原则:模块作用范围应在其控制范围内。

3.系统文档

  • 用户与系统分析人员:在系统规划和系统分析阶段,通过可行性研究报告、总体规划报告、系统开发合同和系统方案说明书等文档进行沟通,用户可据此评价系统分析师对需求的理解是否正确并进行修正。
  • 系统开发人员与项目管理人员:在项目期内,通过系统开发计划(如工作任务分解表、PERT 图、甘特图和预算分配表等)、系统开发月报以及系统开发总结报告等项目管理文件进行沟通,有助于不同阶段开发人员工作交接,降低人员流动带来的风险,方便接替人员理解前任的设计或开发思路。
  • 系统测试人员与系统开发人员:系统测试人员依据系统方案说明书、系统开发合同、系统设计说明书和测试计划等文档对开发的系统进行测试,并将评估结果撰写成系统测试报告 。
  • 系统开发人员与用户:在系统运行期间,用户通过用户手册和操作指南等文档来运行系统,以此与开发人员沟通。
  • 系统开发人员与系统维护人员:通过系统设计说明书和系统开发总结报告(可能细分 为研制报告、技术报告和技术手册)沟通,方便维护人员进行系统维护与升级。
  • 用户与维修人员:在运行维护期间,用户记录系统运行问题形成系统运行报告和维护修改建议,维修人员依据这些及技术手册等文档对系统进行维护和升级。

4.数据流图

        数据流图也称数据流程图(Data Flow Diagram,DFD),是一种便于用户理解、分析系统数据流程的图形工具。它摆脱了系统的物理内容,在逻辑上精确描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。

        顶层数据流图(父图)是对整个系统的高度抽象表示,它将整个待开发的系统看作一个大的加工,描述了系统的输入输出、外部实体以及连接他们的数据流。

        底层数据流图(子图)对顶层数据流图中的加工进行逐步细化,进一步分解为多个子加工,并描述这些子加工之间的数据流动关系。

4.1数据流图的基本图形元素

4.1.1外部实体

        外部实体是指当前系统之外的人、物、外部系统。具体举例如下:

  • :包括学生、老师、员工、客户、供应商等与系统交互的个体角色。
  • :像传感器、控制器、单车、车辆、采购部门等物理实体或组织部门,它们可以向系统提供数据或接收系统输出的数据 。
  • 外部系统:例如支付系统、车辆交易系统、库存管理系统、道闸控制系统等其他软件系统,这些系统与当前所讨论的系统进行数据交互。
4.1.2数据存储

        用于存储数据和提供数据,具体是存储加工的输出数据,并为加工提供输入数据。

  • 示例:客户表、订单表、学生表、巴士列表文件、维修记录文件、课表文件等,这些都是数据存储的具体实例 ,体现了数据存储在实际系统中的应用形式。
4.1.3加工

        将输入数据处理后得到输出数据。

        一个加工至少有一个输入数据流和一个输出数据流。        

  • 黑洞:加工只有输入没有输出。
  • 白洞:加工只有输出没有输入。
  • 灰洞:加工的输入数据不足以产生输出数据
4.1.4数据流

        由一组固定成分的数据组成,表示数据的流向

  • 流向类型
    • 从一个加工流向另一个加工。
    • 从加工流向数据存储(写操作)。
    • 从数据存储流向加工(读操作)。
    • 从外部实体流向加工(输入)。
    • 从加工流向外部实体(输出)。
  • 关键规则数据流的起点或终点必须有一个是加工。

4.2父图子图平衡

  • 定义:在数据流图(DFD)中,父图和子图之间需要保持平衡。父图是对系统或某个模块的抽象描述,子图则是对父图中某个加工进一步细化的结果。父图子图平衡意味着子图的输入输出数据流必须与父图中对应加工的输入输出数据流一致。
  • 示例:假设父图中有一个加工 “订单处理” ,它有两个输入数据流 “客户订单信息” 和 “库存信息” ,一个输出数据流 “订单处理结果”。那么在对 “订单处理” 这个加工进行细化得到的子图中,子图的所有输入数据流必须是 “客户订单信息” 和 “库存信息” ,输出数据流必须是 “订单处理结果” 。虽然子图内部可能有更复杂的处理过程和更多的数据流,但对外的输入输出要和父图保持一致。

4.3加工既有输入数据也有输出数据

  • 原则要求:在数据流图的加工中,每个加工都应该既有输入数据又有输出数据,这是加工的基本要求。如前面提到,一个加工只有输入没有输出被称为 “黑洞” ,只有输出没有输入被称为 “白洞” ,输入数据不足以产生输出数据被称为 “灰洞” ,这些情况在合理的数据流图中都是不允许出现的。
  • 示例:以 “数据计算” 这个加工为例,它需要输入原始数据(如一些数值、参数等) ,经过内部的计算逻辑处理后,输出计算结果(如计算后的数值、报表等)。如果一个加工只有输入没有输出,就无法明确该加工对数据的处理结果和作用;如果只有输出没有输入,那么数据的来源就不明确,不符合数据处理的逻辑。

4.4数据守恒

  • 定义:数据守恒指在数据流图中,对任何一个加工来说,其所有输入数据流中的数据总量应等于输出数据流中的数据总量。也就是说,在数据处理过程中,数据不会凭空产生或消失,只是进行了变换和流动。

  • 原理依据:这一原则基于现实世界中数据的实际处理逻辑。在实际的业务流程和系统功能实现中,数据从输入到输出的过程中,虽然可能经过各种计算、转换、筛选等操作,但数据的总量(从信息的角度理解)是保持不变的。例如,在一个销售订单处理系统中,输入的订单信息包含客户名称、商品数量、价格等数据,经过订单审核、库存检查、价格计算等一系列加工后,输出的发货单、发票等数据所包含的信息总量应该与最初输入的订单信息总量相等,只是数据的形式和组织方式发生了变化。

5.数据字典

        数据字典是在数据流图的基础上,对其中的每个数据流、数据存储、加工以及组成数据流或数据存储的数据项进行详细定义的工具。

5.1组成内容

  • 数据项条目:是数据的最小单位(不可再分解),对数据项的定义包括数据项的名称、编号、别名、数据类型、长度、取值范围等。
  • 数据流条目:由一个或多个数据项组成,对数据流的定义包括数据流的名称、编号、来源、去向、组成等。

  • 数据存储条目:用于存储数据的文件或数据库表,对数据存储的定义包括数据存储的名称、编号、存储结构、记录类型、关键字等。
  • 加工条目:对数据进行处理的过程,对加工的定义包括加工的名称、编号、输入数据流、输出数据流、处理逻辑等。

5.2数据词典的管理

        数据词典管理是对数据词典进行维护、更新和优化,以确保其准确性、完整性和一致性的过程。

5.3加工逻辑的描述

        也称“小说明”,有以下三种:

  • 结构化语言

        是一种介于自然语言和形式化语言之间的半形式化语言 ,是自然语言的一个受限子集。

  1. 外层:语法严格,用于描述控制结构,采用顺序、选择和重复 3 种基本结构。其中顺序结构由祈使语句、选择语句、重复语句顺序排列(祈使语句包含一个动词及一个名词 ,指出动作及对象);选择结构常用 IF - THEN - ELSE - ENDIF、CASE - OF - ENDCASE 等关键词;重复结构常用 DO - WHILE - ENDDO、REPEAT - UNTIL 等关键词。
  2. 内层:语法较灵活,一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,动词含义具体,少用形容词和副词修饰,还可使用简单的算法运算和逻辑运算符号。
  • 判断表(决策表)

        一种以表格形式表达复杂逻辑关系的工具,用于描述在多种条件组合下,应采取的不同动作。它由条件桩、条件项、动作桩和动作项四部分组成。

  • 判断树(决策树)

        用树形图来表示加工逻辑的一种工具,它从根节点开始,根据不同的条件分支,逐步延伸到叶节点,每个叶节点表示一种最终的动作。

课外补充:界面设计的三条黄金准则:

  1. 置界面于用户的控制之下
  2. 减少用户的记忆负担
  3. 保持界面的一致性

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值