软件工程课后习题答案(第八版) 下载本文

软件工程课后习题:

? What are the differences between generic software product development and custom software development? ? Solution:

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 differences in development processes but this is not necessarily the case.

重要区别为:在通用软件的开发过程中,详细说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,详细说明(规格说明书)由客户来制定。

? What are the four important attributes which all software products should have? Suggest four other attributes that may sometimes be significant. ? Solution:

For important attributes are maintainability可维护性,

dependability 可靠性, performance(efficiency)有效性 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) and inter-operability互用性 (can it work with a wide range of other software systems).

? What is the difference between a software process model and a software process? Suggest two ways in which a software process model might be helpful in identifying possible process improvements. ? Solution:

A software process is what actually goes on when software is

developed. A software process model is an abstraction and simplification of a process. Process models can be used to help understand real processes and to identify which aspects of these processes could be supported by CASE tools. 软件过程就是指在软件开发过程中所做的一些事情。软件过程模型是过程的抽象和简化。过程模型可用于帮助理解真正的过程,并可用于识别过程中的哪些方面可用CASE工具支持。

? Giving 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 follow systems:

1) Anti-lock braking system 2) Virtual reality system 3) University accounting system 4) Interactive timetable Solution:

(a) Anti-lock braking system: Safety-critical 安全鉴定system so

method based on formal transformations with proofs of equivalence等价 between each stage.

(b) Virtual reality system: System whose requirements cannot be

predicted预知 in advance预先地 so exploratory programming model is appropriate.

(c) University accounting system: System whose requirements should

be stable because of existing system therefore waterfall model is appropriate.

(d) 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.

? Why a software system that is used in a real world

environment must change or become progressively(日益增多地) less useful? ? Solution:

Systems must change because as they are installed in an environment

the environment adapts to them and this adaptation naturally generates new/different system requirements. 这种适应自然生成新的系统需求

Furthermore, the system's environment is dynamic and constantly

generates new requirements as a consequence of changes to the business, business goals and business policies.商务的目标以及政治相关Unless the system is adapted to reflect these requirements, its facilities will become out-of-step with the facilities needed to support the business and, hence, it will become less useful.

? Why a good programmers is not always be a good software managers? ? Solution:

Management activities such as proposal writing, project planning

and personal selection require a set of skill including presentation 表述能力and communication skills交流的能力. Organizational skills组织能力 and the ability to communicate with other project team members.

Programming skills are distinct from these, it is common that

they lack human communication skills他们缺乏交流技巧是一个普遍的事实. So it does not follow that good programmers can re-orient their abilities to be good managers.

管理活动包括提出书面建议,项目规划和进度,人员选择和评价,项目监督和评审,和

其他队友的交流能力等。程序设计者的任务就不是这些,他们不需要和人交流的能力,如果按照做好一个程序设计者的要求去做管理者的话,他肯定不是一个号的管理者。