软件工程—编码设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2) 输出设计 输出设计是围绕着如何有效使用输出信息而展开的。 输出设计是围绕着如何有效使用输出信息而展开的。其内容主要是指 输出系统的结构设计,而非输出信息的物理细节的设计。 输出系统的结构设计,而非输出信息的物理细节的设计。 系统处理信息输出的目的是供用户使用,其内容和格式应满足用户的 系统处理信息输出的目的是供用户使用,其内容和格式应满足用户的 使用要求。这是输出设计的核心所在。 核心所在 使用要求。这是输出设计的核心所在。 与输入设计类似,输出设计也从以下五个方面进行: 与输入设计类似,输出设计也从以下五个方面进行: * 用户对输出信息的使用要求的分析 * 信息分配方式的研究 * 信息介质化的研究 * 信息内容的研究 * 综合研究 输出设计的技术和原则: 输出设计的技术和原则: 文本输出是系统与用户通讯的最普遍的形式,其它如图形、图表、 文本输出是系统与用户通讯的最普遍的形式 ,其它如图形、图表、 声 视频等,也十分常见。 音、视频等,也十分常见。
5
(5) 代码设计的步骤 确定编码对象:确定系统中哪些信息应系统化、应提高效率、以及标准化。 * 确定编码对象:确定系统中哪些信息应系统化、应提高效率、以及标准化。 明确编码的目的:编码的目的是什么?确定识别、分类、 * 明确编码的目的:编码的目的是什么?确定识别、分类、排序等需要的重要 程度。 程度。 确定编码对象的代码个数:包括未来可能的扩充。 * 确定编码对象的代码个数:包括未来可能的扩充。 确定使用范围、期限:代码的涉众,各类涉众涉及的程度、使用的期限等。 * 确定使用范围、期限:代码的涉众,各类涉众涉及的程度、使用的期限等。 * 确定编码方式:编码的代码体系、代码的位数(长度)等。 确定编码方式:编码的代码体系、代码的位数(长度) * 完成代码设计书:完成代码编码规则,是否需要校验位等。 完成代码设计书:完成代码编码规则,是否需要校验位等。 编码:完成代码编码实体的赋值。 * 编码:完成代码编码实体的赋值。 完成代码手册(或辅助查询系统) 包括代码词典。 * 完成代码手册(或辅助查询系统):包括代码词典。 代码词典的记载内容主要有: 代码词典的记载内容主要有: * 表示数据与代码对应关系的代码表 * 代码用法及示例 修改代码的手续及规则。如代码管理部门、权限、修改手续、 * 修改代码的手续及规则。如代码管理部门、权限、修改手续、词典发放方法 及范围等。 及范围等。
输入设计方法: ② 输入设计方法: 主要从六个方面进行研究: 主要从六个方面进行研究: 信息的发生:主要指信息的编制目的、编制人、地点、周期等。 * 信息的发生:主要指信息的编制目的、编制人、地点、周期等。 * 信息的收集:将散落各处的原始数据收集起来。 信息的收集:将散落各处的原始数据收集起来。 研究内容:收集人、地点;收集方法、形式; 研究内容:收集人、地点;收集方法、形式;收集途径 信息的介质化:原始数据只有通过介质化才能输入计算机。因此, * 信息的介质化:原始数据只有通过介质化才能输入计算机。因此,信息介质化是研 究输入设计工作最关键、最核心的环节。 究输入设计工作最关键、最核心的环节。 信息输入:主要研究介质化后的信息如何输入到计算机中去。通常, * 信息输入:主要研究介质化后的信息如何输入到计算机中去。通常,输入介质决定 输入装置,反之亦然。 输入装置,反之亦然。 信息内容:即组成输入信息的数据项。 项目名、项目位数、项目内容等。 * 信息内容:即组成输入信息的数据项。如,项目名、项目位数、项目内容等。 综合研究:在系统允许的范围内,统一输入装置和介质的种类。 * 综合研究:在系统允许的范围内,统一输入装置和介质的种类。 ③ 输入设计的技术和原则 讨论这一问题的目的是为了让系统能更好的支持用户,以完成输入设计工作。 讨论这一问题的目的是为了让系统能更好的支持用户,以完成输入设计工作。 命令输入:由开发人员设计,让用户发出使系统执行一个指定功能的指令。 * 命令输入:由开发人员设计,让用户发出使系统执行一个指定功能的指令。命令必 须让用户好记、易懂、易用。 须让用户好记、易懂、易用。 数据输入:一种图形化输入方式。要求具有确认输入、交互动作、明确取消、 * 数据输入:一种图形化输入方式。要求具有确认输入、交互动作、明确取消、确认 删除、提供反馈、允许编辑、提供复原、自动格式化、 删除、提供反馈、允许编辑、提供复原、自动格式化、提示输入范围 8 等功能。 等功能。
软件工程
编码和软件界面设计
所谓“编码”,就是将在低级抽象层次得到的详细设计结果,翻译成用某种程序 所谓“ 编码” 就是将在低级抽象层次得到的详细设计结果, 设计语言书写的程序。是软件设计的自然结果。 设计语言书写的程序。是软件设计的自然结果。 编码是软件设计的继续。但是, 编码是软件设计的继续。但是,程序设计语言的特性和程序设计风格会很深刻的 影响软件的质量和可维护性、可测试性、可靠性等。 影响软件的质量和可维护性、可测试性、可靠性等。 而软件界面设计,不仅直接关系到软件的质量,更关系到软件受用户的欢迎程度 而软件界面设计, 不仅直接关系到软件的质量, 和软件的市场竞争力。 和软件的市场竞争力。 因此,从软件工程的角度来研究程序编码和软件界面设计就显得十分重要和必要。 因此,从软件工程的角度来研究程序编码和软件界面设计就显得十分重要和必要。
6
Baidu Nhomakorabea
I/O设计 2. I/O设计 (1) 输入设计 ① 输入的种类 目前,常用输入的种类主要有三类: 目前,常用输入的种类主要有三类: 集中输入:即将发生信息记录在源传票上,以一定时间单位把它们收集起来, * 集中输入:即将发生信息记录在源传票上,以一定时间单位把它们收集起来, 然后集中输入系统。 然后集中输入系统。 优点:集中进行信息介质化,节省人力;介质化设备效率高;费用省。 优点:集中进行信息介质化,节省人力;介质化设备效率高;费用省。 缺点:责任不易明确,错误不便检查,不够灵活。 缺点:责任不易明确,错误不便检查,不够灵活。 * 分散输入:信息的介质化在信息发生地进行,以一定时间周期将介质化的信息 分散输入:信息的介质化在信息发生地进行, 收集起来,输入系统。 收集起来,输入系统。 形式: 形式:脱机输入。如税务稽核系统
3
(3) 代码设计的原则 标准化:代码设计应尽可能使用国际、国家标准, * 标准化:代码设计应尽可能使用国际、国家标准,以便 于信息交换和维护。 于信息交换和维护。 唯一性:一个信息资料仅有一个代码,反之亦然。 * 唯一性:一个信息资料仅有一个代码,反之亦然。 可扩充性:要便于日后更新、扩充。 * 可扩充性:要便于日后更新、扩充。 合理性:应与信息资料的分类相适应。 * 合理性:应与信息资料的分类相适应。 简单性:结构简单、长度短、方便记忆和提高处理效率。 * 简单性:结构简单、长度短、方便记忆和提高处理效率。 规范性:代码结构、类型、缩写格式必须统一。 * 规范性:代码结构、类型、缩写格式必须统一。 适应性:代码应尽可能反映信息资料的特点。 * 适应性:代码应尽可能反映信息资料的特点。
4
(4) 代码种类 顺序码:按数字或字母组合的次序作为代码使用。 * 顺序码:按数字或字母组合的次序作为代码使用。 票据号、房间号等。 如:票据号、房间号等。 信息块码:一个代码由若干信息块组成。 * 信息块码:一个代码由若干信息块组成。 如:电话号码、身份证代码等。 电话号码、身份证代码等。 归组分类码:将代码对象按一定标准分类, * 归组分类码:将代码对象按一定标准分类,然后在各组分配顺序代 码。 如:机构性质分类 助记码:将信息数据的名称适当压缩组成代码,有利记忆。 * 助记码:将信息数据的名称适当压缩组成代码,有利记忆。 产品代码。 如:产品代码。 数字式字符码:按规定方式,将字符由数字表达所形成的代码。 * 数字式字符码:按规定方式,将字符由数字表达所形成的代码。 ASCII码 汉字编码等。 如: ASCII码、汉字编码等。 合成码:上述几种代码形式的组合编码。 * 合成码:上述几种代码形式的组合编码。 汽车号牌等。 如:汽车号牌等。
联机输入。如联机购票系统 分散处理输入。信息介质化后先做部分处理工作。如人口普查系统 信息介质化后先做部分处理工作。
优点:责任分明,易于对策错误;灵活。 优点:责任分明,易于对策错误;灵活。 缺点:人力及设备利用率不高,费用较高。 缺点:人力及设备利用率不高,费用较高。 分散输入(源数据输入方式) * 分散输入(源数据输入方式):信息的介质化工作采用手工书写的方式进行介质 7 化。如,标准化考试。 标准化考试。
一. 软件界面设计
基本内容包括:代码设计、I/O设计、用户界面设计和软件安全性设计。 基本内容包括:代码设计、I/O设计、用户界面设计和软件安全性设计。 设计 1. 代码设计 代码设计的目的是将冗余度很大的自然语言变换为适合计算机处理、较简单、 代码设计的目的是将冗余度很大的自然语言变换为适合计算机处理、较简单、无 二义性的形式,以提高系统的处理效率和操作性能。 二义性的形式,以提高系统的处理效率和操作性能。 软件系统尤其是信息处理系统所使用的代码涉及面广,体系复杂,数量很大。 软件系统尤其是信息处理系统所使用的代码涉及面广,体系复杂,数量很大。因 必须从系统整体出发,综合考虑,精心设计。必要时,应建立相应的代码词典, 此,必须从系统整体出发,综合考虑,精心设计。必要时,应建立相应的代码词典 , 以记载代码与数据之间的对应关系,便于使用和查询。同时, 以记载代码与数据之间的对应关系,便于使用和查询。同时,还应对代码体系加以严 格管理,建立相应的管理程序,方便对代码的整、 查等的处理。 格管理,建立相应的管理程序,方便对代码的整、删、改、查等的处理。 1
(1) 代码功能
代码按使用的目的,有识别、分类、排序数据等三项基本功能。 代码按使用的目的,有识别、分类、排序数据等三项基本功能。 一般情况下,一个数据记录中可能有若干项使用代码。 一般情况下,一个数据记录中可能有若干项使用代码。因此可以根据应 用的需要,选择其中一个识别码为主Key 其余n个识别码作为付Key Key, Key。 用的需要,选择其中一个识别码为主Key,其余n个识别码作为付Key。 133如某手机号码: 如某手机号码: 133-571 00001 运 地 网 营 区 内 商 识 顺 识 别 序 别 码 码 码 再如某同学身份证号码: 再如某同学身份证号码:33 01 01 19850101 001 X 省 地 县 出 居 校 份 区 域 生 住 验 识 识 识 年 区 码 别 别 别 月 顺 码 码 码 日 序 码 具体使用时,可以根据应用需要选择某项为主Key 其余的就为付Key 2 Key, Key。 具体使用时,可以根据应用需要选择某项为主Key,其余的就为付Key。
(2) 代码性质 代码有四条性质: 代码有四条性质: 简洁性:用简洁代码表示信息冗余度高的数据,以节约空间,消除二义性。 * 简洁性:用简洁代码表示信息冗余度高的数据,以节约空间,消除二义性。 如描述学校中某同学可以用自然语言,某年级、某系、某专业、某班、 如描述学校中某同学可以用自然语言,某年级、某系、某专业、某班、 某同学。 某同学。 如果采用代码的话,就很简洁了,如上述各项均为2位数的话, 如果采用代码的话 , 就很简洁了 , 如上述各项均为 2 位数的话 , 前文 罗嗦的自然语言描述可以简化为:0307020111。 罗嗦的自然语言描述可以简化为:0307020111。 保密性:编码规则仅对相关人员开放。 * 保密性:编码规则仅对相关人员开放。 如军事上使用的密码。 如军事上使用的密码。 通融性:代码设计时留有扩充的余量。 * 通融性:代码设计时留有扩充的余量。 如目前使用的汽车号牌代码设计时,就充分考虑了扩充的可能。 如目前使用的汽车号牌代码设计时,就充分考虑了扩充的可能。 以杭州市区的汽车号牌浙A·xxxxx为例 原后5位采用全数字。 为例, 例 : 以杭州市区的汽车号牌 浙 A·xxxxx 为例 , 原后 5 位采用全数字 。 用完后, 其中某位改用字母 以扩充号牌码段的数量。目前,号牌为浙 某位改用字母, 用完后,在其中某位改用字母,以扩充号牌码段的数量。目前,号牌为浙 A·xXxxx或 A·xxXxx。以后,还可以将某2位或多位改用字母, A·xXxxx 或 浙 A·xxXxx 。 以后 , 还可以将某 2 位或多位改用字母 , 进一步 扩充号牌码段的数量。 扩充号牌码段的数量。 持久性:设计时即考虑稳定使用。 * 持久性:设计时即考虑稳定使用。 公民身份证是典型的反面例子。 公民身份证是典型的反面例子。