软件工程复习提纲_第1页
软件工程复习提纲_第2页
软件工程复习提纲_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程的复习题纲第一章1、软件工程的生存周期: 制定计划;需求分析;总体设计;详细设计;程序编写;软件测 试;运行 / 维护。2、软件工程的各个生存期模型的特点和适合项目。 (生存期模型有瀑布模型、 V 模型、原型 模型、增量式模型和螺旋式模型) (部分是在网上找的,老师说考这些模型的特点,有什么 情况下适合用什么来进行开发。 )瀑布模型 的特点 :(1)阶段间具有顺序性和依赖性。(2)推迟实现的观点。(3)每个阶段必须完成规定的文 ( 每个阶段结束前完成文档审查 , 及早改正错误。 )(4)下一个阶段可以回溯到前面的某个阶段 适合于:1. 开发阶段需求很少有变化2. 分析设计人员对应用领域

2、很熟悉3. 低风险项目4. 用户使用环境很稳定5. 用户除提出需求外,很少参与开发工作 类似的项目如:公司的财务系统;库存管理系统;短期项目V模型的特点:(1)简单易用 ( 2)强调测试过程与开发过程的对应性和并行( 3)没有反应实际的开发过 程。V模型适合的项目:在项目开始前 , 项目的需求很明确在项目开始前 , 解决方案也很明确 对系统的性能安全很严格的项目类似的项目如:航天飞机等 公司的财务系统原型模型 的特点:(1)在需求定义之前,需要快速构建一个系统(2)根据构建系统的优缺点,用户给开发人员提出反馈意见(3)根据反馈意见修改软件需求规格,以便系统可以更正确的反映用户的需求(4)减少各

3、种假设以及风险适合的项目:在项目开始前 , 项目的需求不明确 需要减少项目需求的不确定性类似的项目如:确定显示界面 第一次开发的产品,验证可行性增量式模型 的特点:1. 需求多变,可以分阶段提交产品。2. 分析设计人员对应用领域不熟悉,难以一步到位。3. 用户参与整个软件开发工程中 , 起到对客户起到镇静剂的作用,增量能够有计划地管理技 术风险。4. 软件公司自己有较好的类库或构件库5. 增量的容写入合同,可能会引起客户的不满。6. 融合了瀑布模型的基本成分和原形实现的迭代特征,优点是人员分配灵活,刚开始不用投入大量人力资源,如果核心产品很受欢迎 ,则可增加人力实现下一下增量。适合的项目:项目

4、开始,明确了需求的大部分,但是需求可能会发生变化对于市场和用户把握不是很准,需要逐步了解对于有庞大和复杂功能的系统进行功能改进,就需要一步一步实施的。螺旋式模式 的特点:(1)是瀑布模型的多次迭代; (2)它将每个阶段进行更细的划分;(3)可以进行灵活设计;(4)通过风险管理驱动;(5)用户可以更早看到产品;(6)用户可以不 断对产品进行评估;(7)用户可以与开发人员进行紧密的合作;(8)项目的投资不用一次投入;(9)可以给开发人员更多的反馈信息。适合的项目:风险是主要的制约因素不确定因素和风险限制了项目进度用户对自己的需求也不是很明确需要对一些基本的概念进行验证可能发生一些重大的变更项目规模

5、很大项目中采用了新技术喷泉模型的特点:适应于面向对象方法;体现了软件开发过程无间隙和固有的迭代特征。第二章1、结构化分析方法(会画数据流图、数据字典)数据流图:'*数据流图中的主要图形元素 °C)数据加工(数据变换)I I数据源点或终点(外部实体)数据流匚数据存储文件例:银行计算机储蓄系统的工作过程储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人、住址(或)、存款类型、存款日期、到期日期、利率及密码 (可选)等信息,并印出存单给储户; 如果是取款而且存款时留有密码, 则系统首先核对储户密码, 若密码正确或存款时未留密码, 则系统计算利息并印出利息清单给储户

6、。答:数据流程图如下:帐卡数据字典:数据字典的容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存 储和外部实体等六个方面进行具体的定义。数据字典的数据条目容:(1)名称与别名:数据流、数据源或外部实体的标识;(2)数据类型;(3)何处使用/如何使用输入流/输出流的加工表;(4)容描述;(5)补充说明:如,取值围与缺省值,有关的设计约束等2、面向对象模型(会画用例图、顺序图、活动图、状态图等)用例图:用例(Use case ):系统所提供的功能描述角色(Actor ):可能使用用例的人或者外部系统用例图中的图符,* CZ)用例* P 执行者* r"n系统:用于界定系统功

7、能范围,描述该 h耳匚七b能曲用例都置于5中. 而描述外部实体 的执行者都置于其外。* 关联三连接执行者和用例,表示执行者所代表的系统外部实体与该用列所描述的系统 需耒肴矣m三歳丄雀甬由用例应向用例讯 表示用厠 A中使用了用洌B中的行为或功能-甘险'扩展由弔例A连向甲例B,表示用例 B描述、了一项基本需求*帀用例A则描述了该基 态盖雪的特殊情况= I注释体;对UML实体进行文字描述*-注释逹接:将注释体与要描述的实体 连接.说明该注释伫是针对该实伫所进行的描 述D顺序图:销售人员顺序图展示了几个对象之间的动态协作关系,主要用来显示对象之间发送消息的顺序,还显示对象之间的交互,即系统执行

8、某一特定时间点所发生的事。状态视图:状态图是对类描述的补充, 它说明该类的对象所有可能的状态以及那些事件将导致状态 的改变。它是一个类对象所可能经历的所有历程的模型图例:对工作的行为建模。非法余额不足或 消费完成合法I、L(读余额r充值失败【余额不足充偵成功余额充足7z、购买成交、A(消费彳变更余誠余额禿足、图X医院饭堂就餐卡系统状态图活动图:活动图用来描述执行工作流程中涉及的活动,展示了连续的活动流协作图:? 与顺序图作用相同,协作图也是用来描述系统中对象之间的动态协作关系。协作图 侧重于描述各个对象之间存在的消息收发关系(交互关系),而不专门突出这些消息发送的时间顺序。? 在协作图中,对象

9、同样是用一个对象图符来表示,箭头表示消息发送的方向,而消 息执行的顺序则由消息的编号来表明(有一道综合题会在 1和2中出)3、需求规划(不知道老师大概要考什么)老师原话:需要规格文档不会考你们的格式,主要是考你们的需要分析的方法,主要是面向对象的方法和结构化的方法,这是重点。一定会出大题的,要认真复习,认真看PPT第三章1、传统(结构化)的设计方法:模块划分的两种方法:中心变换和事务变换(PPT)中心变换(变换分析设计):根据信息系统的模型, 信息一般是以外部形式进入系统,通过系统处理后,然后离开系统。从其过程可以得出,变换流的数据流图是一个线性结构。变换型的数据流是由输入、变换(或称处理)和

10、输出三部分组成。逻辑输入II逻辑输出换流的设计是将数据流图到程序结构图的转换。当数据流图具有较明显的变换特征时,则按照下列步骤设计。1. 确定数据流图中的变换中心、逻辑输入和逻辑输出。2.设计软件结构的顶层和第一层。由£2E主慣块| H | | put fitget fl £533变檢分析茂计举例事务变换(事务分析设计):加工路径-O-基本系统模型意味着变换流。因此,原则上可以讲所有的信息流都可以归结为这一类。事务处理中心输入流/©事务流的设计是从事务数据流图到程序结构的变换。对于具有事务型特征的数据流图, 则采用事务分析的设计方法。(i)确定数据流图中的事务中心

11、和加工路径。当数据流图中的某个加工具有明显地将一个输入数据流分解成多个发散的输出数据流 时,该加工就是事务中心。从事务中心辐射出去的数据流为各个加工路径。(2)设计软件结构的顶层和第一层。事务处理中心和事务处理路径确定后,就可以确定它们的软件结构。(3)进行事务结构中、下层模块的设计、优化等工作。接受分支F1输入流事务中心CD加工路径发送分支巨占I事务层动作层细节层2、面向对象的设计方法:找出类,并对类进行定义(主要定义属性和方法)类图描述了系统中的类及其相互之间的各种关系,其本质反映了系统中包含的各种对象的类型以及对象间的各种静态关系(关联,子类型)。类图中的图袴:Class0-pzficT

12、.=名.表示一个类,其中第一栏是类的第二栏是类的属性,第三栏是类的操作。包:包是一种分组机制,妬个类图集合,关联:用于表示类的对象之间的关系。 其特殊形式有组成关联和聚集关联出 O 集关联:用于表示类的对象之间的关系是整体与部分的关系口 O 成关联:用于表示类的对象之间的关系:整体拥有各部分,部分与整体共存.如整体 不存在了,部分也会随之消失 泛化关联:泛化关系(继承关系)定义了类和包间的一般元素和特殊元素之间的分类关 系4依赖关系:有两个类或包元素X、Y,修改元素X的定义可能会引起对另一个元素Y的定义 的修改,则称元素Y依颖于元素)G类的一个实例°用于表示对象间的关联关系的一例:e

13、no : Strins 一用rvimr : Sl.r i ng ssptc : String -sbirlhda/ : Dale -ssfh : String skihio : Stfing-bjntj : Siring井凋班() 存瞬稱异功()UML类图第四章1采用什么方式对模块进行描述老师原话:对模块进行描述,主要是模块与模块之间的关系来进行描述的。如耦合与聚等。模块的耦合:耦合(Coupling )表示软件结构不同模块彼此之间相互依赖(连接)的紧密程度,是衡量软件模块结构质量好坏的度量,是对模块独立性的直接衡量指标。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口

14、的数据。1)数据耦合如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合。数据耦合是低耦合。系统中必须存在这种耦合, 因为只有当某些模块的输出数据作为另 一些模块的输入数据时,系统才能完成有价值的功能。2)控制耦合如果传递的信息中有控制信息,则这种耦合称为控制耦合。控制耦合是中等程度的耦合, 它增加了系统的复杂程度。控制耦合往往是多余的,在把模块适当分解之后通常可以用数据耦合代替它。3)公共环境耦合当两个或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合(即公用耦合)。公共环境耦合的复杂程度随耦合的模块个数而变化,当耦合的模块个数增加时复

15、杂程度显著增加。(1)一个模块往公共环境送数据,另一个模块从公共环境取数据。这是数据耦合的一 种形式,是比较松散的耦合。(2)两个模块都既往公共环境送数据又从里面取数据,这种耦合比较紧密,介于数据 耦合和控制耦合之间。4)容耦合最高程度的耦合是容耦合。(1 )一个模块访问另一个模块的部数据;(2)一个模块不通过正常入口而转到另一个模块的部;(3) 两个模块有一部分程度代码重叠(只可能出现在汇编程序中);(4)一个模块有多个入口(这表明一个模块有几种功能)总之,耦合是影响模块结构和软件复杂程度的一个重要因素,应该采用如下设计原则: 尽量使用数据耦合,少用控制耦合,限制公共环境耦合,完全不用容耦合

16、。1、伪代码老师原话:伪代码主要是用来说明一段程序, 者一段文字说明,让你们用伪代码来说明。第四章如画一个流程图,让你们用伪代码来说明,或第五章1、重用原则(老师原话:.基本不考。) 1、白盒测试方法(基于代码的测试)(1 )语句覆盖:语句覆盖方法是选择足够的测试用例,使得程序中每一条可执行语句至少 被执行一次。Test case : A=2 , B=0 , X=*.(2)判定覆盖:判定覆盖是选择足够的测试用例,使得程序中每一个判断的每一种可能结果都至少被执行一次地测试方法,使得程序中的每个判断至少获得一次“真”值和“假”值。判定覆盖也叫分支覆盖。入口Test cases: A=3 , B=0

17、 , X=1(TF) A=1 , B=1 , X=3(FT)(3) 条件覆盖:在语句覆盖的基础上,使每个判定表达式的每个条件都取到各种可能的结 果。口Test cases: A=2 , B=0 , X=4(TT)(满足 A>1, B=0; A=2, X>1) A=1, B=1, X=1(FF)(满足 A£ 1, B 1 0; A 1 2, X £ 1)问:条件覆盖?判定覆盖答:不一定。反例: A=2, B=0, X=1(TT)(满足 A>1, B=0; A=2, X £ 1) A=1, B=1, X=4(FT)(满足 A£ 1, B 1

18、 0; A 1 2, X >1)(4) 判定/条件覆盖:要求设计足够的测试用例,使得同时满足判定覆盖和条件覆盖。即判断中的每个条件的所有情况(True和False )至少出现一次,并且每个判断本身的判断结果(True和False )也至少出现一次。1. If A and B then2. Do-Someth ing3. End if4. A no ther_Stateme ntTestCaseAB A and BTestCase1TestCase2(5) 条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出现一次。入口全部可能的条件组合为: A>1, B=0 A £

19、1, B=0 A=2, X>1 A 1 2, X>1 A>1, B 1 0 A £ 1, B 1 0 A=2, X £ 1 A 1 2,X £ 1Test cases:1. A=2, B=0, X=4(T T)2. A=2, B=1, X=1(F T)3. A=1, B=0, X=2(F T)4. A=1, B=1, X=1(F F)(6 )路径覆盖:每条可能的路径都至少执行一次,若图中有环,则每个环至少经过一次。入口返回Test cases: A=1 , B=1 , X=1 (F F) A=1 , B=1 , X=2 (F T) A=3 , B

20、=0 , X=1 (T F) A=2 , B=0 , X=4 (T T) 全部可能的条件组合为: A>1, B=0 A £ 1, B=0 A=2, X>1 A 1 2, X>1 A>1, B 1 0 A £ 1, B 1 0 A=2, X £ 1 A 1 2,X £ 1满足路径覆盖未必满足条件组合覆盖。2、黑盒测试方法(等价划分、边界值)黑盒测试也称为行为测试,主要关注软件的功能和性能测试。而不是部的逻辑结构。(1)边界值分析:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补

21、充,这种情况下,其测试用例来自等价类的边界。边界值分析的原理是错误更可能发生在输入的边界值附近,边界值分析技术设计测试用例的输入值尽可能是输入的边界值。边界值分析方法的基本思想是在最小值、略高于最小值、正常值、略低于最大值、最大值等处取输入变量值。例如一个程序的输入是变量 XI,X2,它们的取值围是 a<=X1<=b | c<=X2<=d 。他的 边界分析图如下图:(有一道综合题是在白盒或黑盒里出) 等价划分:它将输入数据域按有效的或无效的(也称合理的或不合理的) 划分成若干个等价类, 测试每个等价类的代表值就等于对该类其他值的测试。使用这一方法时,完全不考虑程序的部结

22、构,只依据程序的规格说明来设计测试用例。使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。根据每一个输入的条件,找出两个(合理的等价类和不合理的等价类)或更多的等价类。项目管理:1、项目经理管理容: 成本管理、计划进度、组织、质量、风险管理、配置管理成本估计:(1)专家判定法(2)类比估计法(3)参数模型法2、项目管理的工具:(1)甘特图(老师说了解一下就行了)甘特图也称时间表(Timeli ne chart),用来建立项目进度表,它通过日历形式列出项目 活动及其相应的开始时间和结束时间,为反映项目进度信息提供了一种标准格式。在甘特图中,每项任务的完成以必须交付的文档

23、和通过评审为标准,因此在甘特图中, 文档编制与评审是软件开发进度的里程碑例:-湖雨申十诫同科来毎誓成:丄WI20(H年 IlHlHEd(H 年 1?Ji3Qtda.T4 TftBmo 曲 iHiLIEOOFiiMiLl71豆冃订tfpa nr TftH?no+fl=ii H?FI讯顼目itT群如罟计Ift 75 TftR?(W4=iifl4F1p(i*h年ii RsnElif ai 工作FVrncu年ii JI inFl7ho«jT i i 月 htFI吏迪陋I弓工忙加ziLkii 11. B亶0巧年11.冃E日寸助盍苗工ZJ. 19工作旧TMLNM年11月1U日也矶年t号33曰6-

24、BI XftErhlah年li月iu曰NJlMitiL片艸曰s阿曙设务妥蚩诅试13工作日2UU4«|:12fl3B削1M讦讴月型曰1工悸日2K4 年 32W3H2flt4年越月4日1 "日20C丹贮屮日20C4年也月Tfcl上思测试1 TfEH20C4:2fl7H创“年垃朋H和足总嗣£ Ttra5K4J2flOU2 Tfto馆曲佬h ion'1T:'Rl4n4 I EOsinAif i;fl uD?cc:;flieD描!觉痊2 工!tn也Di邯L】月iB 口q;i 口i> fi« Xft fi1刈年i月mH刃賞牡收p.i xns和j

25、月肌目租LR列目o.sxtFe诗口月24目观止年“月忑日as工咋日2X11月 25 日2OQ0yiLf1汪日i工闻3Q02aCL2filB2工惟曰30C粋1明1曰2014年E朋日F?帀絮廿註z:Tita3DC件冗冃汨sac*年i阴汨Z工咋日卫:辞北冃T日勿凯年记冃eLI1工UH"你:P冃汨苟n碎12冃WFIi Tit R芒丁4年苗冃苕日200T 年!2flZ30用用户培CM14 13工作日7ClD4l7flirFlFDO孔年1篁月HTinT顶口业临5 Tftfi?DC>4年IN月盘王冃?IO4I2ZEI|H京档ft备5工作日ZJ04年1H月三汨jUX年注月医曰赧坠收i xnsZ

26、b0iUK年煜月27日mui工rt日>7 04JU4年1E月區甘1 TtFtl2»fM=l£29H罚旅年过月芨曰> '"- ' : - * -'4間TH范诸Jd1 n暫唳17 00剁御:必ft确到2分京共骨知锹1 uEX 刃-H W1 TJ 3 4审?a ?沖ii坨jj j u j is n 站1澳埼、垂到2WUJFten輪媳逛话.3证Mb現墻i人仗式开席5新蠟换礼JW揖次岀墙A父毎捷言IffiAWfl2型出坊9琳礼現场节目g墉宴结卓(2)工程网络图:网络图的基本概念:工序(activity ):也称活动、作业或任务,指项目中消

27、耗时间或资源的独立的活动。紧前工序(immediate predecessor activity ):指进行本次工序之前刚刚完成的工序。 一个工序的紧前工序可能有多个。紧后工序(immediate successor activity ):指进行本次工序之后即将开始的工序。事件(event):标志工序的开始或结束,某个事件的实现,标志着在它前面各顶作业(紧 前工序)的结束,又标志着在它之后的各项作业(紧后工序)的开始。网络图:由工序、事件及标有完成各道工序所需时间所构成的连通有向图。单代号网络图(节点网络图):用节点表示工序的计划网络图。箭线表示工序之间的先 后关系。双代号网络图(箭线网络图):用箭线表示工序的计划网络图。其中每个节点表示事件。例:某项目由8道工序组成,工序明细表见下表所示。分别用节点法和箭线法绘制该项目的项目网络图。工序明细表一序号代号称 名rj时间(天)序号代号称 名 序 工前 紧1A405E程 修装C0构A506FD3C程丄 m 屋B307备 设B504

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论