大三下学期,一次偶然的机会让我开发了一个完整的小项目,也让我第一次对软件开发的整体流程有了一个比较全面细致的了解。比起那些还没有参加工作的学生来说,能这么早接触到实际项目开发真的是很幸运,其实也非常感谢那位老师。话不多说,转入正题。今天要总结的是:软件开发中文档的重要性。

首先说一说我对软件开发流程一个基本了解。总体上来说,软件开发有以下几个主要的阶段(当然我这些肯定不是最全面的)。需求获取阶段——文档设计阶段——代码实现阶段——测试阶段——维护阶段而且他们的先后顺序是不能颠倒的

大三开发那个项目是老师帮我确定了软件的整体架构,后面的文档编写,代码实现,测试维护工作都由我来做,当然整个过程是伴随着老师的指导进行的。那个时候,老师经常和我说的两句话让我记忆非常深刻。第一,要想保证一个软件成功开发,必学先写文档(确定需求,确定架构,然后撰写需求分析,概要设计,详细设计)。用户的需求如果确定的明明白白,那么这个软件就已经成功一半了。这点是我到了公司参加工作以后才明白的,因为需求搞不明白的话,后面的所有工作都是很难展开的。对于很多初学者来说可能不喜欢写文档,我就是是其中的一位。那个项目老师让我写了一个多月的文档,让我在文档层面把所有的业务逻辑弄明白。第二,工作做得越细越好(就是把每一个细小的功能模块的详细实现都要写明白,所有的类图,流程图等等都要写明白,后来慢慢的才知道,工作做的越细,你对业务逻辑的把控力就越强,对业务的理解就会越透彻,实现起来就会更简单。如果工作做的不细,对于没有经验的人来说,从宏观上去把控业务会有些力不从心)。没写文档前,我以为代码的实现大概在20-30天左右,这是保守的时间估算。但后来的结果非常出乎我的意料,写完所有的代码用了不到十天的时间。这是我第一次意识到文档对后期代码实现的指导作用

所以说,文档一定要先于代码,不能颠倒。2015年11月份,我在公司接触到了另外一个项目。公司给我的文档不仅少(只有大概的功能概述,有些是还是手写的),而且书写极不规范,这使我短时间内根本不无法把控用户需求,连用户想要做什么都搞不明白。数据库的表就给了一个简单的Excel表格,对表字段的说明也就4-8个字左右。很多字段我完全搞不明白是干什么的。这让我更感觉到文档在软件开发的重要性绝对是五星的。没有详细的文档,后来的开发人员很难迅速上手,弄懂需求。

还有一点,文档如果足够详细和明白,就不用太担心项目换人。因为即使还了别人开发,他们也可以通过文档从整体上理解整个项目。

文档先于代码,这点是正确的,但这并不是说,在代码实现之前所有的文档都要写的清清楚楚。因为用户的需求永远都在变,或许用户连自己想要做什么都说不明白,更别说我们这些需求人员和开发人员了。所以有时候,软件的开发是一边写文档一边写代码的,在这种情况下,一定要注意一点:防止软件架构变动。不能让变化的用户需求改变了我们的架构,那样的话,就太浪费时间和精力了。至于怎么保证架构不变?这就要看你的需求人员怎么获取需求了,怎么挖掘用户的潜在需求了,看你的架构师怎么确定架构了等等。所以说,软件开发进入代码期之前的工作含金量是很高的!而且这些工作决一定要重视,因为这些工作可以决定软件的成功于失败。


  萨尔菲wsda。硕大的D萨达第三SADSA要想

软件开发之文档的重要性相关推荐

  1. 分享个“软件开发需求文档”

    ...... 由于内容太多,就不一一截图分享了,喜欢的小伙伴可直接在公众号后台回复:"软件开发需求文档"即可获取. 最后,我建立了各大城市的产品交流群,想进群小伙伴加微信:yw52 ...

  2. 写好一份软件开发设计文档

    如何写好一份软件开发设计文档 转载: 设计文档 - 也被称作技术规范和实现手册,描述了你如何去解决一个问题,是确保正确完成工作最有用的工具,其目的是迫使你对设计展开缜密的思考,并收集他人的反馈,进而完 ...

  3. 软件开发项目文档模版

    这是一份软件开发项目的文档模版,编写给有需要的人. XX系统开发 开发团队: 组长: 组员: 备注:广州大学华软软件学院 目录 XX系统开发.............................. ...

  4. 软件开发技术文档_你知道,直播软件开发需要做的准备工作有哪些?

    随着互联网技术的发展和智能手机的迅速普及,直播软件市场需求正在增长.那么直播平台的发展如何?在软件开发过程中应注意什么?直播软件开发需要做是准备工作有哪些? 1.直播软件开发方向: 一般而言,开发直播 ...

  5. 瀑布模型(waterfall model)一种线性的软件开发模型,文档驱动

    瀑布模型( waterfall model ): 又被称为经典生命周期(classic life cycle ),它提出了一个系统的.顺序的 软件开发方法. 瀑布模型是出现得比较早的软件开发模型. 在 ...

  6. 软件开发 接口文档

    接口文档没有固定的样式,只要把相关的信息显示出来就可以 例如: 接口名称 接口说明 接口地址 请求参数 返回参数 错误码(一般大批量的接口都使用统一的错误码来返回) 下面是本人使用过的接口文档样式 这 ...

  7. 软件开发方案设计文档ppt

    方案设计 方法 1.先确定目标,由目标反推需求,问题,再寻求解决方素, 2注意事项: 目标和需求要从实际出发,务于高户,要有实际应用价值, 注意汇报的对象:听取方案汇报的对象通常并不直接参与到开发过程 ...

  8. 软件开发README文档书写模板

    xxxx软件说明文档 框架组成结构 模块1 模块2 模块3 实例启动 xxx 启动命令 xxx 配置参数样例 xxx 模块说明 模块一 功能一 参数配置 xxx 参数说明 xxx 功能二 参数配置 参 ...

  9. 大型软件工程开发监理文档要求

    大型软件工程开发监理文档要求 "以信息化带动工业化,实现社会生产力的跨越式发展"是我国经济发展的重大举措,″十五″期间,信 息产业改造传统产业的市场规模大约是5000亿元.但由于建 ...

  10. pythoncad二次开发视频_revit二次开发|bim软件二次开发|revit二次开发教程|Revit二次开发技术文档...

    二次开发 revit二次开发|bim软件二次开发|revit二次开发教程|Revit二次开发技术文档2019-07-08赞( 0 ) 记录一下CAD二次开发的一些简单实例. 1.helloworld ...

最新文章

  1. python元组用法详解(定义、下表查找、index()、count()、len())
  2. 淘宝API商家自用型应用程序全部源代码和详细的帮助文档(1元有偿提供)
  3. SAMBA配置文件所用到的参数
  4. linux中oracle静默安装失败,oracle 11 Linux 静默安装 步骤及错误解决(更新中)
  5. WEBTIMER控件研究的心得:丢开书本做一个WebTimer
  6. 【王俊杰de人工智能实战课】第7次作业2
  7. 手机来电秀怎么开启_360手机卫士怎么设置来电秀 360手机卫士来电秀设置方法...
  8. java抛出异常thorw和throws的用法
  9. mysql5.7.11解压安装_mysql 5.7.11解压安装教程
  10. 国际足联还不考虑在中国办一届世界杯吗?
  11. 计算机双硬盘安装需要跳线吗,双硬盘安装的操作流程【详细步骤】
  12. 创可贴的 ROS PX4 自主飞行无人机 学习笔记(2)
  13. Tensorflow2.0之用遗传算法优化卷积神经网络结构 Version2
  14. 招行股东会通过收购永隆银行议案
  15. Mysql数据库读书笔记
  16. vue基于web的化妆品美妆商城电子商务python flask django
  17. 沈阳师范大学大一上册C语言PTA题目集以及答案(第五章 函数 编程题篇)
  18. Windows 10家庭版启用远程桌面的方法
  19. 飞凌嵌入式i.MX8MM在智慧医疗麻醉系统中的应用方案解析
  20. php发送邮件 企业邮箱,ThinkPHP如何企业邮箱通过PHPMailer发送邮件

热门文章

  1. h5侠客行服务器维护有更新什么,《侠客行》1月22日版本更新说明
  2. hadoop提交作业到云端问题解决
  3. jq ajax ajaxsubmit,如何理解jQuery中的ajaxSubmit方法
  4. Matlab取整函数
  5. Win10系统中英文切换
  6. ipad mini2屏幕维修+ios12.5.5激活锁破解
  7. Qt开发 之 Windows资源管理器模仿 并 小超越
  8. 深度装机大师一键重装_教你使用深度装机大师重装win10系统
  9. 序列二次规划——SQP
  10. MySQL的存储函数与存储过程的区别