首页 > 编程知识 正文

干货大全,助理工程师

时间:2023-05-03 14:44:07 阅读:169579 作者:2582

备战2021年软考中级网络工程师-03-计算机系统开发基础

正文目录一、前言二、 中级复习笔记-03-计算机系统开发的基础(一)软件的生命周期1 )计划时期)1)问题定义)2)可行性研究)2)开发时期)需要分析)2)总体设计)3)详细设计)4)编码) 戴尔(三)软件开发和测试分类软件系统模块时的标准测试方法1 )动态测试2 )静态测试)4)项目管理1 )甘特图2 )2.PERT技术和CPM方法3 )软件流程改进三、作者和

最近在研究python的时候,无意中参加了软件测试,取得了国家工信部认定的工程师资格,在北上广深申请了北京居住证,积分落户

经查,该考试上半年考试时间为5月底(第三周六、周日),下半年考试时间为11月中旬(第二周六、周日)。 现在已经是八月了。 那么,只能参加下半年11月的考试。

根据以上软测试的分类,我选择的是中级网络工程师。 初学者听说太简单了,建议直接从中级直接参加考试,但我粗略地看了一下这些资格考试大纲和以前的一些真题,只有网络工程师我学过部分内容,但考试难度很低,似乎更适合我

点击下面的链接确认申请方法。

计算机技术和软件专业技术资格(水平)考试全国各省市考试报名

报名缴费成功后必须立即登录人事考试频道下载打印准考证,凭准考证和本人有效居民身份证原件参加考试。

**

二.中级网络工程师复习笔记-03-计算机系统开发基础*

(一)软件生命周期软件的生命周期是指软件从产生到销毁的生命周期。

可以将软件的生命周期划分为三个时间段。

1 .规划时间(1)问题定义问题的定义由软件开发方乙方和需求方甲方共同讨论,主要是确定软件的开发目标,希望解决哪些问题。

)可行性研究甲乙双方讨论解决问题需要多少资金,能实现,这个问题有多大可行性的研究。

2 .开发时间)1)项目负责人和系统分析员需要分析问题由多少模块组成,接口如何,性能如何,数据如何。

)总体设计系统分析员明确整个问题的设计,并使其模块化。

)3)详细设计软件设计师对问题模块的个别实现。

(4)编码是程序员实现各个模块的程序编码。

)5)测试在交付给客户之前由测试工程师进行测试。

3 .运行时间)1)在维护软件生命周期的最长时间内,如果运行中出现错误,需要维护,或者即使运行平台发生变化也需要维护。

我推荐我看到的一个很棒的博主写的软件生命周期的思维导图:

详细说明大图软件的生命周期

(二)软件开发模型1 .瀑布模型软件规划-

需求分析-

软件设计-

程序代码-

软件测试-

执行维护

以瀑布般的形式命名,从上到下逐级落下,各阶段确定后不会回到上一阶段,而是线性顺序。

优点:强调早期需求分析的重要性,确保准确掌握用户需求

缺点:只有在周期的后期才能看到结果,如果在需求分析理解上存在偏差,就会失去尽早纠正错误的过程。

2 .快速原型模型的优点:克服瀑布模型的缺点,减少软件需求不明确带来的开发风险。

劣势:1.选择的开发技术和工具不一定符合主流发展

2 .对快速构建的系统结构进行连续修改可能会导致产品质量下降

3 .不适合开发大型系统(适合开发小型灵活的系统)

3 .进化模型进化模型主要针对无法事先完全定义需求的软件开发。 用户可以给出要开发系统的核心需求,在看到核心需求的实现后,可以有效地给出反馈,支持系统的最终设计与实现。

优点:1.任何功能开发出来都可以进入测试,验证是否满足产品需求

2 .开发中的经验教训可以反馈应用于本产品的下一个循环过程,大大提高质量和效率

劣势:1.如果需求不完全清楚,会给总体设计带来困难,破坏产品设计的完整性,影响产品性能的优化和产品的可维护性

2 .缺乏严格的流程管理可能导致生命周期模型退化为“尝试-错误-纠正”模式

3 .让用户接触开发过程中未经过测试的稳定功能可能会产生不良影响

4 .增量模型的第一部件完成了软件提供的基本核心功能,后面的增量组件为第一部件提供服务功能。

优点:1.能够在短时间内为用户提供部分基本功能

2 .通过逐步增加产品功能,用户可以有时间了解和适应新产品

​ 3.开放结构的软件维护性明显好于封闭结构的软件

缺点:1.容易退化为边做边改模型,从而使软件过程的控制失去整体性

​ 2.如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析

5.喷泉模型

各活动之间无明显界限,提高效率,但不利于人员管理。

优点:喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。

缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理.此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

6.V模型

用户需求—> 验收测试

​ 需求分析—> 系统测试—>

​ 概要设计—> 集成测试—>

​ 详细设计—> 单元测试—>

​ 编码—>

优点:1. 包含了底层测试(单元测试)和高层测试(系统测试);

​ 2.清楚地标识了开发和测试的各个阶段,每个阶段都与开发的各个阶段相对应;

​ 3.每个阶段分工明确,便于整体项目的把控

缺点:1.测试工作只在需求分析、系统设计及编码之后,不能及时发现并修改错误;

​ 2.测试的对象仅仅是程序,忽略了需求分析,系统设计的测试验证,很可能到最后的验收测试才发现需求和系统设计的错误;

​ 3.过程是线性的,不能反复迭代和测试

7.螺旋模型

以原型为基础沿螺线旋转、每转一圈都经过计划/风险分析/实施/评估等过程且得到相应新版本、经过若干次螺旋上升得到最终版本,适应于内部的大规模软件开发。

优点:1.设计上的灵活性,可以在项目的各个阶段进行变更

​ 2.以小的分段来构建大型系统,使成本计算变得简单容易

​ 3.客户始终参为保证了项目不偏离正确方向以及项目的可控性

​ 4.客户始终掌握项目的最新信息,从而能和管理层有效地交互

​ 5.客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品

缺点:很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

(三)软件开发和测试 划分软件系统模块时的准则

高内聚,低耦合。目的:使得模块的"可重用性","移植性"大大增加。

内聚:每个模块尽量独立完成自己的功能,不依赖于模块外部的代码
耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高,牵一发而动全身。

高内聚:指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。模块的内聚反映模块内部的紧密程度。一个模块只需要做好一件事,不要过分关心其他任务。高内聚的好处是可以提高程序的可靠性。
低耦合:模块与模块之间,系统与系统之间的交互,是不可避免的,但是我们要尽量减少由于交互引起的单个模块无法独立使用或者无法移植的情况发生,尽可能多的单独提供接口用于对外操作,这个就是所谓的"低耦合"。

测试方法 1.动态测试

1.黑盒测试法,不考虑程序内部结构和处理过程,只在软件的接口处进行测试。

2.白盒测试法,需了解程序内部结构和处理过程,被测对象基本上是源程序

3.灰盒测试法,介于白盒与黑盒之间,关注输出对于输入的正确性

2.静态测试

人工测试和计算机辅助静态分析的手段对程序进行检测。

(四)项目管理 1.甘特图

使用水平线段表示任务的工作阶段,线段的起点和终点分别对应着任务的开工时间和完成时间,线段的长度表示完成任务所需的时间。其优点在于标明了各任务的计划进度和当前进度,能动态地反映项目进展;其缺点在于难以反映多个任务之间存在的复杂逻辑关系。

2.PERT技术和CPM方法

确定关键路径,应用统计模型,计算边界时间。

3.软件过程改进

CMM模型将软件过程的成熟度分为5个等级,每一级都为下一级提供一个基础。

初始级,可重复级,定义级,管理级,优化级。

管理级对软件过程和产品都有定量的理解与控制,因此管理级和优化级均对软件过程和产品有定量的理解与控制。

我目前整理的软考中级网络工程师-03计算机系统开发基础笔记就这么多啦,如果各位大佬还有什么要补充的重点或者想要与作者交流,可以在下方留言哦,
跪求各位大佬一键三连,孩子可是码了一个晚上的字呢。

三、与作者更多学习交流

如果想要与作者更多的学习交流,欢迎加作者微信。
作者微信号:Communistic_belief

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。