一、概念:
软件生存周期:开始研发~停止使用,开发策划、需求分析、总体设计、详细设计、编写程序、测试、运行维护。
软件工程:工程化原则、经济的手段、有效运行的可靠软件。
内聚性:单个模块关联度,偶然、逻辑、时间、过程、通信、顺序、功能。
耦合:模块间的依赖程度,相依、混合、数据、控制、内容、环境。
扇出
扇入
白盒测试:内部执行路径,逻辑覆盖、循环、路径。
黑盒法:需求说明,等价类划分、边界值。
集成测试:在单元测试基础上,测试模块间的组合。
多态性:多种类型的对象-相同的函数-不同的结果。
抽象:
封装:使属性和服务紧密结合,接口>数据结构、算法。
类:相同属性和服务的抽象。
对象:客观事物的抽象,表示、属性、服务。
继承:父类、子类间共享数据结构、方法。
路径覆盖:
判定/条件覆盖
条件组合覆盖
软件维护:因业务需求改变、环境改变而进行微调。
二、问答
1.简述软件危机发生的原因。
(1) 软件开发规模逐渐变大、复杂度和软件需求量不断变大;
(2) 没有按照工程化方式运作,缺乏统一的标准、准则、规范的指导方法;
(3) 需求分析和设计考虑不周,开发、维护、管理不到位;
(4) 开发人员间、开发人员与用户间交流不够,文档资料不完备;
(5) 测试调试不规范、不细致,软件质量不达标;
(6) 在软件运行过程中,忽视了正常的维护和管理。
2.解决软件危机的措施
(1) 技术方法:运用软件工程的技术、方法、标准规范;
(2) 开发工具:先进高效的软件工具,采取切实可行的实施策略;
(3) 组织管理:组织高效、管理制度和标准严格规范、职责明确、质量保证、团结互助、齐心协力、注重文档及服务。
3.软件生存周期软件生存周期各阶段如何划分
(1) 软件生存周期:开始研发~停止使用;
(2) 阶段划分:开发策划、需求分析、总体分析、详细设计、编写程序、测试、运行维护。
4.瀑布模型(适用于:需求明确、技术成熟、工程管理严格)
(1) 计划时期:问题定义、可行性研究、需求分析;
开发时期:概要设计、详细设计、软件实现、软件测试;
运行时期:维护,调整。
(2) 特点:开发过程顺序性;
严格要求保证质量;
统筹兼顾,不过早编程;
5. 需求分析阶段的基本任务是什么/p>
(1) 确定总体目标及组织结构;
(2) 深入领域分析—业务流程图;
(3) 分析数据流程—数据流图;
(4) 确定功能需求—功能结构图、点列表;
(5) 获取性能需求—性能点列表;
(6) 明确处理关系—接口列表;
(7) 确定系统运行环境及界面;
(8) 完善开发计划及新系统方案;
(9) 验证、确认需求,编写需求文档。
6. 软件设计分为两个阶段:总体设计和详细设计的主要任务
总体设计:
(1) 软件系统总体结构及模块结构设计;
(2) 软件处理流程设计;
(3) 确定软件的功能并分配;
(4) 数据结构总体设计;
(5) 络及接口概要设计;
(6) 确定具体实现方案;
(7) 出错处理概要设计;
(8) 性能可靠性及安全保密概要设计;
(9) 文档及维护概要设计;
详细设计:
(1) 模块的算法设计;
(2) 模块内的数据结构设计;
(3) 模块接口设计;
(4) 其他相关设计(数据库、代码、 络、I/O格式、界面);
(5) 模块测试用例设计;
(6) 编写详细设计文档;
(7) 详细设计评审及实现方案;
7. 简述面向对象系统开发过程。
(1) 分析:论域分析、应用分析;
(2) 高层设计:顶层视图;
(3) 开发类;
(4) 建立实例;
(5) 组装测试;
(6) 维护
8.面向对象分析(OOA)的任务
(1) 掌握业务需求细节;
(2) 标识类(属性、操作);
(3) 分析、定义类的层次关系;
(4) 对象间的连接;
(5) 确定模型化对象的行为;
(6) 建立系统模型;
9.OOD的基本任务
(1) 系统设计(划分子系统);
(2) 对象设计(类的属性、操作);
(3) 设计优化(提高效率、建立良好的继承关系)。
10.UML组成
(1)
11.编程主要应该遵循的编程风格及规范有那些
(1) 源程序文档化;
标识符命名—见名知意;
注释—注释行1/5~1/3;
标准书写格式
(2) 数据说明;
(3) 语句构造:
规范的语言;
标准的控制结构;
避免复杂的循环、嵌套;
(4) 输入输出:
(5) 程序效率、安全可靠性。
12.软件测试的过程是什么/p>
测试-结果分析-排错-可靠性分析
单元测试-集成测试-有效性测试-系统测试-验收测试
13.软件维护类型
(1) 完善性维护:功能的扩充与改进;
(2) 适应性维护:应对新的环境(软硬件配置,数据环境);
(3) 纠错性维护;
(4) 预防性维护。
14.软件项目管理的主要职能
(1) 制订计划;
(2) 建立组织;
(3) 配备人员;
(4) 动员指导;
(5) 监督检验。
15.软件开发组的组织形式
组长制、民主制、层次式。
16.软件项目的风险管理
风险的识别、评估、预防、监控
三、设计
(1)系统的数据流、数据字典或用例图及类图
1.教材购销系统
2.图书管理
3. 上购物系统
4.考务系统
(2) 系统测试
1.白盒测试(参考复旦PPT)
2.等价类划分(参考 上一些案例)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!