想要电子版本的同学可以留言或者私信我获取,辛苦整理资料,欢迎点赞、收藏和评论!
1. 开发模型
1.1 瀑布模型(SDLC)
缺点:在开发初期,需求不明确,导致软件项目失败
适用于需求明确,或二次开发
1.2 原型模型、演化模型
原型模型优点:能够以比较低的成本开发出一个基本版本,进而引导客户有新的需求,发现新的问题。适用于开发需求分析阶段
通过原型模型逐渐演化得到演化模型
1.3 增量模型
增量模型是在开发初期先做核心模块,再逐步增加其他功能。可以降低在最后阶段不符合用户对核心功能的要求的风险
1.4 螺旋模型
螺旋模型是遵从瀑布模型,即需求->架构->设计->开发->测试的路线。螺旋模型最大的价值在于整个开发过程是迭代和风险驱动的。通过将瀑布模型的多个阶段转化到多个迭代过程中,以减少项目的风险。螺旋模型的每一次迭代只包含了瀑布模型的某一个或两个阶段,如第二次迭代重点是需求,第三次迭代是总体设计和后续设计开发计划等
1.5 V模型
1.5.1 V模型的确认阶段包括以下各个阶段:
1)业务需求分析:此阶段包含详细的沟通, 以了解客户的期望和确切要求
2)系统设计:在这一阶段, 系统工程师通过研究用户需求文档来分析和解释所提议系统的业务
3)体系结构设计:选择体系结构的基线是它应该理解所有内容, 通常包括模块列表, 每个模块的简要功能, 它们的接口关系, 依赖性, 数据库表, 体系结构图, 技术细节等
4)模块设计:在模块设计阶段,系统分为小模块。指定了模块的详细设计, 称为低级设计
1.5.2 V模型的验证阶段有多个阶段:
1)单元测试:在V模型中, 在模块设计阶段制定单元测试计划(UTP)。执行这些UTP可以消除代码级别或单元级别的错误。单元是可以独立存在的最小实体, 例如程序模块。
2)集成测试:集成测试计划是在体系结构设计阶段制定的。这些测试验证了独立创建和测试的组可以共存并在彼此之间进行通信。
3)系统测试:系统测试计划是在系统设计阶段制定的。与单元测试和集成测试计划不同, 系统测试计划由客户的业务团队组成。系统测试可确保满足应用程序开发人员的期望。
4)验收测试:验收测试与业务需求分析部分有关。它包括在用户环境中测试软件产品。验收测试揭示了与不同系统的兼容性问题, 这些问题在用户环境中可用。它共同发现了非功能性问题, 例如真实用户环境中的负载和性能缺陷。
1.6 喷泉模型(面向对象)
1.7 RAD模型(Rapid Application Development)
RAD是一种面向对象的系统开发方法,它包括开发方法和软件工具。RAD和原型法在概念上很接近,两者的目标都是要缩短传统的SDLC方法中信息系统的设计与实现之间漫长的时间间隔,它们都尽量更好地满足迅速变化的商业需求。可以将RAD视为原型法的一种特殊实现。
1.8 构建组装模型(CBSD)
缩短时间、节约成本、提高复用性
2. 敏捷开发方法
3. 信息系统开发方法
4. 需求分类和获取
5. 内聚与耦合
追求高内聚、低耦合
5.1 内聚
越往下内聚程度越低
5.2 耦合
越往下耦合程度越高
6. 软件测试
6.1 测试原则
1)尽早、不断的进行测试
2)程序员避免测试自己设计的程序
3)既要选择有效、合理的数据,也要选择无效、不合理的数据
4)修改后应进行回归测试
5)尚未发现的错误数量与该程序已发现错误数成正比
6.2 测试类型
动态测试:黑盒测试、白盒测试、灰盒测试
静态测试:桌前检查、代码走查、代码审查
6.3 黑盒测试
1)等价类划分
是把所有可能的输入数据,即程序的输入域划分成若干子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例
2)边界值分析
对输入或输出的边界值进行测试的一种黑盒测试方法。是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
区别如下:
3)错误推测
靠经验推测
4)因果图
因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法
6.4 白盒测试
(6)路径覆盖:设计测试用例时,覆盖程序中所有可能的执行路径
6.5 测试阶段
6.6 MoCabe复杂度
7. 系统运行与维护
软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动,这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等;交付后的活动包括软件修改、培训、帮助资料等
8. 软件过程改进– CMMI
9. 项目管理
9.1 时间管理
答案:1)D 2)C
PERT正向推出每个任务的最早开始时间,再反向推出每个任务的最晚开始时间
9.2 风险管理
风险是指损失或伤害的可能性,包括:项目风险、技术风险、商业风险