第一章设计回顾及软件设计绪论.pptVIP

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函数/参数/变量的命名要具有表现力 用传递参数代替全局变量 防止错误数据:异常处理/默认处理/返回特殊值 不要将参数作为方法变量 给数字命名 限制参数个数在6个或7个之内 在临近使用变量时才定义它们 初始化所有变量 检查循环计数器 避免3次以上的嵌套循环 确保不是死循环 编译前先检查 编码好习惯 manipulate(float aFloat, int anInt) getBaseRaisedToExponent(float aBase, int anExponent) 函数/参数/变量的命名应该说明其用途(图1.9) extract(int anEntry) { table = … } 避免使用全局变量: 考虑使用传递参数来代替 extract(int anEntry, EmployeeTable anEmployeeTable) for(i=0; i8927; ++i) 给数字命名 int NUM_CELLS=8927 for(cellCounter=0; cellCounterNUM_CELLS; ++cellCounter) 软件设计的目标 正确性、充足性、模块性和可读性 确保代码按照需求执行 健壮性 设计和实现能处理各种各样的异常情况(如数据错误、用户错误、环境条件) 灵活性 适应各种改变,易于修改 对已存在的操作增加适当的功能范围 增加新功能 改变功能 软件设计的目标 可重用性 对象代码 类(以源代码形式) 相关类的聚合 类聚合模式 高效性 利用可用的机器时间周期和内存尽可能快地创造设计和实现 可靠性 可用性 软件设计准则 软件设计的重要性表现在软件的质量。如何设计才能保证质量?这里,我们给出软件设计的一般原则: (1)要有分层的组织结构,便于对软件各个构件进行控制; (2)应形成具有独立功能特征的模块(模块化); (3)应有性质不同、可区分的数据和过程描述(表达式); (4)应使模块之间和与外部环境之间接口的复杂性尽量地减小; (5)应利用软件需求分析中得到的信息和可重复的方法。 1、可扩展性:新的性能可以很容易地加入到系统中去,就是可扩展性。这就是系统“过于僵硬”的属性的方面。   2、灵活性:可以允许代码修改平稳地发生,而不会波及到很多其他的模块,这就是灵活性。灵活性其实就是“过于脆弱”的属性的方面。   3、可插入性:可以很容易地将一个类抽出去,同时将另外一个有同样接口的类加入进来,这就是可插入性。其实,这就是“黏度过高”的方面。 软件设计和体系结构 谢兄 信息科学技术学院 xxyj@dlmu.edu.cn 教学内容 软件过程 设计原则 设计模式 应用示例 体系结构 实际设计案例研究 软件进化 再工程和逆向工程 教学内容 软件过程 设计原则 设计模式 应用示例 体系结构 实际设计案例研究 软件进化 再工程和逆向工程 你可以学到…… 武林高手 扎马步 武功招式 武功秘诀 编程高手 编程语言 设计模式 设计原则 实验 实验内容:设计模式 实验学时:10学时 实验时间:软件工程(第14-18周周二 7-8节 实验地点:1,2班在201室,3,4班在205室 实验报告:实验目的、实验要求、实验步骤、实验结果、总结 参考书籍 软件设计——从程序设计到体系结构,Eric J. Braude著,李仁发等译,电子工业出版社 参考书籍 Head First 设计模式, Eric Freeman, Elisabeth Freeman等著,中国电力出版社 设计模式——可复用面向对象软件的基础,Erich Gamma等著,李英军等译,机械工业出版社 参考书籍 软件体系结构,Mary Shaw著,牛振东等译,清华大学出版社 软件体系结构,张友生等著,清华大学出版社 考试 闭卷笔试 70分 实验成绩 20分 实验作业 15分 实验报告 5分 平时成绩 10分 课堂小测 8分 出勤 2分 软件危机(software crisis)是指在计算机软件的开发(development)和维护(maintenance)过程中所遇到的一系列严重问题。 1968年在原西德加密施(Garmish)召开的国际软件工程会议上开始被人们普遍认识到。 软件危机 如何克服软件危机 如何克服软件危机 人们面临的不光是技术问题,更重要的是管理问题。管理不善必然导致失败 。 要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。 在技术上,应该采用基于重用的软件生产技术;在管理上,应该采用多维的工程管理模式。 为了解决软件危机,既要有技术措施,又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。 软

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档