欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    公共基础知识第二三章优秀课件.ppt

    • 资源ID:45882852       资源大小:7.83MB        全文页数:67页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    公共基础知识第二三章优秀课件.ppt

    公共基础知识第二三章第1页,本讲稿共67页本章主要内容本章主要内容n n程序设计方法和风格程序设计方法和风格程序设计方法和风格程序设计方法和风格 n n结构化程序设计结构化程序设计结构化程序设计结构化程序设计 n n面向对象程序设计面向对象程序设计 第2页,本讲稿共67页2.1 程序设计方法和风格 n n什么是程序(了解)什么是程序(了解)什么是程序(了解)什么是程序(了解)指令的集合指令的集合指令的集合指令的集合。(解释指令)。(解释指令)。(解释指令)。(解释指令)通过硬件控制系统自动完成某一功通过硬件控制系统自动完成某一功通过硬件控制系统自动完成某一功通过硬件控制系统自动完成某一功能。能。能。能。通过一系列代码实现。通过一系列代码实现。通过一系列代码实现。通过一系列代码实现。v v程序设计语言程序设计语言程序设计语言程序设计语言 计算机本身仅能识别二进制代码计算机本身仅能识别二进制代码“0”、“1”。高级语言,比如高级语言,比如C、JAVA、BASIC等。在等。在ACCESS中,中,我们使用的程序设计语言是我们使用的程序设计语言是VBA(visual basic For application)编程最直接、最低级的就是编程最直接、最低级的就是机器语言机器语言。汇编语言汇编语言,是中低级语言,是中低级语言第3页,本讲稿共67页v v程序设计风格程序设计风格程序设计风格程序设计风格(理解理解理解理解&记忆记忆记忆记忆)基本概念:基本概念:编写程序时所表现出来的特点、习惯和逻辑思路。编写程序时所表现出来的特点、习惯和逻辑思路。主要观点:清晰第一,效率第二。一般从以下四部分加以规范:主要观点:清晰第一,效率第二。一般从以下四部分加以规范:源程序中的内部文档化:源程序中的内部文档化:选择标示符的名字、注释(注释有两种:选择标示符的名字、注释(注释有两种:序言性注释和功能性注释)、程序的视觉组织(空格、空行、缩进等序言性注释和功能性注释)、程序的视觉组织(空格、空行、缩进等等)。等)。数据说明:数据说明:显式地说明一切变量、数据说明的次序应该规范化、显式地说明一切变量、数据说明的次序应该规范化、便于查找变量(按顺序排列)、对复杂数据结构应注释说明便于查找变量(按顺序排列)、对复杂数据结构应注释说明 语句的结构:语句的结构:每条语句简单明了、尽量不用或少用每条语句简单明了、尽量不用或少用GOTOGOTO语句、尽量只语句、尽量只采用采用3 3种基本控制结构编程种基本控制结构编程 输入和输出:输入和输出:对所有输入数据进行校验和合理性检查、输入输对所有输入数据进行校验和合理性检查、输入输出格式保持一致、设计良好的输出报表出格式保持一致、设计良好的输出报表第4页,本讲稿共67页第5页,本讲稿共67页v v程序设计三种方法程序设计三种方法程序设计三种方法程序设计三种方法 结构化设计法结构化设计法 n模块内部程序各部分要按照自顶向下的结构划分模块内部程序各部分要按照自顶向下的结构划分 n各程序部分应按功能组合各程序部分应按功能组合 快速原型法(软件工程法)快速原型法(软件工程法)n利用现有的工具和原型方法快速地开发所要的程序利用现有的工具和原型方法快速地开发所要的程序 面向对象程序设计法面向对象程序设计法 n以现实世界的对象为核心,与人类习惯的思维方以现实世界的对象为核心,与人类习惯的思维方法一致法一致程序设计方法:研究问题求解和系统构造的软件方法学程序设计方法:研究问题求解和系统构造的软件方法学程序设计方法:研究问题求解和系统构造的软件方法学程序设计方法:研究问题求解和系统构造的软件方法学 不同的方法之间,可以相互交叉、相互借鉴不同的方法之间,可以相互交叉、相互借鉴第6页,本讲稿共67页2.2 结构化程序设计 v v基本思想基本思想基本思想基本思想 对大型的程序设计,使用一些对大型的程序设计,使用一些基本的结构(总共有三种,分别是:基本的结构(总共有三种,分别是:顺序结构、选择结构、循环结构)顺序结构、选择结构、循环结构)来设计程序,无论多复杂的程序,来设计程序,无论多复杂的程序,都可以使用这些基本结构按一定的顺序组合起来。这些基本结构的都可以使用这些基本结构按一定的顺序组合起来。这些基本结构的特点都是特点都是只有一个入口、一个出口只有一个入口、一个出口。由这些基本结构组成的程。由这些基本结构组成的程序就避免了任意转移、阅读起来需要来回寻找的问题。序就避免了任意转移、阅读起来需要来回寻找的问题。第7页,本讲稿共67页v v基本结构:顺序、选择、循环(理解基本结构:顺序、选择、循环(理解基本结构:顺序、选择、循环(理解基本结构:顺序、选择、循环(理解&记忆)记忆)记忆)记忆)观察下面6个流程图第8页,本讲稿共67页v v设计原则设计原则设计原则设计原则 (理解(理解(理解(理解&记忆)记忆)记忆)记忆)自顶向下(对大型的程序设计而言,从最上层总体目自顶向下(对大型的程序设计而言,从最上层总体目标开始设计,然后不断的分解标开始设计,然后不断的分解将我们的总体目标分将我们的总体目标分解成众多的子目标)解成众多的子目标)逐步求精逐步求精 (对分解之后的子模块进行详细的设计、(对分解之后的子模块进行详细的设计、详细的处理)详细的处理)模块化(对分解完毕的子目标,没实现一个子目标的程序,模块化(对分解完毕的子目标,没实现一个子目标的程序,就是一个模块)就是一个模块)限制使用限制使用gotogoto语句语句第9页,本讲稿共67页n1 1、使用程序设计语言中的顺序、选择、循环等优先的控制结构表、使用程序设计语言中的顺序、选择、循环等优先的控制结构表示程序的控制逻辑示程序的控制逻辑n2 2、使用的控制结构只准许有一个入口和一个出口、使用的控制结构只准许有一个入口和一个出口n3 3、程序语句组成容易识、认的模块,每一个模块只有一个入口、程序语句组成容易识、认的模块,每一个模块只有一个入口和一个出口和一个出口n4 4、复杂的结构应该使用嵌套的基本控制结构进行组合嵌套来实现、复杂的结构应该使用嵌套的基本控制结构进行组合嵌套来实现n5 5、严格控制、严格控制gotogoto语句的使用语句的使用v v结构化程序设计注意事项(了解)结构化程序设计注意事项(了解)结构化程序设计注意事项(了解)结构化程序设计注意事项(了解)第10页,本讲稿共67页2.3 2.3 2.3 2.3 面向面向面向面向对对象程序象程序象程序象程序设计设计n n基本思想基本思想基本思想基本思想 客观世界中任何一个事物都可以被看成是一个对象客观世界中任何一个事物都可以被看成是一个对象,面向对象,面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,方法的本质就是主张从客观世界固有的事物出发来构造系统,系统中的系统中的对象及对象之间的关系能够如实地反映问题域中固有的事物及其关系。对象及对象之间的关系能够如实地反映问题域中固有的事物及其关系。n n结构化与面向对象方法比较结构化与面向对象方法比较结构化与面向对象方法比较结构化与面向对象方法比较 结构化的分解突出过程,即结构化的分解突出过程,即如何做如何做(How to do)?(How to do)?它强调代码的它强调代码的功能是如何实现的;功能是如何实现的;面向对象的分解突出现实世界和抽象的对象,即面向对象的分解突出现实世界和抽象的对象,即做什么做什么(What(What to do)?to do)?第11页,本讲稿共67页v主要优点(记忆)主要优点(记忆)与人类习惯的思维方法一致与人类习惯的思维方法一致 稳定性好稳定性好 可重用性好可重用性好 易于开发大型软件产品易于开发大型软件产品 可维护性好可维护性好面向对象程序设计主要考虑的是:提高软件的面向对象程序设计主要考虑的是:提高软件的面向对象程序设计主要考虑的是:提高软件的面向对象程序设计主要考虑的是:提高软件的可重用可重用性性!实例化实例化和和和和继承性继承性是面向对象程序设计实现重用性的主是面向对象程序设计实现重用性的主是面向对象程序设计实现重用性的主是面向对象程序设计实现重用性的主要机制。要机制。要机制。要机制。第12页,本讲稿共67页v v面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念对象对象(Object)(Object):用来表示客观世界中的任何实体,即应用用来表示客观世界中的任何实体,即应用领域中有意义的、与所要解决的问题有关系的任何事物,都领域中有意义的、与所要解决的问题有关系的任何事物,都是可以作为对象的。它既可以是具体的物理实体的抽象,也是可以作为对象的。它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何具有明确边界和意义的东西。可以是人为的概念,或者是任何具有明确边界和意义的东西。对象对象=对象名对象名+数据(属性)【对象中的属性,我们称之为属数据(属性)【对象中的属性,我们称之为属性,其作用是:用于描述对象的性质】性,其作用是:用于描述对象的性质】+作用于数据的操作作用于数据的操作(行为)(行为)一个对象把属性和行为封装为一个整体一个对象把属性和行为封装为一个整体 一个对象通常可由对象名、属性和操作一个对象通常可由对象名、属性和操作3 3部分组成部分组成第13页,本讲稿共67页n对象的基本特点:标识唯一性(区别于其他对象的属性)、对象的基本特点:标识唯一性(区别于其他对象的属性)、分类性(我们把相同类型的属性的对象,分成一组)、多态分类性(我们把相同类型的属性的对象,分成一组)、多态性(不同的操作、或不同的消息可以产生的不同结果)、封性(不同的操作、或不同的消息可以产生的不同结果)、封装性(将对象的数据、操作等完整的封装起来,以便使得更装性(将对象的数据、操作等完整的封装起来,以便使得更好的对对象进行描述。作用:既可以免遭封装信息内部信息好的对对象进行描述。作用:既可以免遭封装信息内部信息的外泄,也可以保护封装内部的信息不受外部因素的干扰)、的外泄,也可以保护封装内部的信息不受外部因素的干扰)、良好的模块独立性(由于多态性和封装性,使得我们的对象良好的模块独立性(由于多态性和封装性,使得我们的对象具有良好的模块独立性)具有良好的模块独立性)第14页,本讲稿共67页消息消息(Message)(Message)对象之间进行通信的一种数据构造,对象之间进行通信的一种数据构造,消息包括三个部分:消息包括三个部分:消息包括三个部分:消息包括三个部分:接受消息对象名、消息标识符、零个或多个参数。接受消息对象名、消息标识符、零个或多个参数。接受消息对象名、消息标识符、零个或多个参数。接受消息对象名、消息标识符、零个或多个参数。v v面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念类类(Class)(Class)类是具有共同属性、共同方法的一组对象的集合类是具有共同属性、共同方法的一组对象的集合类是具有共同属性、共同方法的一组对象的集合类是具有共同属性、共同方法的一组对象的集合类是在对象之上的类是在对象之上的类是在对象之上的类是在对象之上的抽象抽象抽象抽象,对象是类的具体化,是类的实例对象是类的具体化,是类的实例对象是类的具体化,是类的实例对象是类的具体化,是类的实例 第15页,本讲稿共67页 在这里,“学生”就是在描述了一个“类”的概念。而“学号”、“姓名”、“性别”则是对“学生”这个类的属性说明,在经过了对“类”中的属性进行了确切的赋值之后,我们就称之为类的一个对象或实例。第16页,本讲稿共67页v v面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念封装封装(Encapsulation)(Encapsulation)把把“类类”作为一个容器,将同类对象的属性和方法封装在一起。也就是说,将数据作为一个容器,将同类对象的属性和方法封装在一起。也就是说,将数据和操作数据的函数衔接在一起,构成一个具有类类型的对象的描述。和操作数据的函数衔接在一起,构成一个具有类类型的对象的描述。对象的内部实现受保护,外界不能访问,是想了对外部的信息隐藏对象的内部实现受保护,外界不能访问,是想了对外部的信息隐藏 如果,设计人员先从外部调用封装内部的信息,可以通过定义好的接口来为外部提供如果,设计人员先从外部调用封装内部的信息,可以通过定义好的接口来为外部提供调用调用 第17页,本讲稿共67页v v面向对象的基本概念面向对象的基本概念面向对象的基本概念面向对象的基本概念继承继承(Inheritance)(Inheritance)继承是父类和子类之间共享数据的方法的机制(也就是说,如果我们继承是父类和子类之间共享数据的方法的机制(也就是说,如果我们要通过面向对象的程序设计来进行数据的共享,那么可以通过什么样要通过面向对象的程序设计来进行数据的共享,那么可以通过什么样的机制来共享呢?答曰:继承。反过来说,面向对象的程序设计中间,的机制来共享呢?答曰:继承。反过来说,面向对象的程序设计中间,共享数据的方法是哪一种机制?答曰:继承机制。)共享数据的方法是哪一种机制?答曰:继承机制。)一个子类可以继承它的父类(或祖先类)中的属性和操作一个子类可以继承它的父类(或祖先类)中的属性和操作 子类中可以定义自己的属性和操作子类中可以定义自己的属性和操作 单重继承、多重继承单重继承、多重继承 第18页,本讲稿共67页 在这里面,有一个“学生”的类,这个类有两个属性“姓名”、“性别”,而下面的“高中学生”,不仅包含了“学生”类的两个属性“姓名”、“性别”,还多出了一个特有的属性“文理科”。此时,“学生”就被称之为父类,“高中学生”就被称之为子类。(如果父类只能派生出一个子类,就称之为单继承。如果父类只能派生出多个子类,就称之为多类继承)第19页,本讲稿共67页多态性多态性(Polymorphism)(Polymorphism)不同的对象收到同一消息可以产生完全不同的结构,这一现象叫做多态性不同的对象收到同一消息可以产生完全不同的结构,这一现象叫做多态性 多态的实现受到继承的支持多态的实现受到继承的支持第20页,本讲稿共67页二章知识点n什么是程序?程序设计的风格有哪些(什么是程序?程序设计的风格有哪些(4个)个)n程序设计的三种基本方法(结构化方法、原型法、面向对象)程序设计的三种基本方法(结构化方法、原型法、面向对象)n机构化程序设计方法的四个主要原则(自顶而下、逐步求精、机构化程序设计方法的四个主要原则(自顶而下、逐步求精、模块化、限制使用模块化、限制使用GOTO语句)语句)n结构化设计的三种基本结构(顺序、选择、循环)结构化设计的三种基本结构(顺序、选择、循环)n什么叫:对象、类什么叫:对象、类n对象的三个基本组成(对象标识、属性、操作)及五个基本对象的三个基本组成(对象标识、属性、操作)及五个基本特点(标识唯一性、分类性、多态性、封装性、模块独立性)特点(标识唯一性、分类性、多态性、封装性、模块独立性)n类的基本特征(抽象性、继承性、封装性、多态性)类的基本特征(抽象性、继承性、封装性、多态性)第21页,本讲稿共67页第三章软件工程基础第22页,本讲稿共67页本章主要内容本章主要内容n n软件工程基本概念软件工程基本概念软件工程基本概念软件工程基本概念 n n结构化分析、设计方法结构化分析、设计方法结构化分析、设计方法结构化分析、设计方法 n n软件测试软件测试软件测试软件测试 n n程序的调试程序的调试程序的调试程序的调试 第23页,本讲稿共67页v v软件的定义(记忆)软件的定义(记忆)软件的定义(记忆)软件的定义(记忆)软件软件(software)是计算机系统中与硬件是计算机系统中与硬件(hardware)相互相互依存的另一部分。依存的另一部分。软件包括三个部分:程序软件包括三个部分:程序(program)、相关、相关数据数据(data)、说明文档、说明文档(document)。软件按照功能可以分为。软件按照功能可以分为三类:应用软件(为了解决某一方面的实际应用而开发的相三类:应用软件(为了解决某一方面的实际应用而开发的相关系统)、系统软件(为了对整个计算机的资源,包括硬件关系统)、系统软件(为了对整个计算机的资源,包括硬件资源和软件资源,进行管理和调用的软件)、支撑软件(包资源和软件资源,进行管理和调用的软件)、支撑软件(包括各种各样的工具的软件)。括各种各样的工具的软件)。3.1 3.1 软件工程基本概念件工程基本概念第24页,本讲稿共67页v v软件的特点(了解)软件的特点(了解)软件的特点(了解)软件的特点(了解)软件没有明显的制造过程。(软件的制造,明显不同于一般软件没有明显的制造过程。(软件的制造,明显不同于一般工业品的制造)工业品的制造)软件在使用过程中,没有磨损、老化问题(软件在使软件在使用过程中,没有磨损、老化问题(软件在使用的过程中,不会像一般的工业品那样出现磨损、老化用的过程中,不会像一般的工业品那样出现磨损、老化的问题。软件只会随着软件领域的发展,在现实的情况的问题。软件只会随着软件领域的发展,在现实的情况下这个软件已不再适应当前要求时候,就会要求我们编下这个软件已不再适应当前要求时候,就会要求我们编制新的软件以替代当前软件)制新的软件以替代当前软件)软件是一种逻辑实体,不是物理实体,具有抽象性。软件是一种逻辑实体,不是物理实体,具有抽象性。(也就是说,我们使用的软件(最常用的就是(也就是说,我们使用的软件(最常用的就是QQQQ通讯通讯软件),我们只有运行它再通过显示设备,才能够看软件),我们只有运行它再通过显示设备,才能够看到它的运行并感受到他到它的运行并感受到他 。)。)第25页,本讲稿共67页软件是复杂的,以后会更复杂,而且软件的成本相当昂贵软件是复杂的,以后会更复杂,而且软件的成本相当昂贵 软件工作牵涉到很多社会因素软件工作牵涉到很多社会因素v v软件的特点(了解)软件的特点(了解)软件的特点(了解)软件的特点(了解)软件依赖与硬件和环境,导致了移植问题(我们的某些软件,软件依赖与硬件和环境,导致了移植问题(我们的某些软件,是要与特定的硬件和环境先适应的。某一种软件,只能应用于是要与特定的硬件和环境先适应的。某一种软件,只能应用于某一特殊的硬件和环境,而同一软件移植到另一种硬件和环境某一特殊的硬件和环境,而同一软件移植到另一种硬件和环境的时候,就会出现问题)的时候,就会出现问题)第26页,本讲稿共67页v v软件危机(记忆)软件危机(记忆)软件危机(记忆)软件危机(记忆)早期的软件主要指程序,采用个体工作方式,缺少相关文档,早期的软件主要指程序,采用个体工作方式,缺少相关文档,质量低,维护困难,这些问题称为质量低,维护困难,这些问题称为“软件危机软件危机”,软件的特点导致软件的特点导致了软件危机的提出,工程概念的出现源自于软件危机了软件危机的提出,工程概念的出现源自于软件危机。v v软件工程(记忆)软件工程(记忆)软件工程(记忆)软件工程(记忆)软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高其目的是提高软件生产率、提高软件质量、降低软件成本。软件质量、降低软件成本。v v软件工程基本目标(了解)软件工程基本目标(了解)软件工程基本目标(了解)软件工程基本目标(了解)在给定成本、进度的前提下,开发出具有有效性、可靠性、在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。性和可互操作性且满足用户需求的产品。第27页,本讲稿共67页v v软件工程原则(理解软件工程原则(理解软件工程原则(理解软件工程原则(理解&记忆):记忆):记忆):记忆):抽象、信息隐蔽、模块化、局抽象、信息隐蔽、模块化、局抽象、信息隐蔽、模块化、局抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。部化、确定性、一致性、完备性和可验证性。部化、确定性、一致性、完备性和可验证性。部化、确定性、一致性、完备性和可验证性。1)1)抽象:抽象:抽象是事物最基本的特性和行为,忽略非本质细节,采用分层次抽象是事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向下,逐层细化来控制软件开发过程的复杂性。抽象,自顶向下,逐层细化来控制软件开发过程的复杂性。2 2)信息隐蔽:)信息隐蔽:采用采用封装技术封装技术,将程序模块的实现细节隐蔽起来,使模块接口尽量简,将程序模块的实现细节隐蔽起来,使模块接口尽量简单。单。3 3)模块化:)模块化:模块是程序中相对独立的成分,一个独立的编程单位。模块的大小要模块是程序中相对独立的成分,一个独立的编程单位。模块的大小要适中,过大模块内部复杂性增加,太小整个系统过于复杂。适中,过大模块内部复杂性增加,太小整个系统过于复杂。4 4)局部化:)局部化:保证模块间具有松耦合性,模块内部有高内聚性。保证模块间具有松耦合性,模块内部有高内聚性。5 5)确定性:)确定性:软件中所有概念的表达应是确定、无歧义且规范的。软件中所有概念的表达应是确定、无歧义且规范的。6 6)一致性:)一致性:内外部接口保持一致,系统规格说明与行为保持一致。内外部接口保持一致,系统规格说明与行为保持一致。7 7)完备性:)完备性:软件系统不丢失任何重要成分,完全实现系统所需功能。软件系统不丢失任何重要成分,完全实现系统所需功能。8 8)可验证性:)可验证性:遵循容易检查、测评、评审原则,确保系统正确性遵循容易检查、测评、评审原则,确保系统正确性第28页,本讲稿共67页v v软件工程三要素(记忆)软件工程三要素(记忆)软件工程三要素(记忆)软件工程三要素(记忆)方法:方法:方法:方法:完成软件工程项目的技术手段完成软件工程项目的技术手段完成软件工程项目的技术手段完成软件工程项目的技术手段 工具:工具:工具:工具:支持软件的开发、管理、文档生成支持软件的开发、管理、文档生成支持软件的开发、管理、文档生成支持软件的开发、管理、文档生成 过程:过程:过程:过程:支持软件开发的各个环节的控制、管理支持软件开发的各个环节的控制、管理支持软件开发的各个环节的控制、管理支持软件开发的各个环节的控制、管理v v软件工具和软件开发环境(记忆)软件工具和软件开发环境(记忆)软件工具和软件开发环境(记忆)软件工具和软件开发环境(记忆)软件工具软件工具(CASE)(CASE):用来辅助软件开、运行、维护、管用来辅助软件开、运行、维护、管理、支持等过程中的活动的软件理、支持等过程中的活动的软件 软件开发环境:软件开发环境:支持软件产品开发的软件系统,它由软件工具支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成集和环境集成机制构成v v软件开发技术,包括软件开发方法学、开发过程和软软件开发技术,包括软件开发方法学、开发过程和软软件开发技术,包括软件开发方法学、开发过程和软软件开发技术,包括软件开发方法学、开发过程和软件工程环境,其中主要的内容是软件开发方法学件工程环境,其中主要的内容是软件开发方法学件工程环境,其中主要的内容是软件开发方法学件工程环境,其中主要的内容是软件开发方法学第29页,本讲稿共67页v v软件生命周期(记忆软件生命周期(记忆软件生命周期(记忆软件生命周期(记忆&理解)理解)理解)理解)软件产品软件产品从提出、实现、使用维护到停止使用退役的过程从提出、实现、使用维护到停止使用退役的过程称为软件称为软件生命周期。分为软件定义、软件开发及软件运行维护生命周期。分为软件定义、软件开发及软件运行维护3 3个阶段。个阶段。1 1)软件定义阶段:)软件定义阶段:包括制定计划和需求分析。包括制定计划和需求分析。制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。需求分析:对待开发软件提出的需求进行分析并给出详细的定义。需求分析:对待开发软件提出的需求进行分析并给出详细的定义。2 2)软件开发阶段:)软件开发阶段:软件设计:分为概要设计和详细设计两个部分。软件实现:把软件设计转换成计软件设计:分为概要设计和详细设计两个部分。软件实现:把软件设计转换成计算机可以接受的程序代码。算机可以接受的程序代码。软件测试:在设计测试用例的基础上检验软件的各个组成部分。软件测试:在设计测试用例的基础上检验软件的各个组成部分。3 3)软件运行维护阶段(生命周期中花费最多的阶段):)软件运行维护阶段(生命周期中花费最多的阶段):软件投入运行,并在使用中软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。不断地维护,进行必要的扩充和删改。第30页,本讲稿共67页第31页,本讲稿共67页v v需求分析(记忆)需求分析(记忆)需求分析(记忆)需求分析(记忆)用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分需求分析将创建所需的析将创建所需的数据模型数据模型、功能模型功能模型和和控制模型控制模型。v v需求分析的四步骤(记忆)需求分析的四步骤(记忆)需求分析的四步骤(记忆)需求分析的四步骤(记忆)需求获取、需求分析、编写需求规格说明书和需求评审需求获取、需求分析、编写需求规格说明书和需求评审3.2 3.2 3.2 3.2 结结构化分析方法构化分析方法构化分析方法构化分析方法第32页,本讲稿共67页v v需求分析的方法(了解)需求分析的方法(了解)需求分析的方法(了解)需求分析的方法(了解)结构化分析方法:结构化程序设计理论在需求分析红的运用,目结构化分析方法:结构化程序设计理论在需求分析红的运用,目的是帮助弄清用户对软件的需求,建立系统的逻辑模型的是帮助弄清用户对软件的需求,建立系统的逻辑模型 面向数据结构的结构化数据系统开发法(面向数据结构的结构化数据系统开发法(DSSD)面向数据结构的面向数据结构的Jackson系统开发法(系统开发法(JSD)面向数据流的结构分析法(面向数据流的结构分析法(SA)面向对象的分析方法:面向对象软件工程方法面向对象的分析方法:面向对象软件工程方法 在需求分析中的应用在需求分析中的应用第33页,本讲稿共67页v v常用工具常用工具常用工具常用工具 (记忆)(记忆)(记忆)(记忆)数据流图、数据字典、判定树、判定表数据流图、数据字典、判定树、判定表 v v开发策略开发策略开发策略开发策略 自顶向下,逐层分解自顶向下,逐层分解v v需求分析阶段的结果需求分析阶段的结果需求分析阶段的结果需求分析阶段的结果 :软件需求规格说明书(:软件需求规格说明书(:软件需求规格说明书(:软件需求规格说明书(RSRRSRRSRRSR)作用:便于用户与开发人员进行理解和交流,反应系统的问题结构,作为系统开发的基础和依据,作为测试盒验收的依据评价标准:正确性、奇异性、完整性、可验证性、可理解性、可修改性、可追踪性,其中最重要的是:正确性第34页,本讲稿共67页v v数据流图数据流图数据流图数据流图(DFD)(DFD)(DFD)(DFD):以图形的方式描绘数据在系统中流动和处理的过以图形的方式描绘数据在系统中流动和处理的过程,程,它反映了系统必须完成的逻辑功能,是结构化分析方法中用于表示它反映了系统必须完成的逻辑功能,是结构化分析方法中用于表示系统逻辑模型的一种工具。系统逻辑模型的一种工具。加工加工 存储文件存储文件 源、源、潭潭数据流数据流 加工(转换):加工(转换):输入数据经加工变换产生输出。输入数据经加工变换产生输出。数据流:数据流:沿箭头方向传送数据的通道,旁边标注数据流名。沿箭头方向传送数据的通道,旁边标注数据流名。存储文件(数据源):存储文件(数据源):表示处理过程中存放各种数据的文件。表示处理过程中存放各种数据的文件。源、潭:源、潭:表示系统和环境的接口,属系统之外的实体。表示系统和环境的接口,属系统之外的实体。第35页,本讲稿共67页v v画数据流图的基本步骤(记忆)画数据流图的基本步骤(记忆)画数据流图的基本步骤(记忆)画数据流图的基本步骤(记忆)自外向内,自顶向下,逐层细化,完善求精自外向内,自顶向下,逐层细化,完善求精自外向内,自顶向下,逐层细化,完善求精自外向内,自顶向下,逐层细化,完善求精数据流图的示例数据流图的示例 第36页,本讲稿共67页v v数据字典数据字典数据字典数据字典(DD)(DD)(DD)(DD)(记忆):(记忆):(记忆):(记忆):对所有与系统相关的数据元素的一个有对所有与系统相关的数据元素的一个有组织的列表,是与系统相关的数据定义的集合组织的列表,是与系统相关的数据定义的集合。其。其作用是对数据流图中作用是对数据流图中出现的被命名的图形元素的确切解释出现的被命名的图形元素的确切解释。数据字典是结构化分析方法的核心数据字典是结构化分析方法的核心。数据字典常包括数据字典常包括5 5个部分(记忆):个部分(记忆):数据项、数据结构、数据流数据项、数据结构、数据流(描述了数据流图中的数据流向描述了数据流图中的数据流向)、数据存储()、数据存储(描述了数据流图中的文件描述了数据流图中的文件)、数据处理(描述了数据流图中的加工,也就是圆圈所定义的、数据处理(描述了数据流图中的加工,也就是圆圈所定义的内容)。内容)。第37页,本讲稿共67页v v判断树(了解):判断树(了解):判断树(了解):判断树(了解):又称为决策树,是一种描述加工的图形数据,适合又称为决策树,是一种描述加工的图形数据,适合描述问题里中具有多个判断,而且每个决策与若干条件有关。使用判定数进描述问题里中具有多个判断,而且每个决策与若干条件有关。使用判定数进行描述时,应该从问题的文字描述中分清哪些是判定条件,那些是判定的决行描述时,应该从问题的文字描述中分清哪些是判定条件,那些是判定的决策,根据描述材料中的连接词找出判定条件的从属关系、并列关系、选择关策,根据描述材料中的连接词找出判定条件的从属关系、并列关系、选择关系,根据它们构造判定树系,根据它们构造判定树 第38页,本讲稿共67页n判断表(了解):当数据流图中的加工依赖多个逻辑条件的取值,即完判断表(了解):当数据流图中的加工依赖多个逻辑条件的取值,即完成该数值的一组动作成该数值的一组动作|是由于某一组条件取值的组合而引发的,在此情况是由于某一组条件取值的组合而引发的,在此情况下,使用判断表比较合适。下,使用判断表比较合适。第39页,本讲稿共67页n n软件需求规格说明书(软件需求规格说明书(软件需求规格说明书(软件需求规格说明书(SRSSRSSRSSRS):需求分析阶段的最后成果,需求分析阶段的最后成果,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。约束的说明、合适的验收标准,给出对目标软件的各种需求。第40页,本讲稿共67页v需求分析主要解决需求分析主要解决“做什么做什么”的问题,确定系统的逻的问题,确定系统的逻辑模型。而辑模型。而软件设计软件设计主要解决主要解决“怎么做怎么做”的问题,的问题,其基本目标使用比较抽象概括的方式确定目标系统如其基本目标使用比较抽象概括的方式确定目标系统如何让完成预定任务,确定系统的物理模型。何让完成预定任务,确定系统的物理模型。第41页,本讲稿共67页v从技术观点来看从技术观点来看,软件设计包括软件,软件设计包括软件结构设计结构设计、数据数据设计设计、接口设计接口设计、过程设计过程设计。(记忆)。(记忆)结构设计:结构设计:定义软件系统各主要部件之间的关系。定义软件系统各主要部件之间的关系。数据设计:数据设计:将分析时创建的模型转化为数据结构的定义。将分析时创建的模型转化为数据结构的定义。接口设计:接口设计:描述软件内部、软件和协作系统之间以及软件与人之描述软件内部、软件和协作系统之间以及软件与人之间如何通信。间如何通信。过程设计:过程设计:把系统结构部件转换成软件的过程性描述把系统结构部件转换成软件的过程性描述 第42页,本讲稿共67页v从工程角度来看从工程角度来看,软件设计分两步完成,即,软件设计分两步完成,即概要设概要设计计和和详细设计详细设计。(记忆)。(记忆)概要设计:又称结构设计概要设计:又称结构设计,将软件需求转化为软件体系,将软件需求转化为软件体系结构;确定系统级接口、全局数据结构或数据库模式;结构;确定系统级接口、全局数据结构或数据库模式;编编写概要设计文档、概要设计文档评审。写概要设计文档、概要设计文档评审。详细设计:详细设计:确定每个模块的实现算法和局部数据结构,用确定每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。适当方法表示算法和数据结构的细节。第43页,本讲稿共67页v软件设计基本原理:软件设计基本原理:抽象抽象、模块化模块化、信息隐蔽信息隐蔽和和模块独立性模块独立性。(记忆)(记忆)抽象:抽象:抽象是一种思维工具,就是把事物本质的共同特性提取出来而不抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。考虑其他细节。模块化:模块化:解决一个复杂问题时自顶向下逐步把软件系统划分成较小的、解决一个复杂问题时自顶向下逐步把软件系统划分成较小的、相对独立但又不相互关联的模块的过程。相对独立但又不相互关联的模块的过程。信息隐蔽:信息隐蔽:模块的实施细节对于其他模块来说是隐蔽的。模块的实施细节对于其他模块来说是隐蔽的。模块独立性:模块独立性:软件系统中每个模块只涉及软件要求的具体的子软件系统中每个模块只涉及软件要求的具体的子功能,和软件系统中其他模块的接口是简单的。功能,和软件系统中其他模块的接口是简单的。模块独立性指标:模块独立性指标:耦合性耦合性和和内聚性内聚性 模块划分原则是:模块划分原则是:高内聚度,低耦合度高内聚度,低耦合度模块之间的依赖性越高,耦合性就越高,模块的独立性就越弱。第44页,本讲稿共67页v总体设计(概要设计)基本任务总体设计(概要设计)基本任务 1 1)设计软件系统结构)设计软件系统结构 2 2)数据结构及数据库设计)数据结构及数据库设计 3 3)编写概要设计文档)编写概要设计文档 4 4)概要设计文档评审)概要设计文档评审 v软件结构设计工具软件结构设计工具结构图结构图(程序结构图程序结构图)程序结构图的基本图符(记忆)程序结构图的基本图符(记忆)程序结构图的基本图符(记忆)程序结构图的基本图符(记忆)矩形矩形表示模块,表示模块,箭头箭头表示模块间的调用关系表示模块间的调用关系 用带注释的箭头表示模块调用过程中来回传递的用带注释的箭头表示模块调用过程中来回传递的信息信息 实心圆箭头实心圆箭头表示控制信息,表示控制信息,空心圆箭头空心圆箭头表示数据信息表示数据信息第45页,本讲稿共67页v软件结构设计工具软件结构设计工具结构图结构图(程序结构图程序结构图)常用结构图的四种模块类型(记忆)常用结构图的四种模块类型(记忆)常用结构图的四种模块类型(记忆)常用结构图的四种模块类型(记忆)传入模块:传入模块:从下属模块取得数据,经处理再将其传送给上级模块。从下属模块取得数据,经处理再将其传送给上级模块。传出模块:传出模块:从上级模块取得数据,经处理再将其传送给下属模块。从上级模块取得数据,经处理再将其传送给下属模块。变换模块:变换模块:从上级模块取得数据,进行特定的处理,转换成其他形式,再传送给从上级模块取得数据,进行特定的处理,转换成其他形式,再传送给上级模块。上级模块。协调模块:协调模块:对所有下属模块进行协调和管理的模块。对所有下属模块进行协调和管理的模块。第46页,本讲稿共67页v软件结构设计工具软件结

    注意事项

    本文(公共基础知识第二三章优秀课件.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开