软件工程编码设计.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
四.编码风格(4/5)
6.程序清晰与效率之间的关系 1.处理程序正确性、清晰与效率之间的关系时的 原则: (1)先求正确后求快; (2)先求清楚后求快; (3)求快不忘保持程序正确; (4)保持程序简单以求快; (5)书写清楚,不为“效率”牺牲清晰。
11
四.编码风格(5/5)
2.在清晰与效率之间的取舍
(3)如果设计时使用了复杂的数据结构,应在注解中说明在程序设计语言中实现 这个数据结构的方法。 3.使用标准的控制结构(单入口/单出口),确保源程序清晰可读。
8
四.编码风格(2/5)
4.语句的构造简单明了 (1)不要为了节省空间将多个语句写在同一行; (2)尽量避免复杂的条件及“非”条件的测试; (3)避免大量使用循环嵌套和条件嵌套; (4)使用括号使逻辑表达式和算术表达式的运算顺 序清晰直观。
6
三程序设计语言(3/3)
三.程序设计语言的选择 1.为用户熟悉、便于用户维护的语言。 2.运行目标系统的环境中可以提供的编译程序所能选用的语言。 3.根据可以得到的软件工具,能在支持程序开发中可以利用的语言。 4.根据工程规模的大小、目标系统应用范围选择专用的语言 5.程序员熟悉的语言。 6.标准化程度高、程序可移植性好的语言。 7.根据算法与计算的复杂性、数据结构的复杂性。 8.根据实时要求系统需要的响应速度和效率。
单出口的控制结构,有规律地使用GOTO语句。 4.提倡源代码文档化。 5.程序的输入和输出应充分考虑运行工程学的要求,在满足数据可
靠性的前提下,尽量作到对用户友好。 6.了解各种语言的主要特点,以便根据问题的需要,合理的选择适
当的编码语言。 7.编码工具对提高编程的速度和效率是不可缺少的。
13
谢谢 大家
按软件工程的观点,语言的发展大致可分为四代、三个阶段。如图:
面向机器 的语言
高级语言 (第三代)
甚高级 语言
机器语言 汇编语言 基础 现代 专用 第四代 (第一代) (第二代) 语言 语言 语言 语言
5
三程序设计语言(2/3)
二.程序设计语言的特点
1.名字说明:程序中使用对象的名字,能为编译程序所检查和识别; 2.类型说明:定义对象的类型,确定该对象的使用方式; 3.初始化:为变量提供适当的初始值或由系统给变量赋一特殊的表明尚未初始化 的值;4.程序对象的局部性:程序中真正需要的那部分才能访问的对象; 5.程序模块:控制程序对象的名字; 6.循环控制结构:如FOR语句、WHILE-DO语句、REPEAT-UNTIL语句等; 7.分支控制结构:如IF语句、CASE语句等; 8.异常处理:为程序运行过程中发生的错误和意外事件提供检测和处理上的帮助 9.独立编译:能分别编译各个程序单元。
14
编码要 求
清晰第一 (对大多数模块)
用单入/出口保证控制流的直线 性
用限制GOTO 保证控制流的局 限性
效率第一 (对个别模块)
用GOTO 与其它技巧消除重复编 码
12
小结
1.编码的目的是把详细设计的结果翻译成用选定语言书写的源程序。 2.程序的质量主要是由设计的质量决定的。但是,编码的风格和使
用的语言,对编码质量也有重要的影响。 3.良好的编码风格,应该以结构程序设计原则为指导,使用单入口、
9
四.编码风格(3/5)
5.输入/输出
(1)对所有输入数据都要进行校检,防止对程序的有意或无意的破坏; (2)检查输入项重要组合的合法性,剔除模糊的输入值; (3)输入格式力求简单、一致,并尽可能采用自由格式输入; (4)使用数据结束或文件结束标志来终止输入,不要让用户来计算输入的项数或记录 数; (5)向用户明确提示“请输入”的提示信息,同时说明允许的选择范围和边界值; (6)所有输出的报表、报告具有良好的格式; (7)标志所有的输出数据,加以必要的说明; (8)对于具有大量人-机交互的系统,能对用户提供“在线”帮助,对产生重要后果 的请求给出醒目的提示,发生错误时能迅速恢复正常。
7
四. 编码风格(1/5)
编码风格也称程序设计风格,应遵循如下规则: 1.程序内部的文档:应包括适当的标识符、适当的注解、程序清单的合理布局与 清晰的程序层次结构。 2.数据说明: (1)按照数据结构或数据类型确定的说明次序做到标准化;
(2)变量名称尽量有意义,虽然有时字符串长一些,但这样可提高程序的可读性。 当多个变量名字在一个语句中说明时,应按字母次序排列;
致性,容易进行测试和维护; 3.源程序的清晰与效率之间常存在矛盾,要求清晰性好的程序
一般效率较低,而要求效率高的程序一般清晰性较差。对于 大多数模块,编码时应该把简明清晰放在第一位。 4.除了编码阶段产生源代码外,在测试阶段也需要编写一些测 试程序,用于对软件的测试。
4
三程序设计语言(1/3)
一.程序设计语言的发展
软件编码
姓名:周宁 班级:计研131
目录
1.编码的目的 2.源程序的要求 3.程序设计语言 4.编码风格 5.小结
2
一.编码的目的
使用选定的程序设计语言,把模块的过程性描述翻译为 用语言书写的源程序(源代码)。
模块的过程性描述 (不可执行的)
编码
源程序 (可执行的)
3ຫໍສະໝຸດ Baidu
二源程序的要求
1.源程序的正确性是对程序质量的最基本要求; 2.源程序的简明清晰,才便于验证源代码和模块规格说明的一
四.编码风格(4/5)
6.程序清晰与效率之间的关系 1.处理程序正确性、清晰与效率之间的关系时的 原则: (1)先求正确后求快; (2)先求清楚后求快; (3)求快不忘保持程序正确; (4)保持程序简单以求快; (5)书写清楚,不为“效率”牺牲清晰。
11
四.编码风格(5/5)
2.在清晰与效率之间的取舍
(3)如果设计时使用了复杂的数据结构,应在注解中说明在程序设计语言中实现 这个数据结构的方法。 3.使用标准的控制结构(单入口/单出口),确保源程序清晰可读。
8
四.编码风格(2/5)
4.语句的构造简单明了 (1)不要为了节省空间将多个语句写在同一行; (2)尽量避免复杂的条件及“非”条件的测试; (3)避免大量使用循环嵌套和条件嵌套; (4)使用括号使逻辑表达式和算术表达式的运算顺 序清晰直观。
6
三程序设计语言(3/3)
三.程序设计语言的选择 1.为用户熟悉、便于用户维护的语言。 2.运行目标系统的环境中可以提供的编译程序所能选用的语言。 3.根据可以得到的软件工具,能在支持程序开发中可以利用的语言。 4.根据工程规模的大小、目标系统应用范围选择专用的语言 5.程序员熟悉的语言。 6.标准化程度高、程序可移植性好的语言。 7.根据算法与计算的复杂性、数据结构的复杂性。 8.根据实时要求系统需要的响应速度和效率。
单出口的控制结构,有规律地使用GOTO语句。 4.提倡源代码文档化。 5.程序的输入和输出应充分考虑运行工程学的要求,在满足数据可
靠性的前提下,尽量作到对用户友好。 6.了解各种语言的主要特点,以便根据问题的需要,合理的选择适
当的编码语言。 7.编码工具对提高编程的速度和效率是不可缺少的。
13
谢谢 大家
按软件工程的观点,语言的发展大致可分为四代、三个阶段。如图:
面向机器 的语言
高级语言 (第三代)
甚高级 语言
机器语言 汇编语言 基础 现代 专用 第四代 (第一代) (第二代) 语言 语言 语言 语言
5
三程序设计语言(2/3)
二.程序设计语言的特点
1.名字说明:程序中使用对象的名字,能为编译程序所检查和识别; 2.类型说明:定义对象的类型,确定该对象的使用方式; 3.初始化:为变量提供适当的初始值或由系统给变量赋一特殊的表明尚未初始化 的值;4.程序对象的局部性:程序中真正需要的那部分才能访问的对象; 5.程序模块:控制程序对象的名字; 6.循环控制结构:如FOR语句、WHILE-DO语句、REPEAT-UNTIL语句等; 7.分支控制结构:如IF语句、CASE语句等; 8.异常处理:为程序运行过程中发生的错误和意外事件提供检测和处理上的帮助 9.独立编译:能分别编译各个程序单元。
14
编码要 求
清晰第一 (对大多数模块)
用单入/出口保证控制流的直线 性
用限制GOTO 保证控制流的局 限性
效率第一 (对个别模块)
用GOTO 与其它技巧消除重复编 码
12
小结
1.编码的目的是把详细设计的结果翻译成用选定语言书写的源程序。 2.程序的质量主要是由设计的质量决定的。但是,编码的风格和使
用的语言,对编码质量也有重要的影响。 3.良好的编码风格,应该以结构程序设计原则为指导,使用单入口、
9
四.编码风格(3/5)
5.输入/输出
(1)对所有输入数据都要进行校检,防止对程序的有意或无意的破坏; (2)检查输入项重要组合的合法性,剔除模糊的输入值; (3)输入格式力求简单、一致,并尽可能采用自由格式输入; (4)使用数据结束或文件结束标志来终止输入,不要让用户来计算输入的项数或记录 数; (5)向用户明确提示“请输入”的提示信息,同时说明允许的选择范围和边界值; (6)所有输出的报表、报告具有良好的格式; (7)标志所有的输出数据,加以必要的说明; (8)对于具有大量人-机交互的系统,能对用户提供“在线”帮助,对产生重要后果 的请求给出醒目的提示,发生错误时能迅速恢复正常。
7
四. 编码风格(1/5)
编码风格也称程序设计风格,应遵循如下规则: 1.程序内部的文档:应包括适当的标识符、适当的注解、程序清单的合理布局与 清晰的程序层次结构。 2.数据说明: (1)按照数据结构或数据类型确定的说明次序做到标准化;
(2)变量名称尽量有意义,虽然有时字符串长一些,但这样可提高程序的可读性。 当多个变量名字在一个语句中说明时,应按字母次序排列;
致性,容易进行测试和维护; 3.源程序的清晰与效率之间常存在矛盾,要求清晰性好的程序
一般效率较低,而要求效率高的程序一般清晰性较差。对于 大多数模块,编码时应该把简明清晰放在第一位。 4.除了编码阶段产生源代码外,在测试阶段也需要编写一些测 试程序,用于对软件的测试。
4
三程序设计语言(1/3)
一.程序设计语言的发展
软件编码
姓名:周宁 班级:计研131
目录
1.编码的目的 2.源程序的要求 3.程序设计语言 4.编码风格 5.小结
2
一.编码的目的
使用选定的程序设计语言,把模块的过程性描述翻译为 用语言书写的源程序(源代码)。
模块的过程性描述 (不可执行的)
编码
源程序 (可执行的)
3ຫໍສະໝຸດ Baidu
二源程序的要求
1.源程序的正确性是对程序质量的最基本要求; 2.源程序的简明清晰,才便于验证源代码和模块规格说明的一