软件工程复习重点:定义、要素与挑战

需积分: 10 5 下载量 115 浏览量 更新于2024-09-26 收藏 62KB DOC 举报
"该资源是针对软件工程的复习资料,涵盖了软件工程的基础概念、理论、实践以及相关的难点问题。" 在软件工程领域,理解和掌握以下几个关键知识点至关重要: 1. IEEE对软件和软件工程的定义:IEEE(电气和电子工程师协会)定义软件为一组程序、数据及相关文档的集合。软件工程则是一门应用系统化的、规范化的和科学的方法来开发、运行和维护软件的学科,强调质量和效率。 2. 软件工程的三个要素:包括方法、工具和过程。方法是解决问题的技术和策略,工具是支持方法实施的软件或硬件,而过程则是指导整个软件开发的步骤和活动。 3. 软件分类:通常根据功能和用途,软件可以被分为系统软件、应用软件、编程语言等。系统软件包括操作系统、数据库管理系统等;应用软件服务于特定用户群体,如办公软件、图形处理软件;编程语言则是编写其他软件的工具。 4. 软件维护费用高的原因:主要在于需求变化频繁、文档不全、代码质量低等。克服这些困难需要完善的需求管理、良好的文档记录和高质量的编码实践。 5. 系统分析过程涉及的问题:包括需求识别、系统边界确定、功能分析、数据流分析、逻辑结构设计等。 6. 系统分析员的素质:包括技术技能、沟通能力、问题解决能力、业务理解力和团队协作精神。 7. 系统技术评审内容:通常包括需求一致性、功能完备性、性能指标、接口兼容性等。 8. 系统管理评审的关键问题:涉及项目的进度、成本、质量、风险等管理。 9. Vitalari和Dickson的研究揭示了系统分析和设计的困难,如需求模糊、变更频繁、技术挑战等。 10. 软件需求分析的基本原则:确保完整性、一致性、可行性、可验证性和可修改性。 11. 快速原型的优势:有助于早期验证需求、减少风险、提高用户满意度。 12. PIECES模型:包括问题域、界面、环境、构架、客户和扩展,是软件系统分析的一种方法。 13. 科德的面向对象方法四大活动:识别类、定义类接口、实现类、组织类。 14. 面向对象方法论的8个特点:封装、继承、多态、抽象、模块化、动态绑定、信息隐藏和类的层次结构。 15. “困难”或“复杂”的系统:指的是具有高度交互性、变化性和规模性的系统。程序设计的困难可能源于其结构和逻辑,而理解的难度可能源于系统的复杂性。 16. 信息隐蔽与模块独立性:信息隐蔽是每个模块内部的信息对外部模块是不可见的,增强了模块的独立性,降低模块间的耦合。 17. 模块内聚的七种类型:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚,依次从弱到强。 18. 传统软件设计的缺点:如过度设计、灵活性差、难以适应变化等。 19. 面向对象方法论的8个特点包括:对象、类、继承、多态、封装、消息传递、抽象和接口。 20. 软件复用的层次:代码复用、构件复用、设计模式复用、系统复用。复用技术包括库、框架、中间件等。 以上是软件工程复习中的一些核心内容,涵盖了从基本概念到具体实践的多个方面,对于准备考试或深入学习软件工程的人来说是非常宝贵的参考资料。