【软件设计师-中级——刷题记录4(纯干货)】

本文概述了IT领域的关键概念,包括进度管理工具Grantt图、程序语言基础(如Python、C++、XML),高级语言源程序的优化与测试,CMM软件能力成熟度模型,以及软件开发的最佳实践如敏捷开发(XP)和设计模式。同时提及了软件维护、测试方法、版权问题和网络安全等内容。
摘要由CSDN通过智能技术生成


个人昵称:lxw-pro
个人主页:欢迎关注 我的主页
个人感悟: “失败乃成功之母”,这是不变的道理,在失败中总结,在失败中成长,才能成为IT界的一代宗师。


证书作用

  • 获取职称:以考代评
  • 国际意义:中日韩互认
  • 升职加薪:拓展就业方向
  • 积分落户
  • 以考代学

国家软考办官网:https://www.ruankao.org.cn/

综合知识点
软件工程基础知识、面向对象、数据结构与算法、程序设计语言、计算机硬件基础、操作系统、数据库系统、计算机网络、信息安全知识、知识产权与标准化、专业英语

  • 软件过程改进的框架包括:过程改进基础设施,过程改进线路图,软件过程评估方法和软件过程改进计划
  • 软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为5级。目前,达到CMM第3级(已定义级)是许多组织努力的目标,该级的核心是使用标准开发过程(或方法论)构建(或集成)系统
  • 系统开发计划用于系统开发人员与项目管理人员在项目期内进行沟通,它包括PERT图和预算分配表等。
  • 假设某分时系统采用简单片轮转法,当系统中的用户数为n、时间片为q时,系统对每个用户的响应时间T为n*q。
  • 对于大多数通用程序设计语言,用上下文无关文法描述其语法即可。
  • 白盒测试技术中,路径覆盖法往往能比语句覆盖法发现更多的错误

一个高效的测试是指用少量的测试用例,发现被测软件尽可能多的错误。软件测试不能说明软件中不存在错误,不能用穷举法来进行测试
经验表明,测试中存在集群规律,即未发现地错误数量与已发现的错误数量成正比,已发现的错误数量越多,则该模块未被发现的错误也就越多。
软件测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。

  • 单例设计模式的目的就是保证一个类仅能够生成一个对象
  • 组合设计模式则用于表示“部分-整体”的层次结构,并且对部分和整体的使用具有一致性
  • 装饰设计模式则动态地给一个对象增加一些额外的职责,无须改变类的设计和实现
  • 为实现程序指令的顺序执行,CPU程序计数器(PC)中的值将自动加1
  • 在某销售系统中,客户采用扫描二维码进行支付。若采用 面向对象开发该销售系统,则二维码类属于接口类
  • 成本估算时,COCOMOII方法以规模作为成本的主要因素,考虑多个成本驱动因子。该方法包括三个阶段性模型,即应用组装模型、早期设计模型和体系结构阶段模型。
  • UML中有4中事物:结构事物、行为事物、分组事物和注释事物。依附于一个元素或一组元素之上对其进行约束或解释的简单符号为注释事物。

敏捷开发方法XP是一种轻量级、高效、低风险、柔性、可预测的、科学的软件开发方法,其特性包含在12个最佳实践中

  • 计划游戏:快速制定计划、随着细节的不断变化而完善;
  • 小型发布:系统的设计要能够尽可能早地交付;
  • 隐喻:找到合适的比喻传达信息;
  • 简单设计:先写测试代码再编写程序;
  • 重构:重新审视需求和设计,重新明确地描述它们,以符合新的和现有的需求;
  • 结队编程
  • 集体代码所有制
  • 持续集成:可以按日甚至按小时为客户提供可运行的版本;
  • 每周工作40个小时;
  • 现场客户;
  • 编码标准。
    软件系统文档:
  • 软件系统文档既包括有一定格式要求的规范文档,又包括系统建设过程中的各种来往文件、会议纪要、会计单据等资料形成的不规范文档;
  • 软件系统文档可以提高软件开发的可见度
  • 软件系统文档便于用户理解软件的功能、性能等各项指标【注意:它并非不能提高软件开发效率】
  • 常用的白盒测试技术包括逻辑覆盖基本路径测试
  • 常用的黑盒测试技术包括等价类划分、边界值分析、错误猜测和因果图的报告
  • 若某计算机系统的I/O接口与主存采用统一编址,则输入输出操作是通过访存指令来完成的。

进度管理工具Grantt图:

  • 能清晰地表达每个任务的开始时间、结束时间和持续时间
  • 能清晰地表达任务之间的并行关系
  • 不能清晰地发确定任务之间的依赖关系【注意:不能清晰地去定影响进度的关键任务
  • Flynn分类法基于信息流特征将计算机分成4类,其中MISD只有理论意义无实例

程序语言基础:

  • Python:是一种面向对象解释型计算机程序设计语言

  • Prolog:是逻辑型程序设计语言

  • C++:是面向对象的编译型语言,而非解释型语言

  • XML(可扩展标记语言):是标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

  • 木马程序的客户端运行在攻击者的机器上。

  • COCOMO II模型也需要使用规模估算信息,在模型层次结构中有3种不同规模估算选择,即:对象点、功能点和代码行【不包括用例数】

  • 软件可维护性是一个系统在特定的时间间隔内可以正常进行维护活动的概率。用MTTF和MTTR分别表示平均无故障时间和平均故障修复时间,则软件可维护性计算公式为1/(1+MTTR)

  • 面向对象分析时,执行的活动顺序通常是认定对象、组织对象、描述对象的相互作用、确定对象的操作

  • 面向对象设计时包含的主要活动是识别类及对象、定义属性、定义服务、识别关系、识别包

  • 面向对象测试算法层、类层、模块层、系统层

高级语言源程序

将高级语言源程序翻译为机器语言程序的过程中常引入中间代码,则
前三个

  • 不同的高级程序语言可以产生同一种中间代码
  • 使用中间代码有利于进行与机器无关的优化处理
  • 使用中间代码有利于提高编译程序的可移植性【注意:中间代码与机器语言代码在指令结构上不一定一致】。
  • 单元测试测试一下几个方面:模块接口、局部数据结构、执行路径、错误处理和边界。【注意:全局数据结构不是】
  • SSH、Telnet、RFB用于远程登陆或控制【注:IGMP不能】

封装:隐藏对象的属性实现细节,仅对外公开接口(信息隐藏技术)
继承与泛化:复用机制,子类可以继承父类的一些属性和方法
消息和消息通信:对象之间进行通信的一种构造叫做消息,消息是异步通信的(消息传递:接收到消息的对象经过解释,然后予以响应)

  • 假设事物程序A中的表达式x/y,若y取值为0,则计算该表达式时,会产生故障。则该故障属于事务故障
  • 针对“关键职员在项目未完成时就跳槽”的风险,其管理策略有 对每一个关键性的技术人员,要培养后备人员、建立项目组,以使大家都了解有关开发活动的信息、对所有工作组织细致的评审。【注意:临时招聘具有相关能力的新职员 具有风险
  • 当用户通过键盘或鼠标进入某应用系统时,通常最先获得键盘或鼠标输入信息的是中断处理程序
  • 可靠性、可用性和可维护性是软件的质量属性,软件工程中,用0-1之间的数来度量。
  • 可靠性是指一个系统对于给定的时间间隔内、在给定条件下无失效运作的概率。可以用MTTF/(1+MTTF)来度量,其中MTTF为平均无故障时间。
  • 可用性是在给定的时间点上,一个系统能够按照规格说明正确运作的概率。可以用MTBF/(1+MTBF)来度量,其中MTBF为平均失效间隔时间。
  • 可维护性是在给定的使用条件下,在规定的时间间隔内,使用规定的过程和资源完成维护活动的概率。可以用1/(1+MTTR)来度量,其中MTTR为平均修复时间。
  • 在以阶段划分的编译过程中,判断程序语句的形式是否正确属于语法分析阶段的工作。
  • 设S是一个长度为n的非空字符串,其中的字符各不相同,则其互异的非平凡子串(非空且不同于S本身)个数为(n+2)(n-1)/2

模式:

  • 生成器模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
  • 适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
  • 桥接模式将抽象部分与其实现部分分离,使它们都可以独立地变化
  • 组合模式将对象组合成树形结构以表示“部分一整体“的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
  • 装饰器模式描述了以透明围栏来支持修饰的类和对象的关系,动态地给一个对象添加一些额外的职责,从增加功能的角度来看,装饰器模式相比生成子类更加灵活。
  • 观察者设计模式能使一个对象的状态发生改变时通知所有依赖它的监听者。
  • 对不同的风险采取不同的风险管理策略。如对关键职员在项目未完成时就跳槽的风险,可以通过培养后备人员、让项目组人员了解开发信息、评审开发工作等来降低风险。通过临时招聘新职员,即使新职员具有相关的能力,由于对项目的开发进展、团队组成等多种情况不了解,并不能很好地降低风险。
  • 责任链模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
  • 命令模式将一个请求封装为一个对象,从而使得使用者可以采用不同的请求对客户进行参数性;对请求排队或记录请求日志,以及支持可撤销的操作。

参数多态:应用广泛、最纯的多态
包含多态:同样的操作可用于一个类型及其子类型。包含多态一般需要进行运行时的类型检查
强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求
过载多态:同一个名(操作符、函数名)在不同的上下文中有不同的类型。

  • 过载多态是指操作(方法)具有相同的名称、且在不同的上下文中所代表的含义不同
  • 软件著作权的客体是指著作权法保护的计算机软件,包括计算机程序及其相关文档;计算机程序通常包括源程序和目标程序【软件著作权的客体不包括软件开发思想】
  • 由于信用卡公司升级了其信用卡支付系统,导致超市的原有系统也需要做相应的修改工作,该类维护属于适应性维护。【适应性维护是指使应用软件适应信息技术变化和管理需求变化而进行的修改】
  • CPU访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为空间局部性。
  • 三总线结构的计算机总线系统由数据总线、地址总线和控制总线组成
    • 在面向对象程序设计语言中,应该支付被封装的对象,应该支持类与实例的概念,应该支持继承和多态。
    • 多媒体编辑软件分为:文本工具、图形/图像工具、动画工具、视频工具、音频工具和播放工具。
    • WPS属于文本工具类软件,主要用于动画编辑和处理
    • PhotoShop属于图形/图像工具类软件,主要用于显示图形/图像、图像/图像编辑、图像压缩、围像素材库
    • Cool Edit Pro属于音频工具类软件,主要用于音频播放、音频编辑、音频录制和声音素材库4个功能。
    • 网络层的联网设备是路由器,数据链路层的联网设备是网桥和交换机,传输层和会话层主要是软件功能,都不需要专用的联网设备。
    • 在数据库系统中,一般由DBA由使用DBMS提供的授权功能为不同用户授权,其主要目的是为了保证数据库的安全性
    • 在基于Web的电子商务应用中,访问存储于数据库中的业务对象的常用方式之一是JDBC。COM是一种组件技术,CGI是一种网络应用技术,而XML是一种数据格式定义,它们均不是访问数据库的方式。
    • 在无向连通图G,G中任意两个顶点之间均有边存在【错】,无向连通图只保证每对结点间都有路径。从G中任意顶点出发可遍历图中所有顶点;G的临接矩阵是对称矩阵。
      在IE浏览器中吗,安全级别最高的区域设置是受限站点

    安全等级从可信站点、本地Intranet、Internet到受限站点默认情况下依次为低、中低、中、高,逐步提升。


**

  • 生活总是这样,不能叫人处处都满意。但我们还要热情地活下去。人活一 生,值得爱的东西很多,不要因为一个不满意,就灰心。

  • 当你明白,人生和自我都不是用来战胜而是用来相处的,你就明白有些东西虽然并不合理,但你必须相信;有些东西并不牢固,但你必须依靠。

**

每日一言


真正清醒地人生,一定是懂得迎难而上的人生。哪怕困难再大,依然会选择竭尽全力去面对,因为这些都是成长必经的历练。


持续更新中…

点赞,你的认可是我创作的动力
收藏,你的青睐是我努力的方向
评论,你的意见是我进步的财富
关注,你的喜欢是我长久的坚持
在这里插入图片描述

欢迎关注微信公众号程序人生6】【可直接微信搜索】,一起探讨学习哦!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值