- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章软件开发技术基础
入门篇 程序设计基础 软件工程基础 结构化分析方法(简称SA)常用工具 数据流图(DFD) 数据字典(DD) 判定树 判定表 实现软件详细设计常用的表达工具 程序流程图 N-S图 PAD图 判定表 PDL图 图形工具 语言工具 表格工具 第5章 软件开发技术基础 程序设计基础 软件工程基础 程序设计 是指利用计算机解决问题的全过程,它包含多方面的内容,而编写程序只是其中的一部分。 分析问题 确定处理方案 确定操作步骤 编写程序 上机运行程序 整理结果 程序设计的一般步骤 例如:求圆的面积和周长的程序设计一般步骤: ① 分析问题 求圆的面积和周长需要知道圆的半径r,根据圆的半 径求出圆的面积S和周长L并输出结果。 ② 确定处理方案 求圆的面积数学公式是:S=лr2 求圆的周长公式是:L=2лr ③ 确定操作步骤 求圆的面积和周长的算法描述为: 置pi=3.14159为常量 确定r的初值 计算面积S 计算周长L 输出结果S,L ④ 根据操作步骤编写源程序。 将上面求圆的面积和周长算法编写源程序如下(利用C 语言编写): #define PI 3.14159 main() { float r=3,S,L; S=pi*r*r; L=2*pi*r; printf(“S=%f,L=%f\n”, S, L); } ⑤ 运行调试程序。 ⑥ 整理输出结果,写出相关文档。 程序设计方法与风格 程序设计方法: 是指以什么观点来研究问题并进行求解,以及如何进行系统设计的软件方法学。 程序设计方法经过的阶段: 经过了结构化程序设计和面向对象程序设计两个阶段 。 程序设计风格 编写程序时所表现出的特点、习惯和逻辑思路。 程序设计风格强调简单、清晰和可理解性。 “清晰第一,效率第二”的观点是当今主导的程序设计风格。 自顶向下 逐步求精 模块化 使用三种基本控制结构描述程序流程 顺序结构、选择结构、循环结构 结构化程序设计原则 结构化程序设计 学生成绩管理 增加 删除 修改 查询 统计 按学号 按姓名 按班级 模块大小适中,模块调用深度不宜过大 模块的内聚性高,模块间的耦合性低 模块的作用域应在控制域内 模块的扇入数应尽量大,扇出数不宜过大 扇入数:指有多少个模块直接控制一个给定模块 扇出数:由一个模块直接控制其它模块数 模块分解的原则 顺序结构 三种基本控制结构 main() { float r , s ; scanf(“%f” , r); s=2*3.14159*r; printf(“s=%f” , s); } A B 选择结构 main() { float r , s ; scanf(“%f” , r); if(r0) { s=2*3.14159*r; printf(“s=%f” , s); } else printf(“请输入正数!”); } A B 条件 真 假 循环结构 main() { int i , s ; s=0; for(i=0 ; i=100 ; i++) s=s+i; printf(“s=%d”,s); } A 条件 真 假 数据与对数据的操作(函数)相分离 可重用性差 程序结构良好 程序清晰易读、使用和维护 提高编程的效率,降低开发成本 优点: 缺点: 类 是一个抽象的概念,是一组具有相同属性和相同操作的对象的集合。 一个类中的每个对象都是这个类的一个实例。 对象 对象= 属性 + 操作 面向对象的程序设计 特性 封装性 继承性 多态性 实现“同一接口,不同实现” 优点 与人类思维方法一致 稳定性好 可重用性好 易于开发大型软件产品 可维护性好 软件的需求增长得不到满足 软件开发成本和进度无法控制 软件质量难于保证 软件不可维护或维护程度非常低 软件成本不断提高 软件开发生产效率的提高赶不上硬件的发展的增长 软件危机 软件危机归结为成本、质量和生产率等问题 软件工程 指导计算机软件开发和维护的工程学科。 软件工程过程 是把输入转化为输出的、一组彼此相关的资源和活动。 将软件产品从开始计划起,到废弃不用止,称为软件生命周期。 软件生命周期 软件工具就是帮助开发软件的软件。 软件开发环境是全面支持软件开发全过程的软件工具的集合。 软件工具与软件开发环境 软件测试定义 软件测试是为了发现
文档评论(0)