软件开发工作流程

看了好多开发人员的提问,问题根本原因是不了解软件开发的工作流程造成的,不了解软件开发工作流程,就像一个厂长不了解产品是怎么生产一样,了解我们行业工作的流程,知道工作流程中设立的岗位,岗位的职责和要求,对于明确自己的责任,做职业规划是非常有作用的,下面我们来说一下软件开发的核心工作流程。

A-业务建模——描述目标组织(组织的类型可以是人群或机构)对外提供什么业务,描述业务的实现流程,引进待开发系统改进业务实现流程

B-需求——从改进的业务实现流程图中,映射出待开发系统的用例,编写用例规约,把系统用例中不同稳定性的需求描述出来,(功能、质量、设计约束)

C-分析——需求中的用例规约已经描述了系统对外提供的功能。但没有说明系统里面有什么,他们之间如何相互协作来实现系统的功能。分析工作就是利用面向对象的思想寻找出系统里面有什么,它们之间的关系是怎么样的,它们是如何相互协作来实现系统的功能。

D-设计——为了实现质量需求和设计约束,将分析工作流得出的成果映射到非核心域上实现(用什么语言,用什么数据库,在什么平台实现)


图1 四个工作流

以上四个工作流的名称使用了传统术语,也有一定的模糊性(特别是业务建模)。更贴切的名称是组织建模、需求建模、核心域建模、实现。如果您觉得业务建模、需求、分析、设计不好,直呼ABCD或改成阿猪、阿狗、阿鸡、阿鸭也无所谓。任何一个软件项目,这些思考都是逃不掉的,也就是说,我们一直在做,只不过很多人习惯于无意识地做,运气时好时坏,速度时快时慢,有的人能够有意识地做,让汗水不白流。

思考的结果,可以用口头表达,也可以用文本、其他表示法或自造符号来表达。用UML来表达,目前是比较好的一种,它是一种行业标准,大家都在共识上沟通,减少沟通的成本,提高沟通的效率

你可能感兴趣的:(软件开发工作流程)