如何看待软件设计

背景介绍

         随着工作经验的增长,发现无论是基于现有系统的重构技术选型,还是开发新系统的技术选型,都需要从需求,成本,风险三方面进行考虑。下文是具体的技术选型思路分享。

      

需求

业务需求

将系统进行原型分析,输出界面原型(Axure)文档,依据原型分析出系统所包含的功能点,各个功能之间的交互方式。以此来作为技术选型的参考。

技术需求

需要考虑如下内容:

1、系统可配置

     包括数据源配置,数据库连接池配置,集群配置,事务配置,ORM映射等,此时要考虑到可以满足 上述内容的技术,比如ssh,springmvc+spring+hibernate,tomcat+nginx,数据库集群

2、系统日志

      日志的记录方式,文件存储还是数据库存储,本地存储还是远程存储。(log4j,自定义日志)

3、部署方式

      分布式部署,独立服务器部署,集群部署,云部署等

4、通信方式

      消息通信,webservice通信,远程过程调用

5、现有系统兼容性

      技术引入后是否对现有功能造成影响,是否可以并存

6、历史数据处理

     历史数据的转移和清理


经过业务需求和技术需求的分析,基本可以定出一套甚至多套方案,接下来就可以从风险和成本角度确定最终的方案。

风险

1、性能

并发量

同时支持多少次的访问,如何控制并发量数量,如何优化并发数量。

处理速度

       接受到请求后,处理是否及时,是否可以满足系统对处理速度的要求

系统资源消耗

       服务器cpu,memory使用情况

2、异常处理(健壮性、稳定性)

3、数据一致性保证

     事务,数据校验,安全验证,逻辑同步,回滚机制

4、其他情况

     网络,自然灾害

5、成本

     以上内容需要给出量化指标和预研报告。

成本

1、学习成本

     了解团队成员基本情况,采用某种技术后,是否容易学习和入手使用,需要给出量化指标。

2、维护成本

3、推广周期

4、人才培养

5、服务器采购


PS:



  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值