当前位置: 首页 > news >正文

小型软件项目开发流程探讨

  一.导言
  国内很多项目都是小型项目, 参与人员少(两到五个人), 要快速交付(一两个月) . 要成功完成这种项目, 除了使用成熟且被团队成员熟练使用的技术之外, 有一个良好的开发流程, 也是很必要的.
   
  二.小型软件项目开发流程
  下图是我对小型软件项目开发流程的一个设想:

需求分析的重要性想必大家都应该清楚, 对于项目来说, 满足用户的需求是第一位的.
   
  因为时间紧, 系统设计经常被忽略. 这会留下很大的隐患, 国内很多项目的需求通常是很简略的, 还需要在系统设计阶段把一些需求进一步的明确. 不然会出现因为前期一些需求不明确, 一些已经开发好的功能要重做的情况. 另外, 设计做好了, 思路清楚了, 接下来的开发会顺利很多.
   
  系统设计包括业务流程设计, 数据库设计, 界面设计三部分. 关于界面设计, 哪些信息是用户需要的, 哪些信息是用户不需要的, 要仔细考虑一下.
   
  看到设计评审, 大家肯定有点奇怪: 小项目还做什么评审, 不是浪费时间吗? 其实不是这样的, 三个臭皮匠顶个诸葛亮, 一个人的设计, 或多或少会存在一些不足, 大家集思广益, 设计出来的方案无疑会更成熟一些. 在评审的过程, 大家的设计经验也无形中进行了交流, 对系统的了解也更多.
   
  小型项目的设计评审不用很正式, 搬上椅子坐到设计人员电脑旁边, 先听讲解, 再提问题, 然后有人把提出的问题记录下来就好了.
   
  很多小型项目没有设置专业测试人员, 因此, 开发过程中的自测很重要, 这也是保障项目质量的重要一环.
   
  功能都开发完成, 开发人员也完成自测试之后, 便可准备进入交叉测试环节. 测试的思维和开发的思维是不同的. 测试要站在用户的角色看问题, 把自己当成用户, 看项目是否满足全部需求.
   
  进入交叉测试之前, 开发人员应先完成部署手册和使用说明, 并部署到一个全新的环境(最好有个单独的测试服务器), 给大家演示一遍.
   
  交叉测试发现的问题先各自用Excel表格记录下下, 最后汇总到一个Excel文件, 放到公共目录. 改Bug后要验证. 发布前, 所有Bug再验证一次.
   
  三.小型项目人员配置
  一个项目经理, 一到四位开发人员
   
  项目经理负责需求分析, 主持设计评审, 决定设计评审是否通过, 决定是否可进入交叉测试决定是否可发布项目.
   
  开发人员负责系统设计, 开发和自测, 交叉测试, 修改Bug, 编写部署手册和使用说明.


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2010/12/26/1917190.html,如需转载请自行联系原作者

相关文章:

  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • iOS根据网络图片的size大小设置UIImageView的大小
  • sqlmap 本地安装
  • Ubuntu server 14.04升级16.04
  • 提取CString中的汉字及个数
  • connect-flash 用法详解
  • JavaScript的arguements
  • Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记...
  • 微服务学习笔记二:Eureka服务注册发现
  • php知识总结(二)
  • Java]Socket和ServerSocket服务器端接受数据
  • Cmakelists.txt中间部分模板
  • Native 性能稳定性极致优化
  • OpenGL中的二维编程——从简单的矩形开始
  • Laravel 建站随笔
  • 2017-09-12 前端日报
  • CSS 提示工具(Tooltip)
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • es6(二):字符串的扩展
  • FastReport在线报表设计器工作原理
  • Sublime text 3 3103 注册码
  • 初识MongoDB分片
  • 仿天猫超市收藏抛物线动画工具库
  • 回顾 Swift 多平台移植进度 #2
  • ------- 计算机网络基础
  • 检测对象或数组
  • 简单易用的leetcode开发测试工具(npm)
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 强力优化Rancher k8s中国区的使用体验
  • 微信开放平台全网发布【失败】的几点排查方法
  • Prometheus VS InfluxDB
  • zabbix3.2监控linux磁盘IO
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)shell调试方法
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .NET : 在VS2008中计算代码度量值
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET 服务 ServiceController
  • .NET导入Excel数据
  • .NET的数据绑定
  • .net开发引用程序集提示没有强名称的解决办法
  • .net中我喜欢的两种验证码
  • :not(:first-child)和:not(:last-child)的用法
  • @Import注解详解
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • []FET-430SIM508 研究日志 11.3.31
  • [2]十道算法题【Java实现】
  • [20171113]修改表结构删除列相关问题4.txt