软件开发过程与方法.ppt

上传人:赵** 文档编号:78698815 上传时间:2023-03-18 格式:PPT 页数:41 大小:495.50KB
返回 下载 相关 举报
软件开发过程与方法.ppt_第1页
第1页 / 共41页
软件开发过程与方法.ppt_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《软件开发过程与方法.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与方法.ppt(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、北华航天工业学院计算机系 制作VC+VC+程序设计项目实践程序设计项目实践贾振华贾振华北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式第第1 1章章 软件开发过程与方法软件开发过程与方法学学习目目标:了解了解软件的开件的开发过程程了解了解软件的开件的开发方法方法理解理解编码实现的的规则熟悉熟悉测试方法方法北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程软件开件开发过程是按照程是按照软件工件工业化的化的标准定准定义的在的在软件开件开发中必中必须具有的一系列具有的一系列过程程规范。范。软件开件开发过程是

2、定程是定义软件中的件中的软件需求、件需求、软件件设计,软件件编码、软件件测试、软件部署的件部署的实现目目标和和规范化的管理方法范化的管理方法论。软件开件开发过程是保程是保证软件高件高质量完成的一系列任量完成的一系列任务的框架,它的框架,它规定了完成各定了完成各项任任务的工作步的工作步骤。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.11.1.1需求分析需求分析需求分析需求分析阶段研究的段研究的对象是象是软件件项目的用目的用户要求。要求。一方面,必一方面,必须全面理解用全面理解用户的各的各项要求,但又不要求,但又不能全能

3、全盘接受所有的要求,因接受所有的要求,因为并非所有的用并非所有的用户要要求都是合理的,求都是合理的,对其中模糊的要求其中模糊的要求还需要澄清,需要澄清,然后才能决定是否可以采然后才能决定是否可以采纳。对于那些无法于那些无法实现的要求,的要求,应向用向用户做充分的解做充分的解释,以求得,以求得谅解。解。另一方面,要准确地表达已另一方面,要准确地表达已经接受的用接受的用户要求。要求。只有只有经过确切描述的确切描述的软件需求才能成件需求才能成为软件件设计的基的基础。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.11.1.1需

4、求分析需求分析软件需求分析的目件需求分析的目标是准确理解用是准确理解用户的要求,的要求,进行行细致的致的调查分析,将用分析,将用户的非形式的要求的非形式的要求转化化为完整的需求定完整的需求定义,再将需求定,再将需求定义转换为相相应的的形式的形式的规格格说明。明。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.11.1.1需求分析需求分析制定制定软件的需求件的需求规格格说明不明不仅仅是是软件开件开发人人员的事,用的事,用户也起着至关重要的作用。用也起着至关重要的作用。用户必必须对软件功能和性能提出初步要求,并澄清一些模糊件

5、功能和性能提出初步要求,并澄清一些模糊概念。而概念。而软件分析人件分析人员则要要认真了解用真了解用户的要求,的要求,细致地致地进行行调查分析,把用分析,把用户“做什么做什么”的要求最的要求最终转换成一个完全的、精成一个完全的、精细的的软件件逻辑模型并写模型并写出出软件的需求件的需求规格格说明,准确地表达用明,准确地表达用户的要求。的要求。包括的内容有:包括的内容有:北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.11.1.1需求分析需求分析1 1)功能需求)功能需求 2 2)性能需求)性能需求 3 3)可靠性和可用性需求

6、)可靠性和可用性需求4 4)出)出错性性处理需求理需求5 5)接口需求)接口需求6 6)界面需求)界面需求7 7)其他需求)其他需求北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.21.1.2系统分析与设计系统分析与设计系系统分析与分析与设计可以分可以分为总体体设计和和详细设计。总体体设计的基本目的是:从整体角度上来的基本目的是:从整体角度上来说,系,系统该如何如何实现;总体体设计称称为概要概要设计或初步或初步设计。这个个阶段工作将划分出系段工作将划分出系统的的组成:程序、成:程序、文件、数据文件、数据库、人工、人工过程

7、和文档等,另外就是程和文档等,另外就是设计软件的件的结构,即确定系构,即确定系统由哪些功能模由哪些功能模块组成,成,以及相互之以及相互之间的关系。的关系。详细设计的根本目的根本目标是确定怎是确定怎样具体具体实现所要求所要求的系的系统,即能,即能够对系系统进行精确描述,行精确描述,为编码打打下基下基础。详细设计还没有没有编写具体代写具体代码,只是,只是设计出出“程序程序蓝图”,程序,程序员根据根据这个个蓝图编写出写出实际的程序代的程序代码。详细设计的的结果决定了程序代果决定了程序代码的的质量。量。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过

8、程软件开发过程1.1.31.1.3编码实现编码实现编码实现是把系是把系统分析与分析与设计结果果转换成某种程成某种程序序设计语言代言代码的的过程。程序的程。程序的质量主要取决于量主要取决于软件的件的设计质量。但是,所量。但是,所选用的程序用的程序设计语言言的特点及的特点及编程程风格也格也对程序的可靠性、可程序的可靠性、可读性、性、可可测试性和可性和可维护性性产生深生深远的影响。的影响。在在编写代写代码过程中,注意程中,注意编码风格,要求源代格,要求源代码的的逻辑简明清晰、易明清晰、易读易懂,易懂,为达到达到这个目的,个目的,应该遵循下述遵循下述规则:北华航天工业学院计算机系 制作单击此处编辑母版

9、标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现1 1)程序内部文档)程序内部文档程序内部文档包括恰当的程序内部文档包括恰当的标识符、适当的注符、适当的注释和和程序的程序的组织风格等。格等。选取含取含义鲜明的明的标识符,能符,能够正确提示程序正确提示程序对象象所代表的所代表的实体,有助于体,有助于对程序的理解。如果使用程序的理解。如果使用缩写,写,缩写写规则应该一致,并一致,并给每个每个标志符加上志符加上注注释。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.

10、1.3编码实现编码实现1 1)程序内部文档()程序内部文档(续)注注释是是阅读和理解程序的重要手段,通常在每个和理解程序的重要手段,通常在每个模模块的开始有一段序言性注的开始有一段序言性注释,简要要说明模明模块的的功能、主要算法、接口情况、重要数据功能、主要算法、接口情况、重要数据说明以及明以及开开发人人员、时间、版本等内容。注、版本等内容。注释的内容一定的内容一定要正确,要正确,错误的注的注释不不仅不不对理解程序起帮助,理解程序起帮助,反而反而错误的引的引导对程序的理解。程序的理解。程序源代程序源代码的的组织对于程序的可于程序的可读性影响很大,性影响很大,利用适当的空白改善程序的利用适当的空

11、白改善程序的视觉反反应,使程序的,使程序的层次次结构清晰明构清晰明显。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现2 2)数据)数据说明明数据数据说明的次序明的次序标准化,可按照数据准化,可按照数据结构或数据构或数据类型确定的次序。当多个型确定的次序。当多个变量名在一个量名在一个说明明语句句中,中,应按照字母按照字母顺序排列序排列这些些变量。在量。在说明一个明一个复复杂的数据的数据结构构时,应加注加注释说明方法和特点。明方法和特点。不同数据不同数据类型型应按存按存储空空间的大小的大小顺序序

12、说明。明。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现3 3)语句构造句构造在构造在构造语句句时,应遵循的原遵循的原则是是简单而直接,不而直接,不能能为了提高效率而使程序了提高效率而使程序变得得过分复分复杂。具体。具体规则如下:如下:在一行内只写一条在一行内只写一条语句,并采取适当的句,并采取适当的缩进格式,格式,使程序的使程序的逻辑和功能和功能变得更加明确;得更加明确;北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1

13、.31.1.3编码实现编码实现3 3)语句构造(句构造(续)尽量避免复尽量避免复杂的条件;的条件;尽量减少非操作的条件尽量减少非操作的条件语句;句;避免大量使用循避免大量使用循环嵌套或条件嵌套;嵌套或条件嵌套;使用括号来表达使用括号来表达逻辑表达式或算表达式或算术表达式的运算表达式的运算顺序。序。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现4 4)输入入输出出在在设计和和编写程序写程序时应考考虑如下如下规则:对所有所有输入的数据都入的数据都进行行验证,从而,从而识别错误的的输入,以保入,以

14、保证每个数据的有效性;每个数据的有效性;对所有所有输入数据入数据进行行输入提示,入提示,详细说明可用的明可用的选择或或边界界值;北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现4 4)输入入输出(出(续)检查输入入项重要重要组合的合法性,必要合的合法性,必要时报告告输入入状状态信息;信息;使得使得输入的步入的步骤和操作尽可能和操作尽可能简单,并保持,并保持简单的的输入格式;入格式;输入一批数据入一批数据时,最好使用数据,最好使用数据结束束标志,而不志,而不要由用要由用户指定指定输入数据数目;入

15、数据数目;输入数据入数据时,应允允许使用自由格式使用自由格式输入,入,应允允许有缺省有缺省值;北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现4 4)输入入输出(出(续)在以交互式在以交互式输入入/输出方式出方式进行行输入入时,要在屏幕,要在屏幕上使用提示符明确提示交互上使用提示符明确提示交互输入的入的请求,指明可求,指明可使用使用选择项的种的种类和取和取值范范围。同。同时,在数据,在数据输入的入的过程中和程中和输入入结束束时,也要在屏幕上,也要在屏幕上给出状出状态信息;信息;当程序当程序语言

16、言对输入格式有入格式有严格要求格要求时,应保持保持输入格式与入格式与输入入语句要求的一致性;句要求的一致性;给所有的所有的输出加注解,并出加注解,并设计输出出报表格式。表格式。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现5 5)效率)效率(1 1)有关程序效率的几条准)有关程序效率的几条准则效率是一个性能要求,目效率是一个性能要求,目标值应当在需求分析当在需求分析阶段段给出。出。软件效率以需求件效率以需求为准,不准,不应以人力所及以人力所及为准。准。好的好的设计可以提高效率。可以提高效率。

17、程序的效率与程序的程序的效率与程序的简单性相关,不要性相关,不要牺牲程序牲程序的清晰性和可的清晰性和可读性来不必要地提高效率。性来不必要地提高效率。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现5 5)效率()效率(续)(2 2)算法)算法对效率的影响效率的影响在在编程序前,尽可能化程序前,尽可能化简有关的算有关的算术表达式和表达式和逻辑表达式;表达式;仔仔细检查算法中的嵌套的循算法中的嵌套的循环,尽可能将某些,尽可能将某些语句或表达式移到循句或表达式移到循环外面;外面;尽量避免使用多尽量避

18、免使用多维数数组;尽量避免使用指尽量避免使用指针和复和复杂的表达式;的表达式;采用快速的算采用快速的算术运算;运算;不要混淆数据不要混淆数据类型,避免在表达式中出型,避免在表达式中出现类型混型混杂;尽量采用整数算尽量采用整数算术表达式和布表达式和布尔表达式;表达式;选用等效的高效率算法。用等效的高效率算法。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现5 5)效率()效率(续)(3 3)影响存)影响存储器效率的因素器效率的因素在大型在大型计算机中必算机中必须考考虑操作系操作系统页式式调度的特

19、度的特点,一般来点,一般来说,使用能保持功能的,使用能保持功能的结构化控制构化控制结构,是提高效率的有效方法。构,是提高效率的有效方法。在微在微处理器中如果要求使用最少的存理器中如果要求使用最少的存储单元,元,则应选用用紧缩存存储器特性的器特性的编译程序,在非常必要程序,在非常必要时可以使用可以使用汇编语言。言。提高提高执行效率的技行效率的技术通常也能提高存通常也能提高存储器效率。器效率。提高存提高存储器的关器的关键是是简单。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.31.1.3编码实现编码实现5 5)效率()效率

20、(续)(4 4)影响)影响输入入/输出的因素出的因素对所有的所有的输入入/输出操作,安排适当的出操作,安排适当的缓冲区,以冲区,以减少减少频繁的信息交繁的信息交换。对辅助存助存储(例如磁(例如磁盘),),选择尽可能尽可能简单的,的,可接受的存取方法;可接受的存取方法;对辅助存助存储的的输入入/输出,出,应当成当成块传送;送;对终端或打印机的端或打印机的输入入/输出,出,应考考虑设备特性,特性,改善改善输入入/输出的出的质量和速度;量和速度;任何不易理解的,任何不易理解的,对改善改善输入入/输出效果关系不大出效果关系不大的措施都是不可取的;的措施都是不可取的;不不应该为追求所追求所谓超高效的超高

21、效的输入入/输出,出,进而而损害害程序的可理解性;程序的可理解性;良好的良好的输入入/输出程序出程序设计风格格对提高提高输入入/输出出效率会有明效率会有明显的效果。的效果。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.41.1.4测试测试软件件测试按按阶段划分段划分为两种,一种是在两种,一种是在编写出每写出每个模个模块之后就之后就进行的行的测试,称,称为单元元测试。一种。一种是是编码阶段段结束后的系束后的系统测试。1 1)首先了解)首先了解软件件测试的目的,的目的,G.J.MYERSG.J.MYERS对软件件测试的目的

22、提出的的目的提出的观点:点:软件件测试是是为了了发现错误而而执行程序的行程序的过程。程。一个好的一个好的测试用例能用例能够发现至今尚未至今尚未发现的的错误。一个成功的一个成功的测试是是发现了至今尚未了至今尚未发现的的错误的的测试。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.41.1.4测试测试2 2)软件件测试的一些指的一些指导原原则:测试用例用例应由由输入数据和入数据和预期的期的输出数据两部分出数据两部分组成。成。测试用例不用例不仅选用合理的用合理的输入数据,入数据,还要要选择不合不合理的理的输入数据。入数据。除了

23、除了检查程序是否做了它程序是否做了它应该做的事,做的事,还应该检查程序是否做了它不程序是否做了它不应该做的事。做的事。应制定制定测试计划并划并严格格执行,排除随意性。行,排除随意性。长期保留期保留测试用例。用例。对发现错误较多的程序段,多的程序段,应进行更深入的行更深入的测试。程序程序员避免避免测试自己的程序。自己的程序。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.41.1.4测试测试3 3)测试方法一般分方法一般分为两大两大类:动态测试方法和静方法和静态测试方法,而方法,而动态测试方法又分方法又分为:黑盒黑盒测试

24、白盒白盒测试北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.41.1.4测试测试(1 1)黑盒)黑盒测试黑盒黑盒测试又称又称为功能功能测试或数据或数据驱动测试。该方方法把被法把被测试对象看成一个黑盒子,象看成一个黑盒子,测试人人员完全完全不考不考虑程序的内部程序的内部结构和构和处理理过程,只在程,只在软件的件的接口接口处进行行测试,检查程序是否程序是否满足功能要求。足功能要求。黑盒黑盒测试主要主要发现以下以下错误:是否有不正确或是否有不正确或遗漏了的功能。漏了的功能。在接口上,能否正确地接受在接口上,能否正确地接受输入数

25、据,能否入数据,能否产生生正确的正确的输出信息。出信息。访问外部信息是否有外部信息是否有错。性能上是否性能上是否满足要求等。足要求等。注意:注意:穷举地地输入入测试数据数据进行黑盒行黑盒测试是不可是不可能的。能的。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.41.1.4测试测试(2 2)白盒)白盒测试此方法把此方法把测试对象看作一个打开的盒子,象看作一个打开的盒子,测试人人员须了解了解程序的内部程序的内部结构和构和处理理过程,以程,以检查处理理过程的程的细节为基基础,对程序中尽可能多的程序中尽可能多的逻辑路径路径进行

26、行测试,检验内部控内部控制制结构和数据构和数据结构是否有构是否有错,实际的运行状的运行状态与与预期的状期的状态是否一致。是否一致。一般情况下,系一般情况下,系统测试应测试以下几个部分:以下几个部分:系系统是否是否实现了需求分析了需求分析阶段要求段要求实现的所有功能;的所有功能;在正常条件下,系在正常条件下,系统运行是否正常;运行是否正常;在非正常条件下,系在非正常条件下,系统运行是否正常;运行是否正常;北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.51.1.5部署部署简单地地讲,部署就是安装,就是把,部署就是安装,就是

27、把软件放置到相件放置到相应的地方,并且的地方,并且进行相行相应的配置(一般称作部署的配置(一般称作部署描述),描述),让软件能件能够正常运行起来。正常运行起来。部署部署阶段中的任段中的任务和活和活动包括通知用包括通知用户部署情况、部署情况、执行培行培训计划、划、执行数据行数据输入或入或转换、安装系、安装系统、运行部署后运行部署后评审、修、修订先前的文档。先前的文档。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.11.1软件开发过程软件开发过程1.1.61.1.6维护维护软件件维护是在是在软件已件已经交付使用之后,交付使用之后,为了改正了改正错误或或满足新的要

28、求而足新的要求而对软件件进行修改的行修改的过程。程。软件件维护通常包括通常包括4 4类活活动:为纠正正错误而而进行的行的改正性改正性维护;为适适应外部外部环境境变化而化而进行的适行的适应性性维护;为改改进原有原有软件而件而进行的完善性行的完善性维护;为改改进将来的可将来的可维护性和可靠性而性和可靠性而进行的行的预防性防性维护。决定决定软件的可件的可维护性的因素有:性的因素有:软件的可理解性、件的可理解性、可可测试性、可修改性、可移植性和可重用性。性、可修改性、可移植性和可重用性。软件重用技件重用技术是从根本上提高是从根本上提高软件可件可维护性的重要性的重要技技术。北华航天工业学院计算机系 制作

29、单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法在在2020世世纪6060年代中期,年代中期,计算机算机软件的开件的开发和和维护遇到了一系列遇到了一系列严重的重的问题,即,即软件危机,件危机,这些些严重的重的问题不不仅与与软件本身的特点有关,件本身的特点有关,还和和软件件开开发与与维护的方法不正确有关。的方法不正确有关。为解决解决软件危机,件危机,19681968年在第一届年在第一届NATONATO会会议上提出了上提出了软件工程的思件工程的思想,并不断地得到想,并不断地得到发展和完善。同展和完善。同时,也在不断,也在不断地探索新的地探索新的软件开件开发设计方

30、法,提出方法,提出许多开多开发方方法,包括面向数据流的开法,包括面向数据流的开发设计方法、方法、结构化构化软件开件开发方法、面向数据方法、面向数据结构的构的软件开件开发方法、面方法、面向向问题的分析方法、面向的分析方法、面向对象的象的软件开件开发方法、方法、原型化方法等。原型化方法等。下面下面对这些些软件开件开发方法做以方法做以简单介介绍。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法1.2.11.2.1面向数据流的开发设计方法面向数据流的开发设计方法面向数据流的面向数据流的设计方法的目方法的目标是是给出出设计软件件结构的一个

31、构的一个系系统化途径。在化途径。在软件开件开发的需求分析的需求分析阶段,重点考段,重点考虑信息信息流,通常用数据流流,通常用数据流图描述信息在系描述信息在系统中的加工和流中的加工和流动情况。情况。面向数据流的面向数据流的设计方法定方法定义了一些不同的了一些不同的“映射映射”,利用,利用这些映射可以把数据流些映射可以把数据流变换成成软件件结构。数据流有两种构。数据流有两种类型:型:一是交一是交换流,一些数据信息沿流,一些数据信息沿输入路径入路径进入系入系统,通,通过变换中心,加工中心,加工处理后沿理后沿输出路径出路径输出,离开系出,离开系统。另一种。另一种是事是事务流,流,这种数据流以事种数据流

32、以事务为中心,数据沿中心,数据沿输入路径到入路径到达一个达一个处理,理,这个个处理根据数据的理根据数据的类型在若干个型在若干个动作序列作序列中中选出一个来出一个来执行。行。变换分析是一系列分析是一系列设计步步骤的的总称,称,经过这些步些步骤把具有把具有变换流特点的数据流流特点的数据流图按按预先确定的模式映射成先确定的模式映射成软件件结构。构。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法1.2.11.2.1面向数据流的开发设计方法面向数据流的开发设计方法这种方法的种方法的设计步步骤有:有:第一步:复第一步:复查基本系基本系统模

33、型,确保系模型,确保系统的的输入数入数据和据和输出数据符合出数据符合实际需要。需要。第二步:复第二步:复查和精化数据流和精化数据流图,确保数据流,确保数据流图给出的目出的目标系系统是正确的是正确的逻辑模型,而且模型,而且应该使数使数据流据流图中每个中每个处理都代表一个理都代表一个规模适中相模适中相对独立独立的子功能。的子功能。第三步:确定数据流第三步:确定数据流图具有具有变换特性特性还是事是事务特特性。性。第四步:确定第四步:确定输入和入和输出流的出流的边界,从而孤立出界,从而孤立出变换中心。中心。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开

34、发方法软件开发方法1.2.11.2.1面向数据流的开发设计方法面向数据流的开发设计方法第五步:完成第五步:完成“第一第一级分解分解”,所,所谓分解就是分配分解就是分配控制的控制的过程,程,软件件结构代表构代表对控制的自控制的自顶向下的向下的分配。分配。第六步:完成第六步:完成“第二第二级分解分解”,所,所谓第二第二级分解就分解就是把数据流是把数据流图中的每个中的每个处理映射成理映射成软件件结构中一构中一个适当的模个适当的模块。应根据根据实际情况和情况和标准准规则,进行第二行第二级分解。分解。第七步:使用第七步:使用设计度量和启度量和启发式式规则对第一次分第一次分割得到的割得到的软件件结构构进行

35、精化。行精化。经过上述的步上述的步骤,开,开发出出软件的整体表示。件的整体表示。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法1.2.21.2.2结构化软件开发方法结构化软件开发方法结构化开构化开发方法是由方法是由E.YourdonE.Yourdon 和和 L.L.ConstantineL.L.Constantine 共共同提出的,即所同提出的,即所谓的的SASD SASD 方方 法,法,也可称也可称为面向功能的面向功能的软件开件开发方法或面向数据流的方法或面向数据流的软件开件开发方法。方法。YourdonYourdon方法是

36、方法是8080年代使用最广泛的年代使用最广泛的软件开件开发方法。它首方法。它首先用先用结构化分析(构化分析(SASA)对软件件进行需求分析,然后用行需求分析,然后用结构构化化设计(SDSD)方法)方法进行行总体体设计,最后是,最后是结构化构化编程程(SPSP)。它)。它给出了两出了两类典型的典型的软件件结构(构(变换型和事型和事务型)型)使使软件开件开发的成功率大大提高。的成功率大大提高。结构化分析方法构化分析方法(Structured Method(Structured Method,结构化方法构化方法)是是强调开开发方法的方法的结构合理性以及所开构合理性以及所开发软件的件的结构合理性的构合

37、理性的软件开件开发方法。方法。结构是指系构是指系统内各个内各个组成要素之成要素之间的相互的相互联系、相互作用的框架。系、相互作用的框架。结构化开构化开发方法提出了一方法提出了一组提高提高软件件结构合理性的准构合理性的准则,如分解与抽象、模,如分解与抽象、模块独立性、信独立性、信息息隐蔽等。蔽等。针对软件生存周期各个不同的件生存周期各个不同的阶段,它有段,它有结构构化分析化分析 (SA)(SA)、结构化构化设计(SD)(SD)和和结构化程序构化程序设计(SP)(SP)等等方法。方法。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法

38、1.2.31.2.3面向数据结构的软件开发方法面向数据结构的软件开发方法 JacksonJackson方法是最典型的面向数据方法是最典型的面向数据结构的构的软件开件开发方法方法(简称称JSDJSD方法),方法),JacksonJackson方法把方法把问题分解分解为可由三种基可由三种基本本结构形式表示的各部分的构形式表示的各部分的层次次结构。三种基本构。三种基本结构就是构就是顺序、序、选择和重复。三种基本和重复。三种基本结构可以构可以进行行组合,形成复合,形成复杂的的结构体系。构体系。这一方法从目一方法从目标系系统的的输入、入、输出数据出数据结构入手,构入手,导出程序框架出程序框架结构,再构,

39、再补充其它充其它细节,就可得到,就可得到完整的程序完整的程序结构构图。这一方法一方法对输入、入、输出数据出数据结构明确构明确的中小型系的中小型系统非常有效,如商非常有效,如商业应用中的文件表格用中的文件表格处理。理。该方法也可与其它方法方法也可与其它方法结合,用于模合,用于模块的具体的具体设计。JacksonJackson系系统开开发方法把分析的重点放在构造与系方法把分析的重点放在构造与系统相关相关联的的现实世界,并建立世界,并建立现实世界的信息域的模型上。它世界的信息域的模型上。它实际上是支持上是支持软件分析与件分析与设计的一的一组连续的技的技术步步骤。而且,。而且,JSDJSD方法的最方法

40、的最终目目标是生成是生成软件的件的过程性描述,没有特程性描述,没有特别考考虑程序模程序模块化化结构,模构,模块只是作只是作为过程的副程的副产品而出品而出现,没有特没有特别强调模模块独立性。独立性。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法1.2.31.2.3面向数据结构的软件开发方法面向数据结构的软件开发方法 使用使用JSDJSD方法的步方法的步骤如下:如下:(1 1)实体体动作分析作分析(2 2)实体体结构分析构分析(3 3)定)定义初始模型初始模型(4 4)功能描述)功能描述(5 5)决定系)决定系统时间特性特性(6

41、6)实现北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法1.2.41.2.4面向问题的分析方法面向问题的分析方法 面向面向问题的分析方法的分析方法PAMPAM(Problem Analysis MethodProblem Analysis Method),),是是8080年代末由日立公司提出的一种年代末由日立公司提出的一种软件开件开发方法。方法。它的基本思想是考它的基本思想是考虑输入、入、输出数据出数据结构,指构,指导系系统的的分解,在系分解,在系统分析指分析指导下逐步下逐步综合。合。这一方法的具体步一方法的具体步骤是:从是:从

42、输入、入、输出数据出数据结构构导出基本出基本处理框;分析理框;分析这些些处理框之理框之间的先后关系;按先后关系逐步的先后关系;按先后关系逐步综合合处理框,直到理框,直到画出整个系画出整个系统的的PADPAD图(问题分析分析图)。)。这一方法本一方法本质上是上是综合的自底向上的方法,但在逐步合的自底向上的方法,但在逐步综合合之前已之前已进行了有目的的分解,行了有目的的分解,这个目的就是充分考个目的就是充分考虑系系统的的输入、入、输出数据出数据结构。构。PAMPAM方法的另一个方法的另一个优点是使用点是使用PADPAD图。这是一种二是一种二维树形形结构构图,是到目前,是到目前为止最好的具体止最好的

43、具体设计表示方法之一。当然由于在表示方法之一。当然由于在输入、入、输出数据出数据结构与整构与整个系个系统之之间同同样存在着存在着鸿沟,沟,这一方法仍只适用于解决中一方法仍只适用于解决中小型小型问题。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法1.2.51.2.5面向对象的软件开发方法面向对象的软件开发方法随着随着OOPOOP(面向(面向对象象编程)向程)向OODOOD(面向(面向对象象设计)和)和OOAOOA(面向(面向对象分析)的象分析)的发展,最展,最终形成面向形成面向对象的象的软件开件开发方法方法OMT(Object

44、Modeling TechniqueOMT(Object Modeling Technique)。)。这是一种自底是一种自底向上和自向上和自顶向下相向下相结合的方法,而且它以合的方法,而且它以对象建模象建模为基基础,从而不从而不仅考考虑了了输入、入、输出数据出数据结构,构,实际上也包含了所上也包含了所有有对象的数据象的数据结构。所以构。所以OMTOMT彻底底实现了了PAMPAM没有完全没有完全实现的目的目标。不。不仅如此,如此,OOOO技技术在需求分析、可在需求分析、可维护性和可靠性和可靠性性这三个三个软件开件开发的要害的要害环节和和质量指量指标上有了上有了实质性的性的突破,基本地解决了在突破

45、,基本地解决了在这些方面存在的些方面存在的严重重问题。综上所述,面向上所述,面向对象系象系统采用了自底向上的采用了自底向上的归纳、自、自顶向向下的分解的方法,它通下的分解的方法,它通过对对象模型的建立,能象模型的建立,能够真正建真正建立基于用立基于用户的需求,而且系的需求,而且系统的可的可维护性大大改善。当前性大大改善。当前业界关于面向界关于面向对象建模的象建模的标准是准是UMLUML(Unified Modeling Unified Modeling LanguageLanguage)。)。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法

46、软件开发方法1.2.61.2.6原型化方法原型化方法产生原型化方法的原因很多,主要随着我生原型化方法的原因很多,主要随着我们系系统开开发经验的增多,我的增多,我们也也发现并非所有的需求都并非所有的需求都能能够预先定先定义,而且反复修改是不可避免的。,而且反复修改是不可避免的。当然能当然能够采用原型化方法是因采用原型化方法是因为开开发工具的快速工具的快速发展,比如用展,比如用VBVB,DelphiDelphi等工具,人等工具,人 们可以迅速可以迅速的开的开发出一个可以出一个可以让用用户看的看的见、摸的着的系、摸的着的系统框架,框架,这样,对于于计算机不是很熟悉的用算机不是很熟悉的用户就可就可以根

47、据以根据这个个样板提出自己的需求。板提出自己的需求。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.21.2软件开发方法软件开发方法1.2.61.2.6原型化方法原型化方法开开发原型化系原型化系统一般由以下几个一般由以下几个阶段:段:(1 1)确定用确定用户需求需求 (2 2)开开发原始模型原始模型 (3 3)征求用征求用户对初始原型的改初始原型的改进意意见 (4 4)修改原型。修改原型。原型化开原型化开发比比较适合于用适合于用户需求不清、需求不清、业务理理论不确定、需求不确定、需求经常常变化的情况。当系化的情况。当系统规模不是模不是很大也不太复很大也不太复杂

48、时采用采用该方法是比方法是比较好的。好的。北华航天工业学院计算机系 制作单击此处编辑母版标题样式单击此处编辑母版标题样式1.31.3本章小结本章小结本章按照本章按照软件生命周期件生命周期过程中程中应完成的任完成的任务和性和性质,在概念上把,在概念上把软件的开件的开发过程划分程划分为软件需求件需求分析、分析、软件件设计、软件件编码、软件件测试、软件部件部署和署和维护过程。从整体上解决了程。从整体上解决了软件的开件的开发过程程问题。针对复复杂的用的用户需求以及需求多需求以及需求多变的情况,概述的情况,概述了了软件分析与件分析与设计的方法,包括面向数据流的开的方法,包括面向数据流的开发设计方法、方法、结构化构化软件开件开发方法、面向数据方法、面向数据结构的构的软件开件开发方法、面向方法、面向问题的分析方法、面向的分析方法、面向对象的象的软件开件开发方法、原型化方法等。方法、原型化方法等。北华航天工业学院计算机系 制作

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档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