软件工程导论第五版复习重点PPT课件下载推荐.ppt
《软件工程导论第五版复习重点PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《软件工程导论第五版复习重点PPT课件下载推荐.ppt(74页珍藏版)》请在冰豆网上搜索。
![软件工程导论第五版复习重点PPT课件下载推荐.ppt](https://file1.bdocx.com/fileroot1/2022-10/22/9558666a-b5f3-4e97-b76a-a73599e3f2e8/9558666a-b5f3-4e97-b76a-a73599e3f2e81.gif)
哪些?
P15P15P22P2233第第第第2222章章章章可行性研究可行性研究可行性研究可行性研究11、可行性研究的目的是什么?
P252、应从哪些方面研究可行性?
P253、如何画系统流程图?
P27P304、如何画数据流图?
P30P375、了解数据字典及成本效益分析。
44数数据据流流图图(DataDataFlowFlowDiagramDiagram,DFDDFD)是是描描述述系系统统中中数数据据流流程程的的图图形形工工具具,它它标标识识了了一一个个系系统统的的逻逻辑辑输输入入和和逻逻辑辑输输出出,以以及及把逻辑输入转换为逻辑输出所需的加工处理。
把逻辑输入转换为逻辑输出所需的加工处理。
2.42.4数据流图数据流图2.42.42.4数据流图(数据流图(数据流图(DFDDFDDFD)数据存储数据存储数据源点数据源点或终点或终点处处理理加工名数据流数据流数据流名文件名实体名箭箭头头圆或椭圆圆或椭圆单或双杠单或双杠矩形框矩形框还有一些辅助的图例还有一些辅助的图例:
一、数据流图的图符一、数据流图的图符四种基本图形符号:
四种基本图形符号:
TAB*CTAB*CTAB+CTAB+CTABC+TABC+*与与+或或互斥+552.42.4数据流图数据流图举例:
举例:
储户储户1记录存款信息打印存款信息存款单存款信息存款存单3计算利息4打印利息清单存款信息利息值利息清单D1存款信息存款信息266细化后的计算机储蓄系统软件结构细化后的计算机储蓄系统软件结构细化后的计算机储蓄系统软件结构细化后的计算机储蓄系统软件结构77第第第第3333章章章章需求分析需求分析需求分析需求分析1111、需求分析的基本任务是什么?
、需求分析的基本任务是什么?
P46-P48P46-P48P46-P48P46-P482222、分析建模、分析建模、分析建模、分析建模2.12.1什么是模型?
什么是模型?
模型:
就是为了理解事物而对事物做出的一种模型:
就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。
通常,模型由一组图形抽象,是对事物的一种无歧义的书面描述。
通常,模型由一组图形符号和组织这些符号的规则组成。
符号和组织这些符号的规则组成。
2.22.22.22.2数据模型(数据模型(数据模型(数据模型(E-RE-RE-RE-R)、)、)、)、功能模型(功能模型(功能模型(功能模型(2.42.42.42.4节数据流图)、节数据流图)、节数据流图)、节数据流图)、行为模型行为模型行为模型行为模型(状态转换图是行为模型的基础)(状态转换图是行为模型的基础)(状态转换图是行为模型的基础)(状态转换图是行为模型的基础)3333、要从哪些方面验证软件需求?
、要从哪些方面验证软件需求?
P60P60P60P6088第第第第4444章章章章形式化说明技术形式化说明技术形式化说明技术形式化说明技术软件工软件工程的使程的使用方法用方法非形式化:
用自然语言描述需求规格说明非形式化:
用自然语言描述需求规格说明半形式化:
用数据流图或实体半形式化:
用数据流图或实体联系图联系图建立模型建立模型形式化:
描述系统性质的基于数学的技术形式化:
描述系统性质的基于数学的技术1、有穷状态机P67P722、Petri网技术P72P7599第第第第5555章章章章总体设计总体设计总体设计总体设计11、在在设设计计过过程程中中,总总体体设设计计一一般般有有哪哪两两个个主主要阶段组成?
要阶段组成?
P81P8122、什什么么模模块块化化?
模模块块独独立立性性包包含含哪哪些些内内容容?
度量准则是什么?
P85P85P89P8933、启发规则有哪些?
、启发规则有哪些?
P90P90P92P9244、描绘软件结构的图形工具、描绘软件结构的图形工具P92-P94P92-P9455、面向数据流的设计方法、面向数据流的设计方法P95P95P102P10210105.25.2设计原理设计原理5.2.15.2.15.2.1模块化模块化模块化u模块是程序对象有名字的集合。
例如,过程、函数、子程序、宏等,是构成软件系统结构的基本元素。
u模块化就是将系统划分为若干个模块,每个模块完成一个子功能。
模块化的目的是将系统“分而治之”,模块化能够降低问题的复杂性,使软件结构清晰,易阅读、易理解,易于测试和调试,因而也有助于提高软件的可靠性。
1111模块化降低软件复杂度的模块化降低软件复杂度的简单证明简单证明5.2.55.2.5模块独立模块独立5.2.55.2.55.2.5模块独立模块独立模块独立“模块模块”,又称,又称“构件构件”,一般指用一个名字可调用的一段程,一般指用一个名字可调用的一段程序。
它一般具有如下序。
它一般具有如下三个基本属性三个基本属性:
功能功能即指该模块实现什么功能,做什么事情。
必须注意:
模块即指该模块实现什么功能,做什么事情。
模块功能,应是该模块本身的功能加上它所调用的所有子模块的功能。
功能,应是该模块本身的功能加上它所调用的所有子模块的功能。
逻辑逻辑即描述模块内部怎么做。
即描述模块内部怎么做。
状态状态即该模块使用时的环境和条件。
即该模块使用时的环境和条件。
所谓模块的独立性,所谓模块的独立性,是指软件系统中每个模块只涉及软件要是指软件系统中每个模块只涉及软件要求的具体的子功能求的具体的子功能,而,而和软件系统中其他模块的接口是简单的和软件系统中其他模块的接口是简单的。
即功能专一即功能专一,模块之间无过多的相互作用的模块模块之间无过多的相互作用的模块。
这种类型的模块可以并行开发,模块独立性越强,开发越容这种类型的模块可以并行开发,模块独立性越强,开发越容易。
独立性强的模块,还能减少错误的影响,使模块容易组合、易。
独立性强的模块,还能减少错误的影响,使模块容易组合、修改及测试。
修改及测试。
12125.2.55.2.5模块独立性模块独立性模块独立性的度量标准是两个定性准则模块独立性的度量标准是两个定性准则:
耦合性耦合性耦合性耦合性用于描述模块之间联系的紧密程度。
用于描述模块之间联系的紧密程度。
内聚性内聚性内聚性内聚性用于描述模块内部联系的紧密程度。
用于描述模块内部联系的紧密程度。
模块独立性比较强的模块应该是具有高内聚性和的低耦模块独立性比较强的模块应该是具有高内聚性和的低耦合度。
合度。
1313图图5.8变换型数据流图的基本模型变换型数据流图的基本模型5.5.15.5.15.5.15.5.1概念概念概念概念变换流变换流变换流变换流1414图事务型数据流图的基本模型5.5.15.5.15.5.15.5.1概念概念概念概念事务流事务流事务流事务流1515l变换分析设计:
把具有变换流特点的数据流图按预先确定的模变换分析设计:
把具有变换流特点的数据流图按预先确定的模式映射成软件结构式映射成软件结构。
不具有显著的事务特点不具有显著的事务特点。
l虽然在任何情况下都可以使用变换分析方法设计软件结构,但虽然在任何情况下都可以使用变换分析方法设计软件结构,但是在是在数据流具有明显的事务特点数据流具有明显的事务特点时,也就是有一个明显的时,也就是有一个明显的“发发射中心射中心”(事务中心事务中心)时,还是以采用事务分析方法为宜。
时,还是以采用事务分析方法为宜。
l两者的主要差别仅在于由数据流图到软件结构的映射方法不同。
两者的主要差别仅在于由数据流图到软件结构的映射方法不同。
1616第第第第6666章章章章详细设计详细设计详细设计详细设计1111、结构程序设计中有哪几种基本控制结构?
、结构程序设计中有哪几种基本控制结构?
P108P108P108P1082222、了解人机界面的设计。
、了解人机界面的设计。
3333、掌掌掌掌握握握握过过过过程程程程设设设设计计计计的的的的工工工工具具具具(程程程程序序序序流流流流程程程程图图图图、盒盒盒盒图图图图、PADPADPADPAD图图图图,判定树)判定树)判定树)判定树)P114P114P114P114P119P119P119P1194444、面向数据结构的设计方法(、面向数据结构的设计方法(、面向数据结构的设计方法(、面向数据结构的设计方法(JacksonJacksonJacksonJackson图)图)图)图)5555、程序复杂度的定量度量(、程序复杂度的定量度量(、程序复杂度的定量度量(、程序复杂度的定量度量(McCabeMcCabeMcCabeMcCabe)17176.16.1结构程序设计结构程序设计6.16.16.1结构程序设计结构程序设计结构程序设计图图6.13种基本的控制结构种基本的控制结构18186.16.1结构程序设计结构程序设计其他常用的控制结构其他常用的控制结构其他常用的控制结构图图6.2其他常用的控制结构其他常用的控制结构19196.3.16.3.1程序流程图程序流程图程序流程图是最早出现且使用较为广泛的算法表达工具之一,能够有效地描述问题求解过程中的程序逻辑结构。
程序流程图中经常使用的基本符号如图6.3所示。
图图6.3程序流程图中使用的符号程序流程图中使用的符号2020uNS图又称为盒图,它是为了保证结构化程序设计而由Nassi和Shneiderman共同提出的一种图形工具。
u在NS图中,所有的程序结构均使用矩形框表示,它可以清晰地表达结构中的嵌套及模块的层次关系。
uNS图中,基本控制结构的表示符号如图6.4所示。
6.3.2N-S6.3.2N-S图图21216.3.2N-S6.3.2N-S图图图图6.4盒图的基本符号盒图的基本符号2222图图6.5PAD6.5PAD中基本符号中基本符号(a)(a)顺序结构;
顺序结构;
(b)(b)分支结构;
分支结构;
(c)(c)多分支多分支CASECASE结构;
结构;
(d)(d)当型循环;
当型循环;
(e)(e);
直到型循环;
(f)(f)语句标号;
(语句标号;
(gg)定义)定义6.3.3PAD6.3.3PAD图图23236.3.3PAD6.3.3PAD图图图图6.6使用使用PAD图提供的定义功能来逐步求精的例子图提供的定义功能来逐步求精的例子24246.46.4面向数据结构的设计方法面向数据结构的设计方法6.46.46.4面向数据结构的设计方法面向数据结构的设计方法面向数据结构的设计方法Jackson方法和方法和Warnier方法是最