探讨软件工程(风险)

  软件功能的实现,往往会分为若干流程。如今有多种多样的因素,干扰着这些流程的顺利执行。

无可奈何的网络

系统会部署在多样的实际环境中

环境中的网络架构、流量控制也各不相同

当然,网络的稳定性,也是一个变量

不说网络硬件设施的变动,而造成的网络动荡

就说说网络的稳定性,在一定程度上,很容易受到影响

简单分为硬性和软性因素:

  • 天气变化,信号干扰,线路受损等硬性因素
  • 路由,分流,网络设置等软性因素

这些因素,是影响流程走向正确的潜在危险

流程走向的多向选择

一个功能的流程,往往不会简单的“一往无前”

分支,循环,折回等等,都有可能出现

流程的多向性,加上网络的多样性,加大了程序出错的风险

备份成本的考虑

保证流程执行正确的一种手段是,备份正确流程节点的状态

但又要考虑时间、成本的因素

以及硬件环境的限制,诸如硬盘存储容量、数据库性能效率、程序性能(耗时、占用内存)

流程中多系统交互的影响

如今,单一系统完成所有功能,是不现实的

往往,需要在已有的若干系统上,整合新的系统功能

因此,系统间的交互,必须要考虑

但各个系统因为网络的多样性,流程的多向性,成本的考虑等,出错的几率就更大,风险也越多

这就要求新增系统必须考虑如何控制这些风险

如,系统 A 发送报文到 系统 B , B 接收成功后,反馈给 A 成功报文, A 继续下面流程

假设, A 和 B 间的报文传送出现问题, 系统 A 就面临着卡死的危险情况

时间: 2024-07-29 15:52:29

探讨软件工程(风险)的相关文章

探讨软件工程(需求调研和解决方案)

软件产品从市场需求来说,旨在解决现实中的一个个难题. 产品实现需求功能的同时,也体现了该需求的一种解决方案. 市场需求 现实的需要,才有了现在的商业体系(当然包括IT) 交通不够畅通,就有了导航.打车等软件 无暇外出购物,就有了京东.淘宝等网购 人们玩游戏,就有了暴雪.育碧等游戏公司 人们品美食,就有了九大菜系 解决之道 既然有需求,怎么实现,也就摆上了台面 交通不便,那么选择出行方式,以及如何规划路线,就成为了问题 导航软件,监控实时路况,一定程度上解决这个难题 标准化 任何商品(包括 IT

【集美大学1411_助教博客】2017软件工程开跑啦。。。

一.自我介绍 各位同学大家好,我是各位同学本学期软件工程这门课的助教,我叫郑蕊,现工作于吉林省长春市.很荣幸能再一次为<构建之法>担当助教,在之前担当助教的过程中,我已经获益良多,在此还是要感谢周老师和邹老师,感谢两位老师给我树立的优秀榜样,也感谢两位老师对我的教导和引导.很高兴这次能担当集美大学软工课的助教,在15年冬,我曾去过集美大学,那真的是一所风景非常优美的院校,从暴雪的东北到达绿意盎然的夏门,在集美大学的校园中漫步真是一件让人享受的事.希望本学期能和集美大学的同学们共同探讨软件工程,

软件工程理论方法与实践

第一章. 概述  软件是人类思维的杰作,并成为人类现代生活的催化剂.今天软件遍布整个世界,在生物工程.现代通信.宇宙探索.商务处理.工业控制等方面发挥出巨大的威力,并推动了商业.科学和工程领域的跨越式发展,对整个社会的经济和文化产生了深远的影响.软件工程师为了解决开发成本效益和软件质量的问题而产生的.软件是计算机程序.规程以及运行计算机系统可能需要的相关文档和数据.软件分为通用软件和定制软件.软件的特性分别是软件是复杂的.软件是不可见的.软件是不断变化的.大多数软件是定制的而不是通过已有构件组装

软件工程寒假作业

第一章.        概述  软件是人类思维的杰作,并成为人类现代生活的催化剂.今天软件遍布整个世界,在生物工程.现代通信.宇宙探索.商务处理.工业控制等方面发挥出巨大的威力,并推动了商业.科学和工程领域的跨越式发展,对整个社会的经济和文化产生了深远的影响.软件工程师为了解决开发成本效益和软件质量的问题而产生的.软件是计算机程序.规程以及运行计算机系统可能需要的相关文档和数据.软件分为通用软件和定制软件.软件的特性分别是软件是复杂的.软件是不可见的.软件是不断变化的.大多数软件是定制的而不是通

软件工程专业毕业到底能做什么工作?考研还是工作?

有很多刚刚踏入软件工程专业的学生或许对该专业还不太熟悉,不知道自己的努力方向,没有想好自己未来的路怎么走,如何走. 没错,我原来就是其中的一员.当我真正将要踏入社会的那一刻,在写简历的那一刻,我才明白自己的大学生活缺少了什么.以下的内容只是我个人对这个行业的一点理解和一些建议.希望能帮助那些刚刚进入这个专业的学弟学妹们. 前言 该文主要分为三大部分 互联网行业相关工作分类及描述 考研还是工作? 一些零散的宝贵经验(给学弟学妹们的) 一.互联网行业相关工作分类及描述 其他的学校我不知道,我们学校在

敏捷软件开发?什么是敏捷?

敏捷软件开发?什么是敏捷? 敏捷开发(Agile development)是如今软件工程项目中一个大热的词汇,很多大大小小的开发团队都喜欢高举敏捷开发的旗号,搞出一套显得大大不同于传统的运行模式来区分自己的团队博取眼球,他们手头所做的事情,只是套用一套流行的敏捷开发模板,如Scrum,Crystal,XP到自己的开发流程中,就认为自己的整个开发体系会有一个质的飞越.然而他们是否能真正驾驭所谓的敏捷开发?他们是否理解了敏捷开发的核心理念?这都是要划一个大大的问号. 笔者我在刚刚接触这个词的时候,下

软件测试的历史和发展

软件测试是伴随着软件的产生而产生的.早期的软件开发过程中,那时软件规模都很小.复杂程度低,软件开发的过程混乱无序.相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作.对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试 到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化.高复杂度,软件的质量越来越重要.这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设

人月神话-云图

封面 简介 我自己的结论体现在下面的文字中,送给职业程序员.职业经理.特别是程序员的职业经理.虽然写出来的是分离的章节, 还是有一个中心的论点, 特别包含在第 2-7 章. 简言之,我相信由于人员的分工,编程项目碰到的管理问题和小项目区别很大: 我相信关键需要是维持产品自身的概念完整性. 这些章节探讨了其中的困难和解决的方法. 后续的章节探讨软件工程管理的其他方面. 云图 原文地址:https://www.cnblogs.com/LearnFromNow/p/9348400.html

测试计算机软件发展历史

1.1    计算机软件发展历史 1.1.1 软件测试是伴随着软件的产生而产生的.早期的软件开发过程中,那时软件规模都很小.复杂程度低,软件开发的过程混乱无序.相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作.对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试. 到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化.高复杂度,软件的质量越来越重要.这个时候,一些软件测试的基础