软件工程考试题-2012
计算机二级考试软件工程题库及答案
计算机二级考试软件工程题库及答案一、选择题1. 下列哪个不是软件工程的基本特征?A. 可靠性B. 可维护性C. 可重复性D. 可移植性答案:C2. 软件需求分析的目的是什么?A. 建立软件体系结构B. 确定软件需求C. 设计软件模块D. 编写软件代码答案:B3. 下列哪个不是软件开发生命周期的阶段?A. 需求分析B. 设计C. 测试D. 销售答案:D二、填空题1. 软件工程的目标是提高软件的_________。
答案:质量2. 软件需求分析阶段的主要任务是对用户的需求进行_________。
答案:分析3. 软件测试的目的是为了发现软件中的_________。
答案:缺陷三、简答题1. 什么是软件开发生命周期?请简要描述各个阶段的主要任务。
答案:软件开发生命周期指的是软件从开始开发到结束的整个过程。
主要阶段包括需求分析、设计、编码、测试和维护。
需求分析阶段的主要任务是确定用户的需求;设计阶段的主要任务是根据需求设计软件的结构和模块;编码阶段的主要任务是根据设计编写软件代码;测试阶段的主要任务是发现并修复软件中的缺陷;维护阶段的主要任务是对软件进行更新和修复。
2. 请简要说明软件工程的重要性。
答案:软件工程的重要性体现在以下几个方面。
首先,软件工程可以提高软件的质量,确保软件能够满足用户的需求。
其次,软件工程可以提高软件的可维护性,使得软件可以持续更新和修复。
最后,软件工程可以提高软件的开发效率,节省时间和资源。
以上是计算机二级考试软件工程题库及答案的内容。
希望对您有所帮助!。
软件工程师考试题库(含答案)
软件工程师考试题库(含答案)以下是一些软件工程师考试的常见题目及其答案:1. 什么是软件工程?软件工程是一门系统性、规范性的学科,涉及开发和维护软件的原则、方法和工具。
2. 软件生命周期包含哪些阶段?软件生命周期包含需求分析、设计、编码、测试和维护等阶段。
3. 请解释需求分析阶段的重要性。
需求分析阶段是确定软件系统的需求和功能的过程,它对于后续的设计和开发非常重要。
在需求分析阶段,开发人员需要与用户明确需求,确保开发出满足用户需求的软件系统。
4. 请解释软件设计模式是什么。
软件设计模式是一套被广泛接受并经过验证的解决软件设计问题的经验法则。
它们是一些被认为有效的设计解决方案的模板。
5. 什么是软件测试?软件测试是检查和评估软件系统是否满足需求和预期的过程。
它有助于发现和修复软件中的错误和缺陷。
6. 解释一下集成测试和单元测试的区别。
单元测试是针对软件的最小可测试单元进行的测试,通常是对函数、方法或类进行测试。
而集成测试是将多个单元进行组合,并测试它们之间的交互是否正确。
7. 请简要介绍软件维护的类型。
软件维护包括以下类型:纠错性维护(修复错误)、适应性维护(适应环境变化)、完善性维护(改进性能和可用性)和预防性维护(预防潜在问题)。
8. 请说明软件工程师需要具备的技能和素质。
软件工程师需要具备良好的编程能力、系统思维、沟通能力和问题解决能力。
此外,他们还应具备团队合作和持续研究的精神。
以上是关于软件工程师考试题库的一些题目及答案,希望能对您的学习和准备有所帮助。
请自行补充更多题目和答案以扩展题库。
2012年软件开发考试复习题
一、单项选择题(本大题共10 小题,每小题2 分,共20 分)CBBCA CDCAD1.第三代程序设计语言属于()A.汇编语言B.机器语言C.过程化语言D.非过程化语言2.集成的软件开发环境是指()A.支持软件开发的通用软件B.支持软件开发全过程的集成软件C.支持某一阶段工作的专用软件D.操作系统3.模块的功能在逻辑上应尽可能地()A.全面、完整B.单一、明确C.全面、明确D.规范、完整4.将事物的静态属性和有关操作放在一个对象中,对外不公开这些属性和操作,这称为()A.隐蔽性B.安全性C.封装性D.完整性5.在软件开发过程中,由用户提出,由分析员采集,经过分析人员的理解,成为需求分析及设计的依据,这类信息是()A.有关系统环境、现状及需求的信息B.有关软件的功能设计与物理设计的各种信息C.有关软件成果本身、包括程序与文档类信息D.有关用户对系统的各种变更要求及系统各种变更的记录信息6.在软件开发过程中,描述客观世界状态与规律的概念模式是()A.时序网络B.计算机模拟模型C.数学与逻辑模型D.实体关系图7.各个分散的软件工具在集成为一个一体化的工具时,它们的内部()A.全部改变B.少部分改变C.大部分改变D.不发生改变8.AD/Cycle 中的需求分析阶段的任务是()A.充分了解用户需求B.制定发展规划C.建立逻辑模型D.完成系统总体设计9.决定购置还是自行开发软件开发工具,要考虑多种因素,其中最基本的是()A.待开发软件的性质与要求B.软件开发人员希望从开发工具得到的帮助C.待开发软件的工作平台D.软件开发人员的知识背景10.对应用领域的特点依赖最多的软件是()A.操作系统B.数据库管理系统C.高级语言D.软件开发工具二、多项选择题(本大题共10 小题,每小题2 分,共20 分)11.软件开发工具能够帮助开发人员(ABCE)A.明确需求B.提高编程效率C.完善文档D.维修硬件E.加强项目管理12.以下软件属于软件开发工具范围的有(ABD )A.报表生成器B.集成的软件开发环境C.防病毒软件D.数据字典管理系统E.游戏软件13.在可视化程序设计中,运用的技术手段包括(BCE)A.编辑与绘图B.指点与卡嗒C.删剪与粘贴D.显示与打印E.拖拉与扔下14.在软件工程中,为实现表达方式的标准化,需要统一规格的(ABC )A.数据流图B.数据字典C.模块结构图D.程序设计语言E.数据结构15.在SAA 的用户界面中,包括的内容有(ABCE)A.键盘操作B.鼠标操作C.数据录入D.资源分配E.帮助系统16.项目管理的基本目标有(BDE)A.尽量提高产品的数量B.有效地控制产品的质量C.保证安全,提高保密程度D.保证整个系统按预定的进度完成E.合理利用各种资源,尽量减少资料浪费和闲置17.属于SAA 对外系统的通信接口提供的功能是(ACDE )A.数据库查询B.数据流C.代码生成D.作业管理E.数据安全控制18.在信息库(Repository)中应存放的信息有(BDE )A.系统状况B.软、硬件资源的特点C.系统设计成果D.运行与测试状况记录E.项目管理与版本管理信息19.为了减少选择软件开发工具的盲目性,必须考虑(ABCE )A.是为了一个项目还是为了一批项目而购置工具B.在哪些工作阶段使用工具C.工具将供哪些人使用D.工具的销售情况E.工具在什么软、硬件环境下运行20.目前,软件开发工具的动向是(ABDE)A.智能化B.网络化C.商品化D.一体化E.标准化三、填空题(本大题共16 小题,每空1 分,共20 分)21.需求分析阶段产生的文档是软件功能说明书。
2012软件工程期末试题与答案
考题一.选择题(每题1.5分,共30分)( )1. 软件质量因素不包括。
A.正确性B.高性能C.可测试性D.可理解性( )2. 软件可行性研究实质上是要进行一次需求分析、设计过程。
A.简化、压缩的B.详细的C.彻底的D.深入的( )3. 以下哪个软件生存周期模型是一种风险驱动的模型A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型( )4. 可行性分析中,系统流程图用于描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统( )5. 结构化分析建立功能模型的工具是A.DFDB.判定树/判定表C.SCD.结构化语言( )6. 检查软件产品是否符合需求定义的过程称为A.确认测试B.集成测试C.系统测试D.单元测试( )7. 在整个软件维护阶段所花费的全部工作中,所占比例最大的是A.校正性维护B.适应性维护C.完善性维护D.预防性维护( )8. 通信内聚是指。
A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可( )9. 一个只有顺序结构的程序,其环形复杂度是A.0B.1C.3D.5( )10. 下述四个能力成熟度等级,级别最高的是A.已定义级B.优化级C.可重复级D.已管理级( )11. 结构化程序设计,主要强调的是A.程序的执行效率B.模块大小C.程序的可理解性D.模块关系( )12. 软件调试技术包括A.边界值分析B.演绎法C.循环覆盖D.集成测试( )13. 需求分析中开发人员要从用户那里了解A.软件做什么B.用户使用界面C.输入的信息D.软件的规模( )14. 数据字典是对数据定义信息的集合,它所定义的对象都包含于。
A.数据流图B.程序框图C.软件结构D.方框图( )15. 面向对象的主要特征除唯一性、继承性、多态性外,还具有。
A.封装性B.移植性C.完整性D.兼容性( )16. 关于软件维护的说法错误的是。
2012软件工程复习题(附答案)
《软件工程》复习题一、单项选择题1. ( C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A.多态B.继承C.封装D.消息2.Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时,可以实现( A )A.从数据结构导出程序结构B.从模块结构导出数据结构C.从数据流图导出初始结构图D.从模块结构导出程序结构3.下列模型属于成本估算方法的有(A )A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法4.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称为( C )A.软件工程B.软件周期C.软件危机D.软件产生5. 在软件生存周期中,(D)阶段所占用的工作量最大,约70%。
A.分析B.设计C.编码D.维护6. 软件测试的目的是(B)。
A.评价软件的质量B.发现软件的错误C.找出软件中所有错误D.证明软件是正确的7.模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚8.在SD方法中全面指导模块划分的最重要的原则是( B )A.程序模块化B.模块独立性C.模块低耦合D.模块高内聚9.下列属于维护阶段的文档是( C )A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告10.快速原型模型的主要特点之一是( D )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件11.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B )A.教正性维护B.适应性维护C.完善性维护D.预防性维护12.类库这种机制是( A )级别的信息共享。
A.不同应用B.不同类C.同一应用D.同一类13.只有单重继承的类层次结构是( C )层次结构。
A.网状型B.星型C.树型D.环型14.软件详细设计主要采用的方法是( D )A.模块设计B.结构化设计C.PDL语言D.结构化程序设计15.下列关于JSP方法不正确的说法是( D )A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
软件测试期末试题(A卷)(英文)
软件学院级软件工程专业(2012-1)《软件测试》期末试题试卷(A)(考试形式:闭卷考试时间:2小时)考试作弊不授予学士学位方向:___________ 姓名:______ 学号:成绩:____________注意:答案一定要写在答卷中,写在本试题卷中不给分。
答题时注明各题题号,并在答题纸上写上姓名和学号。
本试卷要和答卷一起交回。
一、选择题(每题3分)1. How many statements are true?(1) You can perform dynamic black-box testing without a product specification orrequirements document.(2) If your product development is in a hurry, you can skip module testing and proceeddirectly to integration testing.(3) Threat modeling is an informal process done by the software testers to decide where bestto apply their tests for security vulnerabilities.Answers: A) 0 B) 1 C) 2 D) 32. How many statements are true?(1) Regression tests show if all defects have been resolved.(2) Regression tests are typically well-suited for test automation.(3) Regression tests should be performed in integration testing.Answers: A) 0 B) 1 C) 2 D) 33. How many statements are true?(1) All software has a user interface and therefore must be tested for usability.(2) Compatibility is a product feature and can have different levels of compliance.(3) Always design your black-box test cases first.Answers: A) 0 B) 1 C) 2 D) 34. How many statements are true?(1) With the big-bang model of software development, we have lower cost of testing.(2) An invasive(侵入性) tool is the best type because it operates closest to the softwarebeing tested.(3) A good tester relentlessly strives(坚持不懈地追求) for perfection.Answers: A) 0 B) 1 C) 2 D) 35. How many statements are true?(1) Software testing is mainly needed to improve the quality of the developer’s work.(2) Rigorous testing and fixing of defects found can help reduce the risk of problemsoccurring in an operational environment.(3) Rigorous testing is sometimes used to prove that all failures have been found.Answers: A) 0 B) 1 C) 2 D) 36. Which statement below BEST describes non-functional testing?A) The process of testing an integrated system to verify that it meets specifiedrequirements.B) The process of testing to determine the compliance of a system to coding standards.C) Testing without reference to the internal structure of a systemD) Testing system attributes, such as usability, reliability or maintainability.7. Which one of the review types below are the BEST fitted (most adequate) options to review source code.A) Formal reviewB) InspectionC) Peer reviewD) Technical Review8. One of the test goals for the project is to have 100% decision coverage. The following three test cases have been executed for the control flow graph shown below.Test case 1 covers path: A, B, D, E, G.Test case 2 covers path: A, B, D, E, F, G.Test case 3 covers path: A, C, F, C, F, C, F, G.AB CDE FGWhich of the following statements related to the decision coverage goal is correct?A) Decision D has not been tested completely.B) 100% decision coverage has been achieved.C) Decision E has not been tested completely.D) Decision F has not been tested completely.9. An e mployee’s bonus is to be calculated. It cannot become negative, but it can be calculated to zero. The bonus is based on the duration of the employment. An employee can be employed for less than or equal to 2 years, more than 2 years but less than 5 years, 5 to 10 years, or longer than 10 years. Depending on this period of employment, an employee will get eitherno bonus or a bonus of 10%, 25% or 35%.How many equivalence partitions are needed to test the calculation of the bonus?A) 3 B) 5 C) 2 D) 410. Which one of the following techniques is structure-based?A) Decision testing (Logical Coverage).B) Boundary value analysis.C) Equivalence partitioning.D) State transition testing.二、简答题(每题6分)1. Why would a software tester like the spiral or iterative model better than the others?2. Why is it impossible to test a program completely?3. Explain what's wrong with this specification statement: When the user selects the Compact Memory option, the program will compress the mailing list data as small as possible using a Huffman-sparse-matrix approach.4、If you're testing a program's ability to print to a printer, what generic test-to-fail test cases might be appropriate?5、What are the three basic states of a software bug's life cycle and the two common additional states?三、应用题(每题20分)1、White-box(1) Give a flow chart for the following source code.(2) Analyze the basis path for the flow chart, and list the basis test paths.(3) Design a suite of test cases to coverage all these paths.Program list: binary search - c (simple)1. /**2. #include <stdio.h>3. /**4. * binary search (simple)5. *6. * @param7. * arr pointer of array8. * @param9. * len length of array10. * @param11. * x target to search12. *13. * @return14. index of target in the array,return -1 if not found,15. */16. int bin_search(int *arr,int len,int x) {17. // indexs18. int start = 0,end = len-1,middle;19. while (end >= start) {20. middle = (start + end) >> 1;21. if (*(arr+middle)==x) {22. return middle;23. } else if(x < *(arr+middle)) {24. end = middle - 1;25. } else {26. start = middle + 1;27. }28. }29. // not found30. return -1;31. }2、Black-boxDesign functional test cases for the following QQ login form.(1)Design the effective and efficiency test cases.(2)Explain the reasons why we select these test cases.。
下半年软考系统集成项目管理工程师上午下午试题解析及答案
2012 年下半年软考系统集成项目管理师上午试题解析及答案●某系统集成企业成立于 2010 年 6 月,注册资金 200 万元人民币,截止2012 年 8 月有 5项软件进行了著作权登记,但均未进行软件产品登记,该企业于 2012 年 9 月 1 日向资质评审机构提出计算机信息系统集成三级企业资质的申请,根据《计算机信息系统集成资质等级评定条件(2012 年修定版)》,下面说法正确的是(1)。
(1)A. 该企业已达到三级的评定条件B. 该企业成立时间不符合三级资质的要求C. 该企业因未取得软件产品登记而不符合三级资质要求D. 该企业的注册资金不符合三级资质要求●根据《计算机信息系统集成资质等级评定条件(2012 年修定版)》,关于计算机信息系统集成项目管理人员资质的人数要求,下面说法不正确的是(2)。
(2)A.一级资质企业要求具有计算机信息系统集成项目管理人员资质的人数不少于 30 名,其中高级项目经理人数不少于 10 名B. 二级资质企业要求具有计算机信息系统集成项目管理人员资质的人数不少于 18 名,其中高级项目经理人数不少于 4 名C. 二级资质企业要求具有计算机信息系统集成项目管理人员资质的人数不少于 5 名,其中高级项目经理人数不少于 2 名D. 四级资质企业要求具有计算机信息系统集成项目管理人员资质的人数不少于 2 名●C2C 电子商务模式中,常用的在线支付方式为(3)。
(3)A.电子钱包B.第二方支付C. 第三方支付D.支付网关●政府机构利用 Intranet 建立有效的行政办公和员工管理体系,以提高政府工作效率服务和公务员管理水平,这种电子政务的模式是(4)。
●在下列技术中,(5)提供了可靠消息传输、服务接入、协议转换、数据格式转换、基于内容的路由器等功能,能够满足大型异构企业环境的集成要求。
(5)A.ESB B.RUP C.EJB D.PERT●信息系统工程监理活动被概括为“四控、三管、一协调”,其中三管是指(6)。
软件工程试卷与答案
石家庄邮电职业技术学院201X 级2017/2018(2)学期考试试卷( A )课程名称:软件工程任课教师:考试时间: 120 分钟一、判断题(1 X 20=20分,正确的划√,错误的划×,请将答案画在题后表格内)。
1、模块的作用范围应该在模块的控制范围之内。
2、检查模块间的接口和通信关系的测试过程称为集成测试。
3、完善性维护占各种维护总量的一半以上。
4、在DFD中,最高层图称为0层图。
5、软件的维护与硬件的维护其本质不相同。
6、语句覆盖法属于黑盒测试方法。
7、在规定的条件下和规定的时间间隔内,软件实现其规定功能的概率称为可移植性。
8、应用程序原来使用Oracle8.0.5版本,现在需要在Oracle9i版本下运行,为此而对程序的修改,这一类维护属于适应性维护。
9、程序员应该自己测试自己编写的程序。
10、使用黑盒法进行测试时,测试用例应根据软件需求规格说明书设计。
11、在编程过程中要多用中间变量。
12、白盒测试法主要在验收测试中使用。
13、模块间的耦合越弱越好。
14、测试程序就是调试程序。
15、路径覆盖的测试功能最强,语句覆盖的功能最弱。
16、白盒法和黑盒法最大的不同在于测试用例的设计方法不同。
17、α测试是由用户在开发环境下进行,而β测试是由用户在实际使用环境下进行。
18、Putnam模型常用于软件进度管理。
19、对象图是一种静态图。
20、甘特图可用于软件项目的成本控制。
请将本题答案填入下表:二、单选题(1X15=15分)1、软件工程的目标是()A. 生产满足用户需要的产品B. 生产正确的、可用性好的产品C. 以较少的投入、最快的时间生产出高质量的软件D. 以合适的成本生产满足用户需要的产品2、软件可行性研究的目的是()A. 证明软件开发项目不可行B. 证明软件开发项目可行C. 说明软件开发项目值得或不值得做D. 确定软件开发项目要不要做3、数据流图的每个加工都必须有()。
A.一个输入和输出数据流 B.一个输入数据流C.一个输出数据流 D.一个输入或输出数据流4、评价模块独立性的标准是()。
2012软件测试题与答案
软件测试中期测试答案判断题(10分)软件测试只能发现错误,但不能保证测试后的软件没有错误。
(√)软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。
(×)测试人员说:“没有可运行的程序,我无法进行测试工作”。
(×)单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒进行动态测试。
(√)功能测试属于白盒测试的技术范畴。
(×)黑盒测试的测试用例是根据程序内部逻辑设计的。
(×)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
(√)集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试( ×)第三方测试是在开发方与用户方的测试基础上进行的验证测试( ×)验收测试是由最终用户来实施的。
(×)多项选择题(5分)从是否需要执行被测软件的角度,软件测试技术可划分的类型是:(AC )。
A、静态测试B、黑盒测试C、动态测试D、白盒测试下面选项中可能导致软件缺陷的原因有(ABD )。
A、软件需求说明书编写的不全面,不完整,不准确,而且经常更改B、软件设计说明书编写不准确C、软件使用人员的水平D、开发人员不能很好的理解需求说明书和沟通不足IIS提供的服务有(ABCD )A. FTPB. WWWC. SMTPD. NNTPVSS是一款配置管理工具,它提供了完善的版本和配置管理功能,VSS中我们处理的所有文档都称为文件,VSS对文件的常用操作有(ABC )A. check outB. check inC. undo check outD. copy典型的瀑布模型的四个阶段是:(BCDE)A、需求调研B、分析C、设计D、编码E、测试F、实施单项选择题(15分)单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A )。
A. 系统功能B. 局部数据结构C. 重要的执行路径D. 错误处理以下关于需求测试的描述中,不正确的是(D )需求测试是要检测需求规格说明书中设计的软件需求是否符合用户的要求。
软件测试工程师2012(上)真题
2012年(上)全国信息技术水平考试理论部分一、单项选择题(本大题共30小题,每题1.5分,共45分)1.依照ISO/IEC 9126-1质量模型,下列软件特性中属于安全保密子特性的是( )A.可靠性B.维护性C.可移植性 D.功能性2.性能测试是为描述测试对象与性能相关的特性对其进行评价而实施和执行的一类测试,不同角色对于软件性能的认识是不同的,其中系统管理员的认识是( )①支持的并发用户数、最大业务处理数②支持7×24小时连续运行③服务器资源使用是否合理④内存使用方式是否合理⑤线程同步方式是否合理⑥资源竞争是否合理A.①②③ B.①③④C.④⑤⑥ D.②③④3.对软件生命周期的把握是保证其质量的重要基础,那么软件生命周期包括( )A.项目签约、需求定义、需求分析、架构设计、程序编码、软件测试和运行维护B.项目规划、需求定义、需求分析、软件设计、程序编码、软件测试和运行维护C.项目规划、架构设计、软件设计、程序编码、软件测试和运行维护D.项目规划、需求分析、软件详细设计、程序编码、集成测试和运行维护4.某信息发布论坛,该系统有3000个用户,平均每天有1000个用户登录系统进行操作,每个用户从登录到退出的平均时间是4小时,在一天内,用户在8小时内使用该系统,则下列说法中正确的是().A.系统用户数为3000,在线用户1000 ,并发用户数为500,最大并发用户数为566 B.系统用户数为1000,在线用户3000 ,并发用户数为300,最大并发用户数为500 C.系统用户数为3000,在线用户1000 ,并发用户数为500,最大并发用户数为566 D.系统用户数为3000,在线用户1000 ,并发用户数为500,最大并发用户数为566 5.在软件投入运行前,对软件进行(),是软件质量保证的关键步骤。
6.下列关于性能测试中所包括的测试类型的描述正确的是(垒Z7<A.负载测试的目标是确定系统处理能力的极限B.压力测试是指在系统稳定运行情况下(保证总业务量),长时间运行系统的测试,考察系统的性能变化。
软件工程简答题及答案
软件工程简答题及答案
本文档将回答一些关于软件工程的简单问题。
包括软件开发模型、软件需求等方面。
软件开发模型
1. 软件开发模型有哪些?
常见的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、敏捷开发模型等。
2. 瀑布模型和原型模型的区别是什么?
瀑布模型是一种顺序开发模型,开发流程是依次完成需求分析、设计、编码、测试和维护;原型模型则是一种迭代开发模型,先制作出可用的原型,然后根据反馈不断改进,逐渐得到最终的产品。
3. 增量模型和螺旋模型的特点有哪些?
增量模型是一种迭代开发模型,每个阶段都制作可用的部分产品,直到全部完成;螺旋模型则是一种风险导向的开发模型,通过逐步分析和评估风险来制定开发计划。
4. 敏捷开发模型的优点是什么?
敏捷开发模型是一种迭代开发模型,强调开发过程中的人与人之间的交流和合作,可以更快地适应需求变化和快速反馈,有利于降低开发成本和风险。
软件需求
1. 软件需求是什么?
软件需求是指用户对软件系统的功能、性能和质量等方面的要求和期望,是软件开发过程中最重要的一部分。
2. 软件需求如何进行收集和分析?
软件需求的收集和分析是一个迭代的过程,包括与用户的沟通、需求规格化、需求验证等步骤,一般会使用到一些工具,如用户故事、用例规约等。
3. 软件需求如何进行管理和维护?
软件需求的管理和维护包括需求跟踪、版本控制等方面,一般会使用到一些工具,如需求管理工具、版本控制工具等。
通过本文的介绍,不难看出软件工程是一个相对复杂的领域,对于开发人员而言,要善于运用各种开发模型和需求管理工具,以便能够更好地完成软件开发和维护工作。
2012年10月全国自考软件工程模拟试题和答案(五)
2012年10⽉全国⾃考软件⼯程模拟试题和答案(五)2012年10⽉全国⾃考软件⼯程模拟试题和答案(五)⼀、单项选择题(本⼤题共20⼩题,每⼩题1分,共20分)在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题后的括号内。
错选、多选或未选均⽆分。
1. 在配置管理中,“检出”和“登⼊”处理实现了两个重要的变更控制要素,即()和同步控制。
A. 异步控制B. 同步控制C. 基线控制D. 存取控制答案:D2. 软件开发环境⽀持⼀定的()或按照⼀定的软件开发模型组织⽽成。
A. 软件⽣存周期B. 软件过程C. 软件开发⽅法D. 软件开发模型答案:C3. 确认测试中,作为测试依据的⽂档是()A. 需求规格说明书B. 设计说明书C. 源程序D. 开发计划答案:A4. 瀑布模型本质上是⼀种()模型。
A. 线性顺序B. 顺序迭代C. 线性迭代D. 及早见产品答案:A5. 以下说法错误的是()A. 采⽤⾯向对象⽅法开发软件的基本⽬的和主要优点是通过重⽤提⾼软件的⽣产率B. 在⾯向对象程序中,对象是属性(状态)和⽅法(操作)的封装体C. 在⾯向对象程序中,对象彼此间通过继承和多态性启动相应的操作D. 继承和多态机制是⾯向对象程序中实现重⽤的主要⼿段答案:C6. 为了提⾼软件的质量和(),软件质量保证的主要任务有:⼒争不重复劳动,掌握开发新软件的⽅法等⼋类任务。
A. 测试B. 维护C. 质量D. 效率答案:D7. 结构化分析⽅法使⽤的描述⼯具“()”描述系统由哪⼏部分组成,各部分之间有什么联系等等。
A. 数据流图B. 数据字典C. 判定表D.判定树答案:A8. 质量保证是为了保证产品和服务充分满⾜消费者要求的质量⽽进⾏的有计划、有组织的活动。
质量保证是为了使产品实现()的功能。
A. 系统分析员B. 程序员C. 软件开发者要求D. ⽤户要求答案:D9. 按照软件配置管理的原始指导思想,受控制的对象应是()A. 软件元素B. 软件配置项C. 软件项⽬D. 软件过程答案:B10. 在结构化分析⽅法中,⽤以表达系统内数据的运动情况的⼯具有()A. 数据流图B. 数据词典C. 结构化英语D. 判定树与判定表答案:A11. Jackson⽅法根据()来导出程序结构。
软件工程实用教程(2版)-第2章-习题与参考答案-2012-3-15
《软件工程实用教程》习题与参考答案第2章软件生存周期及开发模型1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软件生存周期主要包括哪几个阶段?答案要点:软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个阶段:可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包括单元测试)、集成测试、确认测试、系统运行和维护。
这几个阶段又可以归纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。
2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?答案要点:瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利。
例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段性的评审等。
这为提高软件产品质量提供了有效保证。
瀑布模型的特点:•阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档。
•阶段评审:在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返工,如果评审不合格,则不开始下一阶段的工作。
•文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段的任务。
3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?答案要点:原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。
将模拟的手段引入需求分析的初期阶段,通过建立原型缩短用户与分析人员之间的距离。
快速原型方法具有以下一些特点。
•快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。
一旦需求或设计确定下来,原型就将被抛弃。
因此快速原型要求快速构建、容易修改,以节约原型创建成本,加速开发速度。
快速原型往往采用软件生成工具来创建,例如,4GL语言。
软件工程B
…………….……………..装……………………订………………..线…………….……………..阜阳师范学院2012 —— 2013学年度第 一 学期考试卷物理与电子科学学院学院 2009电子专业 软件工程 课程,共 3 页, 第1页,共印刷份, 2013 年 月 日—考试,任课教师 王森 拟题 电子教研室 学号一、填空题(在括号内填写正确的答案,每题3分,共30分)1. 常用的软件开发模型有 瀑布 、增量模型、 原型 、 螺旋 、喷泉模型。
2. 软件生存周期一般可分为问题定义、__问题定义_、_可行性分析__________、设计、_____编码______、 测试、运行与维护等阶段。
3. 可行性研究,应从 技术可行性 、 经济可行性 、 技术可行性 和法律和社会效益可行性等方面研究。
4. 结构化程序设计中程序主要的3种基本控制结构是顺序结构 、选择结构、循环结构 。
5. 软件生存周期中时间最长、花费精力和费用最多的一个阶段是 维护 阶段。
6. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是 功能需求 。
7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的 逆向工程 。
8.程序测试是对编码阶段的语法错、 语义错 和 运行错 进行查找的编码执行活动。
9.为了获得较高的模块独立性,尽量设计出具有 高耦合 和 低内聚 性能的模3. 下列关于模块的描述,错误的是( D )。
A 、 具有独立的模块软件比较容易开发出来B 、 独立的模块的维护和测试比较容易C 、 模块的独立程度可以通过内聚和耦合标定D 、 独立的模块一般不能完成一个相对独立的特定子功能 4. ( A )是用户和设计人员交换意见最频繁的方法。
A 、 原型化方法B 、瀑布模型方法C 、 螺旋模型方法D 、构件组装模型5. 在软件的需求分析中,开发人员要从用户那里了解的最重要问题是( D )。
A 、要让软件做什么B 、要给该软件提供哪些信息C 、要求软件工作效率怎样D 、要让软件具有何种结构6. 使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
2012年3月全国计算机等级考试二级VB笔试试卷 文字版
2012年3月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计(考试时间90 分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是()。
A)循环队列是队列的一种链式存储结构B)循环队列是队列的一种顺序存储结构C)循环队列是非线性结构D)循环队列是一种逻辑结构(2)下列叙述中正确的是A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A)16 B)10 C)6 D)4(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)外模式B)内模式C)概念模式D)逻辑模式(5)在满足实体完整性约束的条件下A)一个关系中应该有一个或多个候选关键字B)一个关系中只能有一个候选关键字C)一个关系中必须有多个候选关键字D)一个关系中可以没有候选关键字(6)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)并C)交D)差(7)软件生命周期中的活动不包括A)市场调研B)需求分析C)软件测试D)软件维护(8)下面不属于需求分析阶段任务的是A)确定软件系统的功能需求B)确定软件系统的性能需求C)需求规格说明书评审D)制定软件集成测试计划(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图(10)在软件设计中不使用的工具是A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图(11)以下合法的VB变量名是A)case B)name10 C)t-name D)x*y(12)设x是小于10的非负数。
对此叙述,以下正确的VB表达式是A)0≤x<10 B)0<=x<10C) x≥0 And x<10 D)x>=0 Or x<=10(13 以下关于窗体的叙述中,错误的是A)窗体的Name属性用于标识一个窗体B)运行程序时,改变窗体大小,能够触发窗体的Resize事件C)窗体的Enabled属性为False时,不能响应单击窗体的事件D)程序运行期间,可以改变Name属性值(14)下面定义窗体级变量a的语句中错误的是A)Dim a% B)Private a%C)Private a As Integer D)Static a%(15)表达式Int(Rnd(0)*50)所产生的随机数范围是A)(0,50) B)(1,50) C)(0,49) D)(1,49)(16)设x=5,执行语句Print x = x + 10,窗体上显示的是A)15 B)5 C)True D)False (17)设有如下数组声明语句:Dim arr(-2 To 2, 0 To 3) As Integer该数组所包含的数组元素个数是A) 20 B) 16 C) 15 D) 12(18)现有由多个单选按钮构成的控件数组,用于区别该控件数组中各控件的属性是A)Name B)Index C)Caption D)Value(19)设有分段函数:5 x<0y = x*2 0≤x≤5x*x+1 x>5以下表示上述分段函数的语句序列中错误的是A) Select Case x B) If x < 0 ThenCase Is < 0 y = 5y = 5 ElseIf x <= 5 ThenCase Is <= 5, Is > 0 y = 2 * xy = 2 * x ElseCase Else y = x * x + 1y = x * x + 1 End IfEnd SelectC) y = IIf(x < 0, 5, IIf(x <= 5, 2 * x, x * x + 1)) D) If x < 0 Then y = 5If x <= 5 And x >= 0 Then y = 2 * xIf x > 5 Then y = x * x + 1(20)设程序中有如下语句:x = InputBox("输入", "数据", 100)Print x运行程序,执行上述语句,输入5并单击输入对话框上的“取消”按钮,则窗体上输出A)0 B)5 C)100 D)空白(21)现有如下一段程序:Option Base 1Private Sub Command1_Click()Dim aa = Array(3, 5, 7, 9)x = 1For i = 4 To 1 Step -1s = s + a(i) * xx = x * 10NextPrint sEnd Sub执行程序,单击Command1命令按钮,执行上述事件过程,输出结果是A)9753 B)3579 C)35 D)79(22)设有一个命令按钮Command1的事件过程以及一个函数过程,程序如下:Option Base 1Private Sub Command1_Click()Static x As Integerx = f(x + 5)ClsPrint xEnd SubPrivate Function f(x As Integer) As Integerf = x + xEnd Function连续单击命令按钮3次,第3次单击命令按钮后,窗体上显示的计算结果是A)10 B)30 C)60 D)70(23)以下关于菜单设计的叙述中错误的是A)各菜单项可以构成控件数组B)每个菜单项可以看成是一个控件C)设计菜单时,菜单项的“有效”未选,即,表示该菜单项不显示D)菜单项只响应单击事件。
软件工程试卷及答案
2011-2012学年第2学期硕士研究生《软件工程》期末考试试卷一. 简答题(每题5分,共50分)1. 简述软件工程的基本原理。
答:1、用分阶段的生命周期计划严格管理;2、坚持进行阶段评审;3、实行严格的产品控制;4、采用现代程度设计技术;5、结果应能清楚地审查;6、开发小组的人员应该少而精;7、承认不断改进软件实践的必要性。
2. 软件需求分析经过哪些步骤?答:需求分析可分为需求提出、需求描述及需求评审三个阶段。
需求提出主要集中于描述系统目的。
需求提出和分析仅仅集中在使用者对系统的观点上。
开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。
这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。
需求描述在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。
分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。
需求评审在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。
一旦发现遗漏或模糊点,必须尽快更正,再行检查。
3. 总体设计的任务和步骤是什么?答:总体设计的任务是:1、划分出组成系统的物理元素,包括程序、文件、数据库、人工过程和文档等,并不涉及物理元素内部设计。
2、设计软件结构,确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
步骤是:1、设想供选择的方案;2、选取合理方案;3、推荐最佳方案;4、功能分解;5、设计软件结构;6、设计数据库;7、制定测试计划;8、书写文档;9、复审。
4.简述变换分析的基本步骤。
《软件工程》试题及参考答案(第3套)
《软件⼯程》试题及参考答案(第3套)厦门理⼯软件学院2011 –2012 学年度下期《软件⼯程》试题(第3套)题号⼀⼆三四五总分题分第⼀部分选择题⼀、单项选择题(本⼤题共20⼩题,每⼩题1分,共20分)在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题后的括号内。
错选、多选或未选均⽆分。
1.开发软件所需⾼成本和产品的低质量之间有着尖锐的⽭盾,这种现象称做( )A.软件⼯程B.软件周期C.软件危机D.软件产⽣2.研究开发所需要的成本和资源是属于可⾏性研究中的研究的⼀⽅⾯。
( )A.技术可⾏性B.经济可⾏性C.社会可⾏性D.法律可⾏性3.模块的内聚性最⾼的是( )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚4.在SD⽅法中全⾯指导模块划分的最重要的原则是( )A.程序模块化B.模块⾼内聚C.模块低耦合D.模块独⽴性5.软件详细设计主要采⽤的⽅法是( )A.模块设计B.结构化设计C.PDL语⾔D.结构化程序设计6.⿊盒测试在设计测试⽤例时,主要需要研究( )A.需求规格说明与概要设计说明B.详细设计说明C.项⽬开发计划D.概要设计说明与详细设计说明7.若有⼀个计算类型的程序,它的输⼊量只有⼀个,其范围是现从输⼊的⾓度考虑⼀组测试⽤例:设计这组测试⽤例的⽅法是( )A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法8下列属于维护阶段的⽂档是( )A.软件规格说明B.⽤户操作⼿册C.软件问题报告D.软件测试分析报告9快速原型模型的主要特点之⼀是( )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到⼯作软件 ;D.及早提供⼯作软件10.因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为( )A.教正性维护B.适应性维护C.完善性维护D.预防性维护11.下列⽂档与维护⼈员有关的有( )A.软件需求说明书B.项⽬开发计划C.概要设计说明书D.操作⼿册12.下列模型属于成本估算⽅法的有( )A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法13. ()是把对象的属性和操作结合在⼀起,构成⼀个独⽴的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接⼝与对象发⽣联系。
2012年下半年软件设计师上午试题及答案
1.在CPU中,_____不仅要保证指令的正确执行,还要能够处理异常事件。
A.运算器B.控制器C.寄存器组D.内部总线2.循环冗余校验码(CRC)利用生成多项式进行编码,设数据位为k位,校验位为r位,则CRC码的格式为______。
A.k个数据位之后跟r个校验位B.r个校验位之后跟k个数据位C.r个校验位随机加入k个数据位中D.r个校验位等间隔地加入k个数据位中3.以下关于数的定点表示和浮点表示的叙述中,不正确的是_______。
A.定点表示法表示的数(称为定点数)常分为定点整数和定点小数两种B.定点表示法中,小数点需要占用一个存储位C.浮点表示法用阶码和尾数来表示数,称为浮点数D.在总位数相同的情况下,浮点表示法可以表示更大的数4.______不属于按寻址方式划分的一类存储器。
A.随机存储器B.顺序存储器C.相联存储器D.直接存储器5.在I/O设备与主机间进行数据传输时,CPU只需在开始和结束时作少量处理,而无需干预数据传送过程的是________方式。
A.中断B.程序查询C.无条件传送D.直接存储器存取6.________不属于系统总线。
A.ISAB.EISAC.SCSID.PCI7.下列安全协议中,与TLS最接近的协议是________。
A.PGPB.SSLC.HTTPSD.IPSec8.用户B收到用户A带数字签名的消息M,为了验证M的真实性,首先需要从CA获取用户A的数字证书,并利用(1)验证该证书的真伪,然后利用(2)验证M的真实性。
(8)A.CA的公钥B.B的私钥C.A的公钥D.B的公钥(9)A.CA的公钥B.B的私钥C.A的公钥D.B的公钥10.N软件公司的软件产品注册商标为N,为确保公司在市场竞争中占据优势,对员工进行了保密约束,此情形下该公司不享有________。
A.商业秘密权B.著作权C.专利权D.商标权11.X软件公司的软件工程师张某兼职于Y科技公司,为完成Y科技公司交给的工作,做出了一项涉及计算机程序的发明。
软件工程实用教程(2版)-6章-习题与参考答案-2012-5-28
层与层之间的耦合应尽可能地松散,这样只要保证接口一致,某一层的具体实现就很容易被扩展和替换;
级别相同,职责类似的元素应该被组织到同一层中;
复杂的模块应被继续分解为粒度更细的层或子系统;
应尽量将可能发生变化的元素封装到一个层次中,这样发生变化时我们只要改变受影响的层就可以了;
4.举例说明各种程序设计语言的特点及适用范围。
答案要ห้องสมุดไป่ตู้:
JAVA:面向对象,多线程,可重用性强,继承,多态,有庞大的Applet和GUI库,网络应用广泛等
C:是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。
《软件工程实用教程》
第
1.简述分层模式的特点及设计时的注意事项。
答案要点:
表示层:图形用户界面、窗口等。
应用逻辑层:管理业务过程的任务和规则。
对象存储层:持久化存储机制,例如,文件系统、数据库等。
这种体系结构的主要特征是将应用逻辑从软件中分离出来,形成了一个单独的逻辑中间层。把应用逻辑和存储逻辑分开是非常重要的,这样不管哪一部分的改变都不会影响其他的部分。
(2)基于使用的测试。这种策略首先测试几乎不使用服务器类的那些类(称为独立类),把独立类都测试完之后,再测试使用独立类的下一个层次的类(称为依赖类)。对依赖类的测试一个层次一个层次地持续进行下去,直至把软件系统构造完为止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南师范大学计算机与信息工程学院2013―2014学年度 2010级计算机科学与技术专业期末考试《软件工程》A 卷
1. 软件:按照特定顺序组织的计算机数据和指令的集合
软件生命周期模型:指人们为开发更好的软件而归纳总结的软件生命周期的典型实践参考 软件危机:(泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
)
2. 软件工程:应用计算机科学、数学及管理科学等原理开发软件的工程。
它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。
3. 结构化分析方法:强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。
4. 软件工程三要素:方法、工具和过程。
:
5. 软件开发工具:支持软件开发人员开发和维护软件活动而使用的软件(指的是很方便地把一种编程语言代码化并编译执行的工具。
其中主要的语言开发工具有几大类:java 开发工具、net 开发工具、delphi 开发工具等。
)
1. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案(X )
2. SA 方法是面向数据流,建立在数据封闭原则上的需求分析方法(√ )
3. 模块的设计要力求做到高内聚、低耦合(√ )
4. 软件开发、设计几乎都是从头开始,成本和进度很难估计。
(√ )
5. 类图用来表示系统中类和类之间的关系,它是系统动态结构的描述(X )
6. 划分模块可以降低软件复杂度和工作量,所以应该将模块划分得越小越好。
(X )
7. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。
( √ )
8. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。
( √)
9. 缺乏处理大型软件项目的经验。
是产生软件危机的唯一原因。
( X )
10. 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E -
R 图。
(√)
11. 纠错性维护是改正运行期间发现的潜伏错误。
(√)
12. 软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。
(X )
13. 设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理学以及人-机工
程学、语言学等学科的知识。
(X )
14. 第四代语言(4GL )还局限在某些领域内,如数据库查询语言。
(√) 15. 用穷举测试是较现实的测试方法。
(X )
16. 测试不能找出软件中存在的所有错误,因此软件设计完成后可以不进行测试。
(X ) 17. 软件开发过程中不存在所谓的风险,因此分析分析软件开发过程不重要。
(X) 18. 软件开发过程中,文档是非常重要的,它既是软件开发过程中阶段结束标记,也是软件
设计、测试、维护等工作的依据。
(√)
19. 软件是手工产品,软件的开发只能定制,所有软件费用较高。
(√) 20. 没有开发经验的程序员,不能开发出高质量的软件。
( X )
一、概念解释(每题2分,共10分)
二、判断题(每题1分,共20分)
姓名:________ 学号:__________ 年级:______________ 专业:_____________
…….……………………….密…………………封…………………线…………………………
1. 什么是需求分析?需求分析阶段的基本任务是什么?
需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的
2. 说明软件测试在软件开发阶段的地位和作用,比较测试和调试的异同点。
答:软件测试是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审,对软件的可靠性有着非常重要的影响。
(2分) 测试是为了发现程序中的错误而执行程序的过程。
(1分) 调试是在测试发现错误之后排除错误的过程。
(1
分) 测试的目标是发现软件中的错误,但发现错误并不是最终目的,通过测试发现的错误之后必须诊断并改正错误,这就是调试的目的,调试是测试阶段最困难的工作。
(2分)
(1、保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审。
2、测试是为了发现错误、调试是为了改正错误。
)
3. 为什么说瀑布模型是软件生存周期中最基本的模型,说明瀑布模型的优、缺点 瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。
瀑布模型的优点:
开发的各个阶段比较清晰 强调早期计划及需求调查 适合需求稳定的产品开发 瀑布模型的缺点:
依赖于早期需求调查,不适应需求的变化 单一流程,不可逆
风险往往迟至后期才显露,失去及早纠正的机会 测试仅是编码的后一阶段
4. 软件危机的表现、产生软件危机的原因,及软件危机的解决方法? 表现:.开发的软件不能满足用户的要求
.软件费用和进度失控 .软件可维护性差 软件的生产率低
软件规模的增长,导致软件复杂度增加 软件文档不完整 原因:软件规模越来越大
软件开发管理困难 软件开发技术落后 软件开发费用不断增加 生产方式落后 开发工具落后
解决方法:(1) 充分吸收和借鉴人类长期以来从 事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施:(用工程的、科学的概念、原理、技术和方法,进行软件的开发、管理和维护。
)
5. 软件在使用过程中维护有哪几种? 1)改正性维护 2)完善性维护 3)适应性维护 4)预防性维护
1、软件工程的目标是什么?(10分)
软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。
追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
◆ (付出较低的开发成本 ◆ 达到要求的软件功能 ◆ 取得较好的软件性能 ◆ 开发的软件易于移植 ◆ 需要较低的维护费用
◆ 能按时完成开发,及时交付使用
)
2. 画出银行存取款过程的0层数据流图。
问题的描述为:储户用存折取款。
首先填写取款单,根据“帐卡”中的信息检验取款单与存折,如有问题,将问题反馈给用户,否则,登陆“储户存储数据库”,修改相应的数据,并更新“帐卡”,同时发出付款通知,出纳向储户付款。
(10分)
三、简答题(每题3分,共15分)
四、综合题(共55分)
3.试述对用户要求没有完整的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因。
(10分)
1、没有反映用户需求的文档和很好的总体设计、详细设计,使软件的可维护性差
2、后期增加需求,可能需要修改软件结构,使工作量大量增加
3、不能满足用户的需求
4、要满足用户需求必须大量的打补丁,造成软件质量下降
5、超出费用预算和工期延误
说明需求分析在软件设计过程中的重要性,而需求的困难性表现在那些方面?
需求分析是软件开发过程中最重要、最关键的工作,决定了软件开发的最终成败与效益。
需求分析可以使得开发和测试更能够了解客户的需求,把一些技术难点和可能遇到的难点问题提出来,尽早解决,并且达到一致,便于以后的开发和测试
客户对功能的具体要求并不完全清楚;
客户可能忘记了某些重要的功能需求;
客户不能确定数据的格式;
客户无法理顺数据之间的关系;
软件工程师对数据的理解与客户的差异较大;
软件工程师不知道缺少了重要的数据甚至功能;
软件工程师的数据处理不符合客户的习惯
4.针对右下图给出的程序流程图,请写出所有的条件组合,并给出一组合理的测试用例,
覆盖所有的条件组合。
(10)
124,125,134,135,
下面组测试用例,可以满足路径覆盖票准a=2,b=0,x=2 覆盖路径124,覆盖条件1和
a=2,b=1,x=1 覆盖路径134,覆盖条件2和
a=1,b=1,x=1 覆盖路径135,覆盖条件4和
a=3,b=0,x=1 覆盖路径125,覆盖条件1和
5. 结合自己的实际经验和体会,谈谈对软件开发和软件管理的体会(15分)
1. 软件领域中的知识在于积累。
2. 做软件开发,就类似算数学题和世界杯足球赛一样:重在结果,而不在乎过程。
3. 软件服务于人类,软件是在解决一些生活中的问题和错误,问题决定解决方案。
第一,相信团队合作才可能把项目做到最好。
3、要有很强的沟通与协调能力。
4、建立一个有凝聚力的高效团队。
5、能真正地理解软件管理。
6、无论多辛苦,都要持之以恒地工作。