第3章软件设计精选文档.ppt
《第3章软件设计精选文档.ppt》由会员分享,可在线阅读,更多相关《第3章软件设计精选文档.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章章 软件设计软件设计本讲稿第一页,共六十三页第三章 软件设计本讲稿第二页,共六十三页主讲提纲:主讲提纲:一、软件设计的目标和任务一、软件设计的目标和任务二、程序结构与程序结构图二、程序结构与程序结构图 三、模块独立性三、模块独立性四、结构化设计方法四、结构化设计方法五、详细设计描述工具五、详细设计描述工具六、系统软件设计说明书六、系统软件设计说明书本讲稿第三页,共六十三页一、软件设计的目标和任务软件设计的目标软件设计的目标 根据用信息域表示的软件需求,以及功能根据用信息域表示的软件需求,以及功能和性能需求,包括以下设计:和性能需求,包括以下设计:数据设计:数据设计:数据设计侧重于数
2、据结构的定义。数据设计侧重于数据结构的定义。系统结构设计:系统结构设计:定义软件系统各主要成份之间定义软件系统各主要成份之间的关系。的关系。过程设计过程设计:把结构成份转换成软件的过程性描:把结构成份转换成软件的过程性描述。在编码步骤,根据这种过程性描述,生成述。在编码步骤,根据这种过程性描述,生成源程序代码,然后通过测试最终得到完整有效源程序代码,然后通过测试最终得到完整有效的软件。的软件。本讲稿第四页,共六十三页开发阶段的信息流一、软件设计的目标和任务软件设计的目标软件设计的目标本讲稿第五页,共六十三页一、软件设计的目标和任务软件设计的意义软件设计的意义软件设计是后续开发步骤及软件维护工作
3、的软件设计是后续开发步骤及软件维护工作的软件设计是后续开发步骤及软件维护工作的软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系基础。如果没有设计,只能建立一个不稳定的系基础。如果没有设计,只能建立一个不稳定的系基础。如果没有设计,只能建立一个不稳定的系统结构。统结构。统结构。统结构。本讲稿第六页,共六十三页一、软件设计的目标和任务软件设计的任务软件设计的任务从工程管理的角度来看,软件设计从工程管理的角度来看,软件设计分两步完成。分两步完成。概要设计概要设计:将软件需求转化为数据结:将软件需求转化为数据结构和软件的系统结构。构和软件的系统结构。详细设计详细设计:即
4、过程设计。通过对结:即过程设计。通过对结构表示进行细化,得到软件的详细的构表示进行细化,得到软件的详细的数据结构和算法数据结构和算法。本讲稿第七页,共六十三页一、软件设计的目标和任务软件设计的任务软件设计的任务本讲稿第八页,共六十三页一、软件设计的目标和任务软件设计的过程软件设计的过程1.1.制定规范制定规范 在进入软件开发阶段之初,首先应为软件开发组制定在进入软件开发阶段之初,首先应为软件开发组制定在进入软件开发阶段之初,首先应为软件开发组制定在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工在设计时应该共同遵守的标准,以便协调组内各成员的工在设
5、计时应该共同遵守的标准,以便协调组内各成员的工在设计时应该共同遵守的标准,以便协调组内各成员的工作。包括作。包括作。包括作。包括:阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的目标,以及它们的优先顺序。条件,从而确定设计的目标,以及它们的优先顺序。条件,从而确定设计的目标,以及它们的优先顺序。条件,从而确定设计的目标,以及它们的优先顺序。根据目标确定最合适的设计方法。根据目标确定最合适的设计
6、方法。根据目标确定最合适的设计方法。根据目标确定最合适的设计方法。规定设计文档的编制标准。规定设计文档的编制标准。规定设计文档的编制标准。规定设计文档的编制标准。规定编码的信息形式,与硬件,操作系统的接口规约,命名规定编码的信息形式,与硬件,操作系统的接口规约,命名规定编码的信息形式,与硬件,操作系统的接口规约,命名规定编码的信息形式,与硬件,操作系统的接口规约,命名规则。规则。规则。规则。本讲稿第九页,共六十三页一、软件设计的目标和任务软件设计的过程软件设计的过程2.2.软件系统结构的总体设计软件系统结构的总体设计 在设计阶段,基于这个功能的层次结构把各在设计阶段,基于这个功能的层次结构把各
7、在设计阶段,基于这个功能的层次结构把各在设计阶段,基于这个功能的层次结构把各个部分组合起来成为系统,它包括:个部分组合起来成为系统,它包括:个部分组合起来成为系统,它包括:个部分组合起来成为系统,它包括:采用某种设计方法,将系统按功能划分成模采用某种设计方法,将系统按功能划分成模块的层次结构。块的层次结构。确定每个模块的功能。确定每个模块的功能。确定每个模块的功能。确定每个模块的功能。建立与已确定的软件需求的对应关系。建立与已确定的软件需求的对应关系。建立与已确定的软件需求的对应关系。建立与已确定的软件需求的对应关系。确定模块间的调用关系。确定模块间的调用关系。确定模块间的接口。确定模块间的接
8、口。确定模块间的接口。确定模块间的接口。评估模块划分的质量评估模块划分的质量。本讲稿第十页,共六十三页一、软件设计的目标和任务软件设计的过程软件设计的过程3.3.处理方式设计处理方式设计确定为实现系统的功能需求所必需的算法,确定为实现系统的功能需求所必需的算法,评估算法的性能。评估算法的性能。确定为满足系统的性能需求所必需的算法确定为满足系统的性能需求所必需的算法和模块间的控制方式。性能主要是指周转和模块间的控制方式。性能主要是指周转时间、响应时间、吞吐量、精度。时间、响应时间、吞吐量、精度。确定外部信号的接收发送形式确定外部信号的接收发送形式。本讲稿第十一页,共六十三页一、软件设计的目标和任
9、务软件设计的过程软件设计的过程4.4.数据结构设计数据结构设计 确定软件涉及的文件系统的结构以及数据库的模式,进行数据完整性和安确定软件涉及的文件系统的结构以及数据库的模式,进行数据完整性和安确定软件涉及的文件系统的结构以及数据库的模式,进行数据完整性和安确定软件涉及的文件系统的结构以及数据库的模式,进行数据完整性和安全性的设计。主要包括:全性的设计。主要包括:全性的设计。主要包括:全性的设计。主要包括:确定输入,输出文件的详细的数据结构。确定输入,输出文件的详细的数据结构。确定输入,输出文件的详细的数据结构。确定输入,输出文件的详细的数据结构。结合算法设计,确定算法所必需的逻辑数据结构及其操
10、作。结合算法设计,确定算法所必需的逻辑数据结构及其操作。结合算法设计,确定算法所必需的逻辑数据结构及其操作。结合算法设计,确定算法所必需的逻辑数据结构及其操作。确定对逻辑数据结构所必需的那些操作的程序模块确定对逻辑数据结构所必需的那些操作的程序模块确定对逻辑数据结构所必需的那些操作的程序模块确定对逻辑数据结构所必需的那些操作的程序模块(软件包软件包软件包软件包)限制和确定各个数据设计决策的影响范围。限制和确定各个数据设计决策的影响范围。限制和确定各个数据设计决策的影响范围。限制和确定各个数据设计决策的影响范围。若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细若需要与操作系统或调
11、度程序接口所必须的控制表等数据时,确定其详细若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则。的数据结构和使用规则。的数据结构和使用规则。的数据结构和使用规则。数据的保护性设计,保证软件运行过程中所使用的数据的类型和取值范围数据的保护性设计,保证软件运行过程中所使用的数据的类型和取值范围数据的保护性设计,保证软件运行过程中所使用的数据的类型和取值范围数据的保护性设计,保证软件运行过程中所使用的数据的类型和取值范围不变。不变。不变。不变。本讲稿第十二页,共六十三页一、软件设计的目标和任务软件设计的
12、过程软件设计的过程5.5.可靠性设计可靠性设计 可靠性设计也叫做质量设计。在运可靠性设计也叫做质量设计。在运行过程中,为了适应环境的变化和用户行过程中,为了适应环境的变化和用户新的要求,需经常对软件进行改造和修新的要求,需经常对软件进行改造和修正。在软件开发的一开始就要确定软件正。在软件开发的一开始就要确定软件可靠性和其它质量指标,考虑相应措施,可靠性和其它质量指标,考虑相应措施,以使得软件易于修改和易于维护。以使得软件易于修改和易于维护。本讲稿第十三页,共六十三页一、软件设计的目标和任务软件设计的过程软件设计的过程6.6.编写概要设计阶段的文档编写概要设计阶段的文档 概要设计阶段完成时应编写
13、以下文档:概要设计阶段完成时应编写以下文档:概要设计说明书。给出系统目标、总体设计、概要设计说明书。给出系统目标、总体设计、数据设计、运行设计等。数据设计、运行设计等。数据库设计说明书。给出数据库简介等。数据库设计说明书。给出数据库简介等。用户手册用户手册 制定初步的测试计划制定初步的测试计划本讲稿第十四页,共六十三页一、软件设计的目标和任务软件设计的过程软件设计的过程7.7.概要设计评审概要设计评审可追溯性可追溯性可追溯性可追溯性:确认该设计是否复盖了所有已确定的软件:确认该设计是否复盖了所有已确定的软件:确认该设计是否复盖了所有已确定的软件:确认该设计是否复盖了所有已确定的软件需求,软件每
14、一成份是否可追溯到某一项需求。需求,软件每一成份是否可追溯到某一项需求。需求,软件每一成份是否可追溯到某一项需求。需求,软件每一成份是否可追溯到某一项需求。接口接口接口接口:确认该软件的内部接口与外部接口是否已经明确:确认该软件的内部接口与外部接口是否已经明确:确认该软件的内部接口与外部接口是否已经明确:确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足高内聚和低耦合的要求。模块作用定义。模块是否满足高内聚和低耦合的要求。模块作用定义。模块是否满足高内聚和低耦合的要求。模块作用定义。模块是否满足高内聚和低耦合的要求。模块作用范围是否在其控制范围之内。范围是否在其控制范围之内。范围是否
15、在其控制范围之内。范围是否在其控制范围之内。风险风险风险风险:确认该设计在现有技术条件下和预算范围内是否:确认该设计在现有技术条件下和预算范围内是否:确认该设计在现有技术条件下和预算范围内是否:确认该设计在现有技术条件下和预算范围内是否能按时实现。能按时实现。能按时实现。能按时实现。实用性实用性:确认该设计对于需求的解决方案是否实用。:确认该设计对于需求的解决方案是否实用。本讲稿第十五页,共六十三页一、软件设计的目标和任务软件设计的过程软件设计的过程技术清晰度技术清晰度技术清晰度技术清晰度:确认该设计是否以一种易于翻译成代码的形式表:确认该设计是否以一种易于翻译成代码的形式表:确认该设计是否以
16、一种易于翻译成代码的形式表:确认该设计是否以一种易于翻译成代码的形式表达。达。达。达。可维护性可维护性:确认该设计是否考虑了方便未来的维护。:确认该设计是否考虑了方便未来的维护。:确认该设计是否考虑了方便未来的维护。:确认该设计是否考虑了方便未来的维护。质量质量质量质量:确认该设计是否表现出良好的质量特征。:确认该设计是否表现出良好的质量特征。:确认该设计是否表现出良好的质量特征。:确认该设计是否表现出良好的质量特征。各种选择方案各种选择方案各种选择方案各种选择方案:看是否考虑过其它方案,比较各种选择方案:看是否考虑过其它方案,比较各种选择方案:看是否考虑过其它方案,比较各种选择方案:看是否考
17、虑过其它方案,比较各种选择方案的标准是什么。的标准是什么。的标准是什么。的标准是什么。限制限制限制限制:评估对该软件的限制是否现实,是否与需求一致。:评估对该软件的限制是否现实,是否与需求一致。:评估对该软件的限制是否现实,是否与需求一致。:评估对该软件的限制是否现实,是否与需求一致。其它具体问题其它具体问题其它具体问题其它具体问题:对于文档、可测试性、设计过程等进行评:对于文档、可测试性、设计过程等进行评:对于文档、可测试性、设计过程等进行评:对于文档、可测试性、设计过程等进行评估。估。估。估。本讲稿第十六页,共六十三页二、程序结构与程序结构图 程程序序结结构构表表明明了了程程序序各各个个部
18、部件件(模模块块)的的组组织织情情况况,它它通通常常是是树树状状结结构构或或网网状状结结构构,并并蕴蕴含含了了在在程程序序控控制制上上的的层层次次关关系系。但但要要注注意意的的是是,程程序序结结构构是是软软件件的的过过程程表表示示,但但并并未未表表明明软软件件的的某某些些过过程程性性特特征征。比比如如,软软件件的的动动态态特特性性,在程序结构中就未明确体现。在程序结构中就未明确体现。本讲稿第十七页,共六十三页二、程序结构与程序结构图程序结构程序结构本讲稿第十八页,共六十三页二、程序结构与程序结构图程序结构图程序结构图结构图反映程序中模块之间的层次调用关结构图反映程序中模块之间的层次调用关系和联
19、系:它以特定的符号表示模块、模块间系和联系:它以特定的符号表示模块、模块间的调用关系和模块间信息的传递。的调用关系和模块间信息的传递。模块:模块用矩形框表示,并用模块的名模块:模块用矩形框表示,并用模块的名字标记它。字标记它。模块的调用关系和接口:模块之间用单向箭头模块的调用关系和接口:模块之间用单向箭头联结,箭头从调用模块指向被调用模块,表示调联结,箭头从调用模块指向被调用模块,表示调用模块调用了被调用模块。用模块调用了被调用模块。本讲稿第十九页,共六十三页本讲稿第二十页,共六十三页二、程序结构与程序结构图程序结构图程序结构图 模块间的信息传递:当一个模块调用另一个模块间的信息传递:当一个模
20、块调用另一个模块时,调用模块把数据或控制信息传送给被模块时,调用模块把数据或控制信息传送给被调用模块,以使被调用模块能够运行。而被调调用模块,以使被调用模块能够运行。而被调用模块在执行过程中又把它产生的数据或控制用模块在执行过程中又把它产生的数据或控制信息回送给调用模块。信息回送给调用模块。在模块在模块A A的箭头尾部标以一个菱形符号,表示的箭头尾部标以一个菱形符号,表示模块模块A A有条件地调用另一个模块有条件地调用另一个模块B B。当一个在调。当一个在调用箭头尾部标以一个弧形符号,表示模块用箭头尾部标以一个弧形符号,表示模块A A反反复调用模块复调用模块C C和模块和模块D D。本讲稿第二
21、十一页,共六十三页程序的系统结构图深度:模块结构的层数;深度:模块结构的层数;宽度:同一层中最大模块数;宽度:同一层中最大模块数;扇出:一个模块直接调用的模块数;扇出:一个模块直接调用的模块数;扇入:调用一个给定模块的个数。扇入:调用一个给定模块的个数。本讲稿第二十二页,共六十三页“模块模块”,又称,又称“组件组件”。它一般具有如。它一般具有如下三个基本属性下三个基本属性:功能:描述该模块实现什么功能功能:描述该模块实现什么功能 逻辑:描述模块内部怎么做逻辑:描述模块内部怎么做 状态:该模块使用时的环境和条件状态:该模块使用时的环境和条件三、模块的独立性模块(模块(ModuleModule)本
22、讲稿第二十三页,共六十三页 在描述一个模块时,还必须按模块的在描述一个模块时,还必须按模块的外部特性外部特性与与内部特性内部特性分别描述。分别描述。模块的模块的外部特性:外部特性:模块的模块名、参数表、其中的输入参模块的模块名、参数表、其中的输入参数和输出参数,以及给程序以至整个系统造数和输出参数,以及给程序以至整个系统造成的影响成的影响模块的模块的内部特性:内部特性:完成其功能的程序代码和仅供该模完成其功能的程序代码和仅供该模块内部使用的数据块内部使用的数据三、模块的独立性模块(模块(ModuleModule)本讲稿第二十四页,共六十三页 模块独立性模块独立性,是指软件系统中每个模块只是指软
23、件系统中每个模块只涉及软件要求的具体的子功能涉及软件要求的具体的子功能,而和软件系统而和软件系统中其它的模块的接口是简单的。中其它的模块的接口是简单的。一般采用两一般采用两 个准则度量模块独立性。即模块间个准则度量模块独立性。即模块间耦合耦合和模块和模块内聚。内聚。耦合耦合耦合耦合是模块之间的互相连接的紧密程度的度量。是模块之间的互相连接的紧密程度的度量。是模块之间的互相连接的紧密程度的度量。是模块之间的互相连接的紧密程度的度量。内聚内聚是模块功能强度是模块功能强度是模块功能强度是模块功能强度(一个模块内部各个元素彼此结合的紧密程一个模块内部各个元素彼此结合的紧密程一个模块内部各个元素彼此结合
24、的紧密程一个模块内部各个元素彼此结合的紧密程度度度度)的度量。模块独立性比较强的模块应是的度量。模块独立性比较强的模块应是的度量。模块独立性比较强的模块应是的度量。模块独立性比较强的模块应是高内聚低耦合高内聚低耦合的的模块。模块。三、模块的独立性模块独立性模块独立性本讲稿第二十五页,共六十三页 耦合性是程序结构中各个模块之间相互关联的度耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间接口的复杂程度、调用模量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及通过模块的信息。一般模块之间可能的块的方式以及通过模块的信息。一般模块之间可能的连接方式有七种,构成耦合性的七种类型
25、。连接方式有七种,构成耦合性的七种类型。三、模块的独立性耦合性(耦合性(couplingcoupling)本讲稿第二十六页,共六十三页三、模块的独立性耦合性(耦合性(couplingcoupling)非直接耦合:非直接耦合:如果两个模块之间没有直接关系,它们如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最的,这就是非直接耦合。这种耦合的模块独立性最强。强。数据耦合:数据耦合:如果一个模块访问另一个模块时,彼此如果一个模块访问另一个模块时,彼此之间是通过简单数据参数之间是通过简单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 软件设计精选文档 软件设计 精选 文档
限制150内