探讨软件工程(风险)

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

无可奈何的网络

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

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

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

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

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

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

  • 天气变化,信号干扰,线路受损等硬性因素

  • 路由,分流,网络设置等软性因素

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

流程走向的多向选择

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

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

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

备份成本的考虑

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

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

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

流程中多系统交互的影响

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

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

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

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

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

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

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

posted @ 2015-11-21 21:05  coolsoul  阅读(407)  评论(0编辑  收藏  举报