《软件工程》学习辅导.docx

上传人:王** 文档编号:1487538 上传时间:2024-07-25 格式:DOCX 页数:11 大小:36.10KB
下载 相关 举报
《软件工程》学习辅导.docx_第1页
第1页 / 共11页
《软件工程》学习辅导.docx_第2页
第2页 / 共11页
《软件工程》学习辅导.docx_第3页
第3页 / 共11页
《软件工程》学习辅导.docx_第4页
第4页 / 共11页
《软件工程》学习辅导.docx_第5页
第5页 / 共11页
《软件工程》学习辅导.docx_第6页
第6页 / 共11页
《软件工程》学习辅导.docx_第7页
第7页 / 共11页
《软件工程》学习辅导.docx_第8页
第8页 / 共11页
《软件工程》学习辅导.docx_第9页
第9页 / 共11页
《软件工程》学习辅导.docx_第10页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《软件工程》学习辅导.docx》由会员分享,可在线阅读,更多相关《《软件工程》学习辅导.docx(11页珍藏版)》请在优知文库上搜索。

1、我们知道,软件设计是把一个软件需求转换为软件表示的过程.而概要设计(乂称结构设计)就是软件设计最初形成的一个发示(这里的表示是一个名词,它描述了软件的总的体系结构.简垠地说软件假要设计就是设计出软件的总体结构框架,而后对结构的进一步细化的设计就是软件的详细设计或过程设计,本章所学内容主要就是软件的概要设计内容.二、软件横要设计的根本任务软件概要设计阶段要做的事情是什么呢?总的来看有四个方面:它们是1、设计软件系统结构(软件结构)2、数据结构及数据库设it3、编写概要设计文档4、评审在雷求分析阶段,已经把系线分解成层次结构,面在概要设计阶段,需鬟进一步分解,划分为模块以及模块的层次结构.划分的具

2、体过程是:(D采川某种设计方法.构一个复杂的系统按功能划分成模块.(2)确定每个模块的功能.13)确定模块之间的调用关系,(4)确定模块之间的接口,即模块之间传递的信息.(5)评价模块结构的质S1.对于大型效处理的软件系统,还要对数据结构及敷据库进行设计.在概要设计阶段,还要桀概要设计文档,我们初学者有个不是很好的做法,就是在编程序时,往往不注遨文档的编写,导致以后软件修改和升级很不方便,用户使用时也得不到帮助。所以应该在软件设计的每个阶段编写相应文档,在概要设计阶段.主要有以下文档需要编写:(I)概要设计说明书.(2)数据库设计说明书.(3)用户手册,(4)修订测试方案.最后一个任务就是评审

3、,在做要改汁中,对设计局部是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性、有效性,各局部之间的致性等都要进行评审,以免在以后的设计中发现大的何膻而返工。以上就是软件概要设计的四个根本任务,总结一下用八个字表示:两类结构文档评审.(两类结构就是指软件结构和数抠结构及数据.摩设计)在了解了软件慨要设计的根本任务之后,我们来看看软件设计的根木原理,也就是用于密状软件设计的技术筋度的一些标准.三、软件设计的根本原理1、4UMt帙块就是指在程序中的数据说明、可执行语句等程序对象的集合,或者是总独命名和编址的元素。如裔侬语言中的过程,函数、子程序等。每个模

4、块可以完成一个特定的子功能,各个模块可以按一定方法组装起来成为个整体.从而实现整个系统的功能.模块化就是指解决个复杂问遨时自顶向下逐层把软件系统划分成若干模块的过程.为了解决更杂的问SS,在软件设计中就必须把整个何咫进行分解来降低到杂性,这样就可以M少开发工作愤并降低开发本钱和提高软件生产率。但是划分模块并不是越多越好,因为这会增加模块之间接I的匚作St所以划分模块的层次和数量应该防止过多或过少.2、抽象抽象这个词本身也比较抽象,(老师要小明用抽象和具体造一个句子,可是他不懂,就问妈妈,什么是抽象,什么是具体?姆姆告诉他:抽象就是看不见摸不希的,具体就是看得见摸得希的.小明怪了.很快造好r一个

5、句子.是这样的:今天我很早起床,存见具体的妈妈在炒具体的菜,我翻开窗户,抽象四、软件结构的优化准JH首先应学会用图形及示软件结构,软件结构图反映了整个系统的功能实现,即将来编好程序中的控制层次体系,软件结构往往用树状或网状结构的图形来表示。请大家对照课本的解择来看软件结构图包括哪些内容,我们已经知道了软件概要设计的主要任务就是软件结构的设计,为了提高设计的质S1.可以根据下面的设计优化准则进行优化:在这些准则中.林是针对模块及模块间关系来提出的.1、模块的划分:要做到岛内聚,低耦合,保持相对独立性,2,模块的控制:模块的作用范困要在他的控制范的内,判定所在的模块应与受其影响的模块在层次上尽量就

6、近)3、形成的结构:软件结构的深度、宽度、扇出、网入要适当k模块的大小:要适中。5、模块的接口,模块的接口要的单、清晰、含义明确,便于理解、易于实现、测试与维护)。五、播要设计的设计方法1.)面向数据流的谀计方法(这是需要我们熟练掌旌的方法面向数据流的设计方法是以需求阶段产生的数据流图为基础,按一定的步骤映射成软件结构,因此又称为结构化设计(SIrUe1.UredDesignSD)。这是目前使用最广泛的软件设计方法之一,应该熟练以握它.1、Ir先要研究数流BBeFD)的类型,无怆何种软件系h,DFD一般髭可分为交换型和事务型两类一I先来看变换型数据流图,题名思义,变换就是把输入的数据处理后变成

7、另外的数据输出,所以匆换取数据的工作过程就是三步:取得数据、变换数据和输出数据丁!在图46中,可以看到两股数据流经过冬换中心变成一股数据流进行输出.虚线为标iB的渔界.再来看事务型数据流图.所谓邓务也是一个处理.但不是致我变换,而辿将输人数据滋别总成次多发散的数据流,形成许多加工路径,并根据值选择其中一个路径来执行。帏个例子,好比有个邮件分发中心,把收进的邮件根据其发送地址进行分流,有的用飞机邮送,有的用汽车来运输等等.在大型软件系统中的DH)数据流图中,这两种类型特征都有可能存在2、SD方法设计过程1)精化DFD.2)检定DFD类型并进行相应的映射。3)分解上层模块,设计中下层模块结构4)盘

8、据优化准则对软件结树求精.5)描述模块功能、接口及全局数据结构6)fiS,如果有错则转向2)修改完警,否则进入详细设计。下面我们通过例子来说明变换分析设计和事务分析设计方法。3、变换分析设计以课本页图为例说明变换分析设计。根据面向数据流的设计方法,第一步是精化DFD,也就是研究分析这个数据流图,我的可以看到图中从A到H的数据流向和加工,图形比较简单.第二步是确定外。类型并确定加工中心,在这里已羟说明为本图为变换组,在实际分析中应该极据每个相关操作来确定其类型。在图中,我In可以宜观胞看到中间几股数据流的集合处是系统的变换中心,也Ur以通过双向寻找法来确定,左边是物理输入端,从f1.沿着单向路径

9、一向到f3,后面的f4是从C流出的.同时C还有f5流出,则可见f4,f5不能再看作是系统的输入因此可确定f4,f5前一个数据流F3就是系统的逻辑输入.同样,我们从右边的物理输出端往左边沿数据流的反向寻找,可以发现4,i-6不能后作是整个系统的输出,因此可以确定f7,f8是逻辑输出端,然后在这两个分界处添上虎战,这样,I)FD的三部份就确定了。第三步设计软件结构的II层和第一层.根据变换中心可以时应知到主模块的位置,就可以画出顶这就比上面的单是判定涉盅要严格得多了,如上例.(a=2)or(x1.:在这里必须使a=2、x1.,a2,x1.均出现一次.(4)判定/条件”:上面条件用IK也不一定涧足判

10、定该,因为只符合条件覆族的用例可能会不洞足每个划定语句均有JXtfi或假假出现.因此要两者兼Wb判定条件覆盖就是指设计足够的测试用例,使褥列定表达式中每个条件的所行可旎取值至少出现一次并且每个判定表达式所有可能的结果也至少出现一次.(5)条件蛆合H1.是指设计足然的测试用例,使得姆个判定表达式中条件的各种或能的值的组合都至少出现一次.这就是前面两个用盖的搬合.(6)是指测设计足够的测试用例,II盖被测试程序中所有可能的路径这六种桁曲进行比较有下面个表:笈件绢合发现停洪的能力汝强,凡满足其京港:的测试可例,也必然漏足而四种茂高标布.在实际的逻川刈试中般以笈仰组公苞养为1.Q计测试用例然.后山讣先

11、上混山田为先这跖%:濯京i的刈i标准.2、循环IM1.芍程序中存在循环结构时,要覆靛所行的路径是不可能的,但是可以通过限制循环结构来测试,3、根本路径试:由于实际何题中.程序的路在是庞大的因此要将覆维的路径压缩到一定限度才能解决这个何时.根本路轻测试就是在程序控制流程图的基础上,通过分析控制构造的环路狂杂性,导出根本路径集合从面设计测试用例保证这些路径至少通过一次。再来看看黑盒技术IR盒窝试是功能窝试.测试的是程序的接口.在设计测试用例时有以下几种方法:等价类的划分、边界值分析、错误推测和因果图.这几种方法郎不能提供一组完整的测试用例,在实际测试中应把各种方法结合起来使用。1、类的M分,是将输

12、入数据按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试句个等价类的代表值就等于对该类其他值的测试.用该法设计测试用例的步.骤为:1)划分等价类(列一个衣)2)确定测试用例:根据已划分的等价类,按以下步骤设计测试用例:1)为母个等价类编号2)设计一个测试用例.使其尽可能多的用或尚未被没盅过的合理等价类.重复这步直到所有合理等价类被测试用例前蛊,3)设计一个测成用例,使其只留施一个不合理等价类。重视这一抄直到所有不合理等价类被股靛。要注意课本上的例子,会应用这种方法设计测试用例2、边界值分析,也就是在为设计测试用例时,在等价类愆阚内选择一些边界值作为测试用例,这样可以比通用等价类划

13、分法所选的测试用例能查出更多错误,因为实践说明,程序更容易在处理边界值时发生错误.3、储识推测,通常根据经粉或出觉来推测程序中可能出现福说的情况,并有针对性的编:弓检变这叫福误的测试用例.4、因果图:因果图能够有效地检测输入条件的各种组合可能会引起的错误”它的根本原理是通过留闪果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的好列设计一个测试用例。在以上几科软件测状方法,各有所长,做各有所题,在实际测试,J应该枭用综合策略,通常先川黑噌法设计根本的测试用例.百用白盒法补充一些必要的测试用例.一本节具体要掌提的就是等价类燧分及边界曲的混试用网没计.四、软件测试过程GR记)I软件测试的步

14、骤通常有四步:单元测试、集成测谎、确认测试和系统测试。I1、单元,试广覆针对模块的五个根本特征进行测试:模块接II、局部数据结构、重要的执行路径、错误处理和边界条件,单元测试时要用到驱动模块和桩模块.注意要概念:提动模块是用来模拟被测试模块的上级两用模块.脏模块则用来代替被测试模块所调用的模块.2、集成Ie诚疔两种方法:非渐增式测试和渐增式测试,非渐增式测试是指首先对母个模块分别进行单元测试,再把所有模块拒装成一个完整的系统进行的测试.而渐增式测试就是逐个把未经测试的模块组装到已经过测试的模块上去进行集成测试,每参加一个新模块进行一次集成测试,曳显此过程宜到程序配装完毕.渐增式测试有两种不同的

15、组装方法:自顶向下和自底向上结合。注意两者区别,3、确认流祓乂称有效性测试,它的任务是检音软件的功能与性能是否与需求规格说明书中确定的指标相符合.因而需求说明规格说明是确认测试的基础.确认测试有两项工作:进行确认测试与软件配置审查.4、系统费试;即要时软件所运行的整个系统(包括硬件、外设、其他软件和操作人功等)结合在一起进行测试,确过其是否能弊协调工作。五、辑试GR记)软件测试的目的是尽可能多地发现程序中的错俣,而I1.Ii试则是在进行了成功的测试之后才开始的工作。调试的口的是确定错误的原因和位以,并改正错误,因此调试也肺为相错(Debug).调试方法有简单的调试方法、归纳法、演择法和回溯法等.第8章一软件维护软件雉护是软件工程的一个或要任务,作为理论,本疏的内容比较简单,多为识记康会内容,主耍应注意一些微念.其中的软件可维护性是本童的垂点内容.一、软件健护的内容有四种:校正性维护,适应性维护,完善性维护和预防性维护.1、校正性罐护:指为了识别和纠正错误,悻改软件性能上的缺陷,进行确定和修改错误的过程.占整个维护工作的21%2、JfiftftW:为了使本软件适应硬件和软件的变化而修改软件的过程称为适应性维护.占整个维护活动的25%3、完性堆护:墙加软件功能、增强软件性能、提高运行效率而进行的维护活动称为完善性维护,占整个维护

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 软件工程

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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