学年论文 浅论软件文档的重要性

上传人:cl****1 文档编号:506844297 上传时间:2023-04-19 格式:DOCX 页数:8 大小:16.87KB
返回 下载 相关 举报
学年论文 浅论软件文档的重要性_第1页
第1页 / 共8页
学年论文 浅论软件文档的重要性_第2页
第2页 / 共8页
学年论文 浅论软件文档的重要性_第3页
第3页 / 共8页
学年论文 浅论软件文档的重要性_第4页
第4页 / 共8页
学年论文 浅论软件文档的重要性_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《学年论文 浅论软件文档的重要性》由会员分享,可在线阅读,更多相关《学年论文 浅论软件文档的重要性(8页珍藏版)》请在金锄头文库上搜索。

1、浅论软件文档的重要性专业名称:软件工程班 级:08软一组另lj: Black Berry学 号:008470XX姓 名:XX指导教师:李平完成日期:2011-9-1浅论软件文档的重要性内容摘要:软件文档的编制在软件开发工作中占有突出的地位和相当的工作量。高效 率、高质量地开发、分发、管理和维护文档对于转让、变更、修正、扩充和使用 文档,对于充分发挥软件产品的效益有着重要意义。需求分析旨在回答系统做什 么的问题,确保将来开发出来的软件产品颠倒符合客户需要。概要设计将软件系 统需求转换为未来系统的设计,逐步开发强壮的系统构架,使设计适合于实施环 境,为提高性能而进行设计,结构应该被分解为模块和库。

2、详细设计的目的旨在 指导编码。作为需求分析人员应该具有的素质:要有足够的超远思维的想象,对 软件功能的设计应该十分明细精确,可以引导开发人员进行正确的软件开发,要 以严谨认真的态度去编写软件文档。关键词:软件文档,文档编制,注意事项,项目实践,人员素质前言:这个小学期无疑是紧张且忙碌的。短短两个星期的日子里,汗水与泪水相伴, 欢乐与劳累交织,但最终收获却颇为丰厚。作为需求组的一员,前期的需求分析 工作使我更加认识到良好的需求分析工作对整个软件系统的重要作用。软件文档 编写完成后,与技术组人员一起协作完成代码编写工作。功夫不负有心人,当按 时完成组长分配的额定编码任务,当自己辛苦的付出得到应有的

3、回报,内心的欣 喜溢于言表。经过小学期的磨练,我懂得了如何去学习新知识,如何去与别人沟 通交流,如何将自己的独到见解表述于众等等。虽然每天忙碌到连吃饭、洗澡的 时间都抽不出来,但我相信今后回忆起这段繁忙的日子,我会感到欣慰,因为导 师,因为充实,因为合作,使我变得更加自信与成熟。正文:对软件文档的深入接触,让我认识到文档本身就是软件产品,没有文档的软 件,不能称其为软件,更谈不上为软件产品。软件文档的编制在软件开发工作中 占有突出的地位和相当的工作量。高效率、高质量地开发、分发、管理和维护文 档对于转让、变更、修正、扩充和使用文档,对于充分发挥软件产品的效益有着 重要意义。1. 软件文档的作用

4、1.1软件文档定义软件文档也称文件,通常指的是一些记录的数据和数据媒体,它具有固定不 变的形式,可被人和计算机阅读。它和计算机程序共同构成了能完成特定功能的 计算机软件。软件过程中,文档本身就是软件产品的一部分。软件文档的编制在 软件开发工作中占有突出的地位和相当的工作量。高效率、高质量地开发、分发、 管理和维护文档对于转让、变更、修正、扩充和使用文档,对于充分发挥软件产 品的效益有着重要意义。而且文档经常被作为里程碑标记,使项目跟踪和控制变 得可能,也使软件生产的每一部分都可前溯,保证软件的质量。1.2软件文档的桥梁作用文档在软件开发人员、软件管理人员、维护人员、用户以及计算机之间起着 桥梁

5、作用。软件开发人员在各个阶段中以文档作为前阶段工作成果的体现和后阶 段工作的依据,这个作用是显而易见的。软件开发过程中软件开发人员需制定一 些工作计划或工作报告,这些计划和报告都要提供给管理人员,并得到必要的支 持。管理人员则可通过这些文档了解软件开发项目安排、进度、资源使用和成果 等。软件开发人员需为用户了解软件的使用、操作和维护提供详细的资料,我们 称此为用户文档。以上三种文档构成了软件文档的主要部分。2. 软件开发各阶段软件文档的编制2.1需求分析阶段2.1.1需求分析目的需求分析旨在回答系统做什么的问题,确保将来开发出来的软件产品能够真 正满足用户的需要。2.1.2需求分析文档内容需求

6、分析文档包括产品概述、主要概念、操作流程、功能列表和解说、注意 事项、系统环境等。以功能要求为基础,进行详细的功能分析,包括客户提出的 要求和根据开发经验建议的功能,列出本产品是什么,有什么特殊的概念,包括 那些功能分类,需要具备什么功能,该功能的操作如何,实现的时候该注意什么 细节,客户有什么要求,系统运行环境的要求等。2.1.3需求分析相关注意事项(1) 需求的全覆盖,包括组织机构及用户分析、功能需求、性能需求、接口及集 成等。(2) 保证需求和业务人员的目标相联系,使用用户语言和需求模型正确表达用户 需求,同时保证在现有开发能力和系统环境下需求的可实现。(3) 功能是否必须,优先级和重要

7、程度怎样,是否能被推进或被削减。(4) 使用业务术语或缩略语,表达清晰明确。(5) 可根据需求设计测试目标和测试进度,可跟踪需求缺陷。2.1.4项目实践需求分析第一版时由于时间紧迫,我们编写的文档存在很多问题。最大的问 题在于不符合实际,完全凭着自己的想象,按照自己的理解去描述客户的需求。 导师给的题目是:基于目前市场上的物流业务支撑系统完成一个整合性的物流系 统,也就是第三方物流代理软件。我们稍微查了些这方面的公司,如UPS,FEDEX, HLC等,大致了解了该类公司的运营情况就开始写需求分析了。我们把整个系统 按功能分成三个模块:客户、物流公司和第三方,并逐一进行功能描述,给出直 观且易于

8、理解的层次图来说明各模块所具有的功能。第二天去见导师,导师说我 们完全按照自己的主观意愿去做功能需求,不能够从客户的角度出发去思考问 题。而且需求分析做的一点也不细致,只是蜻蜓点水而已,比如需求分析中连最 基本的收费标准问题都没有涉及。需求分析的第二版,我们对模块进行了重新规划,分成登录、注册、订单管 理、财务管理、合同管理等模块,细化了各个模块的功能,用层次图,活动图, 协作图,部署图等图示来直观显示系统功能。对于收费标准问题,我们从网上查 询了部分物流公司的收费标准等相关资料,经过小组的一致讨论,决定按分区来 收费。第二天去见导师,还是说我们的功能描述不够细致,特别是财务管理上, 只是说按

9、分区进行收费,没有给出收费标准的具体计算方式。需求分析第三版,我们讲分区收费标准进行细化,给出收费分区表,将分区 设计为一至四区,按500公里为一区,每区独立计费。2.2概要设计阶段2.2.1概要设计目的概要设计将软件系统需求转换为未来系统的设计,逐步开发强壮的系统构 架,使设计适合于实施环境,为提高性能而进行设计,结构应该被分解为模块和 库。2.2.2概要设计文档内容该说明书是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序 的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计, 数据库E-R图,模块基本设计概念和处理流程:通过文字和图形的方式表示模块 设计结构等,

10、为详细设计奠定基础。2.2.3概要设计相关注意事项(1) 设计数据库表时,应该遵循范式规范。(2) 尽可能多地利用UML模型驱动方法来完成概要设计。利用相关图表,如 用例图、顺序图、状态图,协作图等来辅助说明。2.2.4项目实践第一版概述设计,以用例图和用例规约的方式直观地描述出系统的功能。用 表格的形式给出数据库表结构设计,分为客户信息表,物流公司信息表,订单表 等。以类图的形式描述了系统的逻辑结构。以活动图的形式描述了系统的功能的 流程。对于收费问题,在导师的引导下,我们意识到并非所有的物流公司都是按 照分区进行收费的,并且若有的物流公司的运送范围只涉及一个分区,那别的分 区的信息就太过冗

11、余,而且按照分区计费也就不合理。第二版概要设计,我们认真听取导师的意见,将收费标准改为城市到城市这 种计费方式,且收费标准采用导入表的方式,让注册了的物流公司直接将自己的 收费标准表导入系统即可。导师说我们在概要设计阶段很大程度上改了自己需求 分析阶段的设计,这在现实情况中是很不可取的,这样会动用很大的财力、物力。 我们也意识到自己走了弯路,并深深体会到需求分析的重要作用。并且导师给我 们提出意见,我们的表设计的并不完全合理,没有按照范式的标准来设计数据库 表。比如订单,我们将所有的订单信息全部罗列在一张数据库表里,如果客户发 三件物品到同一地点,我们就得下三次单。而如果我们讲订单分成订单基本

12、表和 订单明细表,只是这三件物品的相同信息放在订单基本表里,而像长、宽、高这 类的信息放在订单明细表里,完全可以下一次单就以完成客户请求。第三版概要设计,我们认真听取导师意见,修改了订单表,用户表等表结构。第四版概要设计,对于有些记录的查询,我们把大量信息都存放在一张表里, 完全固定在程序里,无法实现修改,对于这一点,导师提议我们将表拆开,表里 只存编号,通过链接查询达到查询目的。2.3详细设计阶段2.3.1详细设计目的详细设计的目的就是指导编码,明确的说,就是将你的设计拿给不同的人去写 编码,写出来的程序处理流程相同.后续的评审或者是有人接替你的工作,只要 查看详细设计,就能清楚你当时是怎样

13、设计这些流程的。2.3.2详细设计文档内容包括编写目的,系统结构设计,模块设计说明,数据结构说明,系统界面, 测试用例等。着重描述每一模块是怎样实现的,重点是实现算法,对模块的执行 逻辑流程的描述。2.3.3详细设计注意事项(1)对每个模块功能、流程的描述尽可能做到细致。主要函数的算法,处理流程, 怎么实现这个流程。需要有流程图,有伪码来描述。(2)对表的数据结构存储方面的设计、安排顺序要合理。(3)对接口的设计要合理。函数模块,类,功能模块与其它模块之间的接口。每个模块需要哪些模块的支撑,需要哪些模块提供哪些接口;同时,每的模块y 应该提供哪些接口。这样便于分层处理,程序员可以分模块完成系统

14、功能,使得 最后的对接变得容易。(4)描述测试用例,从用户的角度出发,做到对测试用例的考虑尽可能周全。2.3.4项目实践第一版的详细设计,按照导师的要求,编程人员利用详细文档就能编出符合 功能需求的相应软件为原则,我们将每个模块功能、流程描述的细致入微。每个 模块包括界面截图,功能描述,合作图,测试用例,操作涉及的数据库表等。这 次的详细设计导师还算满意,对货款记录这方面界面上显示的内容太过简单、对 表的存储内容方面给了些小建议,以及更改下Insert语句的排列顺序。第二版的详细设计,我们听取导师建议,对详细设计做了进一步的完善,最 终达到文档设计的阶段的满意效果。3 .需求分析人员应具备的素

15、质作为需求分析人员应该具有的素质:要有足够的超远思维的想象,对软件功 能的设计应该十分明细精确,可以引导开发人员进行正确的软件开发,要以严谨 认真的态度去编写软件文档。(1) 要使用符合客户语言习惯的表达需求讨论集中于业务需求和任务,因此要与客户行业有关的术语,而非客户 难以理解的计算机行业语言。(2) 分析人员要了解客户的业务及目标需求分析人员应该熟识客户所在领域的功能需求及工作流程,这样编出来的 软件才能更大程度上符合用户需求,得到用户的认可。(3) 分析人员要对需求及产品实施提出建议和解决方案通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力 从这些解决方法中了解真正的业

16、务需求,同时还应找出已有系统与当前业务不符 之处,以确保产品不会无效或低效;在彻底弄清业务领域内的功能需求后,分析 人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一 些用户没有发现的很有价值的系统特性。(4) 划分需求的优先级绝大多数项目没有足够的时间或资源实现功能性的每个细节。决定哪些特性 是必要的,哪些是重要的,是需求开发的主要部分,这只能由客户负责设定需求 优先级,因为开发者不可能按照客户的观点决定需求优先级,但系统分析人员应 该为确定优先级提供有关每个需求的花费和风险的信息。(5) 需求变更要立即联系相关人员不断的需求变更,会给在预定计划内完成的质量产品带来严重的不利影响。 变更是不可避免的,但在开发周期中,变更越在晚期出现,其影响越大;变更不 仅会导

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号