20世纪60年代,由于软件本身的特点以及开发方法等多方面的问题,软件的发展速度远远滞后于硬件的发展速度,难以满足社会日益增长的软件需求。软件开发周期长、成本高、质量差、维护困难等问题直接导致了软件危机的爆发。为了应对这一危机,人们提出了“软件工程”的概念,试图以工程化的方法解决软件危机问题。
那什么是“软件工程”呢?这个在业界还没有统一的定义,但大抵意思就是:运用现代科学技术知识来设计并构造计算机程序并为开发、运行和维护这些程序提供相关资料。因此现代的软件定义就变成了这么个样子:软件=程序+相关文档。
具体的讲就是用工程化原则和思想来一步步指导你去完成一个软件的定义、开发、测试、发布和维护。那下面我们就开始进行一个真正的软件过程喽(也可以说成是生命周期,都OK啦)。
1.需求分析,
开发一个软件首先你要弄清楚的肯定是要我做什么,也就是拿到用户的需求。一般采用的做法是直接与资深业界人士交谈或者实地考察一番结合邮件的交互,完了回来开些内部会议,然后去做一系列的分析,比如我拿到的needs是完整的吗、需求是不是正确(比如歧义)、然后各项需求是否合理最后在综合考虑时间金钱能力等因素后是否可行?最后就是把拿到的信息做一个综合考察,拿出整理后的结果跟用户一起来验证,形成相关的需求文档。
那在这一块我们主要采取的是结构化的分析方法(