软件工程概论是一门涵盖软件开发全过程的学科,包括需求分析、系统设计、编码、测试和维护等多个阶段。考试要点主要考察学生对这些阶段的理解和应用能力。
在基本知识题部分,试题涉及软件的基本组成,如程序、文档和数据,以及软件工程中的核心概念。数据流图(DFD)是需求分析的重要工具,包含数据源点与终点、数据流、加工和数据文件。数据流图和数据字典共同构成逻辑模型,是需求规格说明书的关键。模块划分遵循的原则是高内聚、低耦合,以确保模块的独立性和复用性。类的实例化即创建对象,而成本估算方法有自底向上等。扇入数是指调用一个模块的上级模块数量。结构化设计基于数据流图,面向对象分析则侧重于系统建模。内聚性衡量模块功能的集中程度,顺序内聚表示模块内各部分操作按顺序执行。投资回收期指经济效益等于初始投资所需时间。软件生存周期覆盖从需求到废弃的整个过程。
判断题部分涉及各种软件工程概念的正误判断,如螺旋模型的风险分析,数据字典的定义,软件不仅仅是程序代码,弱耦合的优点,过程描述语言的作用,软件测试与软件正确性的关系,快速原型适应需求变化,集成测试通常由开发团队而非用户完成,确认测试计划应在需求分析阶段制定,白盒测试需了解模块内部结构,软件概要设计的内容,耦合度的含义,模块过大可能降低独立性,编码应兼顾效率和清晰性等。
系统分析题要求考生根据问题绘制数据流图,例如银行存取款业务系统和工资计算子系统的处理流程。这需要考生理解和应用数据流图的符号,明确输入、处理、输出和数据存储的逻辑关系。
系统设计题可能要求考生设计软件结构图或程序流程图,如过程设计的PAD图,这涉及到模块间的组织和控制流的表示。
软件测试题会考察等价分类法和路径测试法,这些都是黑盒和白盒测试策略的一部分,用于确保软件的正确性和覆盖率。
在实际的毕业论文设计中,内容结构通常包括引言、背景、目标、系统分析、系统设计、实现、测试、结论和未来工作等多个部分。每个部分应详细阐述所选题目的相关背景、目标设定、需求分析、模块设计、编码实现、测试策略以及可能的改进方向。
软件工程概论考试要求考生具备扎实的理论基础,良好的分析设计能力,以及对软件测试方法的深入理解。通过这样的考试,可以评估学生在软件开发全生命周期中的综合技能。