软件工程导论 复习资料cjia.docx

上传人:jix****n11 文档编号:68697999 上传时间:2022-12-29 格式:DOCX 页数:10 大小:248.64KB
返回 下载 相关 举报
软件工程导论 复习资料cjia.docx_第1页
第1页 / 共10页
软件工程导论 复习资料cjia.docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《软件工程导论 复习资料cjia.docx》由会员分享,可在线阅读,更多相关《软件工程导论 复习资料cjia.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、名词解释:1软件生命周期模型软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等2. 模块独立性模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。3. 软件的可维护性软件可维护性指软件能够被理解、校正、适应及增强功能的容易程度。4. 软件工程软件工程指用科学知识和技术原理来定义、开发、维护软件的一门学科。或者说,软件工程就是运用工程学的基本原理和方法来组织管理软件的生产、研究、开发、管理、维护的过程、

2、方法和技术。5.数据字典字据字典:简称,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的无二义 性的说明方式为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述。6、静态测试静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。7、面向对象:面向对象OO=类+对象+继承+通信8、 需求分析需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。9、 软件危机软件危机(Software Crisis) 是计算机软件在它的开发和维护过程中所遇到的一系列严重

3、问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。10、 软件生存周期软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。简答:1 软件生存周期有哪几个阶段?可行性研究需求分析总体设计详细设计编码 测试 维护2白盒测试法有哪些逻辑覆盖标准? 语句覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖点覆盖、边覆盖、路径覆盖3软件的维护有哪4种类型?校正性维护适应性维护 完善性维护 预防性维护。4软件成分的重用有哪3个级别?: 代码

4、重用 设计结果重用 分析结果重用5设计任务管理子系统有哪7个任务? 确定事件驱动型任务 确定时钟驱动任务 确定优先任务确定关键任务 确定协调任务 尽量减少任务数 确定资源需求6类构件的重用包括哪3种方式?: 实例重用 继承重用 多态重用7提高可重用性的7条准则是哪些? 提高方法的内聚 减小方法的规模 保持方法的一致性 把策略与实现分开 全面覆盖 尽量不使用合局信息 利用继承机制8提高可扩充性的4条准则是哪些? 封装实现策略不要用一个方法遍历多条关联链 避免使用多分支语句 精心确定公有方法9提高健壮性的4条准则是哪些? 预防用户的操作错误检查参数的合法性不要预先确定限制条件 先测试后优化10 列

5、举PDL语言的优点与缺点有哪些?PDL语言的优点: 可以作为注释插在源程序中间; 可以使用普通的正文编辑程序或文字处理系统,很方便完成PDL的书写和编辑工作; 可以利用已有的自动处理程序自动由PDL生成程序源代码。PDL语言的缺点: 不如图形工具直观。描述复杂的条件组合与动作之间的对应关系时,不如判定表和判定树时简单。11. 如何改进软件设计、提高软件质量?(1)提高模块的独立性。(2)模块规模应该适中。(3)适当选择深度、宽度、扇出和扇入。(4)模块的作用域应该在控制域之内。(5)力争降低模块接口的复杂程度。(6)设计单入口单出口的模块。(7)模块功能应该可以预测。12. 以G.J.Myer

6、s的观点,简述对软件测试的目的。软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。13. 软件质量保证应做好哪几方面的工作?(1)采用技术手段和工具。(2)组织正式技术评审 (3)加强软件测试 (4)推行软件工程规范(标准)。(5)对软件的变更进行控制 (6)对软件质量进行度量。14. 下列模块的内聚类型是什么?再把它们按内聚的大小由小到大排列。(1)使用同一数据来源产生两种报告(2)求一元二次方程的根(3)计算最高成绩和平均成绩(4)系统初始化处理【1】通信内聚,功能内聚,逻辑内聚,时间内聚【

7、2】(3)-(4)-(1)-(2) 15. 什么是黑盒测试法?常用的黑盒测试方法有哪些?将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。 常见方法:等价类划分、边界值分析、因果图、错误推测。16. 选择程序设计语言应考虑哪些因素? 项目的应用领域,是选择语言的关键因素。软件开发方法:选择语言有时依赖该因素。 软件执行环境:对软件生产率、错误率和软件质量有影响。 算法和数据结构的复杂性。 软件开发人员的知识。与开发人员的知识水平和心理因素有关,有时对语言选择有影响。17. 什么是模块耦合性,有哪些类型? 耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密

8、程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。耦合性种类:数据耦合、标记耦合、控制耦合、公共耦合、内容耦合18.软件维护有哪些内容?:a、校正性维护b、适应性维护c、完善性维护d、预防性维护应用题:一、某校教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,可进行如下功能的处理:1查询成绩:查询成绩以及从名次表中得到名次信息;2学籍管理:根据学生总成绩排出名次信息;3成绩处理:处理单科成绩并输入成绩表中。就以上系统功能画出顶层和0层的DFD。顶层DFD:0层DFD:二、选择排序的伪代码如下共计10分; Select_sort ( a1,a2,an )

9、 for ( i=1;in;i+) k=i; for ( j=i+1;j=n;j+) if ( ajak ) k=j; if ( k!=i ) exchange ( ai,ak ); 请根据代码画出其PAD图。请根据代码画出其程序流程图三、下面是一个程序流程图,试分别用N-S图和PAD表示之,并计算其McCabe复杂度。对应的N-S图如下对应该的PAD图如下四、下面是一个程序流程图,试分别用N-S图和PAD表示之,并计算其McCabe复杂度。对应的N-S图如下对应该的PAD图如下五、设下图给出的程序流程图代表一个非结构化的程序,试问:1为什么说它是一个非结构化的? 2设计一个等价的使用附加标志

10、变量flag的结构化程序。3.设计一个使用break(用于代替goto)和程序。(1) 它是一个单入口,两出口的结构,所以是一个非结构化的程序。 (2) 等价的结构化程序:enum Boolean false, trueBoolean flag = true;while (P & flag)do Gif (!Q) flag = false;(3)等价的结构化程序:使用break程序while (P) do G; if (! Q) break;六、高考录取统分子系统有如下功能:(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2) 计算录取线分:根据标准分、招生计划文件中的

11、招生人数,计算录取线,存入录取线文件。试根据要求画出该系统的数据流图,并将其转换为软件结构图。【数据流图】【软件结构】 七、采用综合测试策略,对以下模块进行测试。要求写出测试方法,列出所有的判定,并给出所选择的用例。模块功能为:使用直接插入法将10 个整数按递增次序排列。main( ) /* 使用直接插入法int data =23,56,234,1,45,34,21,394,3,35;int i, j, temp;for(i=1;itemp&j=0) /*大者后移dataj+1=dataj; j-; dataj+1=temp; /* 插入正确位置for(i=0;i10;i+)printf(”%

12、d”,datai);printf(”n”);参考答案:1.采用综合测试策略,先进行静态测试:人工查走。未发现错误。2.使用白盒法进行动态测试只考虑关键路径,判定情况有:循环:for(i=1;itemp&j=0)3.选择一种覆盖标准,确定用例。注意:所确定的用例应该包括两部分:输入数据(10个整数),预期的输出结果。4.将实际输出与预期的输出结果进行比较,得出分析结论。八、画出与下图所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。 参考答案:(1)程序图如右图所示:(2)计算其巡回秩数:V(G)=E N +2=13 10 +2=5九、在医院病房监护系统中,病症监视器安置在每个病房,将病

13、人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。当病症出现异常时,系统会立即自动报警,通知值班医生及时进行处理,同时立即打印病人的病情报告和更新病历。试采用结构化分析方法建立需求分析模型(只画顶层)参考答案:十、综合论述题M公司由一群志趣相同的朋友创建于10年前,主要与科研院所合作进行开发实验型的新软件。主要采用瀑布模型进行软件开发,并取得了一些成功。最近你作为项目管理人员应聘加入M公司,根据你的经验认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的

14、理由。字数不超过300字。尊敬的副总裁:我公司的软件产品以开发实验型的新软件为主,而开发这类产品的最大问题是需求难以确定,能否对需求进行准确说明,直接关系到软件后期的开发质量,甚至决定了软件产品的成败。虽然我公司用瀑布模型进行软件开发取得了一些成功,但随着软件规模和复杂度的增加,结构化方法自身固有的缺点如线性开发,将充满回朔的软件开发过程硬性地割裂开,以致于无法确定需求等已经完全不能适应软件开发的需要。我建议采用快速原型(RCP)法,它强调软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。将维护和修改阶段的工作尽早进行,因此, RCP 法特别适宜开发实验型的新软件。以上建议请副总裁考虑!十一、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。1、2、.3、l ER模型

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

当前位置:首页 > 技术资料 > 技术规范

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁