- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 软件开发设计基础
第九章 软件开发设计基础 第9章 软件开发技术基础 0.用计算机解决问题的步骤 利用计算机解决一个问题时,一般情况要经过如下步骤: 抽象:数学化—模型化; 算法:列出求解步骤—步骤化; 编成:用计算机描述算法—代码化; 运行:编辑、调试和测试—实施。 1.算法 算法的定义; 算法的要满足的条件; 算法的评价; 算法的设计要求; 算法的表示。 算法的定义 算法的定义: 算法:是对特定求解步骤地一种描述。 是指令的有限序列。 算法的要满足的5个条件 算法的要满足的5个条件: 有穷性: 确定性: 输入: 输出: 可行性: 算法的评价 算法的评价: 算法的时间复杂度—语句重复次数;T(n) 算法的空间复杂度—内存占用量;S(n) 算法的可读性—用于交流—便于理解 算法的设计要求 算法设计的要求: 正确:首要条件;合法输入—正确结果 可读:便于阅读交流;算法—程序 健壮:满足各种情况; 高效:效率要高—空间、时间 算法的表示 算法的表示: 自然语言: 流程图; 算法描述语言: 自然语言描述 传统流程图表示法 算法描述语言 2.程序设计 程序:是解决特定问题的指令序列。 程序设计语言:是描述计算机所执行的操作的语言。 程序设计:是指使用程序语言产生程序的过程。 程序设计所涉及的问题:不是简单的代码编写过程。 程序设计的分类:结构化(解决简单问题—过程)和面向对象(解决复杂问题—抽象) 程序设计所涉及的问题 程序设计所涉及的问题: 语言的选择; 设计风格; 算法; 逻辑结构; 结构化程序设计 结构:structure,各个组成部分的搭配和排列。 结构化程序设计:是进行以模块功能和处理过程设计为主的详细设计的基本原则。 分类: 顺序:先后顺序,自然顺序 选择:分支结构; 循环:重复结构; 面向对象化程序设计 结构化程序设计方法可以解决中小规模的问题,解决较复杂的问题比较困难,在此基础上产生了新的方法—面向对象的程序设计方法。 面向对象程序设计的基本概念: 对象和类、封装性、继承性、多态性 多态性 多态性(多形性)多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。 继承性 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 封装性 封装性(信息隐藏) 是保证软件部件具有优良的模块性的基础。面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。 对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。 对象和类 对象:object,是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。男女朋友;行为或思考时作为目标的人或事。具有状态、属性和行为。 类:是对象的定义;是对具有相同行为和属性的对象的抽象和描述。 3.数据结构 数据结构: 基本概念; 数据结构的分类 基本概念 数据(Data):是对客观事物的物理符号表示。 数据项(Data Item) :也称为字段、域、属性。 数据元素(Element):是数据的基本单位—由若干数据项组成。 数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集。数据结构 数据结构 数据结构:是指相互之间存在一种或多种关系的数据元素的集合。 数据结构是带有结构特征的数据元素的集合,三要素: DS=数据的逻辑结构+存储结构+数据的运算 按某种逻辑关系组织起来的一批数据,按一定的存储方式把它存储在计算机存储器中,并在这些数据上定义了一个运算的集合,叫做一个数据结构(Data Structures)。 4.软件工程 软件危机 软件工程的定义 软件生命周期 结构化方法学 面向对象方法学 软件危机(Software Crisis) 软件危机的由来 软件工程的定义 软件工程是包含软件开发一切流程的学科。它又是一门交叉学科;包括计算机科学、数学、工程学和管理等学科。主要研究: 克服、解决“软件危机” 改进“软件生产”的方法、工具 提高软件的生产率 软件生命周期 可行性研究 需求分析 总体设计 详细设计 编码 测试 软件维护 编码时将软件设计的结果翻译成用某种程序设计语言书写的程序。程序的质量基本上是由设计的质量决定。但
文档评论(0)