- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程,教学资料软件工程,教学资料软件工程,教学资料
第6章 软件编码实现及系统实施
6.1编码实现
6.1.1 编程语言种类
6.1.2程序设计语言的特点
6.1.3 选择编程语言的依据
6.1.4 编码规范要求
6.1.5 编程风格与质量
6.1.6 算法和数据结构对程序设计的影响
6.1.7 程序排错
6.1.1 编程语言种类
1.低级语言
低级语言包括第一代机器语言与汇编语言,它们是直接面向机器的语言。
2.高级语言
(1)传统高级语言
(2)结构化高级语言
(3)面向对象高级语言
3.第四代语言(4GL)
第四代语言(4GL)是指一些面向问题的高级语言,例如SQL结构化数据查询语言。同其他人工语言一样,第四代语言也用不同的文法表示程序结构和数据结构,但是第四代语言是在更高一级抽象的层次上表示这些结构,它不再需要规定程序算法细节。
具体地讲包括:
1.名字说明
2.类型说明
3.初始化
4.程序对象的局部性
5. 程序模块
6.循环控制结构
7.分支控制结构
6.1.2程序设计语言的特点
6.1.3 选择编程语言的依据
通常情况下,高级语言比汇编语言具有更大的优势。
高级语言需要从软件问题技术角度、工程角度以及程序员心理学角度等多个方面对程序设计语言进行评价,比较各种语言的适用程度,考虑语言的现实可能性等。
(l)软件项目的应用领域。
(2)软件问题的算法复杂性。
(3)软件的工作环境。
(4)软件在性能上的需要。
(5)软件中数据结构的复杂性。
(6)软件开发人员的知识水平和心理因素等。
在以上因素中,项目的应用领域是需要着重考虑的最关键因素。
6.1.4 编码规范要求
1.基本要求
2.可读性要求
3.正确性与容错性要求
4.可重用与可移植性要求
6.1.5 编程风格与质量
1.源程序文档化
2.数据说明
3.语句构造
4.输入与输出
5. 效率
6.1.6 算法和数据结构对程序设计的影响
1.算法
使用需要平衡执行时间与设计的质量、标准、需求之间的关系,尤其避免为了速度而牺牲程序的清晰性和正确性。如果速度真的很重要,则要学习如何优化代码,否则可能适得其反。
2.数据结构
数据结构式数据的各个元素之间逻辑关系的一种表示,数据与程序是密不可分的,如果采用的数据结构不同,底层的处理算法也不同。数据结构设计应确定数据的组织、存取方式,相关程度,以及信息的不同处理方式。
在编码过程中,为了对数据进行很好的处理,需要对数据的格式和存储进行安排,程序中如何通过数据结构来组织程序的技术有很多,原则就是尽可能保持程序的简单。
6.1.6 算法和数据结构对程序设计的影响
例如在计算个人所得税的程序中,计算税率的要求如下:
收入低于10000元部分,扣税10%;
收入的10000到20000部分,扣税12%;
收入的20000到30000部分,扣税15%;
收入的30000到40000部分,扣税18%;
收入超过40000元部分,扣税20%;
6.1.6 算法和数据结构对程序设计的影响
6.1.7 程序排错
1.排错系统
2.可重现的错误
3.不可重现的错误
6.2程序的复杂性及度量
程序算法复杂性主要指模块内程序的复杂性,它直接关系到软件开发费用的多少,开发周期的长短和软件内部潜伏错误的多少等。同时它也是软件可理解性的另一种度量。而通过定量度量程序的复杂程度,可以估算出软件中故障的数量以及软件开发需要用的工作量,并且还可以通过定量度量结果,比较两个不同的设计或两个不同算法的优劣。
6.2.1 影响程序工作效率的因素
1.评估程序效率时需要遵循的准则
2.对程序运算速度的考虑
3.对存储器效率的考虑
4.对输入、输出效率的考虑
6.2.2代码行度量法
1.源代码行
交付的可运行软件中有效的源程序代码行数。
2.工作量
工作量是指完成一项任务所需的程序员平均工作时间,其单位可以使人月(PM),人年(PY)或者人日(PD)。
3.软件生产率
开发全过程中单位劳动量能够完成的平均软件数量。
软件生产率不仅可以用于成本估计,也可以用于软件计划的进度估计。行代码估算方法是比较简单的定量估算方法。通常根据经验和历史数据估计系统实现后的各功能的源代码行数,然后用每行代码的平均成本相乘即得软件功能成本估计。每行代码的平均成本取决于软件复杂度和开发人员的工资水平。如果用软件生产率相乘,则得预期开发期,进行功能或者任务分解,则可以估计开发进度。
对每个功能的行代码估计值通常是3个根据历史资料或者直觉得到的数据:最乐观估计值N,最可能估计值M,最坏估计值B。然后加权平均
Le=(N+4*M+B)/6
6.2.3 McCabe度量法
通过把传统程序流程图中每个处理符号都退化成一个结点,并把原来连接不同处理符号的箭头变成连接不同结点的
文档评论(0)