傻瓜式软件开发过程讲解
软件开发是一个非常复杂的过程,是一系列分析、开发以及测试的结果。我们可以将软件开发看做是不断精准描述,使之成为符合需求的程序和文档的过程。不断精准描述的过程称之为逐步求精。这是一个最基本的观念,无需考虑开发过程的迭代特性。
以前一旦软件开发完成即可投入使用。而现在,要想投放市场,还需要解决各种问题:维护事宜、排除故障、提高跟踪功能、以及根据需要加减或改变功能。 维护过程中可能需要修改核心系统的功能,从而导致重新开发。也正因为如此,我们又将其称为一个程序的生命周期,所以除了开发,我们还要考虑运行和维护。
通常在团队开发中,有些需要修改的代码是从别人手里接过来的,改进代码的人有可能和写代码的是同一个人,也有可能不同,然后调整方案再交付给另外的 成员修改调试某个程序片段或函数。但是在整个工作过程中,这很容易导致相互的误解、程序异常,并且最后甚至会有其他难以预料的事情和冥顽不灵的错误发生, 即便我们做出努力也还是会传播到用户手中,影响各个阶层对该产品和公司的印象。
为了避免这种情况,我们很有必要及时搞定那些能长期产生积极效果的高质量程序,否则它们就像蛀虫一样,即使是在很短的时间内也会消耗非常多的资源。 更深层次地,在开发软件项目过程中,在看到高质量程序带来的重大好处的同时,我们必须采取所有有效的手段去理解和分析问题。为了在需求层面上减少开发工 作,在这里我有一些方便后续再开发、改进和预防错误的步骤。
软件开发是一项相对抽象的工作,这里我们将对其进行傻瓜式的理解,但是也许这并不适合所有开发者。
理解问题——理解程序的一般概念;
需求分析——接受具体内容,并与客户讨论,以明确其要求,记录问题并定义功能;
应用模块的分析——将功能划分成模块,以方便管理;
技术的战略选择——选择最好的开发技术;
确定并正式形成实体——设计数据的组织结构;
设计功能——设计菜单、视觉信息的组织方法、以及搜索和检索的方法等;
技术设计——设计结构和功能所需的类(协同技术人员);
形式化分析——在文件中阐述详细的概念、数据结构和程序的功能。
译文链接:http://原网站已经失效/article/software-develop-for-dummies.html
英文原文:The process of software development (for dummies)
翻译作者:码农网 – 小峰