软件工程(六)-程序编码

需要学什么

1.什么是结构化程序设计?
2.什么是结构化程序设计的原则?
3.了解程序设计风格的要求?
4.了解程序设计语言的分类和特点/?
5.掌握度量程序复杂性的方法。

程序设计语言

一、程序设计语言的分类
1.可分为汇编语言和高级语言二大类
(1)机器语言、汇编
第一、第二代计算机用
(2)高级语言
同一个问题,高级语言编码可比汇编少3~7倍
按软件工程的分类,语言的发展大致分4代、3阶段

2.从语言的内在特征看,高级语言可分为系统实现语言、静态高级语言、块结构高级语言和动态高级语言四大类:
(1)系统实现语言
(2)静态高级语言
(3)块结构高级语言
(4)动态高级语言

二、语言的选择
1.应用领域的不同决定选择的语言
2.系统用户的要求决定
用户使用他们熟悉的语言
3.可以使用的编译程序
运行目标系统的环境中可以提供的编译程序往往限制了对语言的选择。
4.程序员的经验和知识(编程者对语言的熟悉程度)
5、软件可移植性要求
6.当工程规模很大时,而又没有完全合适的语言,可编一个专用的语言
7、算法与计算复杂性、软件的可靠性
8、数据结构的复杂性,软件的可维护性
9.效率的考虑
10.了解语言的发展前景
总之,选择语言的原则为:
(1)最少的工作量原则
(2)最少技巧性原则
(3)最少错误原则
(4)最少维护原则
(5)减少记忆原则

结构化程序设计

1.什么是结构化程序设计?
结构化程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。

2.结构化程序设计主要包括两方面:
(1)在编写程序时,强调使用集中基本控制结构。
(2)在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。

3.结构化程序设计的主要原则:
(1)使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。
(2)选用的控制结构只准许由一个入口和一个出口。
(3)复杂结构应该用基本控制结构进行组合嵌套来实现。

程序设计风格

一、什么是程序设计风格
程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等。在程序设计中要使程序结构合理、清晰,形成良好的编程习惯,对程序的要求不仅是可以在机器上执行,给出正确的结果,而且要便于程序的调试和维护,这就要求编写的程序不仅自己看得懂,而且也要让别人能看懂。

二、指导原则
1.源程序文档化
(1)标识符应按意取名。
(2)程序应加注释。
2.数据说明原则
(1).数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。例如按以下顺序:常量寿命、类型说明、全程量说明、局部量说明。
(2).一个语句说明多个变量时,各变量名按字典序排列。
(3).对于复杂的数据结构,要加注释,说明在程序实现时的特点。
3.语句构造原则
语句构造的原则是:简单直接,不能为了追求效率而使代码复杂化。
4.输入输出原则
输入和输出在编写输入和输出程序时考虑以下原则:
(1).输入操作步骤和输入格式尽量简单。
(2).应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息。
(3).输入一批数据时,使用数据或文件结束标志,而不要用计数来控制。
(4).交互式输入时,提供可用的选择和边界值。
(5).当程序设计语言有严格的格式要求时,应保持输入格式的一致性。
(6).输出数据表格化、图形化。
5.追求效率原则
指处理机时间和存储空间的使用,对效率的追求明确以下几点:
(1)效率是一个性能要求,目标在需求分析给出。
(2)追求效率建立在不损害程序可读性或可靠性基础上,要先使程序正确,再提高程序效率,先使程序清晰,再提高程序效率。
(3)提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构算法,而不是靠编程时对程序语句做调整。

程序设计质量评价

一、正确性
1、程序中没有语法错误‘
2、程序运行时没有发现明确的运行错误;
3、程序中没有不适当的语句;
4.用有效的测试数据,得到程序的正确结果;
5.用无效的测试数据,得到程序的正确结果;
6.用任何可能的数据,使程序在运行时得到正确的结果。

二、结构清晰性
1.是否用三种结构化格式表示程序逻辑
2.是否有一个入口,一个出口
3.是否严格控制GOTO语句
三、易修改行
四、易读性
五、简单性

程序复杂性度量

程序复杂性主要指模块内程序的复杂性。
一、方法
1.代码行度量法:
方法的基本考虑是统计一个程序模块的源代码行数目,并以源代码行数为程序复杂性的度量。
2.McCabe度量法
又称环路复杂性度量,是一种基于程序控制流的复杂性度量方法。
二、计算方法
1.计算环路复杂性的方法:
根据图论,在一个强连通的有向图G中,环的个数有以下公式给出
V(G)= m - n + p
其中,V(G)是有向图G中环路个数,m是图G弧数,n是图G中结点数,p是图G中强连通分量个数。
2.Halstead的软件科学:
Halstead软件科学研究确定计算机软件开发中的一些定量规律,它采用以下一组基本的度量值。
程序长令n1表示程序中不同运算符的个数,令n2表示程序中不同运算对象的个数,令H表示“程序长度”,则有
H = n1*log2n1+n2*log2n2
这里,H是程序长度的预测值,它不等于程序中语句个数。
三、计算
1.程序量V
可用下式得到:V = N 1* log2n
2.程序量比率L
L = V* /V
3.程序员工作量E
E = V / L
4.程序的潜在错误
Halstead度量可以用来预测程序中的错误。预测公式为
B= (N1 + N2) * log2(n1 + n2) /3000
B 为该程序的错误数
例如,一个程序对75个数据库项共访问1300次,对150个运算符共使用了1200次,那么预测该程序的错误数:
B = (1200+1300) * log2(75+150)/300 约等于6.5
即预测该程序中可能包含6~7个错误。

猜你喜欢

转载自blog.csdn.net/qq_41306240/article/details/82532993
今日推荐