《软件工程》期中试题一、选择题:1.The waterfall model of software development is also known as the ( ) AA. Classical life cycle modelB. Fountain modelC. Spiral modelD. Chaos model2.The incremental model of software development is ( ) BA. A reasonable approach when requirements are well defined.B. A good approach when a working core product is required quickly.C. The best approach to use for projects with large development teams.D. A revolutionary model that is not used for commercial products.3.COCOMO II is an example of a suite of modern empirical estimation models thatrequire sizing information expressed as ( ) DA. function pointsB. lines of codeC. application pointsD. anyof the above4.An effective risk management plan will need to address which of the followingissues ( ) DA. risk avoidanceB. risk monitoringC. contingency planningD. all of the above5.The relationships shown in a data model must be classified to show their( ) CA. Width and depthB. Directionality and reliabilityC. cardinality and modalityD. probability and risk6.The data dictionary contains descriptions of each software ( )BA. configuration itemB. data objectC. diagramD.notation7.The state transition diagram ( ) AA. indicates system reactions to external eventsB. depicts relationships between data objectsC. depicts functions that transform the data flowD. indicates how data are transformed by the system8.Which of the following is not an area of concern in the design model ( )DA. architectureB. dataC. interfacesD. projectscope9. A program design language (PDL) is often a ( ) AA. combination of programming constructs and narrative textB. legitimate programming language in its own rightC. machine readable software development languageD. useful way to represent software architecture10.What types of errors are missed by black-box testing and can be uncoveredby white-box testing ( ) BA. behavioral errorsB. subtle logic errorsC. performance errorsD. input error11.To achieve high modularity of software components you need CA. high coupling and high cohesionB. high coupling and low cohesionC. low coupling and high cohesionD. low coupling and low cohesion12.Which of the following is not an objective for building an analysis modelCA. define set of software requirementsB. describe customer requirementsC. develop an abbreviated solution for the problemD. establish basis for software design13.下图所示的软件模块结构图,该软件的宽度为()。
DA.1 B.3 C.5 D.614.面向对象的软件工程中,识别主类主要靠()。
AA.经验 B.技巧 C.启发式规则 D.面向对象分析理论15.用例图是()。
DA.系统特定行为的描述B.系统行为之间交互的描述C.系统和外部实体交互的描述D.系统特定行为和外部实体以及和其他行为交互的描述二、简答题:1.What are the differences between generic software product development and custom software developmentA:The essential difference is that in generic software product development, the specification is owned by the product developer. For custom product development,the specification is owned by the customer. Of course, there may be differencesin development processes but this is not necessarily the case.2.What are the four important attributes which all software products should have A:For important attributes are maintainability, dependability, efficiency and usability.3.A software architecture describes a high-level design view of a software system. What are the advantages of explicitly describing the architecture independently from the implementation参考答案(不够准确):The architecture may have to be designed before specifications are written to provide a means of structuring the specificationand developing different sub-system specifications concurrently, to allow manufacture of hardware by sub-contractors and to provide a model for system costing.4.Explain why it is important to produce an overall description of a system architecture at an early stage in the system specification process. A:An overall architectural description should be produced to identify sub-systems making up the system. Once these have been identified, they may be specified in parallel with other systems and the interfaces between sub-systems defined. 5.Requirements should state what a system should do, without stating how it shoulddo it. Why is this distinction useful6.Define black box and white box testing. What are the advantages of each approach Why are both necessary7.Full path coverage testing requires that every possible path through the codebe tested at least once. Why is full path coverage testing desirable For the code fragment above, how many test cases would be needed for full path coverage Why might full path coverage be impossible to achieve for some programs8.Why is software maintenance difficult Why is it necessary9.If you want develop an interactive system that allows railway passengers tofind train times from terminals installed in stations, which generic software process model that more suitable to management the development process And why A:Interactive timetable System with a complex user interface but which must be stable and reliable. Should be based on throw-away prototyping to find requirements then either incremental development or waterfall model.10.Describe four types of non-functional requirements that may be placed on asystem. Give examples of each of these types of requirement.A:There are many possibilities here. Some suggestions are shown in Figure .三、综合题1.The following table shows the estimated activity durations and pre-requisitesDraw a activity chart to determine the earliest week of completion, the activities which have some float or slack, and the activities on the critical path. Draw a bar chart showing the project schedule.2.绘制打电话的状态转换图3.某校教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,可进行如下功能的处理:查询成绩:查询成绩以及从名次表中得到名次信息。