1.引言
软工即用科学,工程的思想来开发软件,大体分为设计前,设计中,和设计后三个阶段。而在设计前就是要分析定位好这个软件能做吗?做什么?的问题。好比说我要说我要盖一座楼,首先我要分析一下资金,技术,时间工期,地皮,政策等条件允许吗?盖好这个楼我能赚多少钱?如果这些条件我都满足并且楼盖好后我能赚钱那就干。然后考虑干什么呢?我这楼是供用户居住的还是商场?除了供居住外,有没有电梯?可供使用多少年?防震多少级?等。确定主要的功能,性能,和主要的问题是什么?那我们就具体来看一下开发软件的可行性分析和需求分析吧!
2.总体
(1)可行性分析
可行性分析就是要确定我们要开发这个软件要解决什么问题,达到什么要求,我们是否能达到这个要求,总之,能干否?在这个过程中重要的是导出新的逻辑模型,确定问题,提出可行性方案,一般是2到3个方案,关于资金的方案和关于技术的方案是最主要的,然后提出我们的建议并附上开发计划让用户参考,最后书写文档。工程理清了剩下的就是用什么样的方法来进行,还有用户最关心的一部分,就是成本和收益。
在可行性分析这一部分主要用到的方法就是数据流图和系统流程图。然后就是用恰当的方法来估计成本和效益。货币的时间价值,投资回报率我们之前解除过,应该不陌生。
(2) 需求分析
需求分析就是要确定干什么,要实现什么功能,然后把功能由顶向下,逐步细化的分解,抽象成小功能,然后逐步实现。这个阶段还要把逻辑模型做出来,对数据的类型等定义好。之后就是用什么方法,具体经历什么过程。
过程简单来说就是找出问题,分析问题,形成需求规格说明书,然后进行需求分析评审和用户共同完成。
3.总结
盖楼之前先分析这个楼是否值得盖,盖什么样的楼对整个盖楼的过程起到至关重要的作用。生活中常有这样的例子,一个楼盘整体框架盖起来但是投资方没有资金了,然后就给搁置了,要不就是盖的差不多了,政府不让盖了说是违章。可行性分析和需求分析对于整个软件开发过程也是同等重要,任何一个项目都不要着急开始,一定要做全面的分析,不要着急编码,编码在开发过程中是投资最少的,重要的还是前期的规划。