软件危机
在软件工程还没诞生以前,就已经有了软件危机的说法。而软件工程的诞生的目的就是问了解决软件危机,在我看来,虽然软件工程诞生了,但是软件危机并没有彻底的根除,而是得到了一定有效的遏制。
什么是软件危机呢?
用通俗的语言来讲便是在相同或相似的环境下生产功能相似的多个软件,因生产软件的效率不同或者是其他的原因,导致这些软件还没被生产出来,已经有它可替代的软件,从而被淘汰或者赶不上潮流,从而造成软件危机。
专业术语的描述(即软件危机的表现):
第一:产品不符合用户的实际需求
第二:软件开发生产效率提高的速度远远不能满足客观需求,软件的产效率远远低于硬件生产率和计算机应用的增长,使人们不能充分利用现代计算机硬件提高的巨大潜力
第三:软件产品的质量差
第四:对软件开发成本和进度的估计常常不准确
第五:软件的可维护性差
第六:软件文档资料通常既不完整也不合格
第七:软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升
为解决软件危机大量工作者给出的经验:
第一:用分阶段的生存周期计划严格管理
第二:坚持进行阶段评审
第三:实行严格的产品控制
第四:采用现代程序设计技术
第五:结果应能清楚地审查
第六:合理安排软件开发小组的人
第七:承认不断改进软件工程实践的必要性
可行性研究
可行性研究是作为问题定义和需求分析阶段的一个重要的过程,是关系到编码测试维护的一个重要的阶段,编码阶段所有的依据都需要根据可行性研究报告或者文档来完成。
可行性的研究主要从经济可行性、技术可行性、操作可行性、法律可行性、时间可行性五个方面来讨论
经济可行性为生产软件的成本和能够收益的效益的评估
技术可行性为生产软件需要什么样的人才,什么的资源等
法律可行性为软件受法律的保护,这是通俗易懂的
时间可行性则为生产软件的效率和客户限定的软件完成的日期,及工期。
可行性研究的步骤:
第一:复查系统规模和目标
第二:研究目前正在使用的系统
第三:导出新系统的高层次逻辑模型
第四:重新定义问题
第四:向用户推荐建议的方法
第五:推荐行动方案,作出一个关键性的决定
第六:草拟开发计划,写出可行性论证报告
第七:提交上级和专家审查