软件设计师知识点100条(41~60)

目录

41、URL

42、加密算法

43、加密技术应用

44、网络安全协议分层

45、网络攻击

46、网络防御

47、病毒

48、常见的软件开发模型

49、螺旋模型与RUP 

50、敏捷方法

51、极限编程

52、开发方法

53、内聚性

54、耦合性

55、测试分类

56、白盒测试 

57、特殊的测试阶段及任务

58、McCabe复杂度计算

59、维护

60、质量属性与其依从属性


41、URL

URL:协议名://主机名组名最高层域名

软件设计师知识点100条(41~60)

软件设计师知识点100条(41~60)

42、加密算法

常见对称密钥加密算法(共享密钥加密技术):DES(Data Encryption Standard,数据加密标准)、3DES( Triple DES,三重数据加密算法 )、RC5(分组密码算法)、IDEA(

International Data Encryption Algorithm,国际数据加密算法)、AES(Advanced Encryption Standard,高级加密标准)算法。 
常见非对称密钥加密算法(公开密钥加密技术): RSA(公开密钥密码体制)、ECC(Elliptic Curves Cryptography,椭圆曲线加密算法)

常见的摘要算法:MD5(128位)(Message-Digest Algorithm 5,信息-摘要算法5),SHA(160位)(Secure Hash Algorithm,安全散列算法)。

43、加密技术应用

数字信封:用接收方公钥加密使用的对称密钥。
数字签名:用发送方私钥签名,保证发送方身份真实性,发送者不可抵赖,与信息摘要结合,可防篡改。对用户的身份进行认证。
信息摘要:单向散列值函数,防篡改,保证消息完整性。
数字证书(确保消息不可否认)
数字证书的内容包括:CA签名、用户信息(用户名称)、用户公钥等。

证书中的CA签名验证数字证书的可靠性验证网站真伪
用户公钥:客户端利用证书中的公钥加密服务器利用自己的私钥解密

44、网络安全协议分层

软件设计师知识点100条(41~60)

HTTPS 协议是P协议与SSL协议的结合,默认端口号443
PGP协议是邮件安全协议。
SET协议是电子商务安全协议,涉及电子交易安全。
SSH:为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议

45、网络攻击

软件设计师知识点100条(41~60)

46、网络防御

防火墙技术:防外不防内对于DMZ非军事区主要放置应用服务器(如邮件服务器WEB服务器)。

应用级网关防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤。

漏洞扫描:入侵者可以利用系统漏洞侵入系统,系统管理员可以通过漏洞扫描技术,及时了解系统存在的安全问题,并采取相应措施来提高系统的安全性。
入侵检测IDS:根据攻击者行为和模式库记录的行为进行模式匹配,对攻击行为报警。

软件设计师知识点100条(41~60)

47、病毒

震网是一种蠕虫病毒。
病毒的特性:计算机病毒的特性包括隐蔽性传染性潜伏性触发性破坏性等分类:
文件型计算机病毒感染可执行文件(包括EXECOM文件)。
引导型计算机病毒影响软盘或硬盘的引导扇区
目录型计算机病毒能够修改硬盘上存储的所有文件的地址
宏病毒感染的对象是使用某些程序创建的文本文档数据库电子表格等文件

48、常见的软件开发模型

瀑布模型
容易理解,管理成本低,每个阶段都有对应的成果产物,各个阶段有明显的界限划分和顺序要求,一旦发生错误,整个项目推倒重新开始。
适用于需求明确的项目,一般表述为需求明确、或二次开发,或者对于数据处理类型的项目
V模型
强调测试贯穿项目始终,而不是集中在测试阶段。是一种测试的开发模型。
喷泉模型
用户需求为动力,以对象为驱动,适合于面向对象的开发方法。
特点是迭代、无间隙
原型模型
典型的原型开发方法模型。适用于需求不明确的场景,可以帮助用户明确需求。

增量模型
可以有多个可用版本的发布,核心功能往往最先完成,在此基础上,每轮选代会有新的增量发布,核心功能可以得到充分测试,强调每一个增量均发布一个可操作的产品。

49、螺旋模型与RUP 

螺旋模型(适用于大规模的软件项目开发,增加开发成本)
典型特点是引入了风险分析。结合了瀑布模型演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划风险分析实施工程客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。
统一过程RUP
典型特点:用例驱动、以架构为中心、选代和增量。
构思阶段
强调定义和细化用例,并将其作为主要模型。
细化阶段
重点是创建分析和设计模型,强调类的定义和体系结构的表示。确定系统架构。

构建阶段
将设计转化为实现,并进行集成和测试。
移交阶段
将产品发布给用户进行测试评价,交付或再次进行迭代修改产品使之完善。

50、敏捷方法

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,适用于小团队和小项目,具有小步快跑的思想。
水晶法强调经常交付,认为每一种不同的项目都需要一套不同的策略、约定和方法论。

并列争球法的核心是代、增量交付,按照30天进行选代开发交付可实际运行的软件。

自适应软件开发的核心是三个非线性的,重叠的开发阶段:猜测、合作、学习。

51、极限编程

极限编程是一种轻量级的开发方法。
它提出了四大价值观:沟通、简单、反馈、勇气。
五大原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作。
十二个最佳实践:计划游戏、隐喻、小型发布、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户和编码标准。

52、开发方法

结构化开发方法用户至上,严格区分工作阶段,每阶段有任务和结果,强调系统开发过程的整体性和全局性,系统开发过程工程化,文档资料标准化,自顶向下,逐步求精

原型开发方法:适用于需求不明确的情况。
面向对象开发方法:更好的复用性,关键在于建立一个全面、合理、统一的模型,分析、设计、实现三个阶段界限不明确。

53、内聚性

 

软件设计师知识点100条(41~60)

软件设计师知识点100条(41~60)

54、耦合性

 

软件设计师知识点100条(41~60)

55、测试分类

静态测试
桌前检查、代码走查、代码审查。
动态测试
        黑盒测试
                等价类划分(确定无效与有效等价类,设计用例尽可能多的覆盖有效类,设计用例只覆盖一个无效类)
                边界值分析(处理边界情况时最容易出错,选取的测试数据应该恰好等于、稍小于或稍大于边界值)
                错误推测
                因果图
        白盒测试语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、路径覆盖。

56、白盒测试 

软件设计师知识点100条(41~60)

软件设计师知识点100条(41~60)

57、特殊的测试阶段及任务

验收测试:有效性测试、软件配置审查、验收测试。
系统测试:恢复测试、安全性测试、强度测试、性能测试、可靠性测试和安装测试。
集成测试:模块间的接口和通信。
单元测试:模块接口、局部数据结构、边界条件、独立的路径、错误处理。
回归测试:修改软件后进行的测试,防止引入新的错误。
负载测试:对软件负载能力的测试。
压力测试:对软件超负荷条件下运行情况的测试。

58、McCabe复杂度计算

McCabe复杂度计算公式:V( G) = m-n+2,其中m是有向弧的条数,n是结点数
对于伪代码可以先转换为程序流程图,对程序流程图可以最终转换为结点图处理,转换时注意将交点的地方标注为新的结点,以最终的结点图带入公式结算其McCabe复杂度。

59、维护

更正性维护:针对真实存在并已经发生的错误进行的维护行为。
预防性维护:针对真实存在但还未发生的错误进行的维护。
适应性维护:指使应用软件适应信息技术变化和管理需求变化而进行的修改。企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。
完善性维护:扩充功能和改善性能进行的修改。对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。

60、质量属性与其依从属性

功能性:适合性、准确性、互操作性、安全保密性
可靠性:成熟性、容错性、易恢复性。

易用性:易理解性、易学性、易操作性、吸引性

效率:时间特性、资源利用性。
维护性:易分析性、稳定性、易测试性、易改变性

可移植性:适应性、易安装性、共存性、易替换性

来源:一条小橘猫

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月15日
下一篇 2022年4月15日

相关推荐