项目名称:基于YH收银系统的通用商业收银系统
项目完成度:100%,开始进入维护工作
项目进行了5个月了,磕磕绊绊一路下来,今天终于结项了。虽然项目跟自己的预期差不太多,但是终归是有差距的。而且时间上花费的太多了,都疲了。看来以后需要采用“快速开发,产品迭代”的方式带领团队开发项目了。
在项目开发过程中,不断的学习,不断的探索,不断的实践,从思想上、技术上、解决问题的思路上都有了很大的提升,所谓困难多多,收获多多。
在开发之前,参考了很多软件开发过程的资料,有的说的很模糊,还有的说法有些不一。经历了这样一次完整的开发过程,下面就先说说我理解的软件开发过程吧。
软件开发过程到底是怎么样的?
众所周知,软件开发过程一般分为5大阶段。那么我也从这5个阶段依次说起:
【分析阶段】
老师给我们安排任务,和分组后。项目就算正式开始了。
熟悉原系统,划分模块
分析原系统的数据库,对照功能,虽然费时,却能清楚的了解系统的功能逻辑和大致的实现。
确定系统采用哪种结构哪种方式进行开发:BS、CS,经典三层,MVC、设计模式
分析需求+新需求,画原型图,写需求分档(功能模块、用户)
【设计阶段】
画用例图,分清楚用户与用例的对应关系
采用开发工具,设计系统的原型图设计数据库,生成实体类
画包图,类图,写方法,参数,注释
画时序图,捋顺业务逻辑写设计文档
【编码阶段】
首先按包图,构建项目框架。
对源码进行svn版本控制。
把最最基本的实体类完善。可以借助工具辅助完成。
修改完善UI层的界面。
按分工开始同步编码, 编码的分工会在接下来的主题中讨论。
单元测试要做好
【测试阶段】
单元测试已经在编码过程中进行
集成测试前,要保证完全的测试,要做好几点准备工作:数据库的创建.sql文件,数据库初始化.sql文件,清空和请零自增标记.sql文件。
集成测试,记录bug
修复bug,修复一个标记一下
回归测试,循环多次。
【运行与维护】
建立用户档案表,包括用户详细信息,联系方式、系统版本信息、配置信息等。
建立维护记录表,包括时间、用户信息、bug信息、解决状态、简述解决方案、解决方式(电话指导、现场部署、QQ远程等)
建立需求记录表,记录用户的新需求
建立维护解决方案,将每次新问题的解决方法记录下来,方便他人接手维护。
建立版本更新记录,包括时间,(前台/后台、)前版本号,现版本号,更新内容(修复哪些bug),修改人,审批人,审批时间
每个阶段有应该有阶段评审。由于经验有限,所以我们在整个开发过程中只有2次验收。中期验收,即为编码前的验收,验收原型、需求、设计等是否符合项目要求,符合则可以继续进行,否则返工。结项验收,即项目结束前的验收。验收系统的功能、性能、灵活性等方面,验收各种文档信息。
这就是我通过带领这次软件开发,对软件开发过程的理解。难免有些疏露或者不一致,仅供参考。如有兴趣,可以留言讨论。