软件开发技术基础幻灯片.ppt

上传人:石*** 文档编号:48770747 上传时间:2022-10-07 格式:PPT 页数:56 大小:2.88MB
返回 下载 相关 举报
软件开发技术基础幻灯片.ppt_第1页
第1页 / 共56页
软件开发技术基础幻灯片.ppt_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《软件开发技术基础幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件开发技术基础幻灯片.ppt(56页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第1页,共56页,编辑于2022年,星期三程序设计基础程序设计基础 程序设计程序设计基础基础结构化结构化程序设计程序设计面向对象面向对象程序设计程序设计程序设计方法及风格程序设计方法及风格程序设计方法及风格程序设计方法及风格结构化程序设计原则结构化程序设计原则结构化程序设计原则结构化程序设计原则结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序的基本结构与特点结构化程序设计方法的应用结构化程序设计方法的应用结构化程序设计方法的应用结构化程序设计方法的应用面向对象方法面向对象方法面向对象方法面向对象方法面向对象方法的基本概念面向对象方法的基本概念面向对象方法

2、的基本概念面向对象方法的基本概念第2页,共56页,编辑于2022年,星期三程序设计程序设计 是指利用计算机解决问题的全过程,它包是指利用计算机解决问题的全过程,它包含多方面的内容,而编写程序只是其中的一含多方面的内容,而编写程序只是其中的一部分。部分。分分析析问问题题确定确定处理处理方案方案确定确定操作操作步骤步骤编编写写程程序序上机上机运行运行程序程序整整理理结结果果 程序设计的一般步骤程序设计的一般步骤第3页,共56页,编辑于2022年,星期三 例如:例如:求圆的面积和周长的程序设计一般求圆的面积和周长的程序设计一般步骤:步骤:分析问题分析问题 求圆的面积和周长需要知道圆的半径求圆的面积和

3、周长需要知道圆的半径r r,根据圆的半,根据圆的半径求出圆的面积径求出圆的面积S S和周长和周长L L并输出结果。并输出结果。确定处理方案确定处理方案 求圆的面积数学公式是:求圆的面积数学公式是:S=S=rr2 2 求圆的周长公式是:求圆的周长公式是:L=2L=2r r 第4页,共56页,编辑于2022年,星期三 确定操作步骤确定操作步骤 求圆的面积和周长的算法描述为:求圆的面积和周长的算法描述为:确定半径的初值确定半径的初值 计算面积计算面积S S 计算周长计算周长L L 输出结果输出结果S S,L L 第5页,共56页,编辑于2022年,星期三 根据操作步骤编写源程序根据操作步骤编写源程序

4、。将上面求圆的面积和周长算法编写源程序如下将上面求圆的面积和周长算法编写源程序如下 define PI 3.14159 main()float r=3,S,L;S=PI*r*r;L=2*PI*r;printf(“S=%f,L=%fn”,S,L);运行调试程序运行调试程序。整理输出结果,写出相关文档整理输出结果,写出相关文档。第6页,共56页,编辑于2022年,星期三程序设计方法与风格程序设计方法与风格程序设计方法程序设计方法 是是指指以以什什么么观观点点来来研研究究问问题题并并进进行行求求解解,以以及如何进行系统设计的及如何进行系统设计的软件方法学软件方法学。程序设计方法经过的程序设计方法经过

5、的2 2个阶段个阶段q 结构化程序设计结构化程序设计q 面向对象程序设计面向对象程序设计第7页,共56页,编辑于2022年,星期三程序设计风格程序设计风格 编写程序时所表现出的编写程序时所表现出的特点特点特点特点、习惯习惯习惯习惯和和逻辑思路逻辑思路逻辑思路逻辑思路。程序设计风格强调程序设计风格强调简单简单简单简单、清晰清晰和和可理解性可理解性可理解性可理解性。当今主导的程序设计风格当今主导的程序设计风格:清晰第一、效率第二清晰第一、效率第二第8页,共56页,编辑于2022年,星期三main()float r,s;scanf(“%f”,&r);if(r0)/半径必须为正数半径必须为正数 s=2

6、*3.14159*r;printf(“s=%f”,s);else printf(“请输入正数请输入正数!”);main()float r,s;scanf(“%f”,&r);if(r0)s=2*3.14159*r;printf(“s=%f”,s);else printf(“请输入正数请输入正数!”);第9页,共56页,编辑于2022年,星期三n结构化程序设计原则结构化程序设计原则n基本结构基本结构n模块化模块化结构化程序设计结构化程序设计第10页,共56页,编辑于2022年,星期三n自顶向下自顶向下 先考虑先考虑先考虑先考虑总体总体总体总体,后考虑,后考虑,后考虑,后考虑细节细节细节细节;先考虑

7、先考虑先考虑先考虑全局目标全局目标全局目标全局目标,后考虑,后考虑,后考虑,后考虑局部目标局部目标局部目标局部目标。先从总目标开始设计,逐步使问题具体化。先从总目标开始设计,逐步使问题具体化。先从总目标开始设计,逐步使问题具体化。先从总目标开始设计,逐步使问题具体化。n逐步求精逐步求精 对复杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。对复杂问题设计一些子目标作为过渡,逐步细化。n模块化模块化 将将将将总总总总目目目目标标标标分分分分解解解解为为为为分分分分目目目目标标标标,再再再再进进进进一一一一步步步步分分分

8、分为为为为具具具具体体体体的的的的小小小小目目目目标标标标,每每每每个个个个小目标成为一个模块。小目标成为一个模块。小目标成为一个模块。小目标成为一个模块。n限制使用限制使用goto语句语句 会导致程序流程的混乱,应限制使用。会导致程序流程的混乱,应限制使用。会导致程序流程的混乱,应限制使用。会导致程序流程的混乱,应限制使用。结构化程序设计原则结构化程序设计原则第11页,共56页,编辑于2022年,星期三学生成绩管理学生成绩管理增加增加删除删除修改修改查询查询统计统计按学号按学号按姓名按姓名按班级按班级第12页,共56页,编辑于2022年,星期三n顺序结构顺序结构n选择结构选择结构n循环结构循

9、环结构 结构化程序的基本结构与特点结构化程序的基本结构与特点第13页,共56页,编辑于2022年,星期三顺序结构顺序结构main()float r,s;scanf(“%f”,&r);s=2*3.14159*r;printf(“s=%f”,s);AB第14页,共56页,编辑于2022年,星期三选择结构选择结构main()float r,s;scanf(“%f”,&r);if(r0)s=2*3.14159*r;printf(“s=%f”,s);else printf(“请输入正数请输入正数!”);AB条件条件真真假假第15页,共56页,编辑于2022年,星期三循环结构循环结构main()int i

10、,s;s=0;for(i=0;i=100;i+)s=s+i;printf(“s=%d”,s);A条条件件真真假假第16页,共56页,编辑于2022年,星期三优点优点缺点缺点q 程序程序结结构良好构良好q 程序清晰易程序清晰易读读、使用和维护、使用和维护q 提高编程的效率,降低开发成本提高编程的效率,降低开发成本q 数据与对数据的操作数据与对数据的操作(函数函数)相分离,造成数据和相分离,造成数据和算法的一致性差算法的一致性差q 程序的可重用性差程序的可重用性差第17页,共56页,编辑于2022年,星期三结构化程序设计原则和方法的应用结构化程序设计原则和方法的应用 在程序设计过程中,要采用自顶向

11、下自顶向下和逐步逐步细化细化的原则,由粗到细,一步步展开,把一个模块模块的功能逐步分解,细化为一系列具体的步骤,进而翻译成一系列用某种程序设计语言写成的程序。第18页,共56页,编辑于2022年,星期三面向对象的程序设计面向对象的程序设计n基本概念基本概念n面向对象方法的特征和用途面向对象方法的特征和用途第19页,共56页,编辑于2022年,星期三面向对象的方法面向对象的方法 客观世界的任何一个事物都可以被看成是一个客观世界的任何一个事物都可以被看成是一个对象对象对象对象。面向对象的方法的本质面向对象的方法的本质面向对象的方法的本质面向对象的方法的本质就是从客观世界固有的事物出发来构造系统,提

12、倡用人类在现实生活中常用的思维方式来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域。系统中的对象及对象之间的关系能够如实反映问题域中系统中的对象及对象之间的关系能够如实反映问题域中固有的事物及其关系。固有的事物及其关系。第20页,共56页,编辑于2022年,星期三对象对象 基本概念基本概念 客观世界的实体通常既具有客观世界的实体通常既具有客观世界的实体通常既具有客观世界的实体通常既具有静态静态的属性,又具有的属性,又具有动态动态动态动态的行为。的行为。的行为。的行为。在计算机系统中,对象是一组在计算机系统中,对象是一组在计算机系统中,对象是一组在计算机系统中,对象是一组属性属性属性

13、属性以及这组属性上以及这组属性上的的操作操作的封装体。的封装体。的封装体。的封装体。对象对象=属性属性+操作操作 属性:属性:就是对象的特征,是对象外观及行为的特就是对象的特征,是对象外观及行为的特征。征。第21页,共56页,编辑于2022年,星期三 是具有是具有共同属性共同属性和和共同操作方法共同操作方法的对象的集合,的对象的集合,是对象的抽象。是对象的抽象。描述了属于该对象类型的所有对象的性质。描述了属于该对象类型的所有对象的性质。类类 类是对象的类是对象的抽象(模板)抽象(模板),对象则是其对应类的一个,对象则是其对应类的一个实例实例实例实例。第22页,共56页,编辑于2022年,星期三

14、 就是要求某个对象执行某个操作的规格说明。一就是要求某个对象执行某个操作的规格说明。一就是要求某个对象执行某个操作的规格说明。一就是要求某个对象执行某个操作的规格说明。一个消息由三部分组成个消息由三部分组成个消息由三部分组成个消息由三部分组成:p接收消息的对象名称接收消息的对象名称p消息名称消息名称p零个或多个参数零个或多个参数消息消息 消息用于对象之间信息交流,对象之间的相互服务是通过消息来消息用于对象之间信息交流,对象之间的相互服务是通过消息来消息用于对象之间信息交流,对象之间的相互服务是通过消息来消息用于对象之间信息交流,对象之间的相互服务是通过消息来连接实现的。连接实现的。连接实现的。

15、连接实现的。发送发送对象对象接接口口接收对象消息操作名、参数第23页,共56页,编辑于2022年,星期三特性特性q 封装性封装性 指从外面看只能看到对象的外部特征,而指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构及实现操作不知道也无须知道数据的具体结构及实现操作的算法。的算法。信息的隐蔽是通过对象的封装性来实现的信息的隐蔽是通过对象的封装性来实现的属性属性操作操作1 1、2 2、3 3的实现的实现操作操作1 1操作操作2 2操作操作3 3界界面面第24页,共56页,编辑于2022年,星期三q继承性继承性 使用已有的类(使用已有的类(父类父类)定义作为基础建立新类)定义作为基

16、础建立新类(子类子类)的定义技术。)的定义技术。单继承单继承多重继承多重继承 人人 职工职工 学生学生 教师教师 在职学生在职学生 提高了软件的可重用性,继承具有提高了软件的可重用性,继承具有传递性传递性第25页,共56页,编辑于2022年,星期三q 多态性多态性 同一消息被不同的对象接受时可以产同一消息被不同的对象接受时可以产生完全不同的行为。生完全不同的行为。实现实现“同一接口,不同实现同一接口,不同实现”增加了系统的灵活性,进一步减少数据冗余,显增加了系统的灵活性,进一步减少数据冗余,显著提高软件的可重用性和可扩充性。著提高软件的可重用性和可扩充性。第26页,共56页,编辑于2022年,

17、星期三优点优点q 与人类思维方法一致与人类思维方法一致q 稳定性好稳定性好q 可重用性好可重用性好q 易于开发大型软件产品易于开发大型软件产品q 可维护性好可维护性好第27页,共56页,编辑于2022年,星期三软件工程基础软件工程基础 随着计算机硬件技术的进步,要求软件能与之相适随着计算机硬件技术的进步,要求软件能与之相适应。然后软件技术的进步一直未能满足形式发展提出的应。然后软件技术的进步一直未能满足形式发展提出的要求,致使问题积累起来,形成了日益尖锐的矛盾,这要求,致使问题积累起来,形成了日益尖锐的矛盾,这就导致了就导致了软件危机软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,

18、为了消除软件危机,通过认真研究解决软件危机的方法,为了消除软件危机,通过认真研究解决软件危机的方法,为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向科学的途径,逐渐形成了认识到软件工程是使计算机软件走向科学的途径,逐渐形成了认识到软件工程是使计算机软件走向科学的途径,逐渐形成了认识到软件工程是使计算机软件走向科学的途径,逐渐形成了软件工程的概念,并开辟了工程学的新兴领域软件工程的概念,并开辟了工程学的新兴领域软件工程的概念,并开辟了工程学的新兴领域软件工程的概念,并开辟了工程学的新兴领域-软件工程学软件工程学软件工程学软件工程学。倡导以工程化的原则和方法组织软

19、件开发工作,是摆倡导以工程化的原则和方法组织软件开发工作,是摆脱软件危机的一个主要出路。脱软件危机的一个主要出路。软件开发工具与软件开发环境软件开发工具与软件开发环境软件开发工具与软件开发环境软件开发工具与软件开发环境软件工程的目标和原则软件工程的目标和原则软件工程的目标和原则软件工程的目标和原则软件工程过程与软件生命周期软件工程过程与软件生命周期软件工程过程与软件生命周期软件工程过程与软件生命周期软件危机与软件工程软件危机与软件工程软件危机与软件工程软件危机与软件工程软件定义与软件特点软件定义与软件特点软件定义与软件特点软件定义与软件特点需求分析需求分析需求分析需求分析可行性分析可行性分析可

20、行性分析可行性分析问题定义问题定义问题定义问题定义软件设计软件设计软件设计软件设计软件编码软件编码软件编码软件编码软件测试软件测试软件测试软件测试软件维护软件维护软件维护软件维护软件工程软件工程软件工程软件工程基本概念基本概念基本概念基本概念软件工程软件工程软件工程软件工程过程过程过程过程软件软件软件软件开发方法开发方法开发方法开发方法开发技术开发技术开发技术开发技术软件危机软件危机软件危机软件危机结构化开发方法结构化开发方法结构化开发方法结构化开发方法面向对象开发方法面向对象开发方法面向对象开发方法面向对象开发方法第28页,共56页,编辑于2022年,星期三基本概念基本概念第29页,共56页

21、,编辑于2022年,星期三软件定义和组成软件定义和组成 是计算机系统中与硬件相互依赖的一部是计算机系统中与硬件相互依赖的一部分,包括分,包括程序程序、数据数据和相关的和相关的文档文档。程序程序 计算机执行的指令序列。计算机执行的指令序列。数据数据 是使程序能正常操作信息的数据结构。是使程序能正常操作信息的数据结构。文档文档 是与程序的开发、维护和使用有关的图文资料是与程序的开发、维护和使用有关的图文资料软件是软件是程序程序、数据数据和和文档文档的集合的集合第30页,共56页,编辑于2022年,星期三软件危机与软件工程软件危机与软件工程软件危机软件危机软件工程源自软件工程源自软件危机软件危机 泛

22、指在计算机软件的开发和维护过程中泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题,包括所遇到的一系列严重问题,包括成本成本、质量质量、生产率生产率等问题。等问题。q软件需求的增长得不到满足软件需求的增长得不到满足q软件开发成本和进度无法控制软件开发成本和进度无法控制q软件质量难以保证软件质量难以保证q软件不可维护或维护程度非常低软件不可维护或维护程度非常低q软件成本不断提高软件成本不断提高q软件开发生产效率的提高赶不上硬件的发展和应用软件开发生产效率的提高赶不上硬件的发展和应用需求的增长需求的增长第31页,共56页,编辑于2022年,星期三 指导计算机软件开发和维护的工程学指导计算机软

23、件开发和维护的工程学科。包括一下三要素:科。包括一下三要素:软件工程软件工程q q方法方法 为软件开发提供为软件开发提供“如何做如何做如何做如何做”技术。技术。q q工具工具工具工具 指支持软件开发、管理、文档生成的自动半自指支持软件开发、管理、文档生成的自动半自 动软件支撑环境。动软件支撑环境。q q过程过程过程过程 指软件开发各个环节的控制和管理。指软件开发各个环节的控制和管理。软件工程的软件工程的核心思想核心思想是将工程化原则运用到软件开发过程是将工程化原则运用到软件开发过程中,即将软件产品作为一个工程产品处理。它包括中,即将软件产品作为一个工程产品处理。它包括方法方法方法方法、工具工具

24、工具工具和和过程过程过程过程三要素。三要素。第32页,共56页,编辑于2022年,星期三软件工程过程与软件生命周期软件工程过程与软件生命周期软件工程过程软件工程过程 是为获得软件产品,在软件工具支持下由软件工程师完成的一系列工程活动。通常包括4种基本过程活动P P(Plan)(Plan)软件规格说明软件规格说明。规定软件的功能以及运行时的限制。规定软件的功能以及运行时的限制。D D(Do)(Do)软件开发软件开发。产生满足软件规格说明的软件。产生满足软件规格说明的软件。C C(Check)(Check)软件确认软件确认。确认软件能够满足用户提出的要求。确认软件能够满足用户提出的要求。A A(A

25、ction)(Action)软件演进软件演进。为满足用户的变更要求,软件必须为满足用户的变更要求,软件必须 在使用的过程中演进。在使用的过程中演进。第33页,共56页,编辑于2022年,星期三 将将软软件件产产品品从从提提出出、实实现现、使使用用、维维护护、停停止止使使用用到到退退役役的的过过程程,称称为为软软件生命周期。件生命周期。软件生命周期软件生命周期 问题定义问题定义 可行性分析可行性分析 需求分析需求分析 软件设计软件设计 软件测试软件测试 软件实现软件实现 运行和维护运行和维护软件软件定义定义软件开发软件开发软件运行维护软件运行维护第34页,共56页,编辑于2022年,星期三软件开

26、发工具与软件开发环境软件开发工具与软件开发环境 软件开发工具软件开发工具 协助开发人员进行软件开发活协助开发人员进行软件开发活动所使用的软件或环境。它包括动所使用的软件或环境。它包括需求分析工具需求分析工具需求分析工具需求分析工具、设计设计工具工具、编码工具编码工具编码工具编码工具、排错工具排错工具和和测试工具测试工具等。等。软件开发环境软件开发环境 是全面支持软件开发全过程的是全面支持软件开发全过程的软件工具的集合。软件工具的集合。第35页,共56页,编辑于2022年,星期三软件工程过程软件工程过程第36页,共56页,编辑于2022年,星期三问题定义问题定义 该阶段是弄清楚用户需要计算机解决

27、什么问题,该阶段是弄清楚用户需要计算机解决什么问题,以及项目所需的资源和经费。以及项目所需的资源和经费。主要任务就是主要任务就是调研调研和分析,写出和分析,写出“系统目标与范围系统目标与范围说明书说明书”。确定开发目标和总的要求,给出可行性方案,制定确定开发目标和总的要求,给出可行性方案,制定开发计划。开发计划。第37页,共56页,编辑于2022年,星期三可行性分析可行性分析 该阶段的目的是弄清楚:用户要解决该阶段的目的是弄清楚:用户要解决的问题是否能够解决和值得解决。的问题是否能够解决和值得解决。第38页,共56页,编辑于2022年,星期三需求分析需求分析需求分析的任务需求分析的任务 导出目

28、标系统的逻辑模型,解决导出目标系统的逻辑模型,解决“做什么做什么做什么做什么”的问题。的问题。需求分析方法需求分析方法 结构化分析方法(采用的常用工具)结构化分析方法(采用的常用工具)面向对象的分析方法面向对象的分析方法 根据用户的需求进行分析并给出详细定义,即根据用户的需求进行分析并给出详细定义,即确定软件系统的功能。确定软件系统的功能。第39页,共56页,编辑于2022年,星期三结构化分析方法结构化分析方法 是在软件需求分析阶段的运用,是是在软件需求分析阶段的运用,是面向面向数据流数据流进行需求分析的方法,采用自顶向下、进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以逐层

29、分解,建立系统的处理流程,以数据流图数据流图和和数据字典数据字典为主要工具,建立系统的为主要工具,建立系统的逻辑逻辑模型。模型。第40页,共56页,编辑于2022年,星期三结构化分析的常用工具结构化分析的常用工具q 数据流图数据流图(DFD)是以图形的方式描绘数据在系统中流动和处理的过程,它反是以图形的方式描绘数据在系统中流动和处理的过程,它反映了系统必须完成的逻辑功能,是结构化分析方法中用于表示系映了系统必须完成的逻辑功能,是结构化分析方法中用于表示系统逻辑模型的一种工具。统逻辑模型的一种工具。q 数据字典数据字典(DD)是结构化分析方法的核心,其作用是对数据流图中被命名的是结构化分析方法的

30、核心,其作用是对数据流图中被命名的图形元素进行确切的解释。图形元素进行确切的解释。q 判定树判定树q 判定表判定表第41页,共56页,编辑于2022年,星期三数据流图数据流图 是以是以图形的方式图形的方式描绘数据在系统中流动和处描绘数据在系统中流动和处理的过程,它反映了系统必须完成的逻辑功能,理的过程,它反映了系统必须完成的逻辑功能,是结构化分析方法中用于表示系统逻辑模型的一是结构化分析方法中用于表示系统逻辑模型的一种工具。种工具。办理取款手续的数据流图办理取款手续的数据流图办理取款手续的数据流图办理取款手续的数据流图加工加工数据流数据流存储文件存储文件源、潭源、潭加加 工工:描述输入流到输出

31、流之间的变换:描述输入流到输出流之间的变换数数 据据 流流:表示数据的流向:表示数据的流向存储文件存储文件:表示暂时存储的数据:表示暂时存储的数据源源 、潭潭:也称外部实体,指出系统所需数据的发源地和系:也称外部实体,指出系统所需数据的发源地和系统所产生数据的归宿地。统所产生数据的归宿地。第42页,共56页,编辑于2022年,星期三软件设计软件设计 把已确定的各项需求转换成一个相应的体系把已确定的各项需求转换成一个相应的体系结构。进而对每个模块要完成的工作进行具体的结构。进而对每个模块要完成的工作进行具体的描述。编写设计说明书并提交评审。描述。编写设计说明书并提交评审。主要解决主要解决“怎么做

32、怎么做”的问题。的问题。第43页,共56页,编辑于2022年,星期三q总体设计总体设计(概要设计概要设计)将软件需求转化为数据结构和软件的系统将软件需求转化为数据结构和软件的系统结构。结构。q详细设计详细设计 软件的软件的过程过程设计,通过对结构表示进行细化,设计,通过对结构表示进行细化,得到软件的详细数据结构和算法。得到软件的详细数据结构和算法。软件设计步骤软件设计步骤第44页,共56页,编辑于2022年,星期三q抽象抽象 抽出事物本质的共同特点而不考虑它的细节抽出事物本质的共同特点而不考虑它的细节q模块化模块化 模块是一个具有明确定义的输入、输出和特性的程模块是一个具有明确定义的输入、输出

33、和特性的程序实体。序实体。每个模块完成一个特定的子功能,所有的模块按某种方每个模块完成一个特定的子功能,所有的模块按某种方式组合起来成为一个整体,完成整个系统所要求的功能。式组合起来成为一个整体,完成整个系统所要求的功能。软件设计的原理软件设计的原理第45页,共56页,编辑于2022年,星期三q信息隐蔽信息隐蔽 每个模块实现的细节对于其它模块来说是隐蔽的,每个模块实现的细节对于其它模块来说是隐蔽的,即模块中所包含的信息(数据结构和过程)不允许其即模块中所包含的信息(数据结构和过程)不允许其他不需要这些信息的模块使用。他不需要这些信息的模块使用。q模块独立性模块独立性 每个模块只具体的子功能,和

34、其他模块的接口是简单每个模块只具体的子功能,和其他模块的接口是简单的。的。衡量指标衡量指标衡量指标衡量指标:耦合性耦合性耦合性耦合性和和内聚性内聚性内聚性内聚性。一个设计良好的软件系统应具有一个设计良好的软件系统应具有低耦合低耦合、高高内聚内聚的特征的特征学生成绩管理学生成绩管理增加增加删除删除修改修改查询查询统计统计按学号按学号按姓名按姓名按班级按班级第46页,共56页,编辑于2022年,星期三 是软件设计的第是软件设计的第2 2个阶段,主要确定每个模块具个阶段,主要确定每个模块具体的执行过程。体的执行过程。详细设计详细设计 该阶段的任务是:确定实现该阶段的任务是:确定实现算法算法和和局部数

35、局部数据结构据结构,不同于编码或编程,不同于编码或编程实现实现详细详细设计设计常用的表达工具常用的表达工具q 图形工具图形工具 程序流程图、程序流程图、N-S图、图、PAD、HIPOq 表格工具表格工具 判定表判定表q 语言工具语言工具 PDL(伪码)(伪码)第47页,共56页,编辑于2022年,星期三软件编码软件编码 把软件设计转换成计算机把软件设计转换成计算机可以接受的可以接受的程序代码程序代码。第48页,共56页,编辑于2022年,星期三软件测试软件测试软件测试的目的软件测试的目的 尽可能发现程序中的错误,但不能也不尽可能发现程序中的错误,但不能也不可能证明程序没有错误。可能证明程序没有

36、错误。是为了发现错误而执行程序的过程。是为了发现错误而执行程序的过程。主要检验软件的各个组成部分,编写测试分主要检验软件的各个组成部分,编写测试分析报告。析报告。第49页,共56页,编辑于2022年,星期三q 静态测试静态测试 人工评审软件文档或程序,借以发现其中人工评审软件文档或程序,借以发现其中的错误。的错误。q 动态测试动态测试 指的是上机运行程序,从多角度观察程序运指的是上机运行程序,从多角度观察程序运行时的行为,以发现其中的错误。行时的行为,以发现其中的错误。测试方法测试方法:白盒测试、黑盒测试白盒测试、黑盒测试软件测试技术软件测试技术第50页,共56页,编辑于2022年,星期三 是

37、根据程序的是根据程序的内部逻辑结构内部逻辑结构来设计的,来设计的,主要用于主要用于软件单元软件单元的测试。的测试。主要方法有主要方法有:q 逻辑覆盖逻辑覆盖q 基本路径测试基本路径测试 白盒测试法白盒测试法第51页,共56页,编辑于2022年,星期三 是对软件已经实现的是对软件已经实现的功能功能是否满足需要进行是否满足需要进行测试和验证,不关心程序内部的逻辑。测试和验证,不关心程序内部的逻辑。主要方法有主要方法有:q 等价类划分法等价类划分法q 边界值分析法边界值分析法q 错误推测法错误推测法 是对程序功能的测试,主要用于是对程序功能的测试,主要用于软件的软件的确认确认测试。测试。黑盒测试法黑

38、盒测试法第52页,共56页,编辑于2022年,星期三软件测试的实施软件测试的实施软件测试过程按软件测试过程按4 4个步骤进行个步骤进行q单元测试单元测试 q集成测试集成测试q确认测试确认测试q系统测试系统测试第53页,共56页,编辑于2022年,星期三运行、维护运行、维护 交付使用,并不断进行维护,根交付使用,并不断进行维护,根据新需求进行扩充和删除。据新需求进行扩充和删除。第54页,共56页,编辑于2022年,星期三 软件开发方法与技术软件开发方法与技术 第55页,共56页,编辑于2022年,星期三q结构化开发方法结构化开发方法q面向对象开发方法面向对象开发方法结构化结构化分析分析结构化结构化设计设计结构化程序结构化程序设计设计软件软件计划计划软件软件测试测试面向对象面向对象分析分析面向对象面向对象设计设计面向对象面向对象编码编码软件软件计划计划软件软件测试测试第56页,共56页,编辑于2022年,星期三

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com