- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
机械工程软件技术基础 第九讲 软件工程1 太原科技大学 陶元芳 2010.8 0 复习与讨论 1)非数值算法的意义 软件技术 ▲许多对数据的操作,如插入、删除、更新、查找、排序等,并不是解方程类型的计算,这些操作的方法称为非数值算法。 ▲软件技术、数据结构中所称的算法,往往是指非数值算法。 复习与讨论 2) “冒泡”排序算法 软件技术 ▲ 排序是查找的基础,无序的数据查找很慢。 ▲ 冒泡法是众多排序方法中的一种。 ▲ 与下一数比,大则交换。 ▲ 第1趟使最大的数沉底。 ▲ n -1趟完成排序。 1 目的意义 1)软件瓶颈 硬件——光刻、摩尔定律:发展快 软件——人工编程、作坊:发展慢 软件生产速度赶不上硬件的发展和应用的增长 软件技术 目的意义 2)软件危机 ▲开发速度慢:进度无法控制 ▲开发成本高:成本超出预算 ▲质量没保证:错误很多 ▲软件维护难:修改引起更多的错误 ▲人员依赖强:人走政息 IBM OS/360软件开发失败 ——巨兽陷入泥潭: 软件技术 目的意义 3)软件工程 ▲把软件当产品、系统,用工程化方法开发管理 ▲涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面 ▲旨在保证工期、质量,变软件作坊为软件工厂 软件技术 目的意义 软件工程 ▲软件设计方法学 ▲软件编程工艺学 ▲软件开发管理学 软件复用 软件文档 结构化程序设计 面向对象程序设计 软件技术 2 变量命名 1)标识符 代数——用变量(字母、符号)代替数 标识符——变量名、数组名、函数名、类名等 标识符——用来“标识”某个对象名称的字符串 ——以字母开头,含字母、数字、下划线 软件技术 Jones Kate David john jack Harry George 变量命名 2)匈牙利命名法 ▲微软一名匈牙利裔程序员发明 ①以一个或多个表示数据类型的小写字母开头 ②含一个或多个首字母大写指出对象用途的单词 ▲优点:类型清楚,含义明确,好记,程序可读 ▲缺点:类型描述冗余,标识符太长,录入慢 如:imyData 软件技术 变量命名 匈牙利命名法 软件技术 变量命名 匈牙利命名法 软件技术 变量命名 3)骆驼命名法 用单词构成标识符,除首个单词外首字母大写 如:myData 软件技术 变量命名 4)下划线命名法 用单词构成标识符,每个单词用下划线分隔 如:my_data 5)帕斯卡命名法 用单词构成标识符,每个单词的首字母均大写 如:MyData 6)汉语拼音命名法 缺点:有时不好理解 7)注意:避免用单个字母;常量用全大写表示。 软件技术 3 缩进格式 1)目的(重要性) 提高程序的可读性,减少错误(括号配对等) 2)程序结构 函数、循环、条件语句、复合语句等 3)缩进格式 依照程序的结构,逐级缩进,再逐级还原 需要时也可以加入空行 4)制表符 一般用Tab键来完成缩进 软件技术 缩进格式 软件技术 5)示例 void SortNum(double aa[], int Num) { double temp; for(int ii=0;iiNum-1;ii++) for(int jj=0;jjNum-1-ii;jj++) if(aa[jj]aa[jj+1]) { temp=aa[jj]; aa[jj]=aa[jj+1]; aa[jj+1]=temp; } } 4 程序注释 1)目的(重要性) 提高程序的可读性,使程序容易修改 (有时注释的内容比程序本身长) 2)C语言模式 /* 注释内容 */ 3)C++模式 // 注释内容 4)注意 注释不要嵌套 软件技术 /* 注释内容 */ // 注释内容 5 作业 1)软件工程 2)匈牙利命名法 3)缩进格式 4)程序注释 软件技术
文档评论(0)