Chapter 1 An Introduction to Software Engineering
1. Why software engineering is important?
    软件工程由应对软件危机也产生,软件工程的发展极大地完善了我们的软件。软件工程的研究使得我们对软件开发活动有个更深入的了解,并且已经到了进行软件描述、设计和实现的有效方法。软件工程中新的标记发和工具大大降低了制作大型、复杂系统的工作量
2. What is software? What is software engineering?
    软件是程序和所有使程序正确运行所需要的相关文档和配置信息。
    软件工程是一门工程学科,包括了软件开发的各个方面,从最初的系统描述一直到使用后的系统维护,都属于其学科范畴。
3. What is the difference between software engineering and computer science?
    计算机科学研究的是构成计算机和软件系统基础的有关理论和方法,耳软件工程则研究软件制作中的实际问题。计算机科学侧重理论和基础; 软件工程侧重软件开发和交付的实际活动。
4. What are the attributes of good software?
软件除了提供基本的功能,对用户来说是还应该是可维护的、可依赖的和可接受的。可维护性,软件必须能够不断变化以满足变化;可依赖性,软件必须可以被信赖;有效性,软件不能浪费系统资源;可用性,使用起来比较容易
5. What is CASE?
CASE 工具是一些软件系统,被设计成支持软件过程中的常规活动,如编辑设计图表、检查图表的连贯性、跟踪已经运行的程序测试等。
6. What is the difference between software engineering and system engineering?
系统工程侧重于计算机系统开发的所有方面,包括硬件、软件和处理工程。 软件工程是整个系统的一部分,它关心系统中基础软件、控制软件、应用软件和数据库的开发。
7. What are software engineering methods?
计算机软件开发培训    软件工程方法是一种软件开发的结构化方法,目的在于提高软件质量的同时,使其性价比较高。它包括系统模型、符号、规则、设计建议和过程指导。
8. What are the key challenges facing software engineering?
多样性的挑战,发展新技术以建立起能够使不同平台、不同执行环境的软件一起工作的软件;交付的挑战,发展新技术以带来软件的更快的交付;信任的挑战,发展新技术以展示软件是能够被使用者信任的。
9. Issues of professional responsibility
保密,工程人员必须严格保守客户或雇主的机密,而不管是否签署了保密协议。
工作能力,工程人员应如实的表述自己的工作能力,不应有意接受超过自己能力的工作.
知识产权,工程人员应当知晓控制专利权、著作权等知识产权使用的地方法律,必须谨慎行事,确保雇主和客户的知识产权受到保护.
计算机滥用,软件工程人员不应运用自己的技能滥用他人的计算机。滥用计算机有时对他人影响不大(如在雇主的计算机上玩游戏),但有时后果非常严重(传播病毒)。
10. Code of ethics principles
公众感,软件工程人员应当始终保持与公众利益一直。
客户和雇主,软件工程人员应当始终保持与公众利益一直的前提下,满足客户和雇主的最大利益.
产品,软件工程人员应当保证他们的产品及其相关附件达到尽可能高的行业标准。
判断力,软件工程人员应当具有公正而独立的职业判断力.
管理,软件工程管理者和领导者应当拥护并倡导合乎道德的有关软件开发和维护的管理方法。
职业感,软件工程人员应当弘扬职业正义感和荣誉感,尊重社会公众利益。
同事,软件工程人员应当公平的对待和协助每一位同事。
自己,软件工程人员应当毕生学习专业知识,提倡合乎职业道德的职业活动方式
11. If you are a software engineer, what code of ethics – principles should you obey? And describe why?
    10题中的全部或部分
Chapter 2 Socio-technical Systems
2. What modal does the system engineering process usually follow? And why ?.
    系统工程中,通常采用瀑布模型。因为系统的不同部分需要并行的开发,而系统工程中的硬件一般十分昂贵,所以开发中返工的余地非常小。
3. What are the five steps of the system design process?
    分割需求;识别子系统;为子系统分配需求;描述子系统功能;定义子系统接口
4. Why system evolution is inherently costly?
    像软件进化一样,系统进化是昂贵的,其原因如下:
    (1) 必须从业务和技术的角度对提议的变更做仔细的分析。在变更生效之前必须经过有关人员的认同。
    (2) 因为子系统都不是鼓励存在的,对一个子系统的变更可能会对其他子系统的性能或行为造成负面影响。
    (3) 原始设计决策的理由时常未被记录。把一个特别的设计决策产生的原因出来,对于系统进化是有意义的。
    (4) 当系统运行相当长时间后,其结构被修改得复杂凌乱,系统进化的成本进一步增加。
2. System modelling is usually presented as a 方块图              .
3. After completion, the system has to be installed in   用户环境              .
4. The systems engineering process includes    描述            ,     设计      ,
    开发      and   集成        . System     集成      is particularly critical.
5. List three examples of emergent properties.     体积            可靠性          ,
  信息安全性            .
6. The system design process includes:   分割需求    , identify sub-systems,  为子系统分配需求          , specify sub-system functionality,  定义子系统接口        .
7. What is emergent system properties? Please list three examples of emergent properties?
系统特性不能归于任何一个专门的组件,只有从系统整体上看是这些特性才会浮现出来。
    体积、可靠性、信息安全特性、可维修性、可用性
8. The systems engineering process
9. The figure below shows intruder alarm system
Fill the blanks with the component types in alarm system from the figure.
Communication:    语音合成器         
Sensor:              门传感器    ,  运动传感器     
Interface:            电话呼叫器         
Actuator:              警笛         
Co-ordination:          警报控制器         
10. The system design process
11. Whats Emergent property?  同7题
Chapter 3 Software Processes
1. Generic activities in all software processes are :   软件描述    软件设计和实现  ,
软件有效性验证  and   软件进化  .
2. List three kinds of CASE systems (not tools). 工具、工作平台、环境
3. List three kinds of generic software process models.    瀑布模型、进化式开发、基于组件的软件工程
4. What are the RUP (Rational Unified Process ) phases?
    RUP中的阶段是紧密关联于业务的,而不是关联于技术层面。他们是:    (1) 开端(2) 细化(3) 构造(4) 转换
5. What are the problems of evolutionary development?(1)过程不可见;(2)系统结果通常较差;
6. What are the advantages of the incremental development
(1)客户无需等到整个系统实现,第一个增量会满足他们大多数关键的需求。
(2)客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。
(3)项目总体失败的风险比较低。(4)最高优先权的增量会得到更充分的测试。
Extreme programming
7. Please list three types of generic software process models: 瀑布模型  , 金华市开发  and 基于组件的软件工程  .
8. List at least generic software process models.