版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6章章 软件工程技软件工程技术基础术基础 61 软件工程的基本原则软件工程的基本原则v软件开发是非实物性的,它是人的逻辑思维过程,软件开发是非实物性的,它是人的逻辑思维过程,是不可见的、抽象的,对知识的要求也比较高。是不可见的、抽象的,对知识的要求也比较高。v软件工程的基本原则:软件工程的基本原则: (1)划分软件生命期划分软件生命期:在时间上进行分解,将软件:在时间上进行分解,将软件开发过程分解为一系列的分阶段的任务。开发过程分解为一系列的分阶段的任务。 (2)进行计划评审进行计划评审:和一般工程项目一样,软件开:和一般工程项目一样,软件开发要严格按计划管理,坚持进行阶段评审。发要严格按
2、计划管理,坚持进行阶段评审。 (3)编制软件文档编制软件文档:在软件工程每一阶段都要编制:在软件工程每一阶段都要编制完整、精确的文档。完整、精确的文档。6 61 11 1 软件生命期软件生命期v三个阶段:三个阶段:定义定义: :可行性论证与开发计划可行性论证与开发计划 + + 需求分析需求分析开发开发: :概要设计概要设计 + + 详细设计详细设计 + + 编码编码维护维护: :测试测试 + + 行维护行维护 6 61 12 2 计划与评审计划与评审v软件工程按软件开发活动步骤应制定如下计划:软件工程按软件开发活动步骤应制定如下计划:1 1项目实施的总体计划项目实施的总体计划2 2软件配置管理
3、计划软件配置管理计划3 3软件质量保证计划软件质量保证计划4 4测试计划测试计划5 5安全保密计划安全保密计划6 6系统安装计划系统安装计划7 7运行和维护管理计划运行和维护管理计划6 61 13 3 编制软件文档编制软件文档v为了管理软件开发的过程,为了管理软件开发的过程,在开发的每个阶段在开发的每个阶段,都要按照规,都要按照规定的格式编写完整精确的文档资料。定的格式编写完整精确的文档资料。v文档编写的文档编写的主要作用主要作用:1 1作为开发人员阶段性成果的标志,保证计划的顺利进作为开发人员阶段性成果的标志,保证计划的顺利进行。行。2 2向管理人员提供软件开发工作的进展情况,方便管理向管理
4、人员提供软件开发工作的进展情况,方便管理人员对过程的掌握。人员对过程的掌握。3 3要记录开发过程中的技术信息,为以后的工作做好准要记录开发过程中的技术信息,为以后的工作做好准备。备。4 4提供有关软件维护、培训、流通和运行的信息,方便提供有关软件维护、培训、流通和运行的信息,方便人员对工作的了解。人员对工作的了解。5 5向未来用户介绍软件的功能和能力,使之判断该软件向未来用户介绍软件的功能和能力,使之判断该软件是否满足使用者的需要,这一点也是很重要的。是否满足使用者的需要,这一点也是很重要的。6 62 2 软件开发过程软件开发过程6 62 21 1 软件开发过程模型软件开发过程模型v软件开发的
5、目标软件开发的目标在规定的投资和时间限制内,开发出符合在规定的投资和时间限制内,开发出符合用户需求的高质量软件。用户需求的高质量软件。v在这个开发过程中,过程模型至关重要,软在这个开发过程中,过程模型至关重要,软件开发过程模型主要有两类:件开发过程模型主要有两类:瀑布模型瀑布模型渐增模型渐增模型v瀑布模型主要是按照软件的生命周期的几个阶段来划分,明确每个阶段的任务。1瀑布模型(P239)1瀑布模型(P239)v瀑布模型基本开发原则:瀑布模型基本开发原则:(1) (1) 承接上一项活动中接收本项活动所需的对象作为输入。承接上一项活动中接收本项活动所需的对象作为输入。(2) (2) 利用输入进行本
6、项活动。利用输入进行本项活动。(3) (3) 把本项的活动成果传送下一项。把本项的活动成果传送下一项。(4) (4) 对本项工作进行评审,若评审正确才能进行下一项工对本项工作进行评审,若评审正确才能进行下一项工作。作。v适用场合:软件需求比较明确、开发技术比较成熟,适用场合:软件需求比较明确、开发技术比较成熟,工程管理比较严格的场合工程管理比较严格的场合v各种应用软件的开发都可采用这种方法各种应用软件的开发都可采用这种方法。 2渐增模型(渐进模型或原型法)v适用场合:用户需求不太明确适用场合:用户需求不太明确v部分需求部分需求-不完全系统不完全系统-经验反馈经验反馈-完善完善v这种方法的整个过
7、程都是在软件人员和用户这种方法的整个过程都是在软件人员和用户的共同参与下进行的。通常用于,要在开发的共同参与下进行的。通常用于,要在开发过程中不断摸索,不断获取新知识来丰富和过程中不断摸索,不断获取新知识来丰富和完善系统。完善系统。v例:研究性质的实验软件例:研究性质的实验软件软件生命期软件生命期定义阶段定义阶段: :可行性论证与开发计划可行性论证与开发计划 需求分析需求分析开发阶段开发阶段: :概要设计概要设计 详细设计详细设计 软件编码软件编码维护阶段维护阶段: :软件测试软件测试 软件维护软件维护 6 62 22 2 可行性论证可行性论证v可行性研究包括三方面(书上两方面)可行性研究包括
8、三方面(书上两方面)(1 1)经济可行性:成本效益分析)经济可行性:成本效益分析(2 2)技术可行性:分析技术风险)技术可行性:分析技术风险(3 3)人员可行性:开发人员、使用人员)人员可行性:开发人员、使用人员v可行性论证结果包括五方面(文字资料)可行性论证结果包括五方面(文字资料)(1 1)背景情况:包括国内外水平及发展状况,以及市场)背景情况:包括国内外水平及发展状况,以及市场需求。需求。(2 2)系统描述:包括总体方案和技术路线、把课题分解)系统描述:包括总体方案和技术路线、把课题分解成若干阶段目标以及课题的关键技术。成若干阶段目标以及课题的关键技术。(3 3) 成本效益分析:经济可行
9、性。成本效益分析:经济可行性。(4 4) 技术风险评价:技术可行性。技术风险评价:技术可行性。(5 5) 其他与项目有关的问题:如版权和法律责任等。其他与项目有关的问题:如版权和法律责任等。软件生命期软件生命期定义阶段定义阶段: :可行性论证与开发计划可行性论证与开发计划 需求分析需求分析开发阶段开发阶段: :概要设计概要设计 详细设计详细设计 软件编码软件编码维护阶段维护阶段: :软件测试软件测试 软件维护软件维护 6 62 23 3 需求分析(做什么)需求分析(做什么)v需求分析阶段的具体任务:需求分析阶段的具体任务:1 1确定系统的要求:系统的功能要求、系统的性能要求、确定系统的要求:系
10、统的功能要求、系统的性能要求、系统的运行要求、系统未来可能提出的要求(留出硬件系统的运行要求、系统未来可能提出的要求(留出硬件或软件接口)。或软件接口)。2 2分析系统的数据要求分析系统的数据要求v通常采用数据流图和数据字典相配合的方法来分析系通常采用数据流图和数据字典相配合的方法来分析系统的数据要求。统的数据要求。3 3修正开发计划修正开发计划4 4编写文档:软件需求规格说明书编写文档:软件需求规格说明书 + + 初步用户手册初步用户手册软件生命期软件生命期定义阶段定义阶段: :可行性论证与开发计划可行性论证与开发计划 需求分析需求分析开发阶段开发阶段: :概要设计概要设计 详细设计详细设计
11、 软件编码软件编码维护阶段维护阶段: :软件测试软件测试 软件维护软件维护 6 62 24 4 概要设计(怎么做)概要设计(怎么做)v概要设计(总体设计)概要设计(总体设计)v主要任务:主要任务:1.1.设计软件系统结构设计软件系统结构v划分模块划分模块v确定模块间关系确定模块间关系2.2.设计主要数据结构。设计主要数据结构。6 62 24 4 概要设计(怎么做)概要设计(怎么做)(1 1)选取最佳实现方案:)选取最佳实现方案:提供几个方案,择优选取提供几个方案,择优选取(2 2)设计软件总体结构:)设计软件总体结构:划分功能模块(划分功能模块(6.36.3节)节)(3 3)设计主要数据结构:
12、)设计主要数据结构:确定主要算法的数据结构、确定主要算法的数据结构、 文件结构或数据库模式文件结构或数据库模式(4 4)完成用户手册:)完成用户手册: 在初步用户手册基础上确定在初步用户手册基础上确定 用户使用的要求用户使用的要求(5 5)制定初步测试计划:)制定初步测试计划:测试策略、方法、步骤测试策略、方法、步骤(6 6)概要设计评审)概要设计评审: 整体结构、部分结构及关系、整体结构、部分结构及关系、 用户接口用户接口 1.概要设计的过程概要设计的过程(1 1)模块化)模块化v模块化:把程序划分成若干个模块,每个模块完成一个子功模块化:把程序划分成若干个模块,每个模块完成一个子功能,把这
13、些模块集中起来组成一个整体,从而完成指定的功能,把这些模块集中起来组成一个整体,从而完成指定的功能,满足问题的要求。这种方法可以使软件的结构清晰,容能,满足问题的要求。这种方法可以使软件的结构清晰,容易设计也便于阅读,模块的划分要具体的问题具体分析,寻易设计也便于阅读,模块的划分要具体的问题具体分析,寻找折中的划分原则。找折中的划分原则。(2 2)信息隐蔽与局部化)信息隐蔽与局部化v信息隐蔽:在设计模块时,应让一个模块内包含的信息(过信息隐蔽:在设计模块时,应让一个模块内包含的信息(过程和数据)对于其他不需要这些信息的模块来说,是不能访程和数据)对于其他不需要这些信息的模块来说,是不能访问的。
14、问的。v局部化:是把一些关系密切的软件元素尽可能放在一起。局部化:是把一些关系密切的软件元素尽可能放在一起。两者密切相关:局部化有助于实现信息隐蔽两者密切相关:局部化有助于实现信息隐蔽2.模块化软件设计的基本概念和原理模块化软件设计的基本概念和原理624 概要设计(怎么做)概要设计(怎么做)(3 3)模块独立)模块独立v模块独立:指每个模块完成一个相对独立的特定子功能,与模块独立:指每个模块完成一个相对独立的特定子功能,与其他模块之间的关系尽量简单。其他模块之间的关系尽量简单。v模块的独立程度:通常用模块的独立程度:通常用耦合耦合和和内聚内聚来衡量。来衡量。耦合耦合:是对一个软件结构内不同模块
15、之间互联程度的度量。:是对一个软件结构内不同模块之间互联程度的度量。 耦合越弱越好。耦合越弱越好。内聚内聚:是对模块内各个元素彼此结合的紧密程度的度量。:是对模块内各个元素彼此结合的紧密程度的度量。 内聚越高越好。内聚越高越好。2.模块化软件设计的基本概念和原理模块化软件设计的基本概念和原理624 概要设计(怎么做)概要设计(怎么做)2.模块化软件设计的基本概念和原理模块化软件设计的基本概念和原理624 概要设计(怎么做)概要设计(怎么做)(4 4)模块划分的原则)模块划分的原则 a.a.改进软件结构,提高模块独立性,降低模块接口的复杂程度。改进软件结构,提高模块独立性,降低模块接口的复杂程度
16、。 b.b.模块规模应该适中。一个模块一般不超过模块规模应该适中。一个模块一般不超过6060行。行。 c. c.深度、宽度、扇入和扇出都应该适当。深度、宽度、扇入和扇出都应该适当。深度:表示模块的层数,标志系统的大小和复杂程度。深度:表示模块的层数,标志系统的大小和复杂程度。宽度:是同一层上模块总数的最大值,宽度越大越复杂。宽度:是同一层上模块总数的最大值,宽度越大越复杂。扇出:是一个模块直接控制(调用)的模块数目,通常扇出扇出:是一个模块直接控制(调用)的模块数目,通常扇出3 3,4 4较好较好扇入:表明有多少个上级模块直接调用它。扇入:表明有多少个上级模块直接调用它。d.设计单入口单出口的
17、模块。设计单入口单出口的模块。 2.模块化软件设计的基本概念和原理模块化软件设计的基本概念和原理624 概要设计(怎么做)概要设计(怎么做)3软件结构的表示v在概要设计的时候,通常采用层次图来描述在概要设计的时候,通常采用层次图来描述软件的层次结构,这种图适合自顶向下的设软件的层次结构,这种图适合自顶向下的设计方法。(计方法。(P243P243)软件生命期软件生命期定义阶段定义阶段: :可行性论证与开发计划可行性论证与开发计划 需求分析需求分析开发阶段开发阶段: :概要设计概要设计 详细设计详细设计 软件编码软件编码维护阶段维护阶段: :软件测试软件测试 软件维护软件维护 6 62 25 5
18、详细设计详细设计v根本目标根本目标: :确定应该怎样具体地实现所要求的系统。确定应该怎样具体地实现所要求的系统。v具体模块的实现具体模块的实现:通常用图形或文字的形式来表达通常用图形或文字的形式来表达几种常用的表示工具1.1.程序流程图(程序框图)程序流程图(程序框图)v它是一种软件设计工具。它是一种软件设计工具。v主要优点:对控制流程的描述直观,便于初学者掌握。主要优点:对控制流程的描述直观,便于初学者掌握。v主要缺点:主要缺点:(1 1)容易重局部,轻全局。)容易重局部,轻全局。(2 2)容易随意转移,和限制使用)容易随意转移,和限制使用GotoGoto语句想矛盾。语句想矛盾。(3 3)不
19、容易表示数据结构。)不容易表示数据结构。v流程图的几种基本符号:顺序、选择、判断(流程图的几种基本符号:顺序、选择、判断(P244P244)2.2.盒图盒图3.PAD3.PAD图图4.4.过程设计语言过程设计语言(PDL)(PDL) 软件生命期软件生命期定义阶段定义阶段: :可行性论证与开发计划可行性论证与开发计划 需求分析需求分析开发阶段开发阶段: :概要设计概要设计 详细设计详细设计 软件编码软件编码维护阶段维护阶段: :软件测试软件测试 软件维护软件维护 6 62 26 6 软件编码软件编码v编码是把软件设计的结果翻译成用某种程序设计语言书写的程序。源程序代码的逻辑要简明清晰,易读易懂。
20、v工具:高级语言v注意问题:(1) 程序内部文档(2) 语句构造(3) 输入输出(4) 效率软件生命期软件生命期定义阶段定义阶段: :可行性论证与开发计划可行性论证与开发计划 需求分析需求分析开发阶段开发阶段: :概要设计概要设计 详细设计详细设计 软件编码软件编码维护阶段维护阶段: :软件测试软件测试 软件维护软件维护 6 62 27 7 软件测试软件测试v用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。v软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。v软件测试是为了发现错误而执行程序的过程。v软件测试在软件生存期中横跨两
21、个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。 627 软件测试软件测试 v1 1软件测试目标软件测试目标(1 1)找出错误)找出错误(2 2)暴露出尚未发现的错误)暴露出尚未发现的错误成功的测试成功的测试v2 2软件测试的原则软件测试的原则(1 1)测试工作不应由开发软件的个人或小组承担。(专家)测试工作不应由开发软件的个人或小组承担。(专家)(2 2)在计划测试时,不应默认不会找到错误。)在计划测试时,不应默认不会找到错误。(3 3
22、)测试文件必须说明预期的测试结果。)测试文件必须说明预期的测试结果。(4 4)对合法的和非法的输入条件都要进行测试。)对合法的和非法的输入条件都要进行测试。627 软件测试软件测试v3 3软件测试的方法软件测试的方法(1 1)黑盒测试:)黑盒测试:也称为功能测试或数据驱动测试。也称为功能测试或数据驱动测试。只对程序的接口进行测试:能否适当地接收输入数据只对程序的接口进行测试:能否适当地接收输入数据 能否产生正确的输出信息能否产生正确的输出信息(2 2)白盒测试:)白盒测试:按照程序内部的逻辑来测试按照程序内部的逻辑来测试检验程序中的每条通路是否都能正确工作检验程序中的每条通路是否都能正确工作又
23、称为结构测试或逻辑驱动测试又称为结构测试或逻辑驱动测试627 软件测试软件测试v4 4设计测试方案设计测试方案设计测试方案是测试阶段的关键技术问题设计测试方案是测试阶段的关键技术问题设计测试方案的目标:设计测试方案的目标: 选用的测试数据尽量少而有效,测试尽可能完备。选用的测试数据尽量少而有效,测试尽可能完备。通常做法:通常做法:用黑盒法设计基本测试方案用黑盒法设计基本测试方案用白盒法补充一些方案用白盒法补充一些方案627 软件测试软件测试v5.5.软件测试的步骤软件测试的步骤 (1 1)单元测试(模块测试)单元测试(模块测试) 主要测试模块的主要测试模块的5 5个特性:模块接口、模块的内部数
24、据个特性:模块接口、模块的内部数据结构、重要的执行路径、错误路径处理、边缘条件。结构、重要的执行路径、错误路径处理、边缘条件。 (2 2)组装测试)组装测试 发现与模块接口有关的问题发现与模块接口有关的问题 (3 3)确认测试)确认测试 检验开发的软件是否能按照用户提出的要求运行,是检验开发的软件是否能按照用户提出的要求运行,是否符合软件规格说明书中规定的软件技术指标。否符合软件规格说明书中规定的软件技术指标。 软件生命期软件生命期定义阶段定义阶段: :可行性论证与开发计划可行性论证与开发计划 需求分析需求分析开发阶段开发阶段: :概要设计概要设计 详细设计详细设计 软件编码软件编码维护阶段维
25、护阶段: :软件测试软件测试 软件维护软件维护 6 62 28 8 软件维护软件维护v1 1软件维护的必要性软件维护的必要性(1 1)改正在运行中新发现的软件错误和设计上的缺陷。)改正在运行中新发现的软件错误和设计上的缺陷。(2 2)适应功能需求变化,增强软件功能,并提高软件性能。)适应功能需求变化,增强软件功能,并提高软件性能。(3 3)要求已运行的软件能适应特定的硬件、软件的工作环境)要求已运行的软件能适应特定的硬件、软件的工作环境或是要求适应已变动的数据或文件。或是要求适应已变动的数据或文件。(4 4)使投入运行的软件与其他相关的程序有良好的接口,利)使投入运行的软件与其他相关的程序有良
26、好的接口,利于协同工作。于协同工作。(5 5)使运行软件的应用程范围得到必要的扩充。)使运行软件的应用程范围得到必要的扩充。 6 62 28 8 软件维护软件维护v1 1软件维护的内容软件维护的内容(1 1)改正性维护是在软件运行中发生异常或故障时)改正性维护是在软件运行中发生异常或故障时进行的。进行的。(2 2)适应性维护是为了使该软件能适应外部环境的)适应性维护是为了使该软件能适应外部环境的变动。变动。(3 3)完善性维护是为了扩充软件的功能,提高原有)完善性维护是为了扩充软件的功能,提高原有软件性能而开展的软件工程活动。软件性能而开展的软件工程活动。 63 软件开发中的系统分析与设软件开
27、发中的系统分析与设计方法计方法 v6 63 31 1 结构化系统方法结构化系统方法v1.1.结构化分析方法(结构化分析方法(SA方法)方法)v结构化分析方法适合于数据处理类型软件的需求分析,也是结构化分析方法适合于数据处理类型软件的需求分析,也是用图形来表示需求的方法,简单、易学。用图形来表示需求的方法,简单、易学。v结构化分析方法包括:结构化分析方法包括: (1 1) 数据流图(主要部分)数据流图(主要部分) 表达系统内数据的运动情况表达系统内数据的运动情况 (2 2) 数据词典数据词典定义系统中的数据定义系统中的数据 (3 3) 判定表判定表 (4 4) 判定树判定树描述数据流的加工描述数
28、据流的加工 (5 5) 结构化语言结构化语言 (1 1) 数据流图(数据流图(DFDDFD)v数据流图(数据流图(Data Flow DiagramData Flow Diagram)是描述数据是描述数据处理过程的工具。它以图形的方式描述数据处理过程的工具。它以图形的方式描述数据在系统中流动和处理的过程。数据流图有四在系统中流动和处理的过程。数据流图有四种基本图形符号:种基本图形符号:v数据流数据流:带有命名的箭头。:带有命名的箭头。 v加工加工:内有加工名的圆圈。:内有加工名的圆圈。 v文件文件:标有文件名字的短粗线。:标有文件名字的短粗线。 v数据源点或数据终点数据源点或数据终点:以圆角方
29、框表示。:以圆角方框表示。 v数据流数据流:是沿着箭头指向传送数据的通道。是沿着箭头指向传送数据的通道。数据流名应能直观地反映数据流的含义。数据流名应能直观地反映数据流的含义。数据流的流向数据流的流向同一数据流图上不能有两个数据流同名。同一数据流图上不能有两个数据流同名。两个符号两个符号( (加工、文件、数据源点或数据终点加工、文件、数据源点或数据终点) )之之间可以有多个数据流存在,他们之间没有次序、主间可以有多个数据流存在,他们之间没有次序、主次关系。次关系。 (1 1) 数据流图(数据流图(DFDDFD)(1 1) 数据流图(数据流图(DFDDFD)v加工加工:又称处理亦称变换,它是以数
30、据结构或数据又称处理亦称变换,它是以数据结构或数据内容为加工对象的。内容为加工对象的。 加工名应简单,能概括地说明对数据的加工行为,加工名应简单,能概括地说明对数据的加工行为,其详细描述在数据词典中定义。(动宾结构)其详细描述在数据词典中定义。(动宾结构) 加工要逐层分解,以求分解后的加工功能简单、加工要逐层分解,以求分解后的加工功能简单、易于理解。易于理解。(1 1) 数据流图(数据流图(DFDDFD)v文件文件:用来暂时存贮数据的,也称为数据存储,可以是数据用来暂时存贮数据的,也称为数据存储,可以是数据库或其他数据组织。库或其他数据组织。数据存储名应概要地说明文件中的主要数据。数据存储名应
31、概要地说明文件中的主要数据。数据存储上一定要有数据流。数据存储上一定要有数据流。指向文件的数据流可理解为写入文件,从文件引出的数据指向文件的数据流可理解为写入文件,从文件引出的数据流可理解为从文件读出。流可理解为从文件读出。为避免为避免DFDDFD中出现交叉线,同一数据存储可在多处画出。中出现交叉线,同一数据存储可在多处画出。 (1 1) 数据流图(数据流图(DFDDFD)v数据源点或数据终点数据源点或数据终点 源点和终点源点和终点( (又称端点又称端点) )是系统外的实体,称作是系统外的实体,称作外部项。它们存在于环境之中,与系统有信息交流,外部项。它们存在于环境之中,与系统有信息交流,从源
32、点到系统的信息叫系统的输入;从系统到终点从源点到系统的信息叫系统的输入;从系统到终点的信息称系统的输出。同的信息称系统的输出。同个端点可以是人或其它个端点可以是人或其它系统。在系统。在DFDDFD中引入源点和终点是为了便于理解系中引入源点和终点是为了便于理解系统,所以不需要详细描述它们。统,所以不需要详细描述它们。 v(1 1)确定所开发的系统的外部项(外部实体),)确定所开发的系统的外部项(外部实体),即系统的数据来源和去处。即系统的数据来源和去处。v(2 2)确定整个系统的输出数据流和输入数据流,)确定整个系统的输出数据流和输入数据流,把系统作为一个加工环节,画出关联图。把系统作为一个加工
33、环节,画出关联图。v(3 3)确定系统的主要信息处理功能,按此将整个)确定系统的主要信息处理功能,按此将整个系统分解成几个加工环节(子系统)确定每个加工系统分解成几个加工环节(子系统)确定每个加工的输出与输入数据流以及与这些加工有关的数据存的输出与输入数据流以及与这些加工有关的数据存储。储。 v(4 4)根据自顶向下,逐层分解的原则,对上层图)根据自顶向下,逐层分解的原则,对上层图中全部或部分加工环节进行分解。中全部或部分加工环节进行分解。v(5 5)重复步骤()重复步骤(4 4),直到逐层分解结束。),直到逐层分解结束。v(6 6)对图进行检查和合理布局,主要检查分解是)对图进行检查和合理布
34、局,主要检查分解是否恰当、彻底,否恰当、彻底,DFDDFD中各层是否有遗漏、重复、冲中各层是否有遗漏、重复、冲突之处,各层突之处,各层DFDDFD及同层及同层DFDDFD之间关系是否争取及命之间关系是否争取及命名、编号是否确切、合理等,对错误与不当之处进名、编号是否确切、合理等,对错误与不当之处进行修改。行修改。v(7 7)和用户进行交流,在用户完全理解数据流图)和用户进行交流,在用户完全理解数据流图的内容的基础上征求用户的意见。的内容的基础上征求用户的意见。 例例6.16.1v某图书管理系统按以下步骤进行借书处理:某图书管理系统按以下步骤进行借书处理:v(1 1) 首先,读者将借书证,借书单
35、交操作员检验,首先,读者将借书证,借书单交操作员检验,不合格者返回读者。不合格者返回读者。v检验合格后进行借书处理,查找是否还有此图书,检验合格后进行借书处理,查找是否还有此图书,如果没有,则返回读者。如果没有,则返回读者。v如果找到该图书,则登记,填写借书登记卡,并对如果找到该图书,则登记,填写借书登记卡,并对库存书目做调整,并对读者做借书记录。库存书目做调整,并对读者做借书记录。v画出相应的数据流图:画出相应的数据流图: (2)数据词典 v数据词典数据词典( (Data DictionaryData Dictionary,简称简称DD)DD)和数据流图和数据流图密切配合,能清楚地表达数据处
36、理的要求密切配合,能清楚地表达数据处理的要求 。v数据词典数据词典用于对数据流图中出现的所有成分给出定用于对数据流图中出现的所有成分给出定义,它使数据流图上的数据流名字、加工名字和文义,它使数据流图上的数据流名字、加工名字和文件名字具有确切的解释。每一条解释就是一条词条,件名字具有确切的解释。每一条解释就是一条词条,按一定的顺序将所有词条排列起来,就构成了数据按一定的顺序将所有词条排列起来,就构成了数据词典。词典。例6.1相应的数据词典v借书证借书证= =证号证号+ +单位单位+ +姓名姓名+ +年龄年龄+ +职务职务+证章证章| |密码密码 v借书单借书单= =证号证号+ +姓名姓名+1+1
37、书号书号+ +书名书名55v索书单索书单= =借书单借书单+ +可借标记可借标记v拒绝拒绝=非法证非法证| |不合格单不合格单| |证单不符证单不符 v已借出已借出= =索书单索书单+ +已借出标记已借出标记v供书单供书单= =证号证号+ +姓名姓名+1+1书号书号+ +书名书名+可供标记可供标记| |已借出标记已借出标记55v借书记录借书记录= =借书单借书单+ +还书日期还书日期v库存书目库存书目=书号书号+ +书名书名+ +作者作者+ +出版社出版社+ +出版年代出版年代+ +库存总数库存总数+ +借借出册数出册数 v借书登记卡借书登记卡=借书日期借书日期+ +供书单供书单 2结构化设计
38、方法v所谓所谓结构化程序设计结构化程序设计就是利用自顶向下、逐步求就是利用自顶向下、逐步求精的软件系统总体设计思想发展而成的。精的软件系统总体设计思想发展而成的。v该方法可以和需求分析相结合,把数据流图转化为该方法可以和需求分析相结合,把数据流图转化为系统结构图。系统结构图。v(1 1)结构化设计方法的步骤)结构化设计方法的步骤v首先研究、分析以及审查数据流图,然后根据数据首先研究、分析以及审查数据流图,然后根据数据流图决定问题的类型。问题的类型有两种,分别是流图决定问题的类型。问题的类型有两种,分别是变换型和事务处理型。变换型和事务处理型。(2)数据处理问题的两种类型v变换型变换型变换型数据
39、处理问题的工作过程大致分为三步:取变换型数据处理问题的工作过程大致分为三步:取得数据、变换数据、给出数据。其中变换数据是核得数据、变换数据、给出数据。其中变换数据是核心问题。心问题。v事务处理型事务处理型事务处理型问题通常是在接受一项事务后,根据该事务处理型问题通常是在接受一项事务后,根据该事务的特点和性质,选择分派给一个适当的处理单事务的特点和性质,选择分派给一个适当的处理单元,然后给出结果。元,然后给出结果。v(3 3) 从数据流图导出初始结构图从数据流图导出初始结构图v变换型问题变换型问题v对变换型问题的分析,主要是找到中心变换对变换型问题的分析,主要是找到中心变换v v事务处理型问题事
40、务处理型问题 3结构化编程方法v结构化编程主要包括两个方面:结构化编程主要包括两个方面:v(1 1) 在代码编写时,强调采用单入口单出在代码编写时,强调采用单入口单出口的基本控制结构(顺序、选择、循环),口的基本控制结构(顺序、选择、循环),避免使用避免使用GOTOGOTO语句。语句。v在软件设计和实现过程中,提倡采用自顶向在软件设计和实现过程中,提倡采用自顶向下和逐步细化的原则。下和逐步细化的原则。 632 快速原型法快速原型法 v快速原型法是一种快速快速原型法是一种快速,灵活灵活,交互式的软件开发方法学交互式的软件开发方法学,它是它是为适应当前计算机技术的进步及对软件需求的极大增长而出为适应当前计算机技术的进步及对软件需求的极大增长而出现的现的.快速原型法的核心是用交互的快速原型法的核心是用交互的,快速建立起来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年初级会计职称全真模拟考试题(含答案解析)
- 手术室管理制度
- 厂区门禁管理实施细则
- 塑胶跑道施工专项方案
- 城市体检样本小区实地踏勘工作指引
- 2026‑2031年中国无人驾驶出租行业市场调查研究及发展前景预测报告
- 物业行业绿化部绿化主管绿化养护手册(执行版)
- 年回收废旧铅酸蓄电池20000吨项目环评报告表
- 罗樾之教授自拟“罗氏再生乾坤再造血合剂”
- 2025-2026年福建省部编版小学六年级道德与法治第9课练习题
- 2026年秋季学期学校教学质量提升专项行动方案:落实六环贯通、三级联动、四单闭环,将教学质量沉淀于日常
- 2025年食品安全总监、食品安全员考核考试试题库及答案
- 甲状腺癌诊疗指南解读 课件
- 电商运营合作协议书范本
- 广东省深圳市2025年中考语文试卷试题真题(含答案详解)
- 2026年公路弃土场规划及生态恢复方案
- 2026年少先队常识认知试题含答案
- 2026年国家网络安全宣传周试题及答案
- 2025 版中国脓毒症与感染性休克院前急救指南
- 《热爱班集体》分层作业及答案-2026-2027学年统编版(新教材)小学道德与法治四年级上册
- 物业公共收益管理制度
评论
0/150
提交评论