传统软件工程建设方法

上传人:从V****斗 文档编号:246641860 上传时间:2024-10-15 格式:PPTX 页数:235 大小:684.90KB
返回 下载 相关 举报
传统软件工程建设方法_第1页
第1页 / 共235页
传统软件工程建设方法_第2页
第2页 / 共235页
传统软件工程建设方法_第3页
第3页 / 共235页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,传统软件工程方法,李 宣 东,南京大学计算机科学与技术系,主要内容,传统软件工程方法,面向对象软件工程(统一建模语言UML),软件过程、管理与质量,传统软件工程方法,问题定义,需求分析,概要设计,详细设计,编 码,测 试,维 护,基本概念,软件,计算机系统中的程序及其有关文件。,程序,计算任务中的处理对象和处理规则的描述。,文件,为了便于了解程序所需的资料说明。,基本概念,软件的作用,用户与硬件的接口,计算机系统的指挥者,计算机系统结构设计的重要依据,基本概念,软件的发展过程,第一阶段:从第一台计算机上的第一个程序的出现到实用的高级程序设计语言出现之前(1946-1956);,第二阶段:从实用的高级程序设计语言出现到软件工程出现之前(1956-1968);,第三阶段:软件工程(1968- )。,基本概念,软件的分类:,系统软件,支撑软件,应用软件,基本概念,软件危机,供求关系失调,开发费用失控,进度拖延,可靠性差,难以维护,基本概念,产生软件危机的原因(软件本身的特点),软件开发进展情况较难衡量,软件开发质量难以评价,管理和控制软件开发过程相当困难,软件没有“磨损”概念,软件维护通常意味着该进或修改原来的设计,基本概念,产生软件危机的原因(软件开发人员的错误观点),“有一个对目标的概括描述就足以着手编写程序了,许多细节可以在以后再补充”,“所谓软件开发就是编写程序并设法使它运行”,“用户对软件的要求不断变化,然而软件是柔软而灵活的,可以轻易地改动”,“软件投入生产性运行以后需要的维护工作并不多,而且维护是一件很容易做的简单工作”,基本概,念,念,软件工,程,程,应用计,算,算机科,学,学、数,学,学及管,理,理科学,等,等原理,,,,以工,程,程化原,则,则、方,法,法解决,软,软件问,题,题的工,程,程。其,中,中,计,算,算机科,学,学、数,学,学用于,构,构造模,型,型与算,法,法,工,程,程科学,用,用于制,定,定规范,、,、设计,范,范型、,降,降低成,本,本及确,定,定权衡,,,,管理,科,科学用,于,于计划,、,、资源,、,、质量,、,、成本,等,等管理,。,。,基本概,念,念,软件工,程,程的基,本,本内容,:,:,软件设,计,计方法,论,论,软件工,具,具,软件工,程,程标准,和,和规范,软件工,程,程管理,软件工,程,程理论,基本概,念,念,软件工,程,程的基,本,本原理,:,:,严格按,照,照计划,进,进行管,理,理,坚持进,行,行阶段,评,评审,实行严,格,格的产,品,品控制,采用现,代,代的程,序,序技术,结果要,能,能清晰,地,地审计,开发小,组,组人员,素,素质要,好,好,数,量,量不宜,多,多,要承认,不,不断改,善,善软件,工,工程实,践,践的必,要,要性,基本概,念,念,软件生,存,存期(,过,过程),模,模型:,软件生,存,存期是,软,软件产,品,品或系,统,统一系,列,列相关,活,活动的,全,全周期,。,。从形,成,成概念,开,开始,,经,经过研,制,制,交,付,付使用,,,,在使,用,用中不,断,断增补,修,修订,,直,直到最,后,后被淘,汰,汰,让,位,位于新,的,的软件,产,产品的,过,过程。,对,对软件,生,生存期,的,的不同,划,划分,,形,形成了,不,不同的,软,软件生,存,存期模,型,型。,基本概,念,念,瀑布式,软,软件生,存,存期模,型,型,强调阶,段,段的划,分,分,及其顺,序,序性、,各,各阶段,工,工作,及其文,档,档的完,备,备性,,是,是一种,严,严格线,性,性的、,按阶段,顺,顺序的,、,、逐步,细,细化的,开,开发模,式,式。,定义,分析,设计,编码,测试,维护,基本概,念,念,瀑布式,软,软件生,存,存期模,型,型把软,件,件开发,过,过程划,分,分成若,干,干阶段,,,,每个,阶,阶段的,任,任务相,对,对独立,,,,便于,不,不同人,员,员分工,协,协作,,从,从而降,低,低了整,个,个软件,开,开发工,程,程的困,难,难程度,。,。在软,件,件生存,期,期的每,个,个阶段,都,都采用,科,科学的,管,管理技,术,术和良,好,好的方,法,法与技,术,术,而,且,且每个,阶,阶段结,束,束之前,,,,都从,技,技术和,管,管理两,个,个角度,进,进行严,格,格的审,查,查,经,确,确认之,后,后才开,始,始下一,阶,阶段的,工,工作。,基本概,念,念,瀑布式,模,模型的,特,特点:,结构简,单,单明了,;,;历史,较,较长、,应,应用面,广,广泛、,为,为广大,软,软件工,作,作者所,熟,熟悉;,已,已有与,之,之配套,的,的一组,十,十分成,熟,熟的开,发,发方法,和,和丰富,的,的支撑,工,工具。,确定了,需,需求分,析,析的绝,对,对重要,性,性,但,是,是在实,践,践中要,想,想获得,完,完善的,需,需求说,明,明是非,常,常困难,的,的;反,馈,馈信息,慢,慢。,基本概,念,念,软件质,量,量要素,:,:,正确性,:,:软件,产,产品准,确,确执行,软,软件规,格,格说明,中,中所规,定,定的能,力,力。,健壮性,:,:在异,常,常条件,下,下软件,仍,仍能运,行,行的能,力,力。,可靠性,:,:软件,在,在给定,的,的时间,内,内和规,定,定的环,境,境条件,下,下,按,规,规格说,明,明的规,定,定成功,地,地运行,的,的概率,。,。可靠,性,性理解,为,为正确,性,性和健,壮,壮性之,和,和。,问题定,义,义,问题定,义,义的关,键,键任务,是,是确切,地,地定义,用,用户要,求,求解决,的,的问题,,,,也就,是,是确定,问,问题的,性,性质、,工,工程的,目,目标和,规,规模。,可行性,研,研究,对软件,进,进行分,析,析与估,算,算,确定软,件,件作用,范,范围,问题定,义,义,可行性,研,研究:,经济可,行,行性,技术可,行,行性,法律可,行,行性,不同的,方,方案,问题定,义,义,对软件,进,进行分,析,析与估,算,算:,确定软,件,件的范,围,围,估算完,成,成软件,开,开发任,务,务所需,的,的资源,估算软,件,件的成,本,本,估算和,安,安排软,件,件开发,项,项目的,进,进度,问题定,义,义,确定软,件,件的作,用,用范围,:,:,详细描,述,述软件,的,的任务,和,和具体,的,的要求,,,,抱括,软,软件的,功,功能、,性,性能、,接,接口和,可,可靠性,等,等四个,方,方面的,内,内容。,问题定,义,义,软件计,划,划:,范围(,研,研制的,目,目标,,主,主要功,能,能,其,他,他特性,,,,开发,概,概况),资源(,人,人力资,源,源、硬,件,件资源,、,、软件,资,资源、,可,可用性,资,资源窗,口,口),成本,进度安,排,排,需求分,析,析,软件需,求,求分析,是,是软件,生,生存期,的,的一个,重,重要阶,段,段,是,软,软件开,发,发项目,得,得以成,功,功的基,础,础。其,最,最根本,的,的任务,是,是确定,为,为了满,足,足用户,的,的需要,软,软件系,统,统必须,做,做什么,。,。,软件需,求,求分析,是,是一个,不,不断发,现,现和决,定,定的过,程,程,在,此,此过程,中,中,软,件,件开发,者,者和软,件,件申请,者,者(用,户,户)同,样,样起着,重,重要的,作,作用。,在需求,分,分析与,说,说明过,程,程中,,需,需要大,量,量交换,意,意见,,其,其间充,满,满着传,错,错信息,和,和发生,误,误解的,可,可能性,:,:,“我知,道,道你相,信,信你明,白,白了你,认,认为我,所,所说的,是,是什么,,,,但是,我,我不能,肯,肯定你,是,是否意,识,识到你,听,听到的,并,并不是,我,我所指,的,的意思.”。,需求分,析,析,软件需,求,求分析,实,实现以,下,下几个,目,目标:,给出软,件,件系统,的,的数据,流,流程图,与,与数据,结,结构,,构,构造一,个,个完全,的,的系统,逻,逻辑模,型,型;,提出详,细,细的功,能,能说明,确,确定设,计,计限定,条,条件,,规,规定性,能,能要求,;,;,密切与,用,用户的,联,联系,,使,使用户,明,明确自,己,己的任,务,务,以,便,便实现,上,上述两,项,项目标,。,。,需求分,析,析,软件需,求,求分析,包,包括的,工,工作:,问题的,认,认识,需求分,析,析人员,通,通过频,繁,繁与用,户,户联系,,,,充分,理,理解用,户,户提出,的,的每一,个,个功能,与,与性能,要,要求,,从,从软件,系,系统特,征,征、软,件,件开发,全,全过程,以,以及软,件,件计划,给,给出的,资,资源和,时,时间约,束,束,来,确,确定软,件,件开发,的,的总策,略,略。,评价与综合,需求分析人,员,员必须求得,数,数据的流程,和,和数据结构,,,,评价优缺,点,点;结合用,户,户要求,修,改,改现行的系,统,统,提出新,系,系统的功能,,,,加以细化,;,;提出软件,的,的约束条件,、,、响应时间,、,、存储条件,等,等。,需求分析,软件需求分,析,析包括的工,作,作:,建立需求说,明,明书,软件需求说,明,明书包含软,件,件功能、性,能,能、接口、,有,有效性和逻,辑,辑模型的描,述,述。为了证,实,实软件能否,被,被成功实现,就,就要规定相,应,应的检验标,准,准,这些标,准,准在软件开,发,发期间将作,为,为测试的依,据,据。,复审,由软件开发,人,人员和用户,共,共同对需求,说,说明书进行,严,严格的审查,。,。,需求分析,软件需求分,析,析人员应该,具,具备的特征,:,:,善于领会一,些,些抽象的概,念,念,重新整,理,理使之成为,各,各种逻辑成,分,分,并根据,各,各种逻辑成,分,分综合出问,题,题的解决办,法,法;,善于从各种,相,相互冲突或,混,混淆的原始,资,资料中吸取,恰,恰当的论据,;,;,能够理解用,户,户的环境及,领,领域知识;,需求分析,软件需求分,析,析人员应该,具,具备的特征,:,:,具备把系统,的,的硬件和软,件,件部分应用,于,于用户环境,的,的能力;,具备良好的,书,书面和口头,形,形式进行讨,论,论和交换意,见,见的能力;,具有“既能,看,看到树木,,又,又能看到森,林,林”的能力,。,。,需求分析,基本系统模,型,型:,软件系统的,全,全部功能被,表,表示成一个,单,单一的信息,变,变换过程:,软件系统,输入1,输入2,输入n,输出n,输出2,输出1,.,.,.,.,.,.,需求分析,需求分析,信息,信息流程,信息结构,出来的是什,么,么,进去的是什,么,么,中间如何变,换,换,单个元件是,什,什么,怎样把它们,安,安置在一起,一组元件合,在,在一起分类,各组元件之,间,间的关系,需求分析,结构化分析,方,方法(SA,),),SA方法采,用,用“抽象”,和,和“分解”,两,两个基本手,段,段,用抽象,模,模型的概念,,,,按照软件,内,内部数据传,递,递、变换关,系,系,由顶向,下,下逐层分解,,,,直到找到,满,满足功能需,要,要的所有可,实,实现的软件,元,元素为止。,SA方法采,用,用“分解”,的,的方式来理,解,解一个复杂,系,系统,“分,解,解”需要有,描,描述手段,,数,数据流程图,就,就是作为描,述,述信息流程,和,和分解的手,段,段而引入的,。,。,需求分析,数据流程图,:,:,表示外部实,体,体,代表数,据,据源和数据,池,池。,表示加工,,代,代表接收输,入,入,经过变,换,换,继而产,生,生输出的处,理,理过程。,表示数据流,,,,代表数据,的,的流向和路,径,径。,表示数据存,储,储,代表系,统,统加工的数,据,据所存储的,地,地方。,需求分析,数据流程图,的,的特点:,可以表示任,何,何一个系统,(,(人工的、,自,自动的、或,混,混合的)中,的,的数据流程,;,;,每个表示加,工,工的圆圈可,能,能需要进一,步,步分解以求,得,得对问题的,全,全面理解;,着重强调的,是,是数据流程,而,而不是控制,流,流程。,需求分析,例:病员监,视,视系统,病员,监视,系统,病员,护士,护士,病员,病,病历,基本,模,模型,病情,信,信号,报告,警告,信,信号,病历,数,数据,请求,提,提出,报,报告,需求,分,分析,本地,监视,中央,监视,报告,产生,更新,病历,护士,护士,病员,病员,病,病历,病员,的,的病,情,情界,限,限,警告,信,信号,病员,数,数据,请求,报,报告,经过,整,整理,后,后的,病,病员,数,数据,病情,信,信号,需求,分,分析,分,解,解,病,情,情,信,信,号,号,整,理,理,病,病,员,员,数,据,据,检,查,查,是,是,否,超,超,出,出,界,限,限,产,生,生,警,警,告,告,信,号,号,时,钟,钟,整,理,理,后,后,的,的,病,病,员,员,数,据,据,日,期,期,时,时,间,间,病,员,员,病,病,情,情,界,界,限,限,体,温,温,血,压,压,脉,搏,搏,病,员,员,数,数,据,据,警,告,告,信,信,号,号,需,求,求,分,分,析,析,推,导,导,数,数,据,据,流,流,程,程,图,图,的,的,简,简,单,单,准,准,则,则,:,:,第,一,一,层,层,数,数,据,据,流,流,程,程,图,图,应,应,当,当,是,是,基,基,本,本,的,的,系,系,统,统,模,模,型,型,;,;,应,当,当,仔,仔,细,细,说,说,明,明,原,原,始,始,的,的,输,输,入,入/,输,输,出,出,文,文,件,件,;,;,所,有,有,箭,箭,头,头,和,和,圆,圆,圈,圈,均,均,应,应,当,当,加,加,上,上,标,标,注,注,(,(,使,使,用,用,有,有,意,意,义,义,的,的,名,名,字,字,),),;,;,必须保,持,持信息,的,的连续,性,性;,每次只,加,加工一,个,个圆圈,。,。,需求分,析,析,数据字,典,典,数据流,程,程图中,,,,所有,的,的图形,元,元素都,进,进行了,命,命名,,所,所有名,字,字的定,义,义集中,起,起来就,构,构成一,本,本数据,字,字典。,数据,字,字典,最,最重,要,要的,用,用途,是,是作,为,为分,析,析阶,段,段的,工,工具,。,。在,数,数据,字,字典,中,中建,立,立的,一,一组,严,严密,一,一致,的,的定,义,义有,助,助于,改,改进,分,分析,员,员和,用,用户,之,之间,的,的通,信,信,,因,因此,将,将消,除,除许,多,多可,能,能的,误,误解,。,。对,数,数据,的,的这,一,一系,列,列严,密,密一,致,致的,定,定义,也,也有,助,助于,改,改进,在,在不,同,同的,开,开发,人,人员,之,之间,或,或者,不,不同,开,开发,小,小组,之,之间,的,的通,信,信。,如,如果,要,要求,所,所有,开,开发,人,人员,都,都根,据,据公,共,共的,数,数据,字,字典,描,描述,数,数据,或,或设,计,计模,块,块,,则,则能,避,避免,许,许多,麻,麻烦,的,的接,口,口问,题,题。,需求,分,分析,信息,结,结构,信息,结,结构,是,是各,个,个数,据,据成,分,分之,间,间逻,辑,辑关,系,系的,一,一种,表,表示,方,方法,。,。,数据,结,结构,决,决定,信,信息,的,的组,织,织、,存,存取,方,方法,、,、结,合,合性,程,程度,以,以及,不,不同,的,的处,理,理方,案,案。,典型,的,的数,据,据结,构,构包,括,括标,量,量项,、,、顺,序,序向,量,量、n维,空,空间,、,、链,接,接表,等,等。,需求,分,分析,分层,数,数据,结,结构,表,表示,法,法:,分层,框,框图,Warnier,图,需求,分,分析,分层,框,框图,分层,框,框图,把,把信,息,息用,多,多层,方,方框,按,按照,树,树形,结,结构,组,组织,起,起来,。,。在,结,结构,的,的顶,层,层,,用,用一,个,个方,框,框代,表,表整,个,个结,构,构。,下,下面,各,各层,由,由表,示,示不,同,同信,息,息类,别,别的,方,方框,组,组成,,,,它,们,们可,以,以看,成,成是,上,上一,层,层方,框,框的,子,子集,。,。在,该,该图,的,的最,低,低一,层,层,,每,每个,框,框包,含,含单,独,独的,数,数据,实,实体,。,。,需求,分,分析,XX,公,公司,销,销售,产,产品,计算,机,机软,件,件,计算,机,机服,务,务,计算,机,机硬,件,件,存储,器,器,备件,处理,机,机,应用,系统,软件,服,服务,培训,操作,系,系统,编译,程,程序,工具,编辑,程序,测试,驱,驱,动程,序,序,设计,辅,辅,助工,具,具,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,需求,分,分析,Warnier图,Warnier图,把,把信息表,示,示成一种,树,树形数据,结,结构。可,以,以规定某,些,些信息种,类,类或信息,量,量是重复,性,性的,也,可,可以说明,在,在某一种,类,类中信息,是,是有条件,出,出现的。,需求分析,计算机系,统,统,系统软件,应用软件,操作系统,(,(P1),编译程序,(,(P2),工,具,具,编,辑,辑(P3),测试驱动,(,(P4),设计辅助,(,(P5),需求分析,软件需求,说,说明书,1. 概,述,述,2. 信,息,息描述,(1),数,数据流程,图,图,(2),数,数据字典,(3),数,数据结构,(4),系,系统接口,说,说明,(5),内,内部接口,需求分析,软件需求,说,说明书,3. 功,能,能说明,(1),功,功能,(2),处,处理说明,(3),设计的限,制,制,4. 检,验,验标准,(1),性,性能界限,(2),测,测试种类,(3),预,预期的软,件,件响应,(4),应,应考虑的,特,特殊问题,5. 参,考,考文献,6. 附,录,录,需求分析,初步的用,户,户手册,当确定了,人,人机交互,作,作用的软,件,件需求后,,,,准备一,份,份初步的,用,用户手册,是,是作为对,所,所要求文,件,件的补充,往,往往是有,用,用的,这,种,种手册将,起,起到两个,作,作用:,手册的准,备,备迫使分,析,析人员从,用,用户的角,度,度来看待,软,软件,从,而,而及早考,虑,虑接口方,面,面的人机,环,环境工程,。,。,用户可以,审,审查一个,明,明确描述,人,人机接口,的,的实际文,件,件。,需求分析,软件需求,说,说明的审,查,查,审查需求,的,的一致性,审查需求,的,的现实性,审查需求,的,的完整性,和,和有效性,需求分析,软件需求,说,说明审查,中,中的问题,:,:,所规定的,软,软件目标,和,和任务与,系,系统的目,标,标和任务,相,相符合吗,?,?,与所有系,统,统成分的,重,重要接口,都,都已被描,述,述了吗?,研制项目,的,的数据流,程,程图、数,据,据字典、,数,数据结构,充,充分确定,了,了吗?,图表都清,楚,楚吗?每,个,个图表在,不,不加补充,说,说明的情,况,况下能被,理,理解吗?,主要功能,在,在规定的,范,范围之内,吗,吗?每一,种,种功能被,充,充分说明,了,了吗?,需求分析,软件需求,说,说明审查,中,中的问题,:,:,设计的限,制,制条件是,现,现实的吗,?,?,开发的技,术,术风险是,什,什么?,考虑过软,件,件需求的,其,其他方案,吗,吗?,检验标准,是,是否详细,?,?他们能,否,否确认系,统,统是成功,的,的?,有无遗漏,、,、重复或,不,不一致的,地,地方?,用户是否,审,审查了初,步,步的用户,手,手册?,软件计划,中,中的估算,是,是否需要,修,修改?,需求分析,用于软件,需,需求分析,的,的工具,概要设计,软件设计,是,是把软件,需,需求变为,软,软件的具,体,体方案,软件设计,包,包括两个,阶,阶段:概,要,要设计和,详,详细设计,概要设计,根,根据软件,需,需求所确,定,定的信息,流,流程或信,息,息结构,,导,导出软件,的,的总体表,示,示-软件结,构,构或程序,过,过程,概要设计,软件结构:,软件结构,是,是一种层,次,次化的表,示,示,其指,出,出了由需,求,求分析隐,含,含地确定,的,的某一问,题,题的软件,解,解法的各,个,个元素(,称,称之为模,块,块)之间,的,的相互控,制,制关系,软件结构,的,的演变从,确,确定问题,开,开始,当,该,该问题的,每,每个部分,用,用一个或,多,多个软件,加,加以解决,以,以后,整,个,个问题的,解,解也就有,了,了,概要设计,P3,P1,P2,P4,P5,S1,S2,S3,S4,S5,概要设计,软件结构,的,的度量和,术,术语:,深度:表,示,示控制的,层,层数。,宽度:表,示,示控制(,同,同一层次,),)总跨度,。,。,扇出数:指,由,由一模块直,接,接控制的其,他,他模块的数,目,目。,扇入数:指,有,有多少个模,块,块直接控制,一,一个给定的,模,模块。,上级模块,下级模块,概要设计,程序过程:,程序过程是,用,用于描述每,个,个模块的操,作,作细节,是,关,关于模块算,法,法的详细描,述,述,它应当,包,包括处理的,顺,顺序、精确,的,的判定位置,、,、重复的操,作,作以及数据,组,组织和结构,等,等。,概要设计,模块:,模块是数据,说,说明、可执,行,行语句等程,序,序对象的集,合,合,是单独,命,命名的并且,可,可以通过名,字,字来访问,,例,例如过程、,函,函数、子程,序,序、宏、modula,等。,概要设计,模块化:,软件被划分,成,成独立命名,和,和可独立访,问,问的被称作,模,模块的构件,,,,每个模块,完,完成一个子,功,功能,它们,集,集成到一起,满,满足问题需,求,求。,概要设计,模块化论据,:,:,C(x)定,义,义为问题x,的,的感知复杂,性,性,E(x)定,义,义为解决问,题,题x所需要,的,的工作量,对p1和p2两个问题,,,,,若 C(p1) C(p2),,,,则 E(p1) E(p2),C(p1+ p2) C(p1) +C(p2),E(p1+ p2) E(p1) +E(p2),概要设计,软件总成本,集成成本,成本/模块,模块数量,成本或工作,量,量,最小成本区,域,域,M,概要设计,实现模块化,的,的手段:,抽象:抽出,事,事物的本质,特,特性而暂时,不,不考虑它们,的,的细节。,信息隐蔽:,应,应该这样设,计,计和确定模,块,块,使得一,个,个模块内包,含,含的信息(,过,过程和数据,),)对于不需,要,要这些信息,的,的模块来说,,,,是不可访,问,问的。,概,要,要,设,设,计,计,模,块,块,独,独,立,立,性,性,:,:,模,块,块,独,独,立,立,是,是,指,指,开,开,发,发,具,具,有,有,独,独,立,立,功,功,能,能,而,而,且,且,和,和,其,其,它,它,模,模,块,块,之,之,间,间,没,没,有,有,过,过,多,多,的,的,相,相,互,互,作,作,用,用,的,的,模,模,块,块,。,。,模,块,块,独,独,立,立,的,的,意,意,义,义,:,:,功,能,能,分,分,割,割,,,,,简,简,化,化,接,接,口,口,,,,,易,易,于,于,多,多,人,人,合,合,作,作,开,开,发,发,同,同,一,一,软,软,件,件,;,;,独立的,模,模块易,于,于测试,和,和维护,。,。,概要设,计,计,模块独,立,立程度,的,的衡量,标,标准:,耦合性,:,:对一,个,个软件,结,结构内,不,不同模,块,块间互,连,连程度,的,的度量,。,。,内聚性,:,:标志,一,一个模,块,块内各,个,个处理,元,元素彼,此,此结合,的,的紧密,程,程度,,理,理想的,内,内聚模,块,块只做,一,一件事,情,情。,概要设,计,计,耦合分,类,类:,无任何,连,连接:,两,两个模,块,块中的,每,每一个,都,都能独,立,立地工,作,作而不,需,需要另,一,一个的,存,存在(,最,最低耦,合,合)。,数据耦,合,合:两,个,个模块,彼,彼此通,过,过参数,交,交换信,息,息,且,交,交换的,仅,仅仅是,数,数据(,低,低耦合,),)。,控制耦,合,合:两,个,个模块,之,之间传,递,递的信,息,息有控,制,制成分,(,(中耦,合,合)。,概要设,计,计,耦合分,类,类:,公共环,境,境耦合,:,:两个,或,或多个,模,模块通,过,过一个,公,公共环,境,境相互,作,作用:,1.,一,一,个,个存,数,数据,,,,一,个,个取,数,数据,(,(低,耦,耦合,),);,2.,都,都,存,存取,数,数据,(,(低-,中,中之,间,间),。,。,内容,耦,耦合,:,:,1.,一,一,个,个模,块,块访,问,问另,一,一个,模,模块,的,的内,部,部数,据,据;,2.,两,两,个,个模,块,块有,一,一部,分,分程,序,序代,码,码重,叠,叠;,3.,一,一,个,个模,块,块不,通,通过,正,正常,入,入口,而,而转,移,移的,另,另一,个,个的,内,内部,;,;,4.,一,一,个,个模,块,块有,多,多个,入,入口,(,(意,味,味着,该,该模,块,块有,多,多个,功,功能,),)。,概要,设,设计,内聚,分,分类,:,:,偶然,内,内聚,:,:一,组,组任,务,务关,系,系松,散,散(,低,低),逻辑,内,内聚,:,:一,组,组任,务,务在,逻,逻辑,上,上同,属,属一,类,类,,例,例如,均,均为,输,输出,(,(低,),),时间,内,内聚,:,:一,组,组任,务,务必,须,须在,同,同一,段,段时,间,间内,执,执行,(,(低,),),概要,设,设计,内聚,分,分类,:,:,信息,内,内聚,:,:模,块,块内,所,所有,元,元素,都,都引,用,用相,同,同的,输,输入,或,或输,出,出数,据,据集,合,合(,中,中),顺序,内,内聚,:,:模,块,块中,的,的每,个,个元,素,素都,是,是与,同,同一,功,功能,紧,紧密,相,相关,,,,一,个,个元,素,素的,输,输出,是,是下,一,一个,元,元素,的,的输,入,入(,高,高),功能,内,内聚,:,:一,个,个模,块,块完,成,成一,个,个且,仅,仅完,成,成一,个,个功,能,能(,高,高),概要,设,设计,关于,耦,耦合,性,性和,内,内聚,性,性的,设,设计,原,原则,:,:,力争,尽,尽可,能,能弱,的,的耦,合,合性,:,:尽,量,量使,用,用数,据,据耦,合,合,,少,少用,控,控制,耦,耦合,,,,限,制,制公,共,共环,境,境耦,合,合的,范,范围,,,,完,全,全不,用,用内,容,容耦,合,合,力争,尽,尽可,能,能高,的,的内,聚,聚性,:,:力,争,争尽,可,可能,高,高的,内,内聚,性,性,,并,并能,识,识别,出,出低,内,内聚,性,性,概要,设,设计,概要,设,设计,的,的启,发,发式,准,准则,:,:,改进,软,软件,结,结构,,,,提,高,高模,块,块独,立,立性,模块,规,规模,应,应该,适,适中,(,(最,好,好能,写,写在,一,一页,纸,纸上,),),大模,块,块分,解,解不,充,充分,;,;小,模,模块,使,使用,开,开销,大,大,,接,接口,复,复杂,。,。,尽量,减,减少,高,高扇,出,出结,构,构的,数,数目,,,,随,着,着深,度,度的,增,增加,争,争取,更,更多,的,的扇,入,入,扇出,过,过大,意,意味,着,着模,块,块过,分,分复,杂,杂,,需,需要,控,控制,和,和协,调,调过,多,多的,下,下级,模,模块,。,。一,般,般来,说,说,,顶,顶层,扇,扇出,高,高,,中,中间,扇,扇出,少,少,,低,低层,高,高扇,入,入。,概要,设,设计,概要,设,设计,的,的启,发,发式,准,准则,:,:,模块的作,用,用范围保,持,持在该模,块,块的控制,范,范围内,模块的作,用,用范围是,指,指该模块,中,中一个判,断,断所影响,的,的所有其,它,它模块;,模,模块的控,制,制范围指,该,该模块本,身,身以及所,有,有直接或,间,间接从属,于,于它的模,块,块。,力争降低,模,模块接口,的,的复杂程,度,度,模块接口,的,的复杂性,是,是引起软,件,件错误的,一,一个主要,原,原因。接,口,口设计应,该,该使得信,息,息传递简,单,单并且与,模,模块的功,能,能一致。,概要设计,概要设计,的,的启发式,准,准则:,设计单入,口,口单出口,的,的模块,避免内容,耦,耦合,易,于,于理解和,维,维护。,模块的功,能,能应该可,以,以预测,相同的输,入,入应该有,相,相同的输,出,出,否则,难,难以理解,、,、测试和,维,维护。,概要设计,设计方法,:,:,逐步精化-,自,自顶向下,设,设计方法,结构化程,序,序设计,结构化程,序,序设计的,基,基础建立,在,在三种能,够,够构成结,构,构化程序,的,的逻辑构,造,造(顺序,,,,选择,,重,重复)上,。,。,面向数据,的,的设计方,法,法,面向数据,流,流的设计,面向数据,结,结构的设,计,计,面向对,象,象的设,计,计方法,概要设,计,计,面向数,据,据流的,设,设计:,面向数,据,据流的,设,设计方,法,法把信,息,息流映,射,射成软,件,件结构,信息流,的,的类型,决,决定了,映,映射的,方,方法,信息流,有,有两种,类,类型:,变换流,事务流,概要设,计,计,变换流,:,:,信息沿,输,输入通,路,路进入,系,系统,,同,同时由,外,外部形,式,式变换,成,成内部,形,形式。,进,进入系,统,统的信,息,息通过,变,变换中,心,心,经,过,过加工,处,处理以,后,后再沿,着,着输出,通,通路变,换,换成外,部,部形式,离,离开系,统,统。,概要设,计,计,信息,外部表,示,示,内部表,示,示,时间,输入流,输出流,变换中,心,心,概要设,计,计,事务流,:,:,事务流,的,的特点,是,是数据,沿,沿着接,收,收通路,把,把外部,世,世界的,信,信息转,换,换成一,个,个事务,项,项,然,后,后,计,算,算该事,务,务项的,值,值,根,据,据它的,值,值激励,起,起多条,活,活动通,路,路中的,一,一条数,据,据流。,发,发出多,条,条通路,的,的信息,流,流中枢,被,被称为,“,“事务,中,中心”,。,。,概要设,计,计,T,事务,事务中,心,心,活动通,路,路,概要设,计,计,变换型,分,分析,第1步,复,复查,基,基本系,统,统模型,。,。,第2步,复,复查,并,并精化,数,数据流,图,图。,第3步,确,确定,数,数据流,图,图具有,变,变换特,性,性还是,事,事务特,性,性。,第4步,确,确定,输,输入流,和,和输出,流,流的边,界,界,从,而,而孤立,出,出变换,中,中心。,概要设,计,计,变换型,分,分析,第5步,完,完成,“,“第一,级,级分解,”,”。,软件结,构,构代表,对,对控制,的,的自顶,向,向下的,分,分配,,所,所谓分,解,解就是,分,分配控,制,制的过,程,程。,对于变换流,,,,数据图将,被,被映射成一,个,个特殊的软,件,件结构,这,个,个结构控制,输,输入、变换,和,和输出信息,等,等处理过程,:,:位于软件,结,结构最顶层,的,的控制模块Cm,协调下述从,属,属的控制功,能,能:,(1)输入,信,信息处理控,制,制模块Ca,,,,协调对所,有,有输入数据,的,的接收;,(2)变换,中,中心控制模,块,块Ct,管,理,理对内部形,式,式的数据的,所,所有操作;,(3)输出,信,信息控制模,块,块Ce,协,调,调输出信息,的,的产生过程,。,。,概要设计,Cm,Ct,Ca,Ce,概要设计,变换型分析,第6步,完,完成“,第,第二级分解,”,”。,把数据流图,中,中的每一个,处,处理映射成,软,软件结构中,一,一个适当的,模,模块:从变,换,换中心的边,界,界开始沿着,输,输入通路向,外,外移动,把,输,输入通路中,每,每个处理映,射,射成软件结,构,构中Ca控,制,制下的一个,低,低层模块;,然,然后沿输出,通,通路向外移,动,动,把输出,通,通路中每个,处,处理映射成,直,直接或间接,受,受Ce控制,的,的一个低层,模,模块;最后,把,把变换中心,内,内的每个处,理,理映射成受Ct控制的,一,一个模块。,第7步,使,使用设,计,计度量和启,发,发式规则对,得,得到的软件,结,结构进一步,精,精化。,概要设计,B,C,D,A,Cm,Ca,B,C,A,D,概要设计,事务型分析,第1步,复,复查基,本,本系统模型,。,。,第2步,复,复查并,精,精化数据流,图,图。,第3步,确,确定数,据,据流图具有,变,变换特性还,是,是事务特性,。,。,第4步,确,确定事,务,务中心和每,个,个活动通路,的,的流程特征,。,。,概要设计,事务型分析,第5步,把,把数据,流,流图映射成,一,一个适合于,事,事务处理的,软,软件结构。,第6步,对,对事务,中,中心的结构,和,和每个活动,通,通路的结构,进,进行分解、,合,合并和改进,。,。,第7步,使,使用设,计,计度量和启,发,发式规则对,得,得到的软件,结,结构进一步,精,精化。,概要设计,D,G,F,E,总控,E,调度,D,G,A-CTL,B-CTL,C-CTL,F,接收通路,C通路,B通路,A通路,概要设计,面向数据结,构,构的设计:,面向数据结,构,构的设计方,法,法用信息结,构,构导出程序,过,过程,面向数据结,构,构的设计过,程,程分为如下,几,几步:,(1)分析,数,数据结构的,特,特性;,(2)用一,些,些基本类型,(,(如:顺序,,,,选择和重,复,复)来描述,数,数据;,(3)把数,据,据结构表示,映,映射成软件,的,的控制层次,;,;,(4)利用,一,一组规则改,进,进软件的层,次,次结构;,(5)最后,得,得到软件的,过,过程性描述,。,。,概要设计,Jackson方法,Jackson方法的,精,精髓在于:,应,应该把问题,分,分解成仅用,三,三种结构化,形,形式(顺序,,,,选择和重,复,复)来表示,的,的层次结构,。,。,Jackson方法包,括,括一种数据,结,结构符号和,一,一组映射或,转,转换步骤。,概要设计,Jackson图(数,据,据结构符号,),):,A,A,A,C#,D#,B*,C,D,B#,B,顺序,重复,选择,A seq,do B;,do C;,do D;,A end,A iter,do B;,A end,A select,do B;,A or,do C;,A or,do D;,Aend,概要,设,设计,Jackson图,的,的特,点,点:,便于,表,表示,层,层次,结,结构,,,,而,且,且是,对,对结,构,构进,行,行自,顶,顶向,下,下分,解,解的,有,有力,工,工具,;,;,形,象,象,直,直,观,观,,,,,可,可,读,读,性,性,好,好,;,;,既,能,能,表,表,示,示,数,数,据,据,结,结,构,构,,,,,又,又,能,能,表,表,示,示,程,程,序,序,结,结,构,构,。,。,概,要,要,设,设,计,计,建,立,立,程,程,序,序,结,结,构,构,例1,:,:,设,设,计,计,一,一,个,个,打,打,印,印,表,表,格,格,的,的,程,程,序,序,。,。,表,表,格,格,如,如,下,下,:,:,姓,名,名,年龄,类别,状态,这里类,别,别可以,是,是“教,师,师”或,“,“学生,”,”两种,。,。“状,态,态”一,项,项,如,果,果,是教师,则,则印出,他,他的“,工,工龄”,,,,如果,是,是学生,则,则印出,他,他的年,级,级。,概要设,计,计,表格,表头,表体,行*,姓名,年龄,类别,状态,工龄,年级,概要设,计,计,产生表,格,格,产生表,头,头,产生表,体,体,产生行*,产生工,龄,龄#,产生年,级,级#,产生姓,名,名,产生年,龄,龄,产生类,别,别,产生状,态,态,概要设,计,计,建立程,序,序结构,例2:,仓,仓库中,存,存放了,多,多种零,件,件,每,种,种零件,的,的每次,变,变动(,收,收到或,发,发出),都,都有一,张,张卡片,作,作出记,录,录,库,存,存管理,系,系统每,月,月要根,据,据这些,卡,卡片打,印,印一张,月,月报表,,,,列出,各,各种零,件,件在这,个,个月中,库,库存量,的,的净变,化,化。,概要设计,零件组*,卡片*,发#,收#,月报表,表头,表体,行*,输入文件,概要设计,根据输入文,件,件产生月报,表,表,产生表头,产生表体,从零件组产,生,生行*,处理文件,产生行,处理卡片*,处理发#,处理收#,概要设计,Jackson方法的,基,基本步骤:,(1)分析,并,并确定输入,数,数据和输出,数,数据的逻辑,结,结构,并用Jackson图描述,这,这些数据结,构,构;,(2)找出,输,输入数据和,输,输出数据结,构,构中有对应,关,关系的数据,单,单元。所谓,对,对应关系是,指,指有直接的,因,因果关系,,在,在程序中可,以,以同时处理,的,的数据单元,(,(对于重复,出,出现的数据,单,单元必须重,复,复的次数相,同,同才可能有,对,对应关系),;,;,概要设计,Jackson方法的,基,基本步骤:,(3)用下,述,述三条规则,从,从描述数据,结,结构的Jackson,图导出描述,程,程序结构的Jackson图:,第一,为每,对,对有对应关,系,系的数据单,元,元,按照它,们,们在数据结,构,构图中的层,次,次在程序结,构,构图的相应,层,层次画一个,处,处理框(注,意,意,若这对,数,数据单元在,输,输入数据结,构,构和输出数,据,据结构中所,处,处的层次不,同,同,则和它,们,们对应的处,理,理框在程序,结,结构图中所,处,处的层次与,它,它们之中在,数,数据结构图,中,中层次低的,那,那个对应),;,;,第二,根据,输,输入数据结,构,构中剩余的,每,每个数据单,元,元所处的层,次,次,在程序,结,结构图中的,相,相应层次分,别,别为它们画,上,上对应的处,理,理框;,第三,根据,输,输出数据结,构,构中剩余的,每,每个数据单,元,元所处的层,次,次,在程序,结,结构图中的,相,相应层次分,别,别为它们画,上,上对应的处,理,理框。,概要设计,Jackson方,法,法的基本,步,步骤:,(4)列,出,出所有操,作,作和条件,(,(包括分,支,支条件和,循,循环结束,条,条件),,并,并且把它,们,们分配到,程,程序结构,图,图的适当,位,位置。,(5)用,伪,伪码标示,程,程序。,概要设计,例:输入,一,一个文件FIPT,,,,此文件,只,只包含三,种,种记录类,型,型T1、T2和T3,现在,要,要对该文,件,件作如下,处,处理:,(1)统,计,计出现的,第,第一个T1类型的,记,记录前的,记,记录总数,(,(计数A,),);,(2)显,示,示第一个T1类型,的,的记录;,(3)显,示,示最后一,个,个记录,,最,最后一个,记,记录是在,第,第一个T1类型的,记,记录后的,第,第一个T2类型的,记,记录;,(4)计,算,算第一个T1类型,的,的记录后,的,的记录批,数,数(一批,记,记录指一,串,串连续的T1类型,的,的记录或,一,一串连续,的,的T3类,型,型的记录,(,(计数B);,(5)统,计,计在第一,个,个T1类,型,型的记录,后,后出现的T1类型,记,记录的总,数,数,(计数C,),);,(6)计,算,算在第一,个,个T1类,型,型的记录,后,后的T3,类,类型记录,的,的批数(,计,计数D),。,。,概要设计,FIPT,前缀,批,数,数,部,部,分,分,T2,非T1*,批*,T1,批,批#,T3,批,批#,T1*,T3*,第,一,一,个,个T1,概,要,要,设,设,计,计,处,理,理,FIPT,处,理,理,前,缀,缀,处,理,理,批,数,数,部,部,分,分,处,理,理,T2,处,理,理,非T1*,处,理,理,批*,处,理,理,T1,批,批#,处,理,理,T3,批,批#,处,理,理T1*,处,理,理T3*,处,理,理,第,第,一,一,个T1,概,要,要,设,设,计,计,列,出,出,所,所,有,有,的,的,操,操,作,作,:,:,(1,),)CA,:,:=0,(,(2,),)CB,:,:=0,(,(3,),)CC,:,:=0,(,(4,),)CD,:,:=0,(5,),)CA,:,:=CA+1,(,(6,),)CB,:,:=CB+1,(,(7,),)CC,:,:=CC+1,(8,),)CD,:,:=CD+1,(,(9,),),显,显,示,示,第,第,一,一,个,个T1,记,记,录,录,(10,),),显,显,示,示,最,最,后,后,一,一,个,个T1,记,记,录,录,(11,),),显,显,示,示,所,所,有,有,计,计,数,数,器,器,的,的,内,内,容,容,(12,),),打,打,开,开FIPT,文,文,件,件,(13)关,闭,闭FIPT,文,文件,(14)终,止,止运行,(15)读FIPT文,件,件记录,概要设计,处理FIPT,12,15,1,处理,前缀,处理非,T1*,处理第,一个T1,2,3,4,批数,部分,处理T2,11,13,14,处理批*,处理批部分,5,10,15,9,15,5,15,处理T1批#,处理T3批#,处理T1*,处理T3体,处理T3*,3,15,7,15,概要设计,设计方法比,较,较:,没有一种方,法,法能够适用,于,于所有的应,用,用领域;,设计“优劣,程,程度”的评,定,定标准,大,都,都建立在不,可,可证明的假,设,设的基础之,上,上;,“设计”首,先,先是解决问,题,题的活动,,而,而解决问题,的,的过程和办,法,法是因人而,异,异的;,方法是重要,的,的,但只有,在,在支撑环境,中,中运用它们,才,才能得到成,功,功。,详细设计,详细设计是,给,给出软件结,构,构中各模块,的,的内部过程,描,描述,模块的内部,过,过程描述也,就,就是模块内,部,部的算法设,计,计,详细设计也,既,既是要导出,一,一种算法设,计,计表示,由,此,此可以直接,而,而简单地导,出,出程序代码,详细设计,详细设计的,逻,逻辑基础:,使用结构化,构,构造(即用,顺,顺序、选择,和,和重复三种,程,程序结构),表,表示程序过,程,程,降低程,序,序的复杂性,,,,从而提高,可,可靠性、易,测,测试性和易,维,维护性。,详细设计,详细设计工,具,具,对软件开发,人,人员来说,,提,提高软件开,发,发效率,对软件测试,和,和维护人员,来,来说,提供,摆,摆脱繁琐的,程,程序代码,,了,了解模块程,序,序结构的途,径,径,详细设计,详细设计工,具,具:,图形工具,将过程细节,用,用图来表示,,,,在图中,,逻,逻辑结构用,具,具体的图形,表,表示,列表工具,利用表来表,示,示过程细节,,,,表列出了,各,各种操作和,相,相应的条件,语言工具,用类语言(,伪,伪码)表示,过,过程的细节,,,,很接近编,程,程语言,详细设计,图形工具:,流程图,方块图,PAD图,详细设计,流程图,方框表示处,理,理步,菱形表示逻,辑,辑判断,箭头表示控,制,制流,注意:用流,程,程图表示过,程,程细节时,,要,要注意不要,乱,乱用箭头,,否,否则会使结,构,构不清晰,详细设计,S1,C4,C5,C3,C2,C1,S2,S3,S4,S5,N,Y,N,Y,N,N,N,Y,Y,Y,详细设计,流程图的主,要,要缺点:,流程图本质,上,上不是逐步,求,求精的好工,具,具,它诱使,程,程序员过早,地,地考虑程序,的,的控制流程,,,,而不去考,虑,虑程序的全,局,局结构。,流程图中用,箭,箭头代表控,制,制流,因此,程,程序员不受,任,任何约束,,可,可以完全不,顾,顾结构程序,设,设计的精神,,,,随意转移,控,控制。,流程图不易,表,表示数据结,构,构。,详细设计,方块图(N-S图),研制方块图,的,的目的是:,既,既要制定一,种,种图形工具,,,,又不允许,它,它违反结构,化,化原则。,方块图具有,以,以下特点:,(1)功能,域,域(即某一,具,具体构造的,功,功能范围),有,有明确的规,定,定,并且很,只,只观地从图,形,形表示中看,出,出来;,(2)想随,意,意分支或转,移,移是不可能,的,的;,(3)局部,数,数据和全程,数,数据的作用,域,域可以很容,易,易确定;,(4)容易,表,表示出递归,结,结构。,详细设计,第一个任务,第二个任务,第三个任务,条件,F,T,ELSE,部分,THEN,部分,CASE条,件,件,值1,值2,.,值n,CASE1,部分,A,循环条件,Do -While,部分,Do -Until,部分,循环条件,调用子程序A,循环,顺序,IF-THEN-ELSE分支,CASE分,支,支,详细设计,C1,C4,C5,N,Y,S1,S4,S2,S3,S5,N,N,Y,Y,C2,C3,详细设计,PAD图(Problem Analysis Diagram),P1,P2,P2,P1,Pn,P2,P1,.,.,.,X=,L1,L2,Ln,C,顺序,选择,CASE型,选,选择,详细设计,WHILEC,UNTILC,P,P,循环,语句标号,定义,def,详细设计,P1,P3,P2,P5,P4,P2,P6,P10,P8,UNTILC3,P7,UNTILC2,P9,def,C,C1,详细设计,WHILEC1,UNTILC4,S5,S3,S1,S2,S4,C2,C3,C5,详细设计,PAD图的,特,特点:,使用表示结,构,构化控制结,构,构的PAD,符,符号所设计,出,出的程序必,然,然是结构化,程,程序。,PAD图所,描,描述的程序,结,结构十分清,晰,晰,图中最,左,左面的竖线,是,是程序的主,线,线,即第一,层,层结构,随,着,着程序层次,的,的增加,PAD图逐渐,向,向右延伸,,每,每增加一个,层,层次,图形,向,向右扩展一,条,条竖线,PAD图中的,竖,竖线的总条,数,数就是程序,的,的层次数。,详细,设,设计,PAD图,的,的特,点,点:,用PAD,图,图表,现,现程,序,序逻,辑,辑,,易,易读,、,、易,懂,懂、,易,易记,,,,PAD,图,图是,二,二维,树,树形,结,结构,的,的图,形,形,,程,程序,从,从图,中,中最,左,左竖,线,线上,端,端的,结,结点,开,开始,执,执行,,,,自,上,上而,下,下,,从,从左,向,向右,顺,顺序,执,执行,,,,遍,历,历所,有,有结,点,点。,容易,将,将PAD,图,图转,换,换成,高,高级,语,语言,源,源程,序,序,,这,这种,转,转换,可,可用,软,软件,工,工具,自,自动,完,完成,。,。,详细,设,设计,PAD图,的,的特,点,点:,既可,以,以用,于,于表,示,示程,序,序逻,辑,辑,,也,也可,用,用于,描,描述,数,数据,结,结构,。,。,PAD图,的,的符,号,号具,有,有支,持,持自,顶,顶向,下,下、,逐,逐步,求,求精,方,方法,的,的作,用,用。,开,开始,时,时设,计,计者,可,可以,定,定义,一,一个,抽,抽象,的,的程,序,序,,随,随着,设,设计,工,工作,的,的深,入,入而,用,用def,符,符号,逐,逐步
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!