软件开发之文档的重要性
大三下学期,一次偶然的机会让我开发了一个完整的小项目,也让我第一次对软件开发的整体流程有了一个比较全面细致的了解。比起那些还没有参加工作的学生来说,能这么早接触到实际项目开发真的是很幸运,其实也非常感谢那位老师。话不多说,转入正题。今天要总结的是:软件开发中文档的重要性。
首先说一说我对软件开发流程一个基本了解。总体上来说,软件开发有以下几个主要的阶段(当然我这些肯定不是最全面的)。需求获取阶段——文档设计阶段——代码实现阶段——测试阶段——维护阶段,而且他们的先后顺序是不能颠倒的。
大三开发那个项目是老师帮我确定了软件的整体架构,后面的文档编写,代码实现,测试维护工作都由我来做,当然整个过程是伴随着老师的指导进行的。那个时候,老师经常和我说的两句话让我记忆非常深刻。第一,要想保证一个软件成功开发,必学先写文档(确定需求,确定架构,然后撰写需求分析,概要设计,详细设计)。用户的需求如果确定的明明白白,那么这个软件就已经成功一半了。这点是我到了公司参加工作以后才明白的,因为需求搞不明白的话,后面的所有工作都是很难展开的。对于很多初学者来说可能不喜欢写文档,我就是是其中的一位。那个项目老师让我写了一个多月的文档,让我在文档层面把所有的业务逻辑弄明白。第二,工作做得越细越好(就是把每一个细小的功能模块的详细实现都要写明白,所有的类图,流程图等等都要写明白,后来慢慢的才知道,工作做的越细,你对业务逻辑的把控力就越强,对业务的理解就会越透彻,实现起来就会更简单。如果工作做的不细,对于没有经验的人来说,从宏观上去把控业务会有些力不从心)。没写文档前,我以为代码的实现大概在20-30天左右,这是保守的时间估算。但后来的结果非常出乎我的意料,写完所有的代码用了不到十天的时间。这是我第一次意识到文档对后期代码实现的指导作用。
所以说,文档一定要先于代码,不能颠倒。2015年11月份,我在公司接触到了另外一个项目。公司给我的文档不仅少(只有大概的功能概述,有些是还是手写的),而且书写极不规范,这使我短时间内根本不无法把控用户需求,连用户想要做什么都搞不明白。数据库的表就给了一个简单的Excel表格,对表字段的说明也就4-8个字左右。很多字段我完全搞不明白是干什么的。这让我更感觉到文档在软件开发的重要性绝对是五星的。没有详细的文档,后来的开发人员很难迅速上手,弄懂需求。
还有一点,文档如果足够详细和明白,就不用太担心项目换人。因为即使还了别人开发,他们也可以通过文档从整体上理解整个项目。
文档先于代码,这点是正确的,但这并不是说,在代码实现之前所有的文档都要写的清清楚楚。因为用户的需求永远都在变,或许用户连自己想要做什么都说不明白,更别说我们这些需求人员和开发人员了。所以有时候,软件的开发是一边写文档一边写代码的,在这种情况下,一定要注意一点:防止软件架构变动。不能让变化的用户需求改变了我们的架构,那样的话,就太浪费时间和精力了。至于怎么保证架构不变?这就要看你的需求人员怎么获取需求了,怎么挖掘用户的潜在需求了,看你的架构师怎么确定架构了等等。所以说,软件开发进入代码期之前的工作含金量是很高的!而且这些工作决一定要重视,因为这些工作可以决定软件的成功于失败。
萨尔菲wsda。硕大的D萨达第三SADSA要想
软件开发之文档的重要性相关推荐
- 分享个“软件开发需求文档”
...... 由于内容太多,就不一一截图分享了,喜欢的小伙伴可直接在公众号后台回复:"软件开发需求文档"即可获取. 最后,我建立了各大城市的产品交流群,想进群小伙伴加微信:yw52 ...
- 写好一份软件开发设计文档
如何写好一份软件开发设计文档 转载: 设计文档 - 也被称作技术规范和实现手册,描述了你如何去解决一个问题,是确保正确完成工作最有用的工具,其目的是迫使你对设计展开缜密的思考,并收集他人的反馈,进而完 ...
- 软件开发项目文档模版
这是一份软件开发项目的文档模版,编写给有需要的人. XX系统开发 开发团队: 组长: 组员: 备注:广州大学华软软件学院 目录 XX系统开发.............................. ...
- 软件开发技术文档_你知道,直播软件开发需要做的准备工作有哪些?
随着互联网技术的发展和智能手机的迅速普及,直播软件市场需求正在增长.那么直播平台的发展如何?在软件开发过程中应注意什么?直播软件开发需要做是准备工作有哪些? 1.直播软件开发方向: 一般而言,开发直播 ...
- 瀑布模型(waterfall model)一种线性的软件开发模型,文档驱动
瀑布模型( waterfall model ): 又被称为经典生命周期(classic life cycle ),它提出了一个系统的.顺序的 软件开发方法. 瀑布模型是出现得比较早的软件开发模型. 在 ...
- 软件开发 接口文档
接口文档没有固定的样式,只要把相关的信息显示出来就可以 例如: 接口名称 接口说明 接口地址 请求参数 返回参数 错误码(一般大批量的接口都使用统一的错误码来返回) 下面是本人使用过的接口文档样式 这 ...
- 软件开发方案设计文档ppt
方案设计 方法 1.先确定目标,由目标反推需求,问题,再寻求解决方素, 2注意事项: 目标和需求要从实际出发,务于高户,要有实际应用价值, 注意汇报的对象:听取方案汇报的对象通常并不直接参与到开发过程 ...
- 软件开发README文档书写模板
xxxx软件说明文档 框架组成结构 模块1 模块2 模块3 实例启动 xxx 启动命令 xxx 配置参数样例 xxx 模块说明 模块一 功能一 参数配置 xxx 参数说明 xxx 功能二 参数配置 参 ...
- 大型软件工程开发监理文档要求
大型软件工程开发监理文档要求 "以信息化带动工业化,实现社会生产力的跨越式发展"是我国经济发展的重大举措,″十五″期间,信 息产业改造传统产业的市场规模大约是5000亿元.但由于建 ...
- pythoncad二次开发视频_revit二次开发|bim软件二次开发|revit二次开发教程|Revit二次开发技术文档...
二次开发 revit二次开发|bim软件二次开发|revit二次开发教程|Revit二次开发技术文档2019-07-08赞( 0 ) 记录一下CAD二次开发的一些简单实例. 1.helloworld ...
最新文章
- python元组用法详解(定义、下表查找、index()、count()、len())
- 淘宝API商家自用型应用程序全部源代码和详细的帮助文档(1元有偿提供)
- SAMBA配置文件所用到的参数
- linux中oracle静默安装失败,oracle 11 Linux 静默安装 步骤及错误解决(更新中)
- WEBTIMER控件研究的心得:丢开书本做一个WebTimer
- 【王俊杰de人工智能实战课】第7次作业2
- 手机来电秀怎么开启_360手机卫士怎么设置来电秀 360手机卫士来电秀设置方法...
- java抛出异常thorw和throws的用法
- mysql5.7.11解压安装_mysql 5.7.11解压安装教程
- 国际足联还不考虑在中国办一届世界杯吗?
- 计算机双硬盘安装需要跳线吗,双硬盘安装的操作流程【详细步骤】
- 创可贴的 ROS PX4 自主飞行无人机 学习笔记(2)
- Tensorflow2.0之用遗传算法优化卷积神经网络结构 Version2
- 招行股东会通过收购永隆银行议案
- Mysql数据库读书笔记
- vue基于web的化妆品美妆商城电子商务python flask django
- 沈阳师范大学大一上册C语言PTA题目集以及答案(第五章 函数 编程题篇)
- Windows 10家庭版启用远程桌面的方法
- 飞凌嵌入式i.MX8MM在智慧医疗麻醉系统中的应用方案解析
- php发送邮件 企业邮箱,ThinkPHP如何企业邮箱通过PHPMailer发送邮件