【背景】
机房收费系统个人重构已接近尾声,在最后阶段自己去补文档以及其中涉及到的图!经过将近一周的奋战将其完善,并最终通过师父的验收。透过这次机房重构写文档和画图,自己感触颇深,在此与大家共享。
【文档驱动下软工开发流程】
·软工简介:
从上世纪六十年代的软件危机之后,诞生了软件工程。此后随着人们需求越来越高,导致系统功能复杂度越来越大!要想解开发这样大系统,像之前单个人开发是不可能完成,毫无疑问合作开发就是很好解决方案;但随之而来的是如何控制许多人按照一定的规范在一定时间内将系统按照一定标准完成???这就是软件工程所要解决问题,尤其在当今这个时代这些问题表现越来越凸出,当然软工也越来越受到人们的重视。
·软工文档:
1、可行性研究报告:
①考虑要点:技术 经济 法律 市场;
②说明:系统是否可以开发;
③查看文档人员:项目经理、技术总监、客户。
2、总体规划:
①说明:对项目进度把控;
②应有图:甘特图;
③查看文档人员:项目经理、技术总监、开发人员、测试人员、后期培训客户人员。
3、需求分析:
①说明:客户和开发人员进行沟通,为开发人员开发出来软件满足客户的需要提供依据;
②应有图:功能框架图、原型图 、用例图、功能模型图(ER图)、IPO、数据字典;
③查看文档人员:客户、需求分析人员、开发人员、测试人员。
4、概要设计:
①说明:开发阶段对整体框架进行设计;
②应有图:架构图、包图、类图、接口图、流程图、功能模块对应图;
③查看文档人员:技术总监、开发人员。
5、详细设计:
①说明:对程序进行详细的设计;
②应有图:时序图、协作图 、类图、活动图、状态图;
③查看文档人员:技术总监、开发人员。
6、数据库文档:
①说明:指导数据库设计规划以及实现;
②应有图:ER图、数据库关系图;
③查看文档人员:数据库设计人员、数据库管理员、开发人员。
7、编码文档:
①说明:对数据结构,算法分析和模块实现进行设计;
②应有图:接口图、功能模块图;
③查看文档人员:开发人员。
8、测试文档:
①说明:对开发好的程序进行测试,以发现系统中出现的Bug;
②应有图:测试用例;
③查看文档人员:测试人员、开发人员。
9、用户手册:
①说明:让用户快速使用这个系统,并且在使用过程中出现问题可快速解决;
②应有图:界面截图;
③查看文档人员:用户,文档审核人员。
10、软件交付:
①说明:交付东西——目标安装程序、数据库文件、用户手册、需求报告。
②查看文档人员:用户、项目经理、文档审核人员。
·文档映射下开发流程:
【总结】
在机房重构的时候,自己没有先写文档是先设计数据库然后编程,最终是补的文档。正确流程:先写文档然后在开发过程完善文档。
虽然之前学过软工,但是这次补文档之前自己潜意思里还是写文档麻烦,自己都实现再补文档没什么意义。不过再师父的开导下,自己边做边查边和小伙伴们交流,尤其是在画文档中涉及的图(时序图、类图等)时亲身体会到了文档的指导意义,也体会到了文档驱动下软件开发下的意义。
在学习过程中初次接触某些东西时,对它的理解以及好处不是很深,心中会质疑。同样是怀着质疑的心态:一种人选择了听自己内心坚持自己的想法不再去做这些东西;另外一种人则选择了去做、探索、别人交流、思考、总结。当后一种人已豁然开朗乐此不彼时,前一种人依然停留在质疑中。生活亦如此当你去改变自己时会发现突然又多世界变大。