《软件工程》试题及参考答案(第9套)

合集下载

软件工程基础考试题及答案多套

软件工程基础考试题及答案多套

《软件工程基础》考核题该门课程不用现场笔试考试(网上预约考试时间为虚设),请预约该门课程考试的学生将答案手写A4答题纸上,于规定时间内交到学习中心,哈站交到班主任处。

未预约的学生提交的内容作废处理,预约后不按规定时间提交按旷考处理。

(答题纸附在第二页,所有答案必须写在答题纸上,标清题号)一、选择题(每小题3分,共30 分)1、准确地解决“软件系统必须做什么”是()阶段的任务。

A.可行性研究 B. 需求分析C. 软件设计D. 程序编码2、软件生存期中时间最长的是()阶段。

A. 需求分析B. 软件设计C. 软件测试D. 软件运行/维护3、在结构化分析方法中用状态―迁移图表达系统或对象的行为。

在状态―迁移图中,由一个状态和一个事件所决定的下一状态可能会有( )个。

供选择的答案:A. 1B. 2C. 多个D. 不确定4、软件需求分析阶段的工作,可以分为以下4个方面: 对问题的识别、分析与综合、编写需求分析文档以及()。

A.总结B.阶段性报告C.需求分析评审D.以上答案都不正确5、在软件生存周期的瀑布模型中一般包括计划、()、设计、编码、测试、维护等阶段。

A 可行性分析B 需求采集C 需求分析D 问题定义6、软件工程包括三个要素:方法、工具和()。

A 过程B 软件系统C 硬件环境D 人员7、需求分析最终结果是产生( )。

A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书8、数据字典中,一般不出现的条目是( )。

A.数据流B.数据存储C.加工D.源点与终点11、9、在软件测试中,下面说法中错误的是( )。

A. 测试是为了发现程序中的错误而执行程序的过程B. 测试是为了表明程序是正确的C. 好的测试方案是极可能发现迄今为止尚未发现的错误的方案D. 成功的测试是发现了至今为止尚未发现的错误的测试10、用面向对象方法开发软件,通常需要建立3种形式的模型,它们分别对象模型、()、功能模型。

A.动态模型 B. 状态模型C. 系统模型D. 用户模型二、选择填空题(每小题10分,共20分)1、在面向对象软件设计过程中,应按如下要求进行类的设计:只有类的共有界面的成员才能成为使用类的操作,这就是软件设计的( A )原则。

软件工程第9版部分习题答案

软件工程第9版部分习题答案

习题参考答案Exercises(Homework): P251.3 What are the four important attributes that all professional software should have? Suggest four other attributes that may sometimes be significant.Answer:Four important attributes are maintainability, dependability, performance and usability. Other attributes that may be significant could be reusability (can it be reused in other applications), distributability (can it be distributed over a network of processors), portability (can it operate on multiple platforms e.g laptop and mobile platforms) and inter-operability (can it work with a wide range of other software systems).Decompositions of the 4 key attributes e.g. dependability decomposes to security, safety, availability, etc. is also a valid answer to this question.2.1Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems:• A system to control anti-lock braking in a car• A virtual reality system to support software maintenance• A university accounting system that replaces an existing system • An interactive travel planning system that helps users plan journeys with the lowest environmental impactAnswer:Plan-driven processes are processes where all of the process activities are planned in advance and progress is measured against this plan.1. Anti-lock braking system This is a safety-critical system so requiresa lot of up-front analysis before implementation. It certainly needs a plan-driven approach to development with the requirements carefully analysed. A waterfall model is therefore the most appropriate approach to use, perhaps with formal transformations between the different development stages.2. Virtual reality system This is a system where the requirements will change and there will be an extensive user interface components. Incremental development with, perhaps, some UI prototyping is the most appropriate model. An agile process may be used.3. University accounting system This is a system whose requirements arefairly ell-known and which will be used in an environment in conjunction with lots of other stems such as a research grant management system. Therefore, a reuse-based proach is likely to be appropriate for this.4. Interactive travel planning system System with a complex user interface but which must be stable and reliable. An incremental development approach is the most appropriate as the system requirements will change as real user experience with the system is gained.2.4Suggest why it is important to make a distinction between developing the user requirements and developing system requirements in the requirements engineering process.Answer:There is a fundamental difference between the user and the system requirements that mean they should be considered separately.1. The user requirements are intended to describe the system’s functions and features from a user perspective and it is essential that users understand these requirements. They should be expressed in natural language and may not be expressed in great detail, to allow some implementation flexibility. The people involved in the process must be able to understand the user’s environment and application domain.2. The system requirements are much more detailed than the user requirements and are intended to be a precise specification of the system that may be part of a system contract. They may also be used in situations where development is outsourced and the development team need a complete specification of what should be developed. The system requirements are developed after user requirements have been established.Excercises(Homework): P1164.2,*4.44.2Discover ambiguities or omissions in the following statement of requirements for part of a ticket-issuing system:An automated ticket-issuing system sells rail tickets. Users select their destination and input a credit card and a personal identification number.The rail ticket is issued and their credit card account charged. When the user presses the start button, a menu display of potential destinations is activated, along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card.Its validity is checked and the user is then requested to input a personal identifier. When the credit transaction has been validated, theticket is issued.Answer:Ambiguities and omissions include:●• Can a customer buy several tickets for the same destination togetheror must they be bought one at a time?●• Can customers cancel a request if a mistake has been made?●• How should the system respond if an invalid card is input?●• What happens i f customers try to put their card in before selectinga destination (as they would in ATM machines)?●• Must the user press the start button again if they wish to buy anotherticket to a different destination?●• Should the system only sell tickets between t he station where themachine is situated and direct connections or should it include all possible destinations?4.4Write a set of non-functional requirements for the ticket-issuing system, setting out its expected reliability and response time.Answer:Possible non-functional requirements for the ticket issuing system include:1. Between 0600 and 2300 in any one day, the total system down time should not exceed 5 minutes.2. Between 0600 and 2300 in any one day, the recovery time after a system failure should not exceed 2 minutes.3. Between 2300 and 0600 in any one day, the total system down time should not exceed 20 minutes.All these are availability requirements –note that these vary according to the time of day. Failures when most people are traveling are less acceptable than failures when there are few customers.4. After the customer presses a button on the machine, the display should be updated within 0.5 seconds.5. The ticket issuing time after credit card validation has been received should not exceed 10 seconds.6. When validating credit cards, the display should provide a status message for customers indicating that activity is taking place. This tells the customer that the potentially time consuming activity of validation is still in progress and that the system has not simply failed.7. The maximum acceptable failure rate for ticket issue requests is 1: 10000.Excercises(Homework): P143-1445.2,5.5,5.6,5.75.2How might you use a model of a system that already exists? Explain why it is not always necessary for such a system model to be complete and correct. Would the same be true if you were developing a model of a new system?Answer:You might create and use a model of a system that already exists for the followingreasons:1. To understand and document the architecture and operation of the existingsystem.2. To act as the focus of discussion about possible changes to that system.3. To inform the re-implementation of the system.You do not need a complete model unless the intention is to completely document the operation of the existing system. The aim of the model in such cases is usually to help you work on parts of the system so only these need to be modelled. Furthermore, if the model is used as a discussion focus, you are unlikely to be interested in details and so can ignore parts of the system in the model.This is true, in general, for models of new systems unless a model-based approach to development is taking place in which case a complete model is required. The other circumstances where you may need a complete model is when there is a contractual requirement for such a model to be produced as part of the system documentation.5.5Develop a sequence diagram showing the interactions involved when a student registers for a course in a university. Courses may have limited enrolment, so the registration process must include checks that places are available. Assume that the student accesses an electronic course catalog to find out about available courses.Answer:A relatively simple diagram is all that is needed here. It is best not to be too fussy about things like UML arrow styles as hardly anyone can remember the differences between them.5.6Look carefully at how messages and mailboxes are represented in the email system that you use. Model the object classes that might be used in the system implementation to represent a mailbox and an e-mail message. Answer:5.7Based on your experience with a bank ATM, draw an activity diagram that models the data processing involved when a customer withdraws cash from the machine.Answer:Notice that I have not developed the activities representing other services or failed authentication.Excercises(Homework): P173-1746.1,6.3,6.96.1When describing a system, explain why you may have to design the system architecture before the requirements specification is complete.Answer:The architecture may have to be designed before specifications are written to provide a means of structuring the specification and developing different subsystem specifications concurrently, to allow manufacture of hardware by subcontractors and to provide a model for system costing.6.3Explain why design conflicts might arise when designing an architecture for which both availability and security requirements are the most important non-functional requirements.Answer:Fundamentally, to provide availability, you need to have (a) replicated components in the architecture so that in the event of one component failing, you can switch immediately to a backup component. You also need to have several copies of the data that is being processed. Security requires minimizing the number of copies of the data and, wherever possible, adopting an architecture where each component only knows as much as it needs to, to do its job. This reduces the chance of intrudersaccessing the data.Therefore, there is a fundamental architectural conflict between availability (replication, several copies) and security (specialization, minimal copies). The system architect has to find the best compromise between these fundamentally opposing requirements.6.9Using the basic model of an information system as presented in Figure 6.16, suggest the components that might be part of an information system thatallows users to view information about flights arriving and departing from a particular airport.Answer:Students should consider the levels in the information system and should identify components that might be included at each level. Examples of these componentsmight be:Level 1 (Database level)Flight database; Flight status database; Airport information; Level 2: (Information retrieval level)Status management; Flight management; Search;Level 3: (User interaction level)Authentication; session management; forms processing () Level 4 (User interface)Input checking (Javascript), browserExcercises(Homework): P202-2037.1, 7.37.17.1 Using the structured notation shown in Figure 7.3, specify the weather station use cases for Report status and Reconfigure. You should make reasonable assumptions about the functionality that is required here.Answer:7.37.3 Using the UML graphical notation for object classes, design the following object classes, identifying attributes and operations. Use your own experience to decide on the attributes and operations that should be associated with these objects.• a teleph one• a printer for a personal computer• a personal stereo system• a bank account• a library catalogueAnswer:There are many possible designs here and a great deal of complexity can be added to the objects. However, I am only really looking for simple objects which encapsulate the principal requirements of these artefacts. Possible designs are shown in the above diagram.。

软件工程填空题(18套试题与答案)

软件工程填空题(18套试题与答案)

《软件工程》填空题二、填空题(请把答案写在相应的横线上,每小题1.5分)1、软件是数据、计算机程序及其说明程序的各种文档。

2、概要设计主要是把各项功能需求转换成系统的体系结构。

3、面向对象开发方法包括OOA 、OOD 、OOP 三部分。

4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。

5、在单元测试时,需要为被测模块设计驱动模块和桩模块。

6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。

7.子类自动共享父类的属性和操作的机制称为继承。

8. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。

9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。

10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。

11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。

12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。

13. 对象的抽象是___类___。

14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。

因此,基线可以作为项目的一个___检查点__。

15. 软件工程包括软件开发技术和__软件工程管理__两大部分内容。

16、开发过程管理包括项目计划、控制和___任务管理__等。

17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。

18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。

19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_。

20、子类只继承一个父类的属性和操作,这称为__单重继承__。

21、McCabe复杂性度量又称__环路度量_。

22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型。

软件工程(第四版)习题及解答9-8

软件工程(第四版)习题及解答9-8
(3)系统流程图
第3章
一、判断题
1√ 2 × 3√ 4 × 5√ 6× 7× 8√
二、选择题
1-5 BACDB 6-10 ABDAA 11-15 BABDB 16-20 ADCDB
三、简答题
1、需求分析的基本任务是要准确地理解旧系统、定义新系统的目标,为了满足用户需要,回答“系统必须做什么”的问题,即确定系统必须完成哪些工作,对新系统提出完整、准确、清晰、具体的要求。
数据流图的主要成分有四种:数据流、数据存储、加工、数据流的源点和终点。
4、
数据词典是数据的集合,它对数据流图中的各个元素作完整的定义和说明,是数据流图的补充工具。数据流图和数据词典共同构成系统的逻辑模型,两者缺一不可。
其内容包括:数据流、数据项、数据结构、数据存储、加工逻辑、外部实体6类元素。
四、应用题
2、软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
专业=”01”...”99”注:专业代号2位数字
班级=”01”...”99”注:班级代号2位数字
学分=0..99
2、数据流图如下:
3、
顶层图:
顶层图
0层图:
0层图
4、
判定表如下:
设:性别:男:M女:F
学历:初中:A高中B大专:C
年龄:小于25: C25至40:Y40以上:L
1
2
3
4

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)-CAL-FENGHAI.-(YICAI)-Company One1软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是( B )A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。

A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。

A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。

A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。

A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。

A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。

动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A )。

2022年秋季《软件工程》全国自考试题含解析

2022年秋季《软件工程》全国自考试题含解析

2022年秋季《软件工程》全国自考试题一、单项选择题1、RUP设计阶段的主要活动不包含______。

A.程序设计B.体系结构设计C.用况设计D.类设计2、结构化分析方法给出了一种能表达功能模型的工具是______。

A.HIPO图B.PAD图C.N-S图D.DFD图3、软件工程在20世纪60年代末到80年代初获得的主要成果有______。

A.CASE产品B.面向对象语言C.瀑布模型D.软件生存周期过程4、在教师科研方案中规定对教授、副教授和讲师分别计算分数,做相应的处理,则根据黑盒测试中的等价类划分技术,下列划分正确的是______。

A.3个有效等价类,3个无效等价类B.3个有效等价类,1个无效等价类C.1个有效等价类,1个无效等价类D.1个有效等价类,3个无效等价类5、软件生存周期是指______。

A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间6、软件测试中,白盒测试技术依据的是程序的______。

A.逻辑结构B.输入数据C.状态D.功能7、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。

A.PAD图B.流程图C.类图D.N-S图8、使用用况图可以实现业务建模和系统建模,而得到业务模型和系统模型之间具有的关系是______。

A.整体/部分B.一般/特殊C.功能/过程D.静态/动态9、下列不属于创建一个系统的类图步骤是______。

A.模型化待建系统中的概念,形成类图中基本元素B.模型化待建系统中的各种关系,形成该系统的初始关系C.模型化系统中的接口,不需给出该系统的最终类图D.模型化逻辑数据库模式10、集成化能力成熟度模型(CMMI)中有22个过程域,分为4类:项目管理类、工程类、过程管理类和______。

A.需求管理类B.支持类C.项目包类D.目标类11、下列不属于软件危机的主要表现是______。

(完整版)软件工程习题+答案(可编辑修改word版)

(完整版)软件工程习题+答案(可编辑修改word版)

一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。

B)问题定义,可行性研究,需求分析。

C)可行性研究,需求分析,问题定义。

D)以上顺序都不对。

(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。

B)技术可行性,经济可行性,系统可行性。

C)经济可行性,系统可行性,操作可行性。

D)经济可行性,系统可行性,时间可行性。

3.耦合是对软件不同模块之间互连程度的度量。

各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。

B)内容耦合,控制耦合,公共环境耦合,数据耦合。

C)内容耦合,公共环境耦合,控制耦合,数据耦合。

(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D)控制耦合,内容耦合,数据耦合,公共环境耦合。

4.在详细设计阶段所使用到的设计工具是:(C )A)程序流程图,PAD 图,N-S 图,HIPO 图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。

C)判定表,判定树,PDL,程序流程图,PAD 图,N-S 图。

D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。

详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD 图、N-S 图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD 数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。

B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。

D)以上说法都不对。

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件工程期末试题(一)单项选择题1。

瀑布模型的存在问题是( B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A。

软件工程 B.软件周期C.软件危机D。

软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A。

数据、公共、标记、控制B。

数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4。

在SD方法中全面指导模块划分的最重要的原则是(D )A。

程序模块化B。

模块高内聚C。

模块低耦合D。

模块独立性5.软件测试的目的是( B ).A.评价软件的质量B。

发现软件的错误C.找出软件的所有错误D。

证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。

A.等价类划分 B. 边界值分析C。

因果图D。

判定表7。

需求分析最终结果是产生( B )。

A。

项目开发计划B。

需求规格说明书C。

设计说明书D。

可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。

A. 调用关系B. 组成关系C。

链接关系 D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C ).A。

功能 B. 外部接口C. 算法和使用的数据结构 D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A。

保存测试用例和数据B。

提高模块的独立性C.文档的副作用D。

养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n)B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示.动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A ).A .状态图B。

数据流图C。

系统结构图 D. 时序图13。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

厦门理工软件学院2011 –2012 学年度下期
《软件工程》试题(第9套)
第一部分选择题
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、软件可行性研究一般不考虑 ( )
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、软件生命周期中所花费用最多的阶段是(D)
A、详细设计
B、软件编码
C、软件测试
D、软件维护
8、因计算机硬件和软件环境的变化而作出的修改软件的过程称为 ( )
A.校正性维护
B.适应性维护
C.完善性维护
D.预防性维护
9、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( ) 。

A、时间内聚
B、功能内聚
C、信息内聚
D、过程内聚
10、B
11、D12、A13、B14、D15、A16、C 17、B18、A19、D20、B
10、结构化设计又称为( )
A、概要设计
B、面向数据流设计
C、面向对象设计C、详细设计
11. 协作图反映收发消息的对象的结构组织,它与()是同构的。

A 用例图
B 类图
C 活动图
D 时序图
12.黑盒测试在设计测试用例时,主要需要研究( )
A.需求规格说明与概要设计说明
B.详细设计说明
C.项目开发计划
D.概要设计说明与详细设计说明
13. CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

除第1级外,每个等级都包含了实现该成熟度等级目标的若干()。

A 关键实践
B 关键过程域
C 软件过程能力
D 软件过程
14.结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于( )
A.它强调编程风格 B.选择良好的数据结构和算法
C.有限制地使用GOTO语句D.只有三种基本结构
15.()意味着一个操作在不同的类中可以有不同的实现方式。

A 多态性
B 多继承
C 类的复用
D 封装
16.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为( )
有形实体 B.作用C.事件 D.性能说明
17. COCOMO模型可用来()
A 度量程序复杂程度
B 计算软件开发成本
C 估计程序的故障总数
D 估计软件开发所需时间
18.为高质量地开发软件项目,在软件结构设计时,必须遵循_________原则。

()
A.信息隐蔽B.质量控制
C.程序优化D.数据共享
19. DFD中的每个加工至少需要( )
A. 一个输入流
B. 一个输出流
C. 一个输入或输出流
D. 一个输入流和一个输出流
20.下面关于面向对象方法中消息的叙述,不正确的是( )。

A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息
D.发送与接收消息的通信机制与传统的子程序调用机制不同
二、填空题(本大题共10小题,每小题2分,共20分)
1. Putnam模型是一个动态多变量模型,适用于软件开发的各个阶段,该估算模型以大型软件项目的实测数据为基础,
2. 对用例的完整描述包括用例名称、参与执行者、前置条件、一个主事件流、0到多个辅事件流、后置条件。

3.问题分析阶段的核心技术是问题抽象、问题分解及需求建模。

4.单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。

5.一个典型的重用组织机构应该由重用管理组、重用支持组、系统开发组和软部件开发组构成
6.软件产品的基本属性是可维护性、可依赖性、有效性、可用性
7. 测试策略应包含测试规划、测试用例设计、测试实施和测试结果收集评估等。

8. 影响编码质量的因素包括编程语言、编程准则和编程风格,它们对程序的可靠性、可读性、可测试性和可维护性都将产生深远的影响。

9.设计模型则包含以包图表示的软件体系结构图,以交互图表示的用例实现图,完整、精确的类图,以及针对复杂对象的状态图、用以描述流程化处理过程的活动图等。

10. UML的类包含三个部分:类的名称、属性列表、方法列表。

三、名词解释题(本大题共5小题,每小题3分,共15分)
1、水平原型是指仅仅模拟目标软件系统某一层面(通常是用户界面层)的原型。

2、CASE工具是一些软件系统,支持软件过程的常规活动,如编辑设计图表、检查图表的连贯性、跟踪已经运行的程序测试等。

3、部署图(deployment diagram) 描述软件系统运行环境的硬件及网络的物理体系结构。

4、垂直原型是指模拟目标软件系统某一部分的多个层面的原型。

当目标系统的内部功能和用户界面都需要借助原型来确定时,这类原型特别有用。

一般的进化性原型都属于垂直原型。

5、数据抽象把一个数据对象的定义(或描述 )抽象为一个数据类型名,用此类型名可定义多个具有相同性质的数据对象。

四、简答题(本大题共5小题,每小题5分,共25分)
1.设计模型精化时需要考虑的任务:
以顶层架构图为基础,精化目标软件系统的体系结构;精化类之间的关系;
精化类的属性和操作;针对具有明显状态转换特征的类,设计状态图;
针对比较复杂的类方法,设计活动图。

2、人机界面的风格大致经历了那四代的演变:
最早,即在图形显示、鼠标、高速工作站等技术出现之前,现实可行的界面方式只能是命令和询问方式,通信完全以正文形式并通过用户命令和用户对系统询问的响应来完成。

第二代界面是简单的菜单式。

第三代界面是面向窗口的点选界面,亦称为WIMP界面。

最新一代HCI把第三代HCI技术与超文本、多任务概念结合起来,使用户可同时执行多个任务(以用户的观点)。

3.螺旋模型的基本开发过程可描述如下:
需求定义2)风险分析3)工程实现4)评审。

上述过程将不断迭代,直至给出用户满意的目标软件产品。

4.启发式设计策略最常用的几条有:
改造程序结构,减小耦合度,提高内聚度。

改造程序结构,减少高扇出,在增加程序深度的前提下追求高扇入。

改造程序结构,使任一模块的作用域在其控制域之内。

改造程序结构,减少界面的复杂性和冗余程度,提高协调性。

模块功能应该可预言,避免对模块施加过多限制。

改造程序结构,追求单入口单出口的模块。

为满足设计或可移植性的要求,把某些软件用包(Package)封装起来。

5. 采用信息隐藏原理指导模块设计优点:
支持模块的并行开发;减少软件测试和软件维护的工作量。

五、综合应用题(第1小题10分,第2小题10分,共20分)
高考录取统分子系统有如下功能:
(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流程图,并将其转换为软件结构图。

答:(1)数据流图:
(2)软件结构图
输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形,“判定三角形类别”程序算法用等价类划分和边界值分析法设计测试用例。

先划分等价类并编号
为合理等价类设计测试用例,对于表中对应的四个合理等价类,用三个测试用例
覆盖。

为每一个不合理等价类设计一个测试用例:
用边界值法设计测试用例:。

相关文档
最新文档