西安市高陵区建设局网站,wordpress 下一篇样式,功能分类模块类型网站,系统开发中强调系统的整体性整个章节偏向于记忆、背诵#xff1b;
主要议题#xff1a; 软件体系#xff1a;3层#xff1b; UML重点#xff0c;重点记3要素中的关系、图#xff1b;
1.软件体系结构
分层 优点#xff1a;利于软件的重复利用#xff1b; 缺点#xff1a;以什么方式分层#…整个章节偏向于记忆、背诵
主要议题 软件体系3层 UML重点重点记3要素中的关系、图
1.软件体系结构
分层 优点利于软件的重复利用 缺点以什么方式分层分层的粒度如何这两个问题比较难
常考哪些输入服务器端、哪些属于客户端需要记忆
2.软件工程
软件危机采用某种方式进行开发开发到一定程度随着规模越来越大这种方法开发出来的软件的质量没有保障而且开发成本变高 软件工程以工程化的思想来开发软件
3.软件配置管理
偶尔考 基线软件开发过程中的一个检查点由于软件开发的过程是连续的就必须设置检查点以免软件质量发生偏移 软件配置项软件开发中所涉及到的信息和项目比如用户名和密码、电信网络的账户、使用到的硬件如路由器路由器上的配置
配置项有2中状态自由态和受控态自由态经过基线的评价就到了受控态受控态下你要进行修改就要走变更管理流程 产品库/开发库/受控库 开发过程中的信息经过评审进入受控库 受控库中有一段区域为测试区测试区为信息的变更提供工作区间比如说你要修改一个文件要先通过变更管理获取修改权限将文件从受控区改到测试区然后完成测试测试完成后再通过基线的评审进入受控库 发布产品时从产品库中发布
4.CMM软件能力成熟度模型
描述软件组织所处的阶段 主要考察队cmm几个级别的理解 1、知道几个级别的名字 2、知道几个级别的关键点 例如提供一段描述问这个组织处于哪个级别
初始级项目没有什么规则没有什么经验可以借鉴特点是英雄主义能不能成功看人了 可重复级做项目时有经验可借鉴能对项目的成本、进度有一定的控制能力 已定义级所有的事情都已标准化、文档化了 已管理级可以把控项目进行管理了有明确的质量指标 优化级在先有上利用新技术优化软件的过程
5.开发模型
能根据题干描述知道采用的什么模型 必须记住每个模型的适用项目
瀑布模型将软件开发的生命周期划分成多个阶段每个阶段依次进行 优点各个阶段划分明确利于项目管理、控制成本 缺点需求分析阶段出现问题往往在软件测试阶段才发现越后发现成本越高 对测试工作不重视 适用项目需求明确、解决方案明确的项目
需求分析到软件测试都处于开发阶段
V模型对瀑布模型的改进改进瀑布模型中对软件测试不重视的场景在V模型中把软件测试和开发阶段一一对应起来强调软件测试的意义但从整个流程上看软件测试依然在写完代码后从功能上其实还没解决测试阶段处于扫尾阶段这一问题
箭头 水平箭头表示检测的对象 斜上箭投验证上一个层次的设计有无问题
可能会擦掉右侧箭头让你填写 原型、增量模型常常混淆 原型模型快速的开发方法先和用户沟通大致了解需求后就针对需求做开发实现大致界面没有开发实际的后台程序再和用户交流用户觉得有问题再改通过逐步演进变成最终可交付的系统最终只有一次交付 原型可运行的、只体现核心功能的模型 优点帮我们明确需求 缺点快速意味着没写文档文档不全
抛弃型原型开发时和用户交流完用户不认可此原型直接丢弃再新写 渐进演化型原型慢慢演化、修改成最终交付的系统
增量模型多次交付 其实就是版本迭代每一次交付都是在前一次交付的基础上增加相关功能 优点激发用户的进一步需求帮助用户进一步明确需求节约开发成本、时间风险小 缺点增量如何控制粒度多大 螺旋模型结合了瀑布模型和原型模型 多次迭代每个迭代都分成几个阶段 模型中引入了风险分析 优点便于对项目的风险进行控制用户也了解软件开发中的风险 缺点人来做风险分析经验很重要经验不足识别不出风险
喷泉模型下图中的各个阶段都在同时进行是以对象为驱动的主要用于面向对象的开发项目
6.开发方法(RUP/UP
统一过程 将软件开发分成4个阶段初始、细化、构建、交付 它是一个以用例为驱动、以架构为中心进行迭代和增量的开发方法
工件工厂中的产品相当于你要开发的代码 活动有特定目的的工作 角色人 工作流 下选项哪个不属于统一过程中的对象 敏捷开发 考点漂浮不固定适当记忆 极限编程XP Jackson方法对时序敏感对事件发生的先后敏感
7.MVC
考察较少 M业务代码 V呈现给用户的信息 C负责转换V的需求并进行M、V的控制管理 用户有需求通过V给M服务器根据业务规则取出数据给V这个过程需要C控制请求的转换
8.软件生命周期
考点有哪些阶段每个阶段主要财务是什么 概要设计又称总体设计 详细设计设计各个模块的功能怎么做步骤还没开始写代码呢 需求层次 系统需求分为功能需求、非功能需求、设计约束 功能需求必须要实现的需求 非功能需求你的系统必须要具备的品质如可靠性、稳定性、可维护性 设计约束比如服务器、数据库用哪个牌子的开发方法、技术用啥 结构化分析 数据流图DFD图通过对数据在系统中传递和加工的动作来描述系统的功能需求 因为数据流图没有明确每一项数据的特征这时就用到数据字典 数据流图 外部实体与系统由信息交互但不包括在本次开发内的对象如工资管理系统中的银行 加工对数据进行变换的地方 数据流箭头指向谁数据流向谁 要能看懂考题中的DFD图不会考大题 父子图平衡父图有输入输出的数据流子图也得有等量的数据流 数据守恒要根据输入的数据产生输出不要凭空出现 数据流图体现的是数据信息而不是控制信息一旦有控制信息就不是数据流图
9.系统设计
最近的软考体系把数据库设计放到总体设计中 数据库设计分4步需求设计、概要设计、逻辑结构设计、物理结构设计前3步在总体设计中第4步在详细设计中
10.聚合与耦合
2个指标是衡量模块独立性的标准 程序设计原则高聚合、低耦合 聚合是衡量一个模块内各个元素与功能的紧密程度 耦合强调的是模块与模块之间的关系
题目 1、根据聚合/耦合度排序下列的几个选项 2、给出描述判断是哪一类聚合/耦合 考试频率高
功能聚合最高模块内的所有元素都是为这个功能服务的 偶然聚合模块内的各个元素之间没有必然的联系 逻辑聚合模块内的各个元素的逻辑距离相似 时间聚合模块内的各个元素在同一时间执行 过程聚合模块内的各个元素按照特定的次序来执行 通信聚合模块内的各个元素利用同一个输入、或者产生同一个输出 顺序聚合模块内的第一个元素的输出是第二个的输入、第二个的输出是第三个的输入
非直接耦合两个模块之间没关系他俩之间的关系是通过上层调用 数据耦合两个模块之间要传递数据 标记耦合传递的数据不是一个简单的变量而是一个数据结构 控制耦合传递控制信息 外部耦合两个模块需要一个外部简单的全局变量传递 公共耦合两个模块使用同一个数据区域 内容耦合一个模块执行时跑到另一个模块内部访问数据
11.编码原则
提高后期的可维护性 序言性注释写程序之前写一段话介绍系统的功能运行要求等 解释型注释告诉读者接下来这行代码要做什么 直接转换新系统若有缺陷满足不了业务需求风险高用于小型、不重要的系统转换 试点后直接转换要求企业有多个分支点选其中一个分支点进行试点然后再推广失败后影响面较小风险小对转上一个换的条件有要求 逐步转换分段分批转换上线一个庞大的系统先上一部分正常工作了再上另一部分模块缺陷与旧系统开发框架、数据库不同就得提供多个接口给旧系统 并行转换新旧系统同时运行一段时间就知道新系统有哪些缺陷在这段时间优化风险小但是同时运行两个系统资源就需要更多服务器更多开销大 可维护性 纠错性维护/公正性维护本来就有bug已经暴露出来了用户发现了 适应性维护软件适应环境的变化如操作系统环境变化 完善性维护提高软件的性能和可维护性如重新整理文档 预防性维护软件存在问题但没暴露出来没暴露出来就修复 比重表示的是占维护工作量的比重
12.UML
注一般不会考大题 关系和图要记 考题给出类图要判断2个类之间的关系 依赖一个事物发生变化回影响到另一个事物 关联 聚合几个独立对象聚合在一起形成整体对象如参加聚会、显示器与电脑 组合强调个体在整体中的职能与责任部分不能独立于整体而生存如堆积木、汽车与发动机、人和大脑、企业和企业的部门 两者都描述的是整体与部分的关系 泛化特殊与一般的关系特殊对象可以代替一般对象的描述员工与管理层员工对应面向对象中子类与父类的关系 实现两个类元之间的语义关系一个类元指定了另一个类元保证执行的契约 图较多不确定考哪个多花时间看 类图 一个框有3层从上到下分别表示类名、属性、操作 用例图 用例如上办公系统完成工作后离开系统 一般图中有人形标志就与用例图有关 泛化关系同上 包含关系 扩展关系 执行此用例是否一定要做另一个用例一定则包含否则扩展 如缴费和登录账户的关系包含查询缴费记录和保存流水扩展 13.软件质量 记质量特性 下图适当记 考试考下列选项哪个不属于功能性 评价使用质量的4个标准 有效性满足用户功能的准确程度、满意程度 生产率满足有效性的情况下资源的合理利用程度 安全性用户数据的安全 满意度
14.软件评审
不咋考
15.软件评价—GB/T18905.5
可重复性同一人用同一标准对系统多次评价评价结果可接受 可再现性不同人用同一标准对系统评价评价结果可接受
16.面向对象
消息类之间通信