软件工程复习

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

软件工程复习大纲

1. IEEE是如何定义的软件和软件工程的?

2. 软件工程三个要素是什么?

3. 软件工程基础理论研究和工程化技术研究的内容是什么?

4. 软件是如何分类的?

5. 为什么软件维护的费用一直居高不下?根据你的分析,软件维护的主要困难何在?克服这些困难的途径何在?

6. 系统分析过程,必须考虑哪八个方面的问题?

7. 系统分析员应具备的素质是什么?

8. 系统技术评审的评审内容包括哪些问题?

9. 系统管理评审的范围应包括哪些比较关键的问题?

10. Vitalari和Dickson的研究说明系统分析和设计哪六大困难?11. 软件需求分析的基本原则有哪些?

12. 建立快速原型进行系统的分析和构造,有哪些好处?

13. PIECES模型的组成部分是什么?对每个组成部分进行简要描述。

14. 说出并简述科德对问题域需求的收集和建模的面向对象方法的四大活动。

15. 软件工程经常提到“困难”或“复杂”的系统,他们指什么?程序难于理解与程序难于设计之间是否有所差别?

16. 试论信息隐蔽与模块的独立性两概念之间的关系。

17. 模块内聚有哪七种类型?

18. 传统的软件设计有什么缺点?

19. 列出并描述面向对象方法论的8个特点。

20. 软件复用范围的层次和软件复用技术类型?

21. 列举并简要讨论科德分析模型的5个层次和4个部件?

22. 列举并简要讨论科德面向对象方法论的符号。

23. 描述一个信息系统,最少需求什么?

24. 定义符号,简要描述它在面向对象的信息系统中的重要性。

25. 纠错性维护与排错是否同一件事?说明你的理由。

26. 请列出有利于提高可维护性的软件开发和程序设计技术。

27. 提高软件可靠性最有效的技术有哪些?软件可靠性与软件质量有何差别?

28. 若你是一个小项目的主管,你将为此工程设置哪些基线,又如何控制它们?

29. 制定一个用于配置审计的核查清单(CheckList)

30. 简述SW-CMM中的配置管理内容。

31. 请将影响软件质量的因素按重要性次序排列。作为项目管理人员,你认为应该如何度量这些因素?如何利用度量结果在软件开发过程中有效地提高软件质量?

32. 简单说明软件成熟度模型。

33. 简单说明MaCall给出的11个质量要素特性及其英文名称。

34. 简单说明DADM设计方法。

35. 企业信息模型是什么?

36. 什么是Web工程的多学科性?

1.1 IEEE是如何定义的软件和软件工程的?

答:1983年IEEE给出的定义为:“软件工程是开发、运行、维护和修复软件的系统方法”。其中“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所需要的数据。

1993年IEEE进一步给出了一个更全面的定义:

软件工程是:①把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;②研究①中提到的途径。

1.2软件工程三个要素是什么?

答:软件工程三要素是方法、工具、过程

1.3软件工程基础理论研究和工程化技术研究的内容是什么?

答:软件工程的研究除了计算机软件本身外,还涉及许多其它的领域,如管理科学、心理学、经济学、人机工程学等,所以,它是一门综合性的学科。

基础理论研究:主要目标是用形式化技术解决软件生产中所遇到的问题,如需求规格的描述,规格到系统的转换,系统测试、维护及理解等,主要为解决“做什么”的描述手段问题。

工程化技术研究:总结软件开发过程的规律,探讨软件开发过程的工程化因素、方法及工程支持,解决“怎么做”的问题。

1.4软件是如何分类的?

答:软件的分类按其功能可分为系统软件支撑软件和应用软件

软件的分类按其规模可分为1 微型2 小型3 中型4 大型5 甚大型6 极大型

1.5 为什么软件维护的费用一直居高不下?根据你的分析,软件维护的主要困难何在?克服这些困难的途径何在?

答:首先是没有充分认识到软件维护的重要性和困难;其次是没有系统地考虑软件维护问题,例如从需求分析和系统设计时就考虑到维护的问题;还有管理问题和技术问题,例如文档与编码难于理解,又难于修改。文档质量差和不全,开发技术陈旧。

2.1 系统分析过程,必须考虑哪八个方面的问题?答:在系统分析过程,一般必须考虑下面八个方面的问题:

(1)所期望的功能和性能是什么?

(2)可靠性和质量问题是哪些?

(3)总的系统目标是什么?

(4)成本与进度限制如何?

(5)制造的需求是什么?

(6)市场与竞争情况怎样?

(7)有效的技术有哪些?

(8)将来可能有哪些扩充?

2.2 系统分析员应具备的素质是什么?

答:系统分析员通常应具备的下面的基本素质:

(1)能够熟练地掌握计算机硬、软件的专业知识,具有一定的系统开发经验。

(2)善于进行抽象的思维和创造性的思维,善于把握抽象的概念,并把它们重新整理成为各种逻辑成分,并给出简明、清晰的描述。

(3)善于从相互冲突或混淆的原始资料中抽取出恰当的条目来。

(4)善于进行调查研究,能够很快学习用户的专业领域知识,理解用户的环境条件。

(5)能够倾听他人的意见,注意发挥其他人员的作用。

(6)具有良好的书面和口头交流表达能力。

2.3 系统技术评审的评审内容包括哪些问题?

答:系统技术评审的评审内容包括的问题:

(1)系统功能复杂性是否与开发风险、成本和进度评估保持一致?

(2)系统采用的术语、系统与子系统功能定义是否足够详细?(3)系统与环境的接口以及各个子系统之间的接口定义是否详细?

(4)系统规格说明是否指明系统性能、可靠性和可维护性的问题?

(5)系统规格说明是否为后续的硬件工程、软件工程打下坚实的基础?

2.4 系统管理评审的范围应包括哪些比较关键的问题?

答:系统管理评审的范围应包括的比较关键的问题:

(1)系统是否有一个稳定的商业需求,系统开发是否有意义?

(2)系统开发是否有市场价值或社会效益?

(3)系统开发是否有其它选择方案?

(4)系统各部分的开发风险是什么?

(5)系统开发所需资源是否具备?

(6)成本和进度计划是否恰当?

2.5 Vitalari和Dickson的研究说明系统分析和设计哪六大困难?

答:Vitalari和Dickson的研究说明系统分析和设计有如下六大困难:

(1)分析问题就其本质来说,开始时问题的边界和结构定义就不清楚和有不少问题,解决方案的本质也有很大的不确定性。

(2)系统分析员提出的问题解决方案是人为方案。

(3)分析活动具有动态性。

相关文档
最新文档