12-15分  重点

1、软件开发生命周期:软件定义:可行性研究、详细需求分析;软件开发时期:设计与实现;软件运行和维护:移交

2、软件系统工具:开发工具、维护工具、管理和软件支持工具。

3、软件设计四个活动:数据设计、架构设计、人机界面设计、过程设计

4、能力成熟度模型 CMM:初始级、可重复级、已定义级、已管理级、优化级。

5、能力成熟度模型集成CMMI:初始级、已管理级、已定义级、定量管理、优化级

6、  瀑布模型:自上而下,需求很明确,上一阶段结束后进行下一阶段

  螺旋模型:周期重复螺旋开发,风险分析

  原型模型:需求不明确,不断反馈。

  V模型:设计与开发跟测试环节进行V形对应。编码与实现->单元测试、详细设计->集成测试、概要设计->系统测试、需求分析->验收测试。

  增量模型:敏捷、优先开发核心模块

  喷泉模型:面向对象

  面向构件的开发模型:快速、复用,预包装的构件直接组装

  敏捷模型:快速开发出工作的软件,后补充文档;优先沟通胜过谈判;响应变化胜过计划。

  统一过程模型 RUP:商业上可靠的重量级过程:

    工作流 9:业务建模、需求、分析与设计、实现、测试、部署、配置与变更管理、项目管理、环境。

    阶段 4:初始阶段、细化阶段、构造阶段、移交阶段

    特点:用例驱动、迭代与增量、以架构为中心,4+1视图:用例视图(分析、测试人员)、逻辑视图(最终用户)、实现视图(程序员)、进程视图(系统集成人员)、部署视图(运维工程师)

7、逆向工程,四个级别:实现级(完备最高、抽象最低)、结构级、功能级、领域级(抽象最高、完备最低)。重构、设计恢复、再工程、正向工程。

8、软件需求:

  需求开发:分析(业务需求、用户需求、系统需求(功能要求、非功能要求、设计约束:规定或要求))、获取(访谈、头脑风暴、问卷、原型方法)、定义(需求规格说明书)、验证

  需求管理:变更控制、版本控制、需求跟踪、需求状态跟踪。

9、结构化需求分析:自顶向下、逐步分解、面向对象;功能模型->数据流图DFD(数据流(流向必须经过加工)、加工、数据存储、外部实体)、行为模型->状态转换图、数据模型->实体联系图ER

10、系统设计:结构化设计方法、面向对象设计方法。 原理:抽象化、自顶向下、信息隐蔽、高内聚低耦合。原则:减少调用深度、多扇入、少扇出、单出入口、模块适中、功能可预测、作用域应在模块内。

    概要设计:总体结构设计

    详细设计:算法设计、数据结构设计

 11、偶然内聚、逻辑内聚(逻辑相似,参数决定)、时间内聚(同时执行)、过程内聚(指定过程顺序)、通信内聚(共用数据结构)、顺序内聚(输入为输出)、功能内聚(共同作用、缺一不可)。

    低-------------->高

  无直接耦合、数据耦合(传递数据值调用)、标记耦合(传递数据结构)、控制耦合(控制变量)、外部耦合(软件外部环境)、公共耦合(公共数据结构)、内容耦合(模块内部关联)

    低-------------->高

12、人机界面三原则:置于用户控制之下、减少用户的记忆负担、保持界面的一致性。

 13、测试:为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。

    动态测试(黑盒测试、白盒测试、灰盒测试)、静态测试(桌前检查、代码审查、代码走查);

    单元测试(模块测试,程序员自测,静态测试+黑盒测试+白盒测试)、集成测试(黑盒测试+白盒测试)、系统测试(黑盒测试,多轮回归测试:功能测试、性能测试、健壮性测试、压力测试、可靠性及安全性测试)、性能测试(负载测试+压力测试)、验收测试(用户参与测试,Alpha测试--开发环境测试,Beta测试----使用环境测试)、回归测试。

    AB测试:两个版本、Web测试、链接测试(所有链接正常、链接页面存在、无孤立页面)、表单测试。

14、白盒测试用例:语句覆盖(所有语句都要被执行一遍)、判定覆盖(所有判断语句的真假分支都要覆盖一遍)、条件覆盖(每个判定里的每个条件都需要覆盖)、条件判定组合覆盖(同时满足判定覆盖和条件覆盖)、路径覆盖(所有可行路径的组合都覆盖)

15、McCabe度量法:环路复杂度:判定节点+1

16、系统转换:淘汰(低技术水平低业务价值)、集成(高水平低价值)、继承(低水平高价值)、改造(高水平高价值)。

17、系统维护:可维护性:维护人员理解、改成、改动、改进这个软件的难易程度;易分析性、易改变性、稳定性、易测试性。

18、净室软件工程 CSE:预防大于检查。严格过程达到0缺陷。不需要测试。函数理论和抽样理论。

19、基于构件的软件工程:分布对象技术、可复用构件设计与构造软件系统,体现购买而不是重新构造。可组装、可部署、文档化(完整文档供用户判断是否能满足要求)、独立性、标准性。

    过程:系统需求概览、识别候选构件、根据构件修改需求、体系结构设计、构件定制与适配、组装构件。

    组装方式:顺序组装、层次组装、叠加组装(两个及以上)。

    三种不兼容:参数不兼容、操作不兼容、操作不完备。

 

posted on 2025-09-05 17:13  程序员丁先生  阅读(10)  评论(0)    收藏  举报