首页 > 其他 > 详细

学习总结——谓软件工程为何物

时间:2017-01-13 00:59:45      阅读:234      评论:0      收藏:0      [点我收藏+]

首先说明一些个人见解

软件工程的根本出发点是要做好一个软件系统——尤其是在系统庞大、涉及人员众多、历时特别长、正确性要求特别高的情况下。那么我们简要思考一下需要考虑哪些方面。 在这之前,我们需要区分两种情况:第一种是需求是自己提出来的,第二种是需求是由客户提出来的。 自己提出需求是什么概念?比如说我是创业公司,公司的需求就是软件的需求。通常公司本身就有技术背景,因此可以省去很多协商磨合的时间。因此我们假定需求都是明确的,沟通上都没有问题,才能将两种情况归一而论。

 

那么做好一个软件系统,简要地说,可以是以下步骤:

系统的划分

根据需求,将系统从功能上划分为若干子系统。这时候细节可以忽略,主要看的是大体,比如一个社交网站可以简单分为用户系统、内容管理系统、内容推送系统。这样子我们可以从功能上分解庞大的系统,从而分解工作量。这个时候,每个系统可以递归分解子系统,直到一个系统的原子性充分展现为止——比如一个模块:登录模块、注册模块。当然这依照可分人员的数量,决定分离的粒度。划分的子系统功能即是工作目标。

联系的定义

在开始工作前,每个子系统工作组必须明确需要外界(其他工作组)提供什么样的帮助——比如内容管理工作组需要向用户系统工作组索要用户验证接口、获取用户信息的接口、获取用户授权的接口等等。当每个组根据自己的设计思路,整理出这一份需要帮助的清单,提交给别组。因此,自己本身也会收到其他组索要的帮助清单。这个清单可以辅助调整系统功能和设计方式,调整过之后把新增的帮忙清单部分再提交给别的组,这样迭代若干次,基本上每个工作组的设计方式和功能需求可以确定下来。这个子系统与其他子系统的联系也基本定型。

系统内角色分配

当系统划分完成之后,我们每一个子系统工作组可以分为四类人员:后端、前端、协调人员、测试人员。 后端负责数据相关的操作实现,前端负责界面的构建以及数据的展示,协调人员负责沟通需求、安排进度、汇总文档、代码复检等,测试人员负责测试样例构建、搭建测试框架等。

 

以上步骤再加上一些预先的规定,比如工具集的选定、文档格式规范等,理论上就可以work了。等项目进度到了某个程度,可以组织系统间的对接测试,此时需要更全局的工作组负责。

但是,还需要一些管理工作

 

可能这部分工作主要由协调人员,通常是PM完成。比如组织汇报会议,记录成员工作状况和贡献,在特殊情况下调整schedule等。

 

在我看来,这已经是相当完整的开发体系。

 

学习总结——谓软件工程为何物

原文:http://www.cnblogs.com/toka/p/6280082.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!