系统架构设计师-软件工程(4)

这篇具有很好参考价值的文章主要介绍了系统架构设计师-软件工程(4)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、软件测试

        1、软件测试类型(动态测试 / 静态测试)

                1.1 动态测试【计算机运行】 

                1.2 静态测试【人工监测和计算机辅助分析】

        2、软件测试阶段

        3、软件系统测试

二、遗留系统演化策略 

三、新旧系统的转换策略

四、数据转换与迁移 

五、影响软件可维护性的原因 

六、软件维护类型 


一、软件测试

        1、软件测试类型(动态测试 / 静态测试)

                1.1 动态测试【计算机运行】 

                        1.1.1 白盒测试法【结构测试】:主要用于单元测试阶段。

                                系统架构设计师-软件工程(4),软考高级,系统架构师,软件工程,系统架构

                                (1)控制流测试【逻辑覆盖测试(语句覆盖最弱,路径测试覆盖最强)】

                                (2)数据流测试

                                (3)程序变异测试【错误驱动测试】  

                        1.1.2 黑盒测试法【功能测试】:主要用于集成测试、确认测试和系统测试阶段。

                                系统架构设计师-软件工程(4),软考高级,系统架构师,软件工程,系统架构

                                (1)等价类划分:不同等价类,揭示不同问题;有效等价类/无效等价类。

                                (2)边界值分析:1 <= x <= 10,可取 x 的值为0、1、10、11作为测试数据。

                                (3)错误预测:依靠测试人员的经验和直觉

                                (4)判定表:最适合描述在多个逻辑条件取值的组合所构成的复杂情况下,分别要执行那些不同的动作。

                                (5)因果图:根据输入条件与输出结果之间的因果关系来设计测试用例。

                        1.1.3 灰盒测试法:白盒+黑盒

                1.2 静态测试【人工监测和计算机辅助分析】

                        (1)桌前检查 (2)代码审查(3)代码走查

                        在静态测试中,主要是对代码进行静态分析,静态分析一般包括控制流分析、数据流分析、接口分析、表达式分析

                        (1)控制流分析:是否存在没有使用的语句 / 无法到达的语句 调用并不存在的子程序。

                        (2)数据流分析引用未定义的变量、对以前未使用的变量再次赋值。

                        (3)接口分析:模块之间的接口的一致性、子程序和函数之间的接口一致性、函数形参与实参的数量、顺序、类型的一致性。

                        (4)表达式分析括号不配对、数据引用越界、除数为零。

        2、软件测试阶段

                        系统架构设计师-软件工程(4),软考高级,系统架构师,软件工程,系统架构

                测试阶段:

                (1)单元测试:依据【详细设计】,模块测试,模块功能、性能、接口等。

                (2)集成测试:依据【概要设计】,模块间的接口。                                

系统架构设计师-软件工程(4),软考高级,系统架构师,软件工程,系统架构

                (3)系统测试:依据【需求文档】,在真实环境下,验证完整的软件配置项能否和系统正确连接。

                (4)确认测试(验收测试):依据【需求文档】,验证软件与需求的一致性。内部确认测试。

                (5)回归测试:测试软件变更之后,变更部分的正确性和对变更需求的符合性。

        3、软件系统测试

                (1)功能测试(2)性能测试(3)健壮性测试(4)用户界面测试

                (5)安全性测试(6)安装与反安装测试

                性能测试:

                (1)负载测试各种工作负载下系统的性能

                (2)压力测试【测上限】:系统的瓶颈或不能接受的性能点。

                (3)强度测试【测下限】:系统资源特别低的情况下运行。

                (4)容量测试【并发测试】:同时在线的最大用户数。

                (5)可靠性测试:MTTF(Mean Time to Failure,系统发生失效前的平均运作时间)、MTBF(Mean Time Between Failures,平均无故障工作时间)、MTTR(Mean Time to Restoration,故障后平均修复时间)之类的参数。

二、遗留系统演化策略 

                系统架构设计师-软件工程(4),软考高级,系统架构师,软件工程,系统架构

        (1)高水平低价值:采用集成策略,主要针对 “信息孤岛” 。

        (2)高水平高价值:采用改造策略,改造包括功能的增强数据模型的改造两个方面

        (3)低水平高价值:采用继承策略,开发新系统时,需要完全兼容遗留系统的功能模型和数据模型

        (4)低水低价值:采用淘汰策略。 

三、新旧系统的转换策略

                系统架构设计师-软件工程(4),软考高级,系统架构师,软件工程,系统架构

        (1)直接转换策略:切换成本低,但风险较大

        (2)并行转换策略:两个系统齐头并进,发现问题改进系统,直到没有问题再使用新系统。缺点是代价过高,业务人员需要在新旧两套系统中同时进行操作。

        (3)分段转换策略:例:全国范围的系统,一个个地方切换试点。例:多个子系统,一个个系统切换。

四、数据转换与迁移 

                系统架构设计师-软件工程(4),软考高级,系统架构师,软件工程,系统架构

五、影响软件可维护性的原因 

        (1)【可理解性】:是指通过阅读源代码和相关文档,了解软件的功能如何运行的容易程度。

        (2)【可修改性】:是指修改软件的难易程度。

        (3)【可测试性】:是指验证软件程序正确的难易程度。可测试性好的软件,通常意味着软件设计简单,复杂性低。因为软件的复杂性越大,测试的难度也就越大。

        (4)【可靠性】:一个软件的可靠性越高,需要维护的概率就会越低。

        (5)【可移植性】:是指将软件从一个环境移植到新的环境下正确运行的难易程度。软件运行环境的变化是软件维护的一种常见情形,可移植性好的软件会降低维护的概率。

六、软件维护类型 

        (1)正确性维护【修BUG】识别和纠正软件错误 / 缺陷,测试不可能发现所有错误。

        (2)适应性维护【应变】:指使应用软件适应环境的变化【外部环境、数据环境】而进行的修改。

        (3)完善性维护【新需求】扩充功能和改善性能而进行的修改。

        (4)预防性维护【针对未来】:为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使用系统适应各类变化而不被淘汰。经典实例:【专用】【通用】文章来源地址https://www.toymoban.com/news/detail-549177.html

到了这里,关于系统架构设计师-软件工程(4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件设计师——软件工程(四)

    本文主要是【软件工程】——软件设计师——软件工程的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句:狠狠沉淀,顶峰相见 21.某开发小组欲为一公司开发一个产品控制软件,监控

    2024年01月24日
    浏览(50)
  • 中级软件设计师备考---软件工程1

    瀑布模型 :最早的一类、适用于需求明确的项目、 结构化 的典型代表 原型模型:先构造一个建议的系统原型再去和用户深入多次交流,不断地根据用户需求进行调整 演化模型:一步步变化,最后得到产品 增量模型:先完成项目的核心功能,然后一步步增加功能 螺旋模型

    2024年02月02日
    浏览(57)
  • 软件设计师(五)软件工程基础知识

    软件开发和维护过程中所遇到的各种问题称为“软件危机”。 软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。 计算机软件是指计算机系统中的程序及其文档。

    2024年02月14日
    浏览(54)
  • 【中级软件设计师】—(针对上午题)软件工程上(三十五)

    环的个数=闭合区域+ 1,上图环的个数为:2+1=3 注意:每个边都应该有两个结点相对应,不懂看B站软件工程上视频 P95集 需要2个测试用例 答案:B D 答案:A C 系统可维护性的评价指标:理解、测试、修改 D 选项:在软件工程的每一个阶段都应考虑并提高软件的可维护性 B选项:

    2024年02月04日
    浏览(52)
  • ③ 软件工程CMM、CMMI模型【软考中级-软件设计师 考点】

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ CMM : CMM将软件过程改进分为以下5个熟练度: 初始级 软件过程的特点是 杂乱无章 ,有时甚至很 混乱 ,几乎

    2024年02月06日
    浏览(54)
  • 推荐10款设计师都在用的3d机械工程软件

    新产品和系统的研究和开发需要特定的软件。您必须能够设计建筑物、系统、机械和设备的蓝图和示意图。您还需要能够与其他工程师、绘图员和团队成员协作,同时有效且高效地工作。设计工程师的软件必须简化其流程,以避免妨碍他们的设计和开发工作。 好的工程设计选

    2024年02月16日
    浏览(50)
  • 系统架构设计师-软件架构设计(3)

    目录 一、软件架构风格(其它分类)         1、闭环控制结构(过程控制)           2、C2风格         3、MDA(模型驱动架构 Model Driven Architecture)         4、特定领域软件架构(DSSA)                 4.1 DSSA基本活动及产出物:             

    2024年02月15日
    浏览(64)
  • 系统架构设计师-软件架构设计(7)

    目录 大型网站系统架构演化 一、第一阶段:单体架构 到 第二阶段:垂直架构 二、第三阶段:使用缓存改善网站性能         1、缓存与数据库的数据一致性问题         2、缓存技术对比【MemCache与Redis】         3、Redis分布式存储方案         4、Redis集群切片的

    2024年02月14日
    浏览(72)
  • 系统架构设计师-软件架构设计(6)

    目录 一、物联网分层架构 二、大数据分层架构 三、基于服务的架构(SOA)         1、SOA的特征         2、服务构件与传统构件的区别 四、Web Service(WEB服务)         1、Web Services 和 SOA的关系 五、REST(表述性状态转移) 六、ESB(企业服务总线) 七、微服务         1、微

    2024年02月14日
    浏览(307)
  • 【新版】系统架构设计师 - 软件架构设计<新版>

    个人总结,仅供参考,欢迎加好友一起讨论 软件架构的概念(★★★) 基于架构的软件开发(★★★★) 软件架构风格(★★★★★) 特定领域软件架构(★★★) 软件质量属性(★★★★★) 软件架构评估(★★★★★) 软件产品线(★★★) 构件与中间件技术(★

    2024年02月09日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包