软件工程导论知识总结

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

软件工程导论

第一章:软件工程学概论

1. 软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2. 概括的说,软件危机包括两方面问题:如何开发软件已满足日益增长的需求;如何维护数量不断膨胀的已有软件。

3. 软件危机的典型表现:对软件开发成本和进度的估计常常很不准确;用户对“已完成的”软件系统不满意的现象经常发生;软件的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速不及深入的趋势。

4. 产生软件危机的原因:在软件开发和维护的过程中存在这么多严重的问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

5. 在实践过称中或多或少的采用了错误的方法和技术,这可能是使软件问题发展成软件危机的主要原因。

6. 软件不同与硬件,他是计算机系统中的逻辑部件而不是物理部件。

7. 软件不同于一般程序,他的一个显著特点是估摸庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

8. 软件本身独有的特点确实给开发和维护带来一些客观困难。

9. 对用户要求没有完整的认识就匆忙着手编写程序是软件开发功臣失败的主要原因之一。

10. 一个软件从定义、开发、使用和维护,直到最终被遗弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生命周期。

11. 软件是程序、数据及相关文档的完整集合。其中,程序是能够完成预定功能和性能的可执的指令序列;数据是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。

12. 软件工程是指导计算机软件开发和维护的一门工程学科。

13. 软件工程是:把系统的、规范的、可度量的途径应用与软件开发、运行和维护过程,也就是吧工程应用与软件;研究前面所提到的途径。

14. 软件工程的本质特性:软件工程关注与大型程序的构造;软件工程的中心课题是控制复杂性;软件经常变化;开发软件的效率非常重要;和谐的合作是开发软件的关键;软件必须有效地支持他的用户;在软件工程领域中通常由具有一种文化背景的人体另一种具有文化背景的人创造产品。

15. 软件工程的基本原理:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚的审查;开发小组的人员应该少而精;承认不断该井软件工程的必要性。

16. 软件工程包括技术和管理两方面得内容,是技术与管理紧密结合所形成的工程学科。

17. 通常把在软件生命周期全过程中使用的一套技术方法的集

合称为方法学,也称之为范型。

18. 方法学三要素:方法、工具和过程。

19. 传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

20. 面向对象方法学与传统方法学相反,它吧数据和行为看成是同等重要的,他是一种一数据为主线,把数据和对数据的操作紧密的结合起来的方法。

21. 棉线对象方法学的要点:把对象作为融合了数据及在数据上的操作行为的统一的软件构件;把所有的对象都划分成类;按照父类与子类的关系,把若干相关类组成一个层次结构的系统;对象彼此间仅能通过发送消息互相联系。

22. 传统方法学强调自顶而下顺序的完成软件开发的各项任务。

23. 面向方法学开发软件的过程,是一个主动地多次反复迭代的演化过程。

24. 面向对象范型的优点:降低了软件产品的复杂性,提高了软件的可理解性,简化了软件的开发和维护工作;促进了软件重用。

25. 面向对象方法特有的继承性和多态性,进一步提高了可重用性。

26. 软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。

27. 软件定义时期的任务:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该工程需要的资源和成本,并且制定工程进度表。

28. 软件定义时期分为三个阶段:问题定义、可行性研究、需求分析。

29. 开发时期阶段组成:总体设计、详细设计、编码和单元测试、综合测试。

30. 维护时期的树妖任务是使软件持久的满足用户的需求。

31. 最基本的测试是集成测试和验收测试。

32. 通常的维护活动:改正性维护;适应性维护;完善性维护;预防性维护。

33. 软件过程是为了获得高质量软件所需要完成的一系列框架,它规定了完成各项的任务工作步骤。

34. 把过程定义为:使用资源将输入转化为输出的活动所构成的系统。

35. 系统是相互关联或相互作用的一组要素。

36. 过程定义了运用方法的顺序、应该交付的文档资料、为保证软件件质量和协调变化所需要的管理措施,以及标志软件开发各个阶段任务完成的里程碑。

37. 瀑布模型一直被广泛采用的生命周期模型,仍然是软件工程中应用的最广泛的过程模型。

38. 瀑布模型的特点:阶段间具有顺序性和依赖性;推迟延迟的观点;质量保证的观点。

39. 瀑布模型的优点:可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

40. 所谓快速原型是快建立起来的可以在计算机上运行的程序,他所能完成的功能往往是最终端产品能完成的功能的一个子集。

41. 快速原型模型的主要优点:不带反馈环,软件产品的开发基本上是线性顺序进行的。

42. 增量模型也称渐进模型。

43. 增量模型的优点:能在短时间内向用户提交可完成部分工作产品;逐步增加产品功能可以使用户有充裕的时间学习和适应新产品从而减少一个全新的软件可能给客户组织带来的冲击。44. 螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。可以把它看作是在每个阶段都增加了风险分析过程的快速模型。

45. 螺旋模型的优点:对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件来发的一个重要目标;减少了过多测试或测试不足所带来的风险;更重要的是,在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没

相关文档
最新文档