软件工程——程序编码

一、程序设计语言

1.分类

汇编语言:第一代,第二代计算机用

高级语言:比汇编语言编码语言少3-7倍,第三代计算机使用

.高级语言又可细分为四种:

①系统实现语言:克服汇编语言的缺点,提供控制语句和变量类型检验功能,可直接使用机器的操作

②静态高级语言:给程序员提供控制语句

③块结构高级语言:直接提供有限形式的动态存储分配

④动态高级语言:动态的完成所有的内存管理,专用语言

2.语言的选择

(1).应用领域的不同来选择:商业-COBOL、4GLS

         科学计算-FOETRAN

实时-汇编、ADA

系统-汇编、ADA、C

智能-LISP、PROLOG

(2).系统用户要求:使用他们所熟悉的

(3).可以使用的编译程序:编译方式会限制语言的选择

(4).程序员的经验:对语言的熟悉程度

(5).软件可移植性要求:考虑语言使用的环境,适当时候做可移植性

(6).适合工程的专用语言

(7).算法的计算复杂性:选择算法简单,功能齐全的

(8).数据结构的复杂性,可维护性

(9).效率的考虑:运行时间长短,存储器的效率,输入输出效率

(10).了解语言的发展前景

总结为:

最少工作量原则

最少技巧性原则

最少错误原则

最少维护原则

减少记忆原则

3、程序编码原则:

先求正确后求快;先求清晰后求快;求快不忘保持程序正确;

保持程序整洁以求快;不要因效率而牺牲清晰

4.好程序标准:

易于测试和调试;易于维护;易于修改;设计简单;高效率

二.结构化程序设计

1.主要包括两方面:

(1)强调使用几种基本控制结构

(2)在设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开

2.设计主要原则:

使用语言中顺序,选择,重复等有限的基本控制结构表示程序逻辑

选用的控制结构只准许有一个入口和一个出口

复杂结构应该用基本控制结构进行组合嵌套来实现

三.程序设计风格

1.源程序文档化:

标识符的命名:变量名的起法,不能太长,不要和关键字相同

安排注释:需要加注释,可英文可中文

程序的视觉组织:加一些注释,空行,满足结构化设计的要求

2.数据说明

(1)数据说明的次序应当规范化:使数据属性容易查找,也有利于测试排错的维护,先说明简单的类,再说明                复杂的

(2)说明语句中变量说明有序化:说明变量名时,按照变量字母顺序排列,升序or降序

(3)对过程和函数的形参排列有序:输入参数在前,输出参数在后;

整形参数在前,实型参数次之,其他参数在后

3.使用注释说明复杂的数据结构

4.语句结构:

语句结构力求简单,直接,不能为了片面追求效率使语句复杂化;

5.输入和输出:

输入和输出信息是与用户的使用直接相关,格式方式应尽可能的方便用户使用;

四.程序设计质量评价

1.正确性

2.结构清晰性

(1).是否用三种结构化格式

(2).是否有一个入口,一个出口

3.易修改性 4.易读性 5.简单性

五.程序的复杂性度量

1.代码行度量法:统计一个程序模块源代码行数目,并以源代码行数作为程序复杂性度量

2.McCabe度量法:基于程序控制流

3.Halstead的软件科学:运算对象包括变量名和常数

实际的Halstead长度N=N1+N2 (N1为程序实际出现的运算符总个数,N2为程序中实际出现的运算对象总个数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值