zoukankan      html  css  js  c++  java
  • 软件工程之开发流程小总结 Virus

      观看本文的讨论的开发流程的时候,有两点需要注意:

    1.   首先,流程不是狭义的流程,也就是说不是单只写代码这个过程,包括了软件工程整个流程。
    2.   其次,我所讲的这个流程不见得正确,准确的说是肯定不能适用于全部软件开发项目,也就是说不是银弹,其实说起来连大部分都涵盖不了,顶多就是一部分吧。

      

      可行性分析

      这个一般都是做战略的专家来做的,他们更加有市场的前瞻性,俗话说就是看的更远一些,搞市场分析、调研,看看我们的想法到底是否可行,可行性有多大,可能会遇到的问题,我们的优势在哪里,可以利用的资源有哪些,需要引进那些资源,有多少对手,他们都进行到了什么程度等等。

      这个阶段的文档成果是:可行性分析报告等

      需求分析

      这个已经开始具体操作,经过可行性分析,我们有机会,可以进入这个领域。这时候,需要领域专家参与进来,架构师也要参与进来,还有就是需求分析的专业人士,和最少一名文档员,用来记录开发讨论的结果并形成文档。

      工作就是分解项目的需求,到底要做些什么,要实现什么功能,就是功能的范围和功能的细节,主要还是业务方面的梳理。

      这个阶段的文档成果是:需求分析说明书等

      概要设计

      经过前面的需求分析,形成了需求分析说明书。这个阶段应该是业务建模,形成业务用例,进一步形成业务用例。这个阶段是分解需求,可以使用数据库建模工具,或者是UML建模工具来辅助一下。

      这个阶段的文档成果是:概要设计说明书、业务用例文档等

      详细设计

      有了概要设计,有了模型,可以定义出数据库模型,甚至是可以定义数据库的字段,然后可以让高级程序员来辅助架构师进行架构设计,普通程序员先写实现的技术用例。或者让他们先看看业务用例,熟悉一下业务流程和项目的目标。

      这个阶段的文档成果是:概要设计说明书、技术用例文档等

      具体开发

      这个阶段就是具体的代码编写了,考验程序员的基本功的时候到了。

          关于开发的分工的话,我趋向于分层来分工,这样有以下几个好处:

    •       不用每个人从数据访问写到界面表现,可以集中精力,精益求精,便于后期优化
    •       中间层可拔插,可替换,可以优化,增加可扩展性
    •       可以享受ORM带来的一些好处
    •       增加可测试性,做得好,甚至可以测试外包
    •   这个阶段的文档成果是:接口文档,关键算法文档等

      可能会有人说,怎么没有测试呢?其实测试时贯穿整个流程的,在需求分析的时候,可以让他们熟悉业务,出来需求之后,他们就可以编写一些手动测试的测试用例,后面产品出来就可以测试了。开发人员的开发的时候,他们就要进行自动化测试的准备。

      还有就是一定要形成文档,每个阶段都会有开会,开会大家都有讨论,都需要有结论,有纸质的文档进行保存,可以买录音笔,先录下来,然后整理成文档,因为每个阶段都是后面阶段的基础,如果基础出了问题,后面都会是有问题的,所以后面备查。

  • 相关阅读:
    C语言指针专题——如何理解指针
    C语言指针专题——序
    Java 第14章 字符串
    Java截图笔记
    Java 第五章 循环结构1
    Java 第六章 循环结构2
    Java 第13章 带参数的方法
    Java 第11章 类的无参方法
    Java 第四章 选择结构2
    Java 第三章 选择结构1
  • 原文地址:https://www.cnblogs.com/virusswb/p/1672698.html
Copyright © 2011-2022 走看看