《精品PPT课件第9章程序设计与软件工程基础》由会员分享,可在线阅读,更多相关《精品PPT课件第9章程序设计与软件工程基础(102页珍藏版)》请在金锄头文库上搜索。
1、雾妈瞪馋踊捆葫抵届梧贸敦容朱汞割称膝拾癸锌敢羔脑并帽召椭鼠段赂叔精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础第第9章章 程序设计与软件工程基础程序设计与软件工程基础沧醉丢颖气野棕况瓷蔚圣油实侩扮空晌论剔窥悼取妥钎酶荆盟并绦根桐额精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础主要内容主要内容程序设计的方法和风格程序设计的方法和风格结构化程序设计的方法结构化程序设计的方法面向对象程序设计的方法面向对象程序设计的方法软件工程的基本概念软件工程的基本概念结构化分析方法结构化分析方法结构化设计方法结构化设计方法软件的测
2、试软件的测试软件的维护软件的维护凭南惰竿表忱硫艇煽肩柯渤浪猿了袱店氯博渝滨纵炬骑苇计先脸嚎炽选弊精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础9.1 程序设计基础程序设计基础一、有关程序设计的基本概念一、有关程序设计的基本概念1 1、程序、程序、程序、程序 由人所编写的、指挥和控制计算机完成某一任务的指令序列。由人所编写的、指挥和控制计算机完成某一任务的指令序列。由人所编写的、指挥和控制计算机完成某一任务的指令序列。由人所编写的、指挥和控制计算机完成某一任务的指令序列。2 2、程序设计、程序设计、程序设计、程序设计 编写程序的过程。编写程序的过程。编写
3、程序的过程。编写程序的过程。 是一门技术,需要相应的理论、技术、方法与工具的支持。是一门技术,需要相应的理论、技术、方法与工具的支持。是一门技术,需要相应的理论、技术、方法与工具的支持。是一门技术,需要相应的理论、技术、方法与工具的支持。3 3、程序设计方法、程序设计方法、程序设计方法、程序设计方法 研究问题求解和系统构造的软件方法学。研究问题求解和系统构造的软件方法学。研究问题求解和系统构造的软件方法学。研究问题求解和系统构造的软件方法学。 主要有两种主要有两种主要有两种主要有两种l l结构化程序设计结构化程序设计结构化程序设计结构化程序设计l l面向对象程序设计面向对象程序设计面向对象程序
4、设计面向对象程序设计4 4、程序设计语言、程序设计语言、程序设计语言、程序设计语言 编写程序所使用的语言,人和计算机进行交流的语言。编写程序所使用的语言,人和计算机进行交流的语言。编写程序所使用的语言,人和计算机进行交流的语言。编写程序所使用的语言,人和计算机进行交流的语言。 分类分类分类分类l l高级语言:高级语言:高级语言:高级语言:C C、VBVB、VCVC、JAVAJAVA、C#C#等等等等l l低级语言:机器语言和汇编语言低级语言:机器语言和汇编语言低级语言:机器语言和汇编语言低级语言:机器语言和汇编语言铅愤揽霸磷涛灸燕萤两殿逛焦舵妆婴仪辰砌朗佃值帖洋萌需卿凌刑集逗鸥精品PPT课件-
5、第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础二、程序设计的风格二、程序设计的风格1 1、概念:、概念:、概念:、概念:编写程序时所表现出来的特点、习惯和逻辑思路。编写程序时所表现出来的特点、习惯和逻辑思路。编写程序时所表现出来的特点、习惯和逻辑思路。编写程序时所表现出来的特点、习惯和逻辑思路。2 2、作用、作用、作用、作用良好的程序设计风格能够使设计的程序结构清晰合良好的程序设计风格能够使设计的程序结构清晰合良好的程序设计风格能够使设计的程序结构清晰合良好的程序设计风格能够使设计的程序结构清晰合理、代码易于维护,保证软件开发的质量。理、代码易于维护,保证软件开发的质
6、量。理、代码易于维护,保证软件开发的质量。理、代码易于维护,保证软件开发的质量。3 3、原则、原则、原则、原则“ “清晰第一、效率第二清晰第一、效率第二清晰第一、效率第二清晰第一、效率第二” ”诉鳃灰贷数放窑酌兰鹤粳炉拙茅枪获镐摩紧曲获迟扭雨馒万胞又杆助堡厩精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础4、内容(四个方面)、内容(四个方面)(1)总体设计的风格)总体设计的风格 程序设计首先要从全局出发,对整体结构进行设计,为后面的程序设计首先要从全局出发,对整体结构进行设计,为后面的具体编程做好准备,其根本目标是降低程序的复杂性,提高程序具体编程做好准
7、备,其根本目标是降低程序的复杂性,提高程序的可读性。的可读性。 总体设计应满足结构清晰、思路清晰、条理清晰的要求。总体设计应满足结构清晰、思路清晰、条理清晰的要求。(2)语言运用的风格)语言运用的风格选取恰当的程序设计语言选取恰当的程序设计语言采用朴素的语句成分采用朴素的语句成分(3 3)程序文本的风格)程序文本的风格)程序文本的风格)程序文本的风格 注意程序文本的易读性注意程序文本的易读性注意程序文本的易读性注意程序文本的易读性 数据定义规范化数据定义规范化数据定义规范化数据定义规范化 程序中加必要的注释程序中加必要的注释程序中加必要的注释程序中加必要的注释 合理使用分隔符合理使用分隔符合理
8、使用分隔符合理使用分隔符(4 4)输入输出的风格)输入输出的风格)输入输出的风格)输入输出的风格郡奥涨册漏慰宫翘佬搀促验熊旺菱羚仟捷讲郎逐铱照甭今吨虫株犯啪爽硅精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础三、结构化程序设计方法三、结构化程序设计方法1 1、主要思想、主要思想、主要思想、主要思想功能分解,逐步求精。把一个大的任务分解为若干个功能分解,逐步求精。把一个大的任务分解为若干个功能分解,逐步求精。把一个大的任务分解为若干个功能分解,逐步求精。把一个大的任务分解为若干个较小的功能部件分别实现。较小的功能部件分别实现。较小的功能部件分别实现。较小的
9、功能部件分别实现。2 2、结构化程序设计的基本结构(、结构化程序设计的基本结构(、结构化程序设计的基本结构(、结构化程序设计的基本结构(3 3种)种)种)种)(1 1)顺序结构)顺序结构)顺序结构)顺序结构 按照语句的自然顺序依次执行的结构。按照语句的自然顺序依次执行的结构。按照语句的自然顺序依次执行的结构。按照语句的自然顺序依次执行的结构。丝动涅币碳恍瘪萨龄冗湃迅样音攒怨冕源溢阂哟朵拭帕绚趴楞雍明贾钞颧精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(2)选择结构(分支结构)选择结构(分支结构) 根据条件判断结果的不同,选择相应的分支语根据条件判断结果
10、的不同,选择相应的分支语根据条件判断结果的不同,选择相应的分支语根据条件判断结果的不同,选择相应的分支语句执行。句执行。句执行。句执行。分为两路分支结构和多路分支结构。分为两路分支结构和多路分支结构。分为两路分支结构和多路分支结构。分为两路分支结构和多路分支结构。两路分支结构两路分支结构两路分支结构两路分支结构多路分支结构多路分支结构多路分支结构多路分支结构散童嚣炊篡怨脱迅饶茸朋蜀嫡联嫂勿谦锁畜破网峦雁侧兰探倪搁掘岸芒牵精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(3)循环结构)循环结构 1 1)当型循环:先判断)当型循环:先判断)当型循环:先判断)
11、当型循环:先判断条件,当条件满足时执条件,当条件满足时执条件,当条件满足时执条件,当条件满足时执行循环体语句,条件不行循环体语句,条件不行循环体语句,条件不行循环体语句,条件不满足时跳出循环,执行满足时跳出循环,执行满足时跳出循环,执行满足时跳出循环,执行循环后面的语句。循环后面的语句。循环后面的语句。循环后面的语句。2 2)直到型循环:先执)直到型循环:先执)直到型循环:先执)直到型循环:先执行循环体语句,然后判行循环体语句,然后判行循环体语句,然后判行循环体语句,然后判断条件是否满足,如果断条件是否满足,如果断条件是否满足,如果断条件是否满足,如果满足条件则跳出循环,满足条件则跳出循环,满
12、足条件则跳出循环,满足条件则跳出循环,执行循环后面的语句。执行循环后面的语句。执行循环后面的语句。执行循环后面的语句。否则,继续执行循环体否则,继续执行循环体否则,继续执行循环体否则,继续执行循环体语句语句语句语句姚授阳伶写奄啦鄙拈肆克进遇曲伊凿臼情鄙岩尹媒汹奖沿啼椒扇体跳纪犹精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3、结构化程序设计的原则、结构化程序设计的原则(1 1)模块化原则)模块化原则)模块化原则)模块化原则 将一个大的任务分解为若干个人们能理解的模块。将一个大的任务分解为若干个人们能理解的模块。将一个大的任务分解为若干个人们能理解的模块
13、。将一个大的任务分解为若干个人们能理解的模块。 遵循两个原则:按功能划分、按层次组织遵循两个原则:按功能划分、按层次组织遵循两个原则:按功能划分、按层次组织遵循两个原则:按功能划分、按层次组织(2 2)自顶向下、逐步求精)自顶向下、逐步求精)自顶向下、逐步求精)自顶向下、逐步求精(3 3)限制使用)限制使用)限制使用)限制使用gotogoto语句语句语句语句辑糊呛咖寨萌证椿魄春炔揩斜本条钙常邹久侵篙尾蔚锣仁况沮循萎啡抚睛精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础四、面向对象程序设计方法四、面向对象程序设计方法1、主要思想、主要思想把描述事物静态属性
14、的数据结构和表示事物动态行为把描述事物静态属性的数据结构和表示事物动态行为的操作放在一起构成一个整体,完整自然的表示客观的操作放在一起构成一个整体,完整自然的表示客观世界的实体。世界的实体。2 2、基本概念、基本概念、基本概念、基本概念(1 1)对象)对象)对象)对象 指客观存在并且能够相互区分的事物。指客观存在并且能够相互区分的事物。指客观存在并且能够相互区分的事物。指客观存在并且能够相互区分的事物。 可以是有形的(比如一辆汽车),也可以是无形的(比如一项可以是有形的(比如一辆汽车),也可以是无形的(比如一项可以是有形的(比如一辆汽车),也可以是无形的(比如一项可以是有形的(比如一辆汽车),
15、也可以是无形的(比如一项计划)。计划)。计划)。计划)。(2 2)属性)属性)属性)属性 指对对象某一个方面特性的描述,它是对象包含的信息。指对对象某一个方面特性的描述,它是对象包含的信息。指对对象某一个方面特性的描述,它是对象包含的信息。指对对象某一个方面特性的描述,它是对象包含的信息。 例如:可用例如:可用例如:可用例如:可用“ “姓名姓名姓名姓名” ”、“ “年龄年龄年龄年龄” ”、“ “性别性别性别性别” ”等属性描述一个人。等属性描述一个人。等属性描述一个人。等属性描述一个人。(3 3)方法)方法)方法)方法允许作用于某个对象上的各种操作,如汽车的前进、后退等。允许作用于某个对象上的
16、各种操作,如汽车的前进、后退等。允许作用于某个对象上的各种操作,如汽车的前进、后退等。允许作用于某个对象上的各种操作,如汽车的前进、后退等。炸槛踩圆性颤莱咀棠撕慕蔽否盏钒井讳灌釉瘸挪稠乞陶腺甜京跑别统免综精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(4)事件)事件 是指由对象识别的一个动作是指由对象识别的一个动作.(5)类)类l l指具有相同属性和相同操作的对象集合。指具有相同属性和相同操作的对象集合。指具有相同属性和相同操作的对象集合。指具有相同属性和相同操作的对象集合。l l类和对象的关系类和对象的关系类和对象的关系类和对象的关系 类是对象的抽象
17、,对象是类的实例,犹如模具与铸件之间的关系类是对象的抽象,对象是类的实例,犹如模具与铸件之间的关系类是对象的抽象,对象是类的实例,犹如模具与铸件之间的关系类是对象的抽象,对象是类的实例,犹如模具与铸件之间的关系(6 6)封装)封装)封装)封装l l将对象的属性和方法结合成一个整体。将对象的属性和方法结合成一个整体。将对象的属性和方法结合成一个整体。将对象的属性和方法结合成一个整体。l l是一种信息隐藏技术,使用者无法访问封装体的内部。是一种信息隐藏技术,使用者无法访问封装体的内部。是一种信息隐藏技术,使用者无法访问封装体的内部。是一种信息隐藏技术,使用者无法访问封装体的内部。(7 7)消息)消
18、息)消息)消息l l消息传递是对象之间通信的手段,一个对象向另一个对象发送消息来消息传递是对象之间通信的手段,一个对象向另一个对象发送消息来消息传递是对象之间通信的手段,一个对象向另一个对象发送消息来消息传递是对象之间通信的手段,一个对象向另一个对象发送消息来请求服务,接受消息的对象经过解释,然后给予响应。请求服务,接受消息的对象经过解释,然后给予响应。请求服务,接受消息的对象经过解释,然后给予响应。请求服务,接受消息的对象经过解释,然后给予响应。扶酸锗睡蜗涂付站得霖滦纬汾搔腥田飞容罚全哉丑敬李匀铂呵羔迪睦臂娇精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程
19、基础人人工人工人学生学生教师教师农民农民小学生小学生中学生中学生大学生大学生研究生研究生助教助教讲师讲师教授教授(8 8)继承)继承)继承)继承一个类(称为子类)的定义可以定义在另一个已经定义类(称为一个类(称为子类)的定义可以定义在另一个已经定义类(称为父类)的基础上,子类可以继承父类中的属性和方法,也可以定义自父类)的基础上,子类可以继承父类中的属性和方法,也可以定义自己的属性和方法。己的属性和方法。 如下图:假设已经定义好了一个人类,具有姓名、年龄、性别等如下图:假设已经定义好了一个人类,具有姓名、年龄、性别等属性和修改姓名、显示各信息的方法。现在要定义一个学生类,只需属性和修改姓名、显
20、示各信息的方法。现在要定义一个学生类,只需要从人类继承一下,就自动具有人类的属性和方法,然后给学生类添要从人类继承一下,就自动具有人类的属性和方法,然后给学生类添加特有的属性如学号、班级、成绩等和相应的方法就可以了。加特有的属性如学号、班级、成绩等和相应的方法就可以了。继承可以一直进行下去,形成一棵树,称为继承可以一直进行下去,形成一棵树,称为类层次结构。类层次结构。 踢荷墒卞象诀突闯鱼捞虐禹铅以皑衙诽渠铁胸疏魔履乎复液厚痹问易莆题精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(9)多态性)多态性 指在类的不同层次上可以使用相同的方法指在类的不同层次上
21、可以使用相同的方法指在类的不同层次上可以使用相同的方法指在类的不同层次上可以使用相同的方法名,但不同层次的类可以按自己的需要来实现名,但不同层次的类可以按自己的需要来实现名,但不同层次的类可以按自己的需要来实现名,但不同层次的类可以按自己的需要来实现这个行为。这个行为。这个行为。这个行为。 如上图中,人类可以具有显示信息如上图中,人类可以具有显示信息如上图中,人类可以具有显示信息如上图中,人类可以具有显示信息(printprint)的方法,而学生类同样可以有同名的)的方法,而学生类同样可以有同名的)的方法,而学生类同样可以有同名的)的方法,而学生类同样可以有同名的方法。但人类的方法。但人类的方
22、法。但人类的方法。但人类的PrintPrint显示姓名、年龄、性别信显示姓名、年龄、性别信显示姓名、年龄、性别信显示姓名、年龄、性别信息,而学生类的息,而学生类的息,而学生类的息,而学生类的printprint则显示姓名、年龄、性别、则显示姓名、年龄、性别、则显示姓名、年龄、性别、则显示姓名、年龄、性别、学号、班级、成绩信息。学号、班级、成绩信息。学号、班级、成绩信息。学号、班级、成绩信息。 另外,整型数据和复数都有加法运算,但另外,整型数据和复数都有加法运算,但另外,整型数据和复数都有加法运算,但另外,整型数据和复数都有加法运算,但它们的运算规则是不同的,这也是一种多态性。它们的运算规则是不
23、同的,这也是一种多态性。它们的运算规则是不同的,这也是一种多态性。它们的运算规则是不同的,这也是一种多态性。病突汰螟语需身酱悬巾刚纯坤腹捶鞍鳖巴升法跳可埠愈摧呜吊孪忧亦远修精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3、面向对象技术、面向对象技术 面向对象的分析(面向对象的分析(面向对象的分析(面向对象的分析(OOAOOA) 面向对象的设计(面向对象的设计(面向对象的设计(面向对象的设计(OODOOD) 面向对象的实现(面向对象的实现(面向对象的实现(面向对象的实现(OOIOOI)熊填序祁虾臣愤函倒短氯碑窖频笛段村壬僻抖锄畜胁级碘呸裁放戎没剂斯精品P
24、PT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础4、面向对象技术优点、面向对象技术优点 与人类习惯思维方法一致与人类习惯思维方法一致与人类习惯思维方法一致与人类习惯思维方法一致 良好的可重用性良好的可重用性良好的可重用性良好的可重用性 良好的可维护性良好的可维护性良好的可维护性良好的可维护性 表示方法的一致性表示方法的一致性表示方法的一致性表示方法的一致性旬膏客涯赢娜壁她襄自瞧壳翁痞嚎甚柑乡变争雹骸腋隅坠哟蔡仙雾曾蚤粗精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础9.2 软件工程基础软件工程基础一、软件工程的概念一、软
25、件工程的概念1 1、软件:、软件:、软件:、软件:程序程序程序程序+ +文档文档文档文档 程序:由人所编写的、指挥和控制计算机完成某一程序:由人所编写的、指挥和控制计算机完成某一程序:由人所编写的、指挥和控制计算机完成某一程序:由人所编写的、指挥和控制计算机完成某一任务的指令序列。任务的指令序列。任务的指令序列。任务的指令序列。 文档:文档:文档:文档:与程序运行和维护有关的图文资料与程序运行和维护有关的图文资料与程序运行和维护有关的图文资料与程序运行和维护有关的图文资料霄店然氮尉属吏腰缝蹬矩脐郭尼幕布歌乘曹杠畸均途焊视捣铭植铰七鲜峭精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-
26、第9章程序设计与软件工程基础2 2、软件危机、软件危机软软软软件件件件危危危危机机机机是是是是指指指指在在在在软软软软件件件件开开开开发发发发和和和和维维维维护护护护中中中中所所所所产产产产生生生生的的的的一一一一系系系系列列列列严严严严重重重重的的的的问问问问题题题题。一一一一是是是是如如如如何何何何开开开开发发发发软软软软件件件件,满满满满足足足足用用用用户户户户对对对对软软软软件件件件的的的的需需需需求求求求,二二二二是是是是如如如如何何何何维维维维护护护护数数数数量量量量众众众众多多多多的的的的已已已已有有有有软软软软件件件件。其其其其主主主主要要要要表表表表现现现现如下如下如下如下:
27、 (1 1 1 1)用户需求不明确、变更过多)用户需求不明确、变更过多)用户需求不明确、变更过多)用户需求不明确、变更过多 (2 2 2 2)软件成本日益增长)软件成本日益增长)软件成本日益增长)软件成本日益增长 (3 3 3 3)开发进度难以控制)开发进度难以控制)开发进度难以控制)开发进度难以控制 (4 4 4 4)软件质量差)软件质量差)软件质量差)软件质量差 (5 5 5 5)软件维护困难)软件维护困难)软件维护困难)软件维护困难珊傲这沪虚局俄恋掌克屏狸乒畏沃灼弛局袍羡进梯归洪州蒸肖眉逊线豫挤精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3、软
28、件工程、软件工程l l为了解决软件危机,出现了软件工程,就是应用为了解决软件危机,出现了软件工程,就是应用为了解决软件危机,出现了软件工程,就是应用为了解决软件危机,出现了软件工程,就是应用于计算机软件的定义、开发和维护的整套方法、于计算机软件的定义、开发和维护的整套方法、于计算机软件的定义、开发和维护的整套方法、于计算机软件的定义、开发和维护的整套方法、文档、实践标准和工具。文档、实践标准和工具。文档、实践标准和工具。文档、实践标准和工具。l l采用工程的概念、原理、技术和方法来指导软件采用工程的概念、原理、技术和方法来指导软件采用工程的概念、原理、技术和方法来指导软件采用工程的概念、原理、
29、技术和方法来指导软件的开发与维护。的开发与维护。的开发与维护。的开发与维护。耗兽吓灾窍雌观摈使饼殿泻霄淬吃绎眶寺哨鹿芍漱阎咒架孜蕾缴瞧音怀盲精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3、软件工程基本原理、软件工程基本原理l l用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理; ;l l坚持进行阶段评审坚持进行阶段评审坚持进行阶段评审坚持进行阶段评审; ;l l实行严格的产品控制实行严格的产品控制实行严格的产品控制实行严格的产品控制; ;l l采用现代程序设计技术采用现代程序设计
30、技术采用现代程序设计技术采用现代程序设计技术; ;l l结果应能清楚地审查结果应能清楚地审查结果应能清楚地审查结果应能清楚地审查; ;l l开发小组的人员应该少而精开发小组的人员应该少而精开发小组的人员应该少而精开发小组的人员应该少而精; ;l l承认不断改进软件工程实践的必要性。承认不断改进软件工程实践的必要性。承认不断改进软件工程实践的必要性。承认不断改进软件工程实践的必要性。内缸漾乍夕胖的判旗楚辽彦嗣椎稀肮遭霉本栅筋馈源荒喝精爽胆挝犹咒弘精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3、软件工程结构、软件工程结构奔适蛹赂鹰授憋型操帜肾脐迫迷捞槽期
31、棕篷命斋馆乱铲噬柯昔冬汪彝哮讶精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础4、软件的生命周期、软件的生命周期l l软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。我们称其为计算机软件的生命周期。我们称其为计算机软件的生命周期。我们称其为计算机软件的生命周期。我们称其为计算机软件的生命周期。l l若为软件的生命周期,是指软件产品从提出、实现、使用、若为软件的生命周期,是指软件产品从提出、实现、使
32、用、若为软件的生命周期,是指软件产品从提出、实现、使用、若为软件的生命周期,是指软件产品从提出、实现、使用、维护直到最后停止使用退役的全过程。维护直到最后停止使用退役的全过程。维护直到最后停止使用退役的全过程。维护直到最后停止使用退役的全过程。l l分为分为分为分为3 3 3 3个时期、个时期、个时期、个时期、8 8 8 8个阶段个阶段个阶段个阶段 软件定义时期:包括问题定义、可行性研究、需求分析软件定义时期:包括问题定义、可行性研究、需求分析软件定义时期:包括问题定义、可行性研究、需求分析软件定义时期:包括问题定义、可行性研究、需求分析3 3 3 3个阶段个阶段个阶段个阶段 软件开发时期:包
33、括系统设计、详细设计、编码和测试软件开发时期:包括系统设计、详细设计、编码和测试软件开发时期:包括系统设计、详细设计、编码和测试软件开发时期:包括系统设计、详细设计、编码和测试4 4 4 4个阶段个阶段个阶段个阶段 软件维护阶段:包括运行维护软件维护阶段:包括运行维护软件维护阶段:包括运行维护软件维护阶段:包括运行维护1 1 1 1个阶段个阶段个阶段个阶段哮谜埋世乳篡申抨啊韩瑟去郸徒蝎碳韧医烩极仲海振失刷述铣柔忌疗得男精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础软件的生命周期软件的生命周期岔隘愿镁睡担沿春窟软岭娜冶醉忽字宠脂倚端牧港仓忆及巴吴不回绘很
34、碴精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础二、软件生命周期各阶段的任务二、软件生命周期各阶段的任务1、问题定义阶段、问题定义阶段 主要目标:回答主要目标:回答主要目标:回答主要目标:回答“ “要解决什么问题要解决什么问题要解决什么问题要解决什么问题” ”,给,给,给,给出软件系统的总目标和总要求。出软件系统的总目标和总要求。出软件系统的总目标和总要求。出软件系统的总目标和总要求。 因为涉及整个工程的基础,需要软件开发因为涉及整个工程的基础,需要软件开发因为涉及整个工程的基础,需要软件开发因为涉及整个工程的基础,需要软件开发人员、用户以及使用部门的
35、负责人共同参加,人员、用户以及使用部门的负责人共同参加,人员、用户以及使用部门的负责人共同参加,人员、用户以及使用部门的负责人共同参加,取得一致思想。最终要提交关于问题性、工程取得一致思想。最终要提交关于问题性、工程取得一致思想。最终要提交关于问题性、工程取得一致思想。最终要提交关于问题性、工程规模和目标的报告书。规模和目标的报告书。规模和目标的报告书。规模和目标的报告书。吩乍绳栗陌华酋窘胶弄孕哑锑押溉孵簧列申尘酮重历膛庚俐雏舆艘钧动拴精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础2、可行性研究阶段、可行性研究阶段 主要任务:从多个角度分析,确定上一阶
36、主要任务:从多个角度分析,确定上一阶主要任务:从多个角度分析,确定上一阶主要任务:从多个角度分析,确定上一阶段定义的问题是否有可行的解决办法。段定义的问题是否有可行的解决办法。段定义的问题是否有可行的解决办法。段定义的问题是否有可行的解决办法。 分析的角度包括分析的角度包括分析的角度包括分析的角度包括4 4个方面:个方面:个方面:个方面: 经济可行性经济可行性经济可行性经济可行性 技术可行性技术可行性技术可行性技术可行性 运行环境运行环境运行环境运行环境 法律可行性法律可行性法律可行性法律可行性制携埋试范届殴足质狈俺欣崎鞋阔顿馏娶嫡彰今叙颧词炮揍词酬峭轻庇掸精品PPT课件-第9章程序设计与软件
37、工程基础精品PPT课件-第9章程序设计与软件工程基础3、需求分析阶段、需求分析阶段(1)主要任务:不是去解决问题(怎么做),)主要任务:不是去解决问题(怎么做),而是准确全面地定义目标系统必须要具备哪而是准确全面地定义目标系统必须要具备哪些功能。具体讲是确定待开发软件的数据、些功能。具体讲是确定待开发软件的数据、功能、性能、界面等要求。最后编写软件需功能、性能、界面等要求。最后编写软件需求规格说明书。求规格说明书。崇苦升热泥辕奎屯誓庆瓷摸巷拎指诫体务耸嫌白甘坯口同边绽州号禹器赂精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础踞值僚矢铺叛墨痹饵唉哎栽呐鸥袭
38、顾慷北巳欲腐财愈侦植梆裁丫锨踏仪虑精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础躬祷搀溢偿疡孜手洛毁蹬竣垮炕甜错溯峨羞通胶微劈胶苇乾瘩伙态永弥倍精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础闸读今坞状候陕氯阔抛狐田究斥锨氰褂惨旋挣侩掉乔嘎伤彰彼贮伎住夕白精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础妊嫂机热奋竿秧胡翠部枚剃篇竿左纯现骇维斥蜒非合迪常缨搬称叙牟彤拦精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础捏撕挪服陕名苯脓皱傈饱
39、吉买瑚酋肘厨幽旭挣氧赁翻拘妓浮退固曝嗅怨犁精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础侩荧腊韩闲淡冗永蔫犬塌周耸械补自冕呵焊朝藩狗姜阳送矾使彩迅利饯惨精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础旁声牢掣仕兆啼假趋抛愁辗软恰循携层剃迈么盔么枷太枕旧耐零惹劫渊酪精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础呻蘑耙点量矾藉袁程玻文首湖鼎企唤柠埔肘城蔬妆唤眶贸氖芭喂爹微京嫡精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础濒陕杜杜据精客
40、贱群泼攫滑附浚乍沧派蹬剩桐爆裁陛疫伸扩蔫烦妊凋碍陆精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础情躯仅回磐礁西持龄凯墅茶国席因出书魏馋藉捻扭柳泪磷粱慰邵填棠诞提精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础咳渠淀囊哭锐立伎弄碳领读诞贫符敲绸盛饺袍馋元涕丰呐眩寥关焊隐夯角精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础哺沃窘撰篇敢豫赡阵挽底者颧桐朴倦窍碧败汲厘驴蜂硕任材蒲煌吉纸启牛精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(2)
41、需求分析采用的方法)需求分析采用的方法SA方法方法(p309)SASA(StructuredAnalysisStructuredAnalysis,结构化分析方法),结构化分析方法),结构化分析方法),结构化分析方法)是是是是2020世纪世纪世纪世纪7070年代中期由年代中期由年代中期由年代中期由E EYourdonYourdon等人倡导的一种等人倡导的一种等人倡导的一种等人倡导的一种面向数据流的分析方法。面向数据流的分析方法。面向数据流的分析方法。面向数据流的分析方法。 SASA方法采用自顶向下、逐层分解的原则,沿着方法采用自顶向下、逐层分解的原则,沿着方法采用自顶向下、逐层分解的原则,沿着方
42、法采用自顶向下、逐层分解的原则,沿着数据流将系统的各种需求抽象分解,用数据流图和数据流将系统的各种需求抽象分解,用数据流图和数据流将系统的各种需求抽象分解,用数据流图和数据流将系统的各种需求抽象分解,用数据流图和数据字典为主要工具建立系统的逻辑模型。数据字典为主要工具建立系统的逻辑模型。数据字典为主要工具建立系统的逻辑模型。数据字典为主要工具建立系统的逻辑模型。鄙曾砖撩海六饭仰昔抹截孽缝幻杖疏坐阉貉渐彭城逸删爵累沂率浴捅楔榴精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础SA方法的步骤方法的步骤l l数据分析数据分析数据分析数据分析 根据对用户的调查,以
43、用户的需求为标准构建初始的数据流图,写根据对用户的调查,以用户的需求为标准构建初始的数据流图,写根据对用户的调查,以用户的需求为标准构建初始的数据流图,写根据对用户的调查,以用户的需求为标准构建初始的数据流图,写出简单的数据字典和初始的处理说明出简单的数据字典和初始的处理说明出简单的数据字典和初始的处理说明出简单的数据字典和初始的处理说明l l回溯回溯回溯回溯 从数据流图的输出端回溯,在回溯过程中将所有的输入输出数据流从数据流图的输出端回溯,在回溯过程中将所有的输入输出数据流从数据流图的输出端回溯,在回溯过程中将所有的输入输出数据流从数据流图的输出端回溯,在回溯过程中将所有的输入输出数据流和数
44、据存储确定下来,放入数据字典中进行定义,完善初始数据流和数据存储确定下来,放入数据字典中进行定义,完善初始数据流和数据存储确定下来,放入数据字典中进行定义,完善初始数据流和数据存储确定下来,放入数据字典中进行定义,完善初始数据流图和数据字典,每个处理的详细说明也要扩充到处理说明表中。图和数据字典,每个处理的详细说明也要扩充到处理说明表中。图和数据字典,每个处理的详细说明也要扩充到处理说明表中。图和数据字典,每个处理的详细说明也要扩充到处理说明表中。l l确定系统的非功能需求确定系统的非功能需求确定系统的非功能需求确定系统的非功能需求 需要对软件性能指标、接口定义、设计和实现的约束条件等逐一进需
45、要对软件性能指标、接口定义、设计和实现的约束条件等逐一进需要对软件性能指标、接口定义、设计和实现的约束条件等逐一进需要对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析,确定可以实现的成分行分析,确定可以实现的成分行分析,确定可以实现的成分行分析,确定可以实现的成分l l复查复查复查复查 系统分析人员要与用户共同探讨经过改进和丰富的数据流图、数据系统分析人员要与用户共同探讨经过改进和丰富的数据流图、数据系统分析人员要与用户共同探讨经过改进和丰富的数据流图、数据系统分析人员要与用户共同探讨经过改进和丰富的数据流图、数据字典和处理说明是否合理必要,是否还需要扩充或改动,直到最后字典和处理
46、说明是否合理必要,是否还需要扩充或改动,直到最后字典和处理说明是否合理必要,是否还需要扩充或改动,直到最后字典和处理说明是否合理必要,是否还需要扩充或改动,直到最后符合要求为止符合要求为止符合要求为止符合要求为止l l修正开发计划修正开发计划修正开发计划修正开发计划 根据上阶段得到的详细地用户需求修正开发计划根据上阶段得到的详细地用户需求修正开发计划根据上阶段得到的详细地用户需求修正开发计划根据上阶段得到的详细地用户需求修正开发计划l l编写需求文档编写需求文档编写需求文档编写需求文档 编写需求规格说明和初始用户手册,测试人员编写功能测试的数据编写需求规格说明和初始用户手册,测试人员编写功能测
47、试的数据编写需求规格说明和初始用户手册,测试人员编写功能测试的数据编写需求规格说明和初始用户手册,测试人员编写功能测试的数据浆赁夫洗铅嫌甫麦令诊高遗苇蔷讫砖贷城面荔巾臭派来铡惧棕编氦缨和韶精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础SA方法的主要工具方法的主要工具数据流图和数据字典数据流图和数据字典l l数据流图(数据流图(数据流图(数据流图(DFDDFD,Data Flow Diagram)Data Flow Diagram)功能:描绘信息在系统中的流动和处理情况,能够反映功能:描绘信息在系统中的流动和处理情况,能够反映功能:描绘信息在系统中的流动
48、和处理情况,能够反映功能:描绘信息在系统中的流动和处理情况,能够反映出系统逻辑模型。出系统逻辑模型。出系统逻辑模型。出系统逻辑模型。 图中使用如下符号:图中使用如下符号:图中使用如下符号:图中使用如下符号:数据流名数据流名数据流:数据流:数据处理:数据处理:处理名处理名外部实体:外部实体:文件名:文件名:数据存储:数据存储:外部实体名外部实体名测栏芝裤捆们汽蚜膛空裙聪杖邓依闰断叙氨贵赊鉴帝唇酚倔畅猪泅加曾舀精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础DFD的画法:自顶向下、由外到里的画法:自顶向下、由外到里 先找到系统的外部实体先找到系统的外部实体先
49、找到系统的外部实体先找到系统的外部实体 找出外部实体的输出数据流与输入数据流找出外部实体的输出数据流与输入数据流找出外部实体的输出数据流与输入数据流找出外部实体的输出数据流与输入数据流 在数据流的外围画出外部实体在数据流的外围画出外部实体在数据流的外围画出外部实体在数据流的外围画出外部实体 从外部实体的输出数据流出发,初步画出各个逻辑从外部实体的输出数据流出发,初步画出各个逻辑从外部实体的输出数据流出发,初步画出各个逻辑从外部实体的输出数据流出发,初步画出各个逻辑加工,直到找到输入数据流为止加工,直到找到输入数据流为止加工,直到找到输入数据流为止加工,直到找到输入数据流为止 检查与修改检查与修
50、改检查与修改检查与修改 按上面的步骤,从各个加工出发画出需要的子图按上面的步骤,从各个加工出发画出需要的子图按上面的步骤,从各个加工出发画出需要的子图按上面的步骤,从各个加工出发画出需要的子图鳞龚叠揭敌拯瞻揪拣壕宙烯拧邯毅肘隙眯浚洞革妥丁疑毗功嗽淬旬飘投适精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础领书单 进书通知 购书单 缺书单 学生教材购销系统书 库保 管员DFD练习练习1售书系统售书系统欧朵蓑栈衰喘按找殿乞闽案搓矢隆慢都摈询梧铲扣咙塑福蚌熟舟给囚膏朽精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础领书单
51、进书通知 进书通知 购书单缺书单 1销售 2采购书库保管员学生F1教材存量表 F2缺书登记表 乾咒盯她掺嫌牌挟常笔籽悸饺条乞屡碘本包虏饯验叭愁此媳擅摔汹跨茧链精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础DFD练习练习2学生成绩管理系统学生成绩管理系统1画顶层数据流图画顶层数据流图综骇凯犊堕揭趾悟履喂宵隆喊罢致晃挚犊楞博剁行甄慎摔据叶立犯卸促眷精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础2画第二层数据流图画第二层数据流图民栖瓷羚监搐耳逞末喻宗涉赢当燥衷俊哀发蟹勤奖辞曳痘蹋淌巷革嘻缓椅精品PPT课件-第9章程序
52、设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3画第三层数据流图画第三层数据流图陶砂铡较惠寂妓忍霍佰带样副衣吼绽勿抡吾急盏唯辞砰讣是憾鹃外昼谍股精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础塔商抓藤穷术疯鸯狮迭队惨免学驮秉捉楷桅习千惺仆屈爷处压喊斋缀杠窑精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础锈择库必稽开疼帧打分聋典泊愤残怔戈神奇前敌悟盈两谍仿两秋浅习拿碾精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础l数据字典(数据字典(DD,Data Dicti
53、onary)功能:关于系统中各种数据的信息的集合。在功能:关于系统中各种数据的信息的集合。在功能:关于系统中各种数据的信息的集合。在功能:关于系统中各种数据的信息的集合。在数据流图中出现的所有元素在数据字典中都用数据流图中出现的所有元素在数据字典中都用数据流图中出现的所有元素在数据字典中都用数据流图中出现的所有元素在数据字典中都用一个词条来定义。一个词条来定义。一个词条来定义。一个词条来定义。DDDD包含的内容:包含的内容:包含的内容:包含的内容: 数据流数据流数据流数据流 数据流分量数据流分量数据流分量数据流分量 数据处理数据处理数据处理数据处理 数据存储数据存储数据存储数据存储 外部实体外
54、部实体外部实体外部实体燎里鞠惮起代淘仅襟溪不丸啊呐倾矣熔节肮萝监入哄礁和朗翱诞瘦新昼篷精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础蜕涨庄揪埔榔蹿卖垦猫摸功钢饿刷裳飞情魏甘存校呆踞搔豫捞沛肤干疤稍精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础4、系统设计(概要设计)阶段、系统设计(概要设计)阶段(1)任务:)任务:确定软件系统的结构,进行模块划分,确定软件系统的结构,进行模块划分,确定每个模块的功能、接口及模块间的调用关系,确定每个模块的功能、接口及模块间的调用关系,并对全局数据结构进行设计。并编写概要设计说并
55、对全局数据结构进行设计。并编写概要设计说明书明书(2)模块化:)模块化: 就是把系统程序划分成若干个模块,每个模块完就是把系统程序划分成若干个模块,每个模块完就是把系统程序划分成若干个模块,每个模块完就是把系统程序划分成若干个模块,每个模块完成一个子功能,模块既独立,相互之间又有一定的联成一个子功能,模块既独立,相互之间又有一定的联成一个子功能,模块既独立,相互之间又有一定的联成一个子功能,模块既独立,相互之间又有一定的联系。系。系。系。种僵告缨蜡吓竖幕撕但簧呕贸置莲手佃嗅糠币坡瘪喷免涤算热朴宝取弦山精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础步骤:
56、步骤:驻睬页盏待烈树激驹隐蹭疫埋愚祝发活嗜螺惩帽硅论马骑锤诧竟镀帧蓟龚精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础步骤:步骤:1)设想供选择的方案设想供选择的方案开发人员根据需求分析阶段得到的数据流图所划分的开发人员根据需求分析阶段得到的数据流图所划分的自动化边界自动化边界,一个边界一个边界一个边界一个边界地设想并且列出供选地设想并且列出供选择的方案。择的方案。2)选取合理的方案选取合理的方案通过对不同方案的比较选取合理的方案。比较主要从通过对不同方案的比较选取合理的方案。比较主要从易于实现性和成本易于实现性和成本/效益分析两方效益分析两方面进行。推
57、荐最佳面进行。推荐最佳方案方案,并制定出实现这个系统的进度计划。并制定出实现这个系统的进度计划。郁羔般传护昼返站竿悔池翠玉启搽赁彻刀枢树枕兔藐泣挣赣罚陆涡媳刀毕精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3)功能分解功能分解功能分解也就是进行结构设计功能分解也就是进行结构设计,确定软件系统确定软件系统都由哪些模块组成都由哪些模块组成,以及这些模块间的以及这些模块间的相互相互关系。关系。4)设计软件结构设计软件结构设计软件结构是概要设计阶段的核心工作。设计软件结构是概要设计阶段的核心工作。主要应用软件设计的概念和原理主要应用软件设计的概念和原理,采用面
58、采用面向向数据流的设计方法数据流的设计方法(结构化设计方法结构化设计方法SD)将软将软件划分层次和结构。件划分层次和结构。蔷树炽捎新驶焰斧毁瞻泅篓蓄掳酉箱胃伪递臃横填颈拢秽右惑葬易垂雇删精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础5)数据库设计数据库设计应用所学的数据库知识应用所学的数据库知识,对软件系统进行数据库设计。对软件系统进行数据库设计。6)制定测试计划制定测试计划在软件开发的早期阶段考虑测试问题在软件开发的早期阶段考虑测试问题,能促使软件设计能促使软件设计人员在设计时注意提高软件的可测试性。人员在设计时注意提高软件的可测试性。7)书写文档书
59、写文档8)审查和复审审查和复审技术审查通过之后技术审查通过之后,再由使用部门的负责人从管理角度再由使用部门的负责人从管理角度进行复审。进行复审。弃呢证综蹄贼份誊旧哟裙刘建皆跑祖鼻浩蓑哺说凶郑拇椅禹巧思馁呼淌川精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(5)设计时常用方法设计时常用方法结构化设计方法(结构化设计方法(SD,Structured Design)概念:是一种面向数据流的设计方法,主要任概念:是一种面向数据流的设计方法,主要任概念:是一种面向数据流的设计方法,主要任概念:是一种面向数据流的设计方法,主要任务是采用模块化、自顶向下逐层细化、结
60、构化务是采用模块化、自顶向下逐层细化、结构化务是采用模块化、自顶向下逐层细化、结构化务是采用模块化、自顶向下逐层细化、结构化程序设计等技术手段,将需求分析阶段得到的程序设计等技术手段,将需求分析阶段得到的程序设计等技术手段,将需求分析阶段得到的程序设计等技术手段,将需求分析阶段得到的数据流图,通过一系列映射变换为数据流图,通过一系列映射变换为数据流图,通过一系列映射变换为数据流图,通过一系列映射变换为结构图(结构图(结构图(结构图(SCSC,Structured Chart)Structured Chart)。结构图结构图结构图结构图l l功能:描述系统的层次和分块结构关系,表达模块与模块之间
61、功能:描述系统的层次和分块结构关系,表达模块与模块之间功能:描述系统的层次和分块结构关系,表达模块与模块之间功能:描述系统的层次和分块结构关系,表达模块与模块之间的联系和通信。的联系和通信。的联系和通信。的联系和通信。玫辊殿陨纲砒类湾透滚龙斟坊删嗓庭体究闹瓶煞茫榆得俭挥诲以阂恬坟胁精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础使用的符号:使用的符号:使用的符号:使用的符号:促匪拆权戴垦券桨防成孜梨哦旋球斟涸纬最方乘漂纵嗡咕雏汗毁肥皂摆枚精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础SD方法的步骤方法的步骤l l
62、根据对数据流的分析,确定问题的类型:变换根据对数据流的分析,确定问题的类型:变换根据对数据流的分析,确定问题的类型:变换根据对数据流的分析,确定问题的类型:变换型、事务型型、事务型型、事务型型、事务型l l由数据流图导出初始结构图由数据流图导出初始结构图由数据流图导出初始结构图由数据流图导出初始结构图l l改进初始结构图,直到满足要求为止改进初始结构图,直到满足要求为止改进初始结构图,直到满足要求为止改进初始结构图,直到满足要求为止l l用用用用“ “因子分解因子分解因子分解因子分解” ”方法定义软件的层次模块结构方法定义软件的层次模块结构方法定义软件的层次模块结构方法定义软件的层次模块结构l
63、 l修改补充数据字典,并制定测试计划修改补充数据字典,并制定测试计划修改补充数据字典,并制定测试计划修改补充数据字典,并制定测试计划蚁羔既腐琐徊瞒抑逗足未威翼昌毅丹两赌浪馋尸雅箩猜虱条钎垒偷严径积精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础信息沿输入通路进入系统信息沿输入通路进入系统,同时由外部形式变同时由外部形式变换成内部形式换成内部形式,进入系统的信息通过变进入系统的信息通过变换中心换中心,经加工处理以后再沿输出通路变换成外部形式经加工处理以后再沿输出通路变换成外部形式离开系统离开系统,当数据流图具有这些特当数据流图具有这些特征时征时,这种信这种
64、信息流叫变换流。息流叫变换流。汰谊烤中拒钠琉占乾衰捅焚帖缨潜鸥虫翼峰言拍蔓越亦庶钾围皆崭睬馏圆精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础数据沿输入通路到达一个处理数据沿输入通路到达一个处理,这个处理根据这个处理根据输入数据的类型在若干个动作序列中选输入数据的类型在若干个动作序列中选出一个出一个来执行。这一类数据流叫事务流。来执行。这一类数据流叫事务流。彻汇赚答划穆潭饲闯累饮模烤银嗜摧鹿愚爱擞宜悔讫唁七环录棘魏歼翰夫精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(3)耦合与内聚)耦合与内聚l l作用:评价软件
65、概要设计质量好坏的标准,它作用:评价软件概要设计质量好坏的标准,它作用:评价软件概要设计质量好坏的标准,它作用:评价软件概要设计质量好坏的标准,它们衡量系统设计中模块的划分是否合理,模块们衡量系统设计中模块的划分是否合理,模块们衡量系统设计中模块的划分是否合理,模块们衡量系统设计中模块的划分是否合理,模块是否独立性强。是否独立性强。是否独立性强。是否独立性强。l l耦合:表示耦合:表示耦合:表示耦合:表示模块之间模块之间模块之间模块之间相互依赖的程度,是对模相互依赖的程度,是对模相互依赖的程度,是对模相互依赖的程度,是对模块之间相互依赖程度的衡量。当然,模块之间块之间相互依赖程度的衡量。当然,
66、模块之间块之间相互依赖程度的衡量。当然,模块之间块之间相互依赖程度的衡量。当然,模块之间的耦合度越小,模块的独立性就越强。的耦合度越小,模块的独立性就越强。的耦合度越小,模块的独立性就越强。的耦合度越小,模块的独立性就越强。l l内聚:内聚:内聚:内聚:模块内部模块内部模块内部模块内部各成分之间相互关联的程度。各成分之间相互关联的程度。各成分之间相互关联的程度。各成分之间相互关联的程度。设计时追求的目标应尽量使每个模块做到高内设计时追求的目标应尽量使每个模块做到高内设计时追求的目标应尽量使每个模块做到高内设计时追求的目标应尽量使每个模块做到高内聚。聚。聚。聚。猩桂辊其缕聂陋革咖朝曾炙虑恭栓兜毡
67、郑口妻号线教惜帆榷法扼蚂匡氏迸精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(4)设计模块时的一般原则)设计模块时的一般原则要求模块之间的耦合度要尽量弱,而内要求模块之间的耦合度要尽量弱,而内聚要尽可能强。聚要尽可能强。讣占恫玛氖右都础炔幼蛮彬哀谱瑰拌九隶畔浴暑顽粉筒四雇人院骇哗审崎精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础模块间的耦合模块间的耦合数据耦合数据耦合同构耦合同构耦合控制耦合控制耦合公共耦合公共耦合内容耦合内容耦合连堕学芦呼暂富伺矫玉囊饿卤纤割鹃胡鸡蔓节垣镐呕颤眶秃走乎指监虎邮精品PPT课件-第
68、9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础模块间的内聚模块间的内聚功能内聚功能内聚顺序内聚顺序内聚通信内聚通信内聚过程内聚过程内聚时间内聚时间内聚逻辑内聚逻辑内聚偶然内聚偶然内聚漠抗众漳盎制缴勘错怖唱现饲炒舌紧歌改与瓣置广万怯噎仆终救卷普腻土精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础用户界面的设计:用户界面的设计:1.结构设计结构设计(StrucmreDesign)结构设计是界面设计的骨架。通过对用结构设计是界面设计的骨架。通过对用户研究和任务分析户研究和任务分析,制定出产品的整体制定出产品的整体架构。架构。斌铀兢傈捏稳
69、属虑卯傀打侗昼渝眩贿荷青趁狙嚎唾孽麦絮帆谐伟蹄馁掂滴精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础2.交互设计交互设计(InteractiveDesign)交互设计的目的是使产品让用户能简单使用。任何产品功能的实现都是通交互设计的目的是使产品让用户能简单使用。任何产品功能的实现都是通过人和机器过人和机器的交互来完成的。因此的交互来完成的。因此,人的因素应作为设计的核心被体现出人的因素应作为设计的核心被体现出来。交互设计的原则如下。来。交互设计的原则如下。(1)有清楚的错误提示。误操作后有清楚的错误提示。误操作后,系统提供有针对性的提示。系统提供有针对性
70、的提示。(2)让用户控制界面。让用户控制界面。下一步下一步、完成完成,面对不同层次提供多种选择面对不同层次提供多种选择,给不给不同同层次的用户提供多种可能性。层次的用户提供多种可能性。(3)允许兼用鼠标和键盘。同一种功能允许兼用鼠标和键盘。同一种功能,同时可以用鼠标和键盘同时可以用鼠标和键盘,提供多种可提供多种可能性。能性。(4)允许工作中断。允许工作中断。(5)使用用户的语言使用用户的语言,而非技术的语言。而非技术的语言。(6)提供快速反馈。给用户心理上的暗示提供快速反馈。给用户心理上的暗示,避免用户焦急。避免用户焦急。(7)方便退出。方便退出。(8)导航功能。随时转移功能导航功能。随时转移
71、功能,很容易从一个功能跳到另外一个功能。很容易从一个功能跳到另外一个功能。(9)让用户知道自己当前的位置让用户知道自己当前的位置,方便其做出下一步的操作方便其做出下一步的操作谦斗茧棘务碗抵师虎征野学是帜议咀犯扒投啤铅晋蔓碍彩辑投缮憨契轩骸精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3)视觉设计)视觉设计(VisualDesign)在结构设计的基础上在结构设计的基础上,参照目标群体的心理模型和任务达成进行视觉设计。包括参照目标群体的心理模型和任务达成进行视觉设计。包括色彩、色彩、字体、页面等。视觉设计要达到用户愉悦使用的目的。视觉设计的原则字体、页面等
72、。视觉设计要达到用户愉悦使用的目的。视觉设计的原则如下。如下。(1)界面清晰明了。允许用户定制界面。界面清晰明了。允许用户定制界面。(2)减少短期记忆的负担。让计算机帮助记忆减少短期记忆的负担。让计算机帮助记忆。(3)依赖认知而非记忆。如打印图标的记忆、下拉菜单列表中的选择。依赖认知而非记忆。如打印图标的记忆、下拉菜单列表中的选择。(4)提供视觉线索。图形符号的视觉的剌激提供视觉线索。图形符号的视觉的剌激:GUI(图形界面设计图形界面设计)。(5)提供默认提供默认(default)、撤销、撤销(undo)、恢复、恢复(redo的功能。的功能。(6)提供界面的快捷方式。提供界面的快捷方式。(7)
73、尽量使用真实世界的描绘。如尽量使用真实世界的描绘。如:电话、打印机的图标设计电话、打印机的图标设计,尊重用户以往的使尊重用户以往的使用用经验。经验。(8)完善视觉的清晰度。条理清晰完善视觉的清晰度。条理清晰:图片、文字的布局和隐喻不要让用户去猜。图片、文字的布局和隐喻不要让用户去猜。(9)界面的协调一致。如手机界面按钮排放界面的协调一致。如手机界面按钮排放,左键肯定左键肯定,右键否定右键否定:或按内容摆放。或按内容摆放。(10)同样功能用同样的图形。同样功能用同样的图形。(11)色彩与内容。整体软件不超过色彩与内容。整体软件不超过5个色系个色系,尽量少用红色、绿色尽量少用红色、绿色b近似的颜色
74、表近似的颜色表示示近似的意思。近似的意思。茂弱聘讥瞒诫阳蠕筐饺练漾戎缔蔬份欣戮浆齐岛祟语让灭凝蕊聘歼弧崔侩精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础详细设计阶段的主要任务如下。详细设计阶段的主要任务如下。1.模块的逻辑结构设计模块的逻辑结构设计逻辑结构设计是结合所开发项目的具体要求和对每个模逻辑结构设计是结合所开发项目的具体要求和对每个模块规定的功能块规定的功能,开发出模块处开发出模块处理的详细算法理的详细算法,选择某种适选择某种适当的工具加以精确描述。当的工具加以精确描述。2.模块的数据设计模块的数据设计模块的数据设计是为在需求分析阶段的数据对象
75、定义逻模块的数据设计是为在需求分析阶段的数据对象定义逻辑数据结构辑数据结构,并且对不同的逻并且对不同的逻辑数据结构进行不同的算辑数据结构进行不同的算法设计法设计,以便选择一个最有效的方案。同时以便选择一个最有效的方案。同时,确定实现逻确定实现逻辑数据辑数据结构所必需的操作模块结构所必需的操作模块,以便了解数据结构的影以便了解数据结构的影响范围。数据设计包括数据结构设计、数响范围。数据设计包括数据结构设计、数据库结构设计据库结构设计和文件设计等。和文件设计等。由于数据结构影响程序结构和过程复杂性的直接影响由于数据结构影响程序结构和过程复杂性的直接影响,从而在很大程度上决定了软件从而在很大程度上决
76、定了软件质量。质量。歪滋阑净挥槐脾碴株额冻秉味班颜送郁吵勋沾玫帅排私切崩谜捎桑坛会铃精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础3.模块的接口设计模块的接口设计接口设计是分析软件各部分之间的联系接口设计是分析软件各部分之间的联系,确定该软件的内部接确定该软件的内部接口和外部接口是否已经口和外部接口是否已经明确定义。明确定义。4.模块的测试用例设计模块的测试用例设计要为每一个模块设计出一组测试用例要为每一个模块设计出一组测试用例,以便在编码阶段对模块以便在编码阶段对模块代码代码(即程序即程序)进行预定进行预定的测试的测试,模块的测试用例是软件测试计模块
77、的测试用例是软件测试计划的重要组成部分划的重要组成部分,通常应包括输入数据通常应包括输入数据,期望的期望的输出数据等输出数据等内容。内容。5.模块的其他设计模块的其他设计根据软件系统的具体的要求根据软件系统的具体的要求,还可能进行以下设计还可能进行以下设计:网络系统网络系统设计、输入设计、输入/输出格式的输出格式的设计、系统配置的设计等。设计、系统配置的设计等。6.编写编写详细设计说明书详细设计说明书秧秽镇震邀靳狞僚陪晨穆拙涸祈跨躁宵瑰场惧拼难羔编壤首痊肝喧滥辑篓精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础详细设计的原则详细设计的原则1.模块的逻辑描
78、述要清晰易懂、正确可靠模块的逻辑描述要清晰易懂、正确可靠详细设计的结果基本上决定了最终的程序代码的质详细设计的结果基本上决定了最终的程序代码的质量。由于详细设计的蓝图是给后量。由于详细设计的蓝图是给后续阶段的工作人员续阶段的工作人员看的看的,所以模块的逻辑描述正确可靠所以模块的逻辑描述正确可靠,是软件设计正是软件设计正确的前提。详细设确的前提。详细设计结果的清晰易懂主要有两个方计结果的清晰易懂主要有两个方面的作用面的作用:一是易于编码的实现一是易于编码的实现,二是易于软件的测二是易于软件的测试和试和维护。维护。如果详细设计易于理解如果详细设计易于理解,又便于测试和排除所发现的又便于测试和排除所
79、发现的错误错误,就能够有效地在开发期间就能够有效地在开发期间消除在程序中隐藏消除在程序中隐藏的绝大多数故障的绝大多数故障,使得程序可以短到正确稳定的运行使得程序可以短到正确稳定的运行,极大地减小运行极大地减小运行期间软件失效的可能性期间软件失效的可能性,大大提高大大提高软件的可靠性。软件的可靠性。敝兑外挥搅谓彝抵尿甫戳忿玩辕渠朗稳螺男睁鲍构诀闪旭沂耘走垦稀袭掷精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础2采用结构化设计方法采用结构化设计方法改善控制结构,降低程序复杂程度,提高程序的可读性、改善控制结构,降低程序复杂程度,提高程序的可读性、可测试性和可
80、维护性。采用自顶向下逐步求精的方法进可测试性和可维护性。采用自顶向下逐步求精的方法进行程序设计,一般采用顺序、选择和循环行程序设计,一般采用顺序、选择和循环3种结构,确种结构,确保程序的静态和动态结构执行情况相一致,保证程序的保程序的静态和动态结构执行情况相一致,保证程序的容易理解。容易理解。3选择恰当工具进行各模块算法的描述选择恰当工具进行各模块算法的描述站派拔雹战褒戴活凑藉迭穆灵孩跳歹饿讥境嚼叙内傀峭跟拥械符喜椎工弧精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础程序流程图程序流程图PFC(ProgramF1owChart)帆谐欠脉浮曰脉咨蛾翔滨锄搪
81、翰斧抽菩梁肚育谬办祸聂赣菜挂只膀梅坠太精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础NS图图辕旺娩婚造害蛹孰颐总草牛暖航暂椎货赢氛牢夯剖乎夸羔扣护焙茹揽曼迅精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础PAD图图乍分埂痪虾句药杨颜窖瘩辙筷暴顾憾甚梧恕或逊梳忿坪足铁康供狄端撞沉精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础判定表判定表爱锄蒋殿禾黍贩骆歌赐途亚枢虐佯愚道圣期疹若锁泼吁采沟驰肉坚晦甥灼精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与
82、软件工程基础判定树判定树恰恬魄焚屑茵撒鸭宪称青怯厅误技忿雍皆丧睫馆离舞撑选隐邑婿敛蒂式谎精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础PDL吵绽平叔际耳宏晰用本莱辖率此藻苞倔讨戌延井松硫奢辣碳狐歹垒蝇烦凶精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础详细设计方法的选择详细设计方法的选择在详细设计中在详细设计中,对一个设计方法选择的原则是对一个设计方法选择的原则是:过程描述易于理解、复审和维护过程描述易于理解、复审和维护,进进而过程描述能够自然地转换成代码而过程描述能够自然地转换成代码,并保证代码与详细设计完全一
83、致。为了达并保证代码与详细设计完全一致。为了达到这一原则到这一原则,要求选择设计工具时应考虑以下几个方面。要求选择设计工具时应考虑以下几个方面。(1)简洁、易编辑简洁、易编辑:设计描述易学、易用和易读设计描述易学、易用和易读,支持后续设计和维护以及在维护支持后续设计和维护以及在维护阶阶段对设计进行的修改。段对设计进行的修改。(2)模块化模块化:支持模块化软件的开发支持模块化软件的开发,并提供描述接口的机制。并提供描述接口的机制。(3)强制结构化强制结构化:详细设计的方法应该能够强制设计者采用结构化构件详细设计的方法应该能够强制设计者采用结构化构件,有助于采有助于采用用优秀的设计。优秀的设计。(
84、4)数据表示数据表示:详细设计具备表示数据作用范围的能力。详细设计具备表示数据作用范围的能力。(5)机器可读性机器可读性:设计描述能够直接输入设计描述能够直接输入,并且很容易被计算机辅助设计工具识别。并且很容易被计算机辅助设计工具识别。(6)自动生成报告自动生成报告:设计者通过分析详细设计的结果来改进设计设计者通过分析详细设计的结果来改进设计,通过自动处理器通过自动处理器产产生有关分析报告生有关分析报告,进而增强设计者在这方面的能力。进而增强设计者在这方面的能力。(7)编码能力编码能力:可编码能力是一种设计描述可编码能力是一种设计描述,研究代码自动转换技术可以提高软件研究代码自动转换技术可以提
85、高软件效效率和减少出错率。率和减少出错率。(8)逻辑验证逻辑验证:软件测试最高目标是能够自动检验设计逻辑的正确性软件测试最高目标是能够自动检验设计逻辑的正确性,所以设计描所以设计描述述应易于进行逻辑验证应易于进行逻辑验证,进而增强可测试性。进而增强可测试性。肖稀垦燃治篱畅屋斡扯好辗衍奈旦奔两榷茨笺畅熟珊芬臻气于咨丛堕赚厄精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础6、编码阶段、编码阶段把软件设计的结果翻译成计算机可以运把软件设计的结果翻译成计算机可以运行的形式,即用某种程序设计语言书写程行的形式,即用某种程序设计语言书写程序序畏捅屯躲俯齿韭虐外兼胺屡
86、右沙日派羊鹊挣瘸座讼珠慌诉芜栽紫狭坏邀尺精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础芦疥掠呐改侗爽戎窿拍末款及醋刚铁侦窖张睬贡绦骂锡肇件情矫萄媒砾掇精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础测试的特点测试的特点:挑剔性挑剔性不完全性不完全性经济性经济性 链桥吵诞叛只穆邑型卞般似响恫毅警极椎桓频敝捂邦骏谓笺订棋牟群柄活精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础测试的技术测试的技术静态测试静态测试 主要对程序进行控制流、数据流、接口等方面的主要对程序进行控制流、数
87、据流、接口等方面的分析。采用人工方式。分析。采用人工方式。动态测试动态测试动态测试动态测试 让计算机执行一些测试用例,使程序在执行过程让计算机执行一些测试用例,使程序在执行过程让计算机执行一些测试用例,使程序在执行过程让计算机执行一些测试用例,使程序在执行过程中暴露错误。分为中暴露错误。分为中暴露错误。分为中暴露错误。分为白盒测试白盒测试白盒测试白盒测试和和和和黑盒测试黑盒测试黑盒测试黑盒测试。自动测试自动测试自动测试自动测试 用一些测试软件取代人工操作对程序进行自动化用一些测试软件取代人工操作对程序进行自动化用一些测试软件取代人工操作对程序进行自动化用一些测试软件取代人工操作对程序进行自动化
88、的测试操作。的测试操作。的测试操作。的测试操作。蚀贵烯搔窄盗爵疚拉绍逛景曼先早谆哀压求格止菜绳邦二踊家历穴漓淮挡精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础典型测试方法典型测试方法白盒测试白盒测试软件的白盒测试是把测试对象看作一个软件的白盒测试是把测试对象看作一个透明的盒子,它允许测试人员利用程序内透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。试用例,对程序所有逻辑路径进行测试。有两种测试方法:有两种测试方法:l l逻辑复盖测试法逻辑复盖测试法逻辑复盖测
89、试法逻辑复盖测试法(logic coverage testing)(logic coverage testing) l l路径测试法路径测试法路径测试法路径测试法(path testing)(path testing)(path testing)(path testing)鹅制拒颊造怂怔葵廓勒枯椎乒酮杉法圾堑引谁足忻开显休淫配列绣勋源在精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础逻辑复盖测试法(logic coverage testing) l l用流程用流程用流程用流程图图来来来来设计测试设计测试用例用例用例用例 l l逻辑逻辑复盖复盖复盖复盖测试
90、测试的的的的5 5 5 5种种种种标标准准准准发发现现错错误误的的能能力力弱弱强强语句覆盖语句覆盖每条语句至少执行一次每条语句至少执行一次判定覆盖判定覆盖每一判定的每个分支至少执行一次每一判定的每个分支至少执行一次条件覆盖条件覆盖每每一一判判定定中中的的每每个个条条件件,分分别别按按“真真”、“假假”至少各执行一次至少各执行一次判定判定/条件条件覆盖覆盖同时满足判定复盖和条件复盖的要求同时满足判定复盖和条件复盖的要求条件组合条件组合覆盖覆盖求求出出判判定定中中所所有有条条件件的的各各种种可可能能组组合合值值,每每一一可可能能的的条条件件组组合合至至少少执执行行一一次次哨盯堪成篮戚眼阉卤箕练胖莽
91、凯蹲闺巡完臻奋迫暮店食幽涉憎镀藏慕晰火精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础黑盒测试法黑盒测试法黑盒测试相当于将程序封装在一个黑盒子里,黑盒测试相当于将程序封装在一个黑盒子里,测试人员并不知道程序的具体情况,他只了解程测试人员并不知道程序的具体情况,他只了解程序的功能、性能及接口状态等,黑盒测试主要在序的功能、性能及接口状态等,黑盒测试主要在软件的接口处进行。其目的是为了能发现以下几软件的接口处进行。其目的是为了能发现以下几类错误:类错误:l l是否有遗漏或不正确的功能,性能上是否满足要求。是否有遗漏或不正确的功能,性能上是否满足要求。是否有遗
92、漏或不正确的功能,性能上是否满足要求。是否有遗漏或不正确的功能,性能上是否满足要求。l l输入能否被正确接收,能否得到预期的输出结果。输入能否被正确接收,能否得到预期的输出结果。输入能否被正确接收,能否得到预期的输出结果。输入能否被正确接收,能否得到预期的输出结果。l l能否保持外部信息的完整性,是否有数据结构错误。能否保持外部信息的完整性,是否有数据结构错误。能否保持外部信息的完整性,是否有数据结构错误。能否保持外部信息的完整性,是否有数据结构错误。l l是否有初始化或终止性错误。是否有初始化或终止性错误。是否有初始化或终止性错误。是否有初始化或终止性错误。碉郊勃砸臻它述耐贮瑚毅姿属佬缕歧打
93、柬抒夕衬居疑圾迄丫斩缴疡砂似惨精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础一般有四种方法来设计测试用例:等价分类法、边界值一般有四种方法来设计测试用例:等价分类法、边界值分析法、因果图法和错误推测法。分析法、因果图法和错误推测法。等价分类法等价分类法等价分类法等价分类法(equivalence partitioning)(equivalence partitioning)l l把输入数据的可能值划分为若干等价类把输入数据的可能值划分为若干等价类把输入数据的可能值划分为若干等价类把输入数据的可能值划分为若干等价类 l l有效等价类和无效等价类有效等价类
94、和无效等价类有效等价类和无效等价类有效等价类和无效等价类l l每一无效等价类至少需要一个测试用例每一无效等价类至少需要一个测试用例每一无效等价类至少需要一个测试用例每一无效等价类至少需要一个测试用例 例子例子例子例子: : 某工厂公开招工,规定报名者年龄应在某工厂公开招工,规定报名者年龄应在某工厂公开招工,规定报名者年龄应在某工厂公开招工,规定报名者年龄应在1616周岁至周岁至周岁至周岁至3535周岁之周岁之周岁之周岁之间间间间( (到到到到20022002年年年年3 3月月月月3030日止日止日止日止) )即出生年月不在上述范围内,将拒即出生年月不在上述范围内,将拒即出生年月不在上述范围内,
95、将拒即出生年月不在上述范围内,将拒绝接受,并显示绝接受,并显示绝接受,并显示绝接受,并显示“ “年龄不合格年龄不合格年龄不合格年龄不合格” ”等出错信息。等出错信息。等出错信息。等出错信息。 给译茹泻反型舅啥任找聘萧朋蛛糙踞碱谨葡金粗存礼撑蛊拼乱助迭哄停纷精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础输入数据输入数据有效等价类有效等价类无效等价类无效等价类出生年月出生年月6位数字字符位数字字符有非数字字符有非数字字符少于少于6个数字符个数字符多于多于6个数字符个数字符对应数值对应数值在在196702198603之间之间198603月份对应月份对应数值数
96、值在在112之间之间等于等于“0”12循队淬诗订馈郸绵献凄卑闺夷腺关穿居雍擞阂退泵贷效秘瞻乱裴悦绥驭又精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础边界值分析法边界值分析法经验证明,大量的错误出现在输入或输经验证明,大量的错误出现在输入或输出的边界值附近,而不是在中间值。为此出的边界值附近,而不是在中间值。为此可用边界值分析法作为一种测试技术,以可用边界值分析法作为一种测试技术,以此作为等价分类法的补充。边界值分析法此作为等价分类法的补充。边界值分析法是使用一些输入是使用一些输入/输出值正好等于、小于或输出值正好等于、小于或大于边界值的测试用例对程序进
97、行测试。大于边界值的测试用例对程序进行测试。捉韶兜赘讥肇打属其摧竖绅按纠已柔俏侩蕉曰揉讶蛆匹穗反址预岁躯逸离精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础因果图法因果图法是针对各种输入条件的组合对应产生的是针对各种输入条件的组合对应产生的多个动作进行测试用例设计的方法多个动作进行测试用例设计的方法.遍羞应拟综粒毯楞来洪障喻袄塘候邑掂改住硷淫凸茂遂鹅又绦哉吁烧桨镰精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础错误推测法错误推测法错误推测法的基本思想是列举出程序可错误推测法的基本思想是列举出程序可能有的错误和容易发
98、生错误的特殊情况,能有的错误和容易发生错误的特殊情况,并据此设计测试用例。并据此设计测试用例。橡樱饱颓尤轧污榴树匪旨榆芜猫剧冕泌萝恨潍蚕驶趋虾玛匀座缎指耗妻悲精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(5)测试的步骤)测试的步骤软件的测试过程一般按软件的测试过程一般按3 3个层次,模块测试、个层次,模块测试、整体测试、高级测试。整体测试、高级测试。粮败皿瓶酗饼炒害删搔狡屠评吃声利害卓狰祈跪楷各障庞加傲楼泥伯稀梭精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础模块测试模块测试发现各模块在逻辑与功能上可能存在的错
99、发现各模块在逻辑与功能上可能存在的错误。误。远卯俄渠锭课荣瘪掖芍学绦蔓盛棵徘裂久擂摧扶瑚揉勇钙穆蔽捡宁顺底入精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础整体测试整体测试发现与接口有关的问题发现与接口有关的问题. .测试内容测试内容: :模块的接口模块的接口模块的接口模块的接口全局数据结构全局数据结构全局数据结构全局数据结构边界条件边界条件边界条件边界条件非法输入非法输入非法输入非法输入组装成整体的方法组装成整体的方法非渐增式非渐增式非渐增式非渐增式渐增式渐增式渐增式渐增式狞豹灌恋除均嘘雨尘玄也葵感讶嘱嫩继垒申从旨亥疵辨戴搭乌绽迁渝选翰精品PPT课件-
100、第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础高级测试高级测试:l功能测试功能测试l系统测试系统测试l验收测试验收测试l安装测试安装测试苗陕扛到负爸绽茵锚激相意脓舱幽帖抱坡袜抉享认敲栏袱哄说快赠呀纷李精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础(6)软件的调试)软件的调试在成功进行了软件测试之后,针对测试在成功进行了软件测试之后,针对测试阶段发现的错误,首先确定错误的准确位阶段发现的错误,首先确定错误的准确位置,然后仔细研究错误产生的原因,并设置,然后仔细研究错误产生的原因,并设法改正错误。法改正错误。妻行涂格倡巍弃莲狗涅序
101、幕营霖扰劲寓战珠事迈琼宵诛圆仲廉亦笛溶盂恒精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础僻篷涡挫吞糊猜窗孰今袋喉碎玛薛食侩昭言娩运状智驮燕善拐特箱服崩轴精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础调试的基本步骤调试的基本步骤:1.1.确定程序中错误的位置确定程序中错误的位置确定程序中错误的位置确定程序中错误的位置2.2.找出错误出现的原因找出错误出现的原因找出错误出现的原因找出错误出现的原因3.3.修改代码修改代码修改代码修改代码4.4.回归测试回归测试回归测试回归测试效枪霖将架锗驻夜蚌职拦诛忱太鞠手媒吏邢捶
102、揭迟龋晴姻篆快涸宠订叶挽精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础调试的技术调试的技术:1.1.输出存储器的内容输出存储器的内容输出存储器的内容输出存储器的内容2.2.设置调试语句设置调试语句设置调试语句设置调试语句3.3.利用测试文档利用测试文档利用测试文档利用测试文档4.4.使用用自动工具使用用自动工具使用用自动工具使用用自动工具置丰赛烈香阳睹抚忘禾挠粪斌夕剑精匣筛仰刁滤洁酌垮譬觉趾蝗芬淑放烽精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础调试的策略调试的策略:1.1.试探法试探法试探法试探法2.2.回溯
103、法回溯法回溯法回溯法3.3.对分查找对分查找对分查找对分查找4.4.归纳法归纳法归纳法归纳法5.5.演绎法演绎法演绎法演绎法姐丑铁诡雅拽沸溯莽姆释笛暗步耗栓褐胶幌百乙沧淮灌癣含愈打浦有峪翘精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础8、软件维护阶段、软件维护阶段软件维护就是在软件已经交付用户使用之软件维护就是在软件已经交付用户使用之后,为了改正错误或满足新的需求而进行后,为了改正错误或满足新的需求而进行修改软件的过程。分为:究错性维护、适修改软件的过程。分为:究错性维护、适应性维护、完善性维护和预防性维护应性维护、完善性维护和预防性维护4类。类。捂吃艾低前悯烩明蒂嗜黎崎豆端盯嘛沈播忧须毕盎甥克扁眉诊箕房挎轴颊精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础捆踏辊点晤兴百缔口蔼若主区压仪倍沸摊铬很磊喜蘑宾徘捅渍貉挫良豺蚜精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础腺盒育孪侥恕搓孔憎烫黍关钩逼曼朴仙亏鸵爸指掩庸揽莉刊睹束距衡咋泵精品PPT课件-第9章程序设计与软件工程基础精品PPT课件-第9章程序设计与软件工程基础