软件文档之我见

本文是因为学校开设的一门课程“软件文档写作”而生。
文章内容是博主经过整理总结老师课堂内容和网络资料,结合自生经验和理解写作而出。
内容仅供参考,如有需要请尽量不要大篇幅复制。

软件文档之我见
一、对于软件文档的了解
根据课堂老师教授以及查阅资料得到了软件文档的定义:软件文档(Document)也称文件,通常是指的是一些记录的数据和数据媒体,它具有固定不变的形式,可被任何计算机阅读。在软件工程中,文档常常用来表示对活动、需求、过程或结果进行描述、定义、规定或认证的任何书面或图示的信息,他们描述和规定了软件设计和实现细节,说明使用软件的操作命令。软件文档具有永久性,并可供人或机器阅读,通常指专供人阅读的东西。
软件文档是软件产品的一部分,没有文档的软件就不称其为软件。软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量。高质量和高效的开发、分发、管理和维护文档对于转让、变更、修正、扩充和使用文档,对于充分发挥软件产品的效益有着重要的意义。
软件文档作为计算机软件的重要组成部分,告诉用户如何操作和维护系统,提供关于未来改进和重新实施所需的信息,在开发人员、维护人员、管理人员、用户与计算机之间起着重要的桥梁作用。
一个软件的生存周期是指从构思软件产品开始到该产品不能再使用时为止的时间段,通常可以分成计划、开发、运行三个时期,不同时期不同角色参与其中。计划时期中要进行问题分析、可行性研究、制定计划的工作;开发时期要进行需求分析、概要设计、详细设计、编码测试、软件发布的工作;运行时期要进行运行维护的工作。而软件文档就是伴随不同的角色,贯穿软件生存周期始终的存在。对于一个小型软件的开发,以上过程中可能不通过文档或者少量简要文档即可完成开发以及后续维护,但对于大型软件来说,如果没有文档的存在可能就无法完成。
随着计算机科学技术的迅速发展和计算机应用领域的不断扩大,如何高效开发软件产品,提高软件质量,越来越受到人们的重视。同时,软件的规模和复杂度在持续的增加,人们对软件产品开发过程系统化、规范化和标准化的要求也越来越严格。一个好的符合标准的软件文档对于管理者来说可以作为管理的依据;对于卡法人员来说是彼此之间进行技术交流的语言;对于软件本身来说更是一个软件质量的保证;对于用户来说也能更方便的进行软件使用的培训,以及使用时的参考;对于软件后期运维人员来说也是软件维护时的参考书。
于此同时软件文档页记录了软件的完整历史。
因此,软件工程标准化、软件文档规范化,已经成为软件领域影响软件行业发展的一个重要因素,受到软件企业的高度重视。而所有这些方面建立的标准或规范,即是软件工程标准化。软件标准化的意义:提高软件的可靠性、可维护性和可移植性;提高软件的生产率和软件人员的技术水平;提高软件人员之间的通信效率,减少差错和误解;有利于软件管理;有利于降低软件产品的成本和运行维护成本;有利于缩短软件开发周期。
从某种意义上来说,文档是软件开发规范的体现和指南。按规范要求生成一整套文档的过程,就是按照软件开发规范完成一个软件开发的过程。所以,在使用工程化的原理和方法来指导软件的开发和维护时, 都应当充分注意软件文档的编制和管理。
二、开发实践中文档编写的情况
在实际开发过程中,由于我参与的开发实践大部分都是小型软件的开发,参与人员较少,所以基本不会编写相应文档,大部分都是遇到问题及时交流解决,很少以文图书面形式记录下来。
但是之前修习过一门课—软件需求工程。这门课中学习了软件需求的获取、记录以及转化成为文档。这门课程中虽然没有实际编程上的要求,但是确实硬性要求了对于软件需求文档的写作。也算是被迫写了几次软件文档,但是再写作的的过程中,体验到了对于客户具体的需求到实际文图的转换的不易,以及在开发过程中软件文档起到的重大作用。如果在软件开发之前没有一个良好的文档支撑,那么软件开发的过程就会变得极为艰难,甚至可能到开发阶段的最后发现自己开发的软件和自己当初的意愿背道而驰。
三、软件开发活动中对于写文档的态度
笔者认为在软件开发活动中无论软件项目工作量的大小,文档都是必要的。
原因如下:
●软件开发前:写好软件开发计划书,可以尽早发现错误和不一致性,及时加以纠正。
●软件开发过程中:
提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中。
管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。
提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、减少返工。
制定范围作为开发人员在一定阶段的工作成果和结束标志。
提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。使软件开发活动更科学、更有成效。
●软件后期运维:记录开发过程中有关信息,便于协调以后的软件开发、使用和维护。
四、对于“软件工程文档写作”课程理论与实验教学的建议
由于目前仅仅上了两节“软件工程文档”的理论课,课程中目前仅仅教导了软件文档的重要性以及标准化等泛化的内容,不好对于后期教学进行评价。但是对于我个人来说,我希望在后续课程中能够获取更多关于如何高效地写出好的软件工程文档的知识及途径,还想知道目前企业中软件工程文档与软件开发之间是如何协调运作的。

以上文章内容仅供参考,如有需要可摘取加以总结!
欢迎评论!

猜你喜欢

转载自blog.csdn.net/wjl_zyl_1314/article/details/104551444