《软件工程复习提纲41835.docx》由会员分享,可在线阅读,更多相关《软件工程复习提纲41835.docx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程的复习题纲第一章1、软件工程的生存周期:制定计划;需求分析;总体设计;详细设计;程序编写;软件测试;运行/维护。2、软件工程的的各个生存期期模型的特点点和适合项目目。(生存期期模型有瀑布布模型、V模模型、原型模模型、增量式式模型和螺旋旋式模型)(部部分是在网上上找的,老师师说考这些模模型的特点,有有什么情况下下适合用什么么来进行开发发。)瀑布模型的特点点:(1)阶段间具具有顺序性和和依赖性。(2)推迟实现现的观点。(3)每个阶段段必须完成规规定的文 (每个阶段结结束前完成文文档审查, 及早改正正错误。)(4)下一个阶阶段可以回溯溯到前面的某某个阶段适合于:1.开发阶段需需求很少有变变化
2、 2.分析析设计人员对对应用领域很很熟悉3.低风险项目目 4.用用户使用环境境很稳定5.用户除提出出需求外,很很少参与开发发工作类似的项目如:公司的财务务系统;库存管理系系统;短期项目V模型的特点:(1)简单易用用 (2)强调测测试过程与开开发过程的对对应性和并行行(3)没有有反应实际的的开发过程。V模型适合的项项目:q 在项目开始前,项目的需求求很明确q 在项目开始前,解决方案也也很明确q 对系统的性能安安全很严格的的项目q 类似的项目如:q 航天飞机等q 公司的财务系统统原型模型的特点点:(1)在需求定定义之前,需需要快速构建建一个系统(2)根据构建建系统的优缺缺点,用户给给开发人员提提出
3、反馈意见见(3)根据反馈馈意见修改软软件需求规格格,以便系统统可以更正确确的反映用户户的需求(4)减少各种种假设以及风风险适合的项目:q 在项目开始前,项目的需求求不明确q 需要减少项目需需求的不确定定性q 类似的项目如:q 确定显示界面q 第一次开发的产产品,验证可可行性增量式模型的特特点: 1.需求多变,可可以分阶段提提交产品。2.分析设计人人员对应用领领域不熟悉,难难以一步到位位。3.用户参与整整个软件开发发工程中,起起到对客户起起到镇静剂的的作用,增量量能够有计划划地管理技术术风险。4.软件公司自自己有较好的的类库或构件件库5.增量的内容容写入合同,可可能会引起客客户的不满。6.融合了
4、瀑布布模型的基本本成分和原形形实现的迭代代特征,优点点是人员分配配灵活,刚开开始不用投入入大量人力资资源,如果核核心产品很受受欢迎,则可可增加人力实实现下一下增增量。适合的项目:q 项目开始,明确确了需求的大大部分,但是是需求可能会会发生变化q 对于市场和用户户把握不是很很准,需要逐逐步了解q 对于有庞大和复复杂功能的系系统进行功能能改进,就需需要一步一步步实施的。螺旋式模式的特特点:(1)是是瀑布模型的的多次迭代;(2)它将将每个阶段进进行更细的划划分;(3)可可以进行灵活活设计;(44)通过风险险管理驱动;(5)用户户可以更早看看到产品;(66)用户可以以不断对产品品进行评估;(7)用户户
5、可以与开发发人员进行紧紧密的合作;(8)项目目的投资不用用一次投入;(9)可以以给开发人员员更多的反馈馈信息。适合的项目:q 风险是主要的制制约因素q 不确定因素和风风险限制了项项目进度q 用户对自己的需需求也不是很很明确q 需要对一些基本本的概念进行行验证q 可能发生一些重重大的变更q 项目规模很大q 项目中采用了新新技术喷泉模型的特点点:适应于面面向对象方法法;体现了软软件开发过程程无间隙和固固有的迭代特特征。第二章1、结构化分析析方法(会画数据流流图、数据字字典)数据流图:例:银行计算机机储蓄系统的的工作过程储户填写的存款款单或取款单单由业务员键键入系统,如如果是存款则则系统记录存存款人
6、姓名、住住址(或电话话号码)、身身份证号码、存存款类型、存存款日期、到到期日期、利利率及密码(可选)等信信息,并印出出存单给储户户;如果是取取款而且存款款时留有密码码,则系统首首先核对储户户密码,若密密码正确或存存款时未留密密码,则系统统计算利息并并印出利息清清单给储户。答:数据流程图图如下:数据字典:数据字典的内容容主要是对数数据流程图中中的数据项、数数据结构、数数据流、处理理逻辑、数据据存储和外部部实体等六个个方面进行具具体的定义。数据字典的数据据条目内容:(1)名称与别别名:数据流、数数据源或外部部实体的标识识;(2)数据类型型;(3)何处使用用如何使用用输入流输输出流的加工工表;(4)
7、内容描述述;(5)补充说明明:如,取值范范围与缺省值值,有关的设设计约束等2、面向对象模模型(会画用用例图、顺序序图、活动图图、状态图等等)用例图:用例(Use case):系统所提供供的功能描述述角色(Actoor):可能能使用用例的的人或者外部部系统设置边界风险分析交易估计进行交易超越边界更新帐目评价贸易经理营销人员记帐系统销售人员使用使用扩展顺序图:顺序图展示了几几个对象之间间的动态协作作关系,主要要用来显示对对象之间发送送消息的顺序序,还显示对对象之间的交交互,即系统统执行某一特特定时间点所所发生的事。状态视图:状态图是对类描描述的补充,它它说明该类的的对象所有可可能的状态以以及那些事
8、件件将导致状态态的改变。它它是一个类对对象所可能经经历的所有历历程的模型图图例:对电话工作作的行为建模模。活动图:活动图图用来描述执执行工作流程程中涉及的活活动,展示了了连续的活动动流协作图: 与顺序图作用相相同,协作图图也是用来描描述系统中对对象之间的动动态协作关系系。协作图侧侧重于描述各各个对象之间间存在的消息息收发关系(交交互关系),而而不专门突出出这些消息发发送的时间顺顺序。 在协作图中,对对象同样是用用一个对象图图符来表示,箭箭头表示消息息发送的方向向,而消息执执行的顺序则则由消息的编编号来表明:计算机:打印队列:打印服务程序:打印机1. 打印文件 3. 保存文件打印机忙2. 打印文
9、件打印机空闲(有一道综合题题会在1和2中出)3、需求规划(不不知道老师大大概要考什么么)老师原话:需要要规格文档不不会考你们的的格式,主要要是考你们的的需要分析的的方法,主要要是面向对象象的方法和结结构化的方法法,这是重点点。一定会出出大题的,要要认真复习,认认真看PPTT。第三章1、传统(结构构化)的设计计方法:模块块划分的两种种方法:中心心变换和事务务变换(PPPT)中心变换(变换换分析设计):根据信息系统的的模型,信息息一般是以外外部形式进入入系统,通过过系统处理后后,然后离开开系统。从其其过程可以得得出,变换流流的数据流图图是一个线性性结构。变换型的数据流流是由输入、变变换(或称处处理
10、)和输出出三部分组成成 。 变换流的设计是是将数据流图图到程序结构构图的转换。当当数据流图具具有较明显的的变换特征时时,则按照下下列步骤设计计。1. 确定数数据流图中的的变换中心、逻逻辑输入和逻逻辑输出。2. 设计软软件结构的顶顶层和第一层层。事务变换(事务务分析设计):基本系统模型意意味着变换流流。因此,原原则上可以讲讲所有的信息息流都可以归归结为这一类类。事务流的设计是是从事务数据据流图到程序序结构的变换换。对于具有有事务型特征征的数据流图图,则采用事事务分析的设设计方法。(1)确定数据据流图中的事事务中心和加加工路径。当数据流图中的的某个加工具具有明显地将将一个输入数数据流分解成成多个发
11、散的的输出数据流流时,该加工工就是事务中中心。从事务务中心辐射出出去的数据流流为各个加工工路径。(2)设计软件件结构的顶层层和第一层。事务处理中心和和事务处理路路径确定后,就就可以确定它它们的软件结结构。 (3)进行事务务结构中、下下层模块的设设计、优化等等工作。2、面向对象的的设计方法:找出类,并并对类进行定定义(主要定定义属性和方方法)类图描述了系统统中的类及其其相互之间的的各种关系,其其本质反映了了系统中包含含的各种对象象的类型以及及对象间的各各种静态关系系(关联,子子类型)。例:订单DateReceivedisPrepaidnumber:Stringprce:MoneyDispatch
12、()close()订单项Quantity:Integerprice:MoneyisSatisfied:Boolean1*项客户NameaddressCreditRating():String团体客户ContactNamecreditRatingcreditLimitRemind()billforMonth(Intrger)雇员产品个人客户CreditCard#creditRating()=“poor”销售代表1*0.11*UML类图第四章1、采用什么方方式对模块进进行描述老师原话:.对对模块进行描描述,主要是是模块内与模模块之间的关关系来进行描描述的。如耦耦合与内聚等等。模块的耦合:耦合(Co
13、uppling)表表示软件结构构内不同模块块彼此之间相相互依赖(连连接)的紧密密程度,是衡衡量软件模块块结构质量好好坏的度量,是是对模块独立立性的直接衡衡量指标。 耦合强弱取决于于模块间接口口的复杂程度度,进入或访访问一个模块块的点,以及及通过接口的的数据。1) 数据耦合合如果两个模块彼彼此间通过参参数交换信息息,而且交换换的信息仅仅仅是数据,那那么这种耦合合称为数据耦耦合。数据耦合是低耦耦合。系统中中必须存在这这种耦合,因因为只有当某某些模块的输输出数据作为为另一些模块块的输入数据据时,系统才才能完成有价价值的功能。2) 控制耦合合如果传递的信息息中有控制信信息,则这种种耦合称为控控制耦合。
14、控控制耦合是中中等程度的耦耦合,它增加加了系统的复复杂程度。控制耦合往往是是多余的,在在把模块适当当分解之后通通常可以用数数据耦合代替替它。 3) 公共环境境耦合当两个或多个模模块通过一个个公共数据环环境相互作用用时,它们之之间的耦合称称为公共环境境耦合(即公公用耦合)。公共环境耦合的的复杂程度随随耦合的模块块个数而变化化,当耦合的的模块个数增增加时复杂程程度显著增加加。(1)一个模块块往公共环境境送数据,另另一个模块从从公共环境取取数据。这是是数据耦合的的一种形式,是是比较松散的的耦合。(2)两个模块块都既往公共共环境送数据据又从里面取取数据,这种种耦合比较紧紧密,介于数数据耦合和控控制耦合
15、之间间。4) 内容耦合合最高程度的耦合合是内容耦合合。(1)一个模块块访问另一个个模块的内部部数据;(2)一个模块块不通过正常常入口而转到到另一个模块块的内部;(3)两个模块块有一部分程程度代码重叠叠(只可能出出现在汇编程程序中);(4)一个模块块有多个入口口(这表明一一个模块有几几种功能)总之,耦合是影影响模块结构构和软件复杂杂程度的一个个重要因素,应应该采用如下下设计原则:尽量使用数数据耦合,少少用控制耦合合,限制公共共环境耦合,完完全不用内容容耦合。第四章1、伪代码老师原话:伪代代码主要是用用来说明一段段程序,如画画一个流程图图,让你们用用伪代码来说说明,或者一一段文字说明明,让你们用用
16、伪代码来说说明。第五章1、重用原则(老老师原话:.基本不考。)第六章1、白盒测试方方法(基于代代码的测试)(1)语句覆盖盖:语句覆盖盖方法是选择择足够的测试试用例,使得得程序中每一一条可执行语语句至少被执执行一次。Test caase : A=2 , B=0 , X=*. (2)判定覆盖盖:判定覆盖盖是选择足够够的测试用例例,使得程序序中每一个判判断的每一种种可能结果都都至少被执行行一次地测试试方法,使得得程序中的每每个判断至少少获得一次“真”值和“假”值。判定覆覆盖也叫分支支覆盖。Test caases:A=3 , B=0 , X=1(TF)A=1 , B=1 , X=3(FT)(3)条件覆
17、盖盖:在语句覆盖盖的基础上,使使每个判定表表达式的每个个条件都取到到各种可能的的结果。Test caases:A=2 , B=0 , X=4(TT)(满满足A1, B=0; A=2, X1)A=1, BB=1, XX=1(FFF) (满足A1, B0; A 2, X1)问:条件覆盖 ? 判定定覆盖 答: 不一定。 反反例: A=2, B=0, X=1(TTT)(满足A1, B=0; A=2, X 1) A=1, B=1, X=4(FFT) (满足A11, B0; A 2, X 1 )(4)判定/条条件覆盖:要要求设计足够够的测试用例例,使得同时时满足判定覆覆盖和条件覆覆盖。即判断断中的每个条条
18、件的所有情情况(Truue和Fallse)至少少出现一次,并并且每个判断断本身的判断断结果(Trrue和Faalse)也也至少出现一一次。1.If AA and B theen2. Do-SSomethhing3End iif4.Anothher_SttatemeentTestCasse A B A and BBTestCasse1 T T TTestCasse2 F F F(5)条件组合合覆盖:每个判定表表达式中条件件的各种可能能组合都至少少出现一次。全部可能的条件件组合为: A1, B=0 A1, B 0 A1, B=0 A1, BB 0 A=2, X1 A=2, X 1 A 22, X1
19、1 A 2,X 1 Test caases:1. A=2, B=0, X=4 (T TT) 2. A=2, B=1, X=1 (F TT) 3. A=1, B=0, X=2 (F TT) 4. A=1, B=1, X=1 (F FF) (6)路径覆盖盖:每条可能的的路径都至少少执行一次,若若图中有环,则则每个环至少少经过一次。Test caases: A=1 , B=11 , XX=1 (FF F) A=1 , B=11 , XX=2 (FF T) A=3 , B=00 , XX=1 (TT F) A=2 , B=00 , XX=4 (TT T)全部可能的条件件组合为: A1, B=0 A1,
20、 B 0 A1, B=0 A1, BB 0 A=2, X1 A=2, X 1 A 22, X11 A 2,X 1 满足路径覆盖未未必满足条件件组合覆盖。2、黑盒测试方方法(等价划划分、边界值值)黑盒测试也称为为行为测试,主主要关注软件件的功能和性性能测试。而而不是内部的的逻辑结构。(1)边界值分分析:边界值分析析法就是对输输入或输出的的边界值进行行测试的一种种黑盒测试方方法。通常边边界值分析法法是作为对等等价类划分法法的补充,这这种情况下,其其测试用例来来自等价类的的边界。边界值分析的原原理是错误更更可能发生在在输入的边界界值附近,边边界值分析技技术设计测试试用例的输入入值尽可能是是输入的边界
21、界值。边界值值分析方法的的基本思想是是在最小值、略略高于最小值值、正常值、略略低于最大值值、最大值等等处取输入变变量值。例如一个程序的的输入是变量量X1,X22,它们的取取值范围是aa=X1=b | c=X2=d。他的边边界分析图如如下图: (有一道综合题题是在白盒或或黑盒里出)等价划分:它将输入数据域域按有效的或或无效的(也也称合理的或或不合理的)划划分成若干个个等价类,测测试每个等价价类的代表值值就等于对该该类其他值的的测试。使用用这一方法时时,完全不考考虑程序的内内部结构,只只依据程序的的规格说明来来设计测试用用例。使用这一方法设设计测试用例例要经历划分分等价类(列列出等价类表表)和选取
22、测测试用例两步步。根据每一个输入入的条件,找找出两个(合合理的等价类类和不合理的的等价类)或或更多的等价价类。项目管理:1、项目经理管管理内容:成成本管理、计计划进度、组组织、质量、风风险管理、配配置管理 成本估计计:(1)专专家判定法 (2)类类比估计法 (33)参数模型型法2、项目管理的的工具:(11)甘特图(老老师说了解一一下就行了)甘特图也称时间间表(Timmelinee charrt),用来来建立项目进进度表,它通通过日历形式式列出项目活活动及其相应应的开始时间间和结束时间间,为反映项项目进度信息息提供了一种种标准格式。在甘特图中,每每项任务的完完成以必须交交付的文档和和通过评审为为
23、标准,因此在甘特特图中,文档档编制与评审审是软件开发发进度的里程程碑例:(2)工程网络络图:网络图的基本概概念:工序(actiivity):也称活动、作作业或任务,指指项目中消耗耗时间或资源源的独立的活活动。紧前工序(immmediaate prredeceessor activvity):指进行本次次工序之前刚刚刚完成的工工序。一个工工序的紧前工工序可能有多多个。紧后工序(immmediaate suuccesssor acctivitty):指进进行本次工序序之后即将开开始的工序。事件(evennt):标志志工序的开始始或结束,某某个事件的实实现,标志着着在它前面各各顶作业(紧紧前工序)的
24、的结束,又标标志着在它之之后的各项作作业(紧后工工序)的开始始。网络图:由工序序、事件及标标有完成各道道工序所需时时间所构成的的连通有向图图。单代号网络图(节节点网络图):用节点表示示工序的计划划网络图。箭箭线表示工序序之间的先后后关系。双代号网络图(箭箭线网络图):用箭线表示示工序的计划划网络图。其其中每个节点点表示事件。例:某项目由88道工序组成成,工序明细细表见下表所所示。分别用用节点法和箭箭线法绘制该该项目的项目目网络图。WinQSB中中自动输出的的单代号网络络图:在WinQSBB中,求出关关键路线如下下图红线所示示:最早开始时间规规划:对于有有多个紧前工工序的工序HH,其ES为为其紧
25、前工序序的EF中最最大的一个,即即是ES=mmaxEFF;最晚结束时间规规则:某项工工序的LF就就等于其所有有紧后工序的的最小LS,例例如工序E的的LF就为其其紧后工序最最小的LS,即即是20周;LF=miinLS4、ISO 99000与CCMM的特点点和区别(网网上找的)(了解)ISO90000的特点:、ISSO90000标准是一系系统性的标准准,涉及的范范围、内容广广泛,且强调调对各部门的的职责权限进进行明确划分分、计划和协协调,而使企企业能 有效效地、有秩序序地开展给各各项活动,保保证工作顺利利进行。、强调调管理层的介介入,明确制制订质量方针针及目标,并并通过定期的的管理评审达达到了解公
26、司司的内部体系系运作情况,及及时采取措施施,确保 体体系处于良好好的运作状态态的目的。、强调调纠正及预防防措施,消除除产生不合格格或不合格的的潜在原因, 防止不合格格的再发生,从从而降低成本本。、强调调不断的审核核及监督,达达到对企业的的管理及运作作不断地修正正 及改良的的目的。、强调调全体员工的的参与及培训训,确保员工工的素质满足足工作的要求求,并使每一一个员工有较较强的质量意意识。CMM的特点:CMMM是一套适用用面很广的通通用过程实践践标准,但是是CMM本身身不是过程或或方法论!CMMM告诉组织为为了系统化地地建立、实施施和改进软件件过程应该做做些什么,达达到什么目标标,但是没有有说明如
27、何做做、采用哪些些具体技术、策策略和方法。CMMM重视系统性性、制度化和和度量,强调调提高过程的的可靠性、可可见性、可预预测性和可管管理性。实施CCMM要求组组织在过程制制度化建设上上付出大量努努力,通常被被认为是重载载的模型。CMM与ISOO9000的的主要区别:CMMM是专门针对对软件产品开开发和服务的的,而ISOO9000涉涉及的范围则则相当宽。CMMM强调软件开开发过程的成成熟度,即过过程的不断改改进和提高。而而ISO90000则强调调可接收的质质量体系的最最低标准。5、CMM的55个等级:初初始级、可重重复级、已定定义级、已管管理级和优化化级。6、项目报告:确定里程碑碑、报告的内内容、建立项项目的进度计计划。28