软件工程期末复习
学长回忆版去年卷子(答案是我从书本上找的,未必是标准答案)
选择题:
软件开发模型的辨析(多半考螺旋模型,毕竟太经典了)
P30表2.1
需求明确的中、小型软件开发——瀑布模型
需求模糊的小型软件开发——快速原型模型
各个阶段都考虑了风险分析——螺旋模型
软件风险分析的分类
风险识别、风险预测、风险驾驭
3种编程泛型
过程式编程范型、面向对象编程范型、基于构建技术的编程范型
黑盒白盒的分类
黑盒(功能测试):等价划分法、边界值分析法、错误猜测法、因果图法
白盒(结构测试):逻辑覆盖测试法、路径测试法
7内聚7耦合的等级的划分
低内聚:偶然性内聚、逻辑性内聚、时间性内聚
中内聚:过程性内聚、通信性内聚
高内聚:顺序性内聚、功能性内聚
弱耦合:非直接耦合、数据耦合、特征耦合
中耦合:控制耦合
较强耦合:外部耦合、公共耦合
强耦合:内容耦合
SA和SD的对应关系
E-R图、数据字典对应数据设计
数据流图对应体系结构设计和接口设计
状态转换图、控制规格说明、加工规格说明对应过程设计
UML两大类图
静态图:用例图、类图、对象图、构件图、部署图
动态图:状态图、时序图、协作图、活动图
软件工程学范畴
软件工程管理:软件管理学、软件经济学、软件度量学
软件开发技术:软件开发方法学、软件工具、软件工程环境
UML中的关系
用例之间:
包含:一个用例的行为包含另一个用例的行为
扩展:一个用例中有可能加入另一个用例的动作
类之间:
关联:存在某种语义上的联系(多半不考)
聚集:“部分”对象可以是多个“整体”对象的一部分
泛化:也称继承
依赖:修改X的定义可能会引起对Y定义的修改,则称Y依赖于X
组合:“整体”强烈拥有“部分”,“部分”与“整体”共存

填空题:
软件包括的三部分
程序、数据、文档
SA模型的组成
基于数据字典可构建:E-R图、DFD图、STD图
面向对象的定义和特点
面向对象技术通过抽象化现实世界中的物体来描述一个系统
特点:抽象、封装、继承、多态
程序图的复杂度测试的四个层次
单元测试、集成测试、确认测试、系统测试
形式化与非形式化软件开发模型
学术界形式化(转换模型、净室模型)、工业界非形式化
软件能力成熟度等级CCM的划分
初始级、可重复级、已定义级、已管理级、持续优化级
分析类的类型
边界类、控制类、实体类
优化SC图的指导原则
对模块划分的原则、高扇入/低扇出的原则
面向对象开发的3个优点
提高软件系统的可复用性、提高软件系统的可扩展性、提高软件系统的可维护性

简答题:


分析题
DFD图转SC图
P57 例题如下↓




设计题
农场养殖的情景,提供300字左右的描述,然后3道画图题,分别是:描述农场养殖的用例图;农场各个部门的类图;牛羊生病时的检测、上报、治疗、改变饲养方案的时序图
例图如下↓

