详细设计说明书到底怎么写?
详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把具体的模块以最'干净'的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。
换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。
那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。
什么时候需要写软件总体设计说明书? 是每个产品开发都要对应一个总...
软件开发是指一个软件项目的开发,如市场调查,需求分析,可行性分析,初步设计,详细设计,形成文档,建立初步模型,编写详细代码,测试修改,发布等。
软件是怎么样开发出来的 第一个步骤是市场调研,技术和市场要结合才能体现最大价值。
第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户操作手 册。
用户视图 是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了 很多操作方面的流程和条件。
数据词典 是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成了一半多。
用户操作手册是指明了操作流程的说明书。
请注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。
需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明 书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或公司市场部门)能够有真正的沟通和了解。
第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。
作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是 并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和 经验教训的总结,还要重新进行详细设计的步骤。
第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把 具体的模块以最'干净'的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最 大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细 设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要 设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。
换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。
那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。
第五个步骤是编码,在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/ 2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提 高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都 出现过。
编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永 远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候 吗?从来没有! 第六个步骤是测试 测试有很多种: 按照测试执行方,可以分为内部测试和外部测试 按照测试范围,可以分为模块测试和整体联调 按照测试条件,可以分为正常操作情况测试和异常情况测试 按照测试的输入范围,可以分为全覆盖测试和抽样测试 以上都很好理解,不再解释。
总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会又不可预料的问题存在。
完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营 状况并持续修补升级,直到这个软件被彻底淘汰为止。
什么是软件开发的核心问题 按照软件工程鼻祖,《人月神话》作者 Brooks 在“没有银弹——软件工程中的根本和次要问题”一章中阐述的思想,软件开发的核心问题就是如何从概念上对一个复杂的业务系统进行建模。
这个建模是含义广泛的,不仅仅包括对象建模,还包括数据建模、算法建模等等一系列的内容。
总而言之是要先找到解决复杂问题的突破口(先要搞明白需要做什么,然后再考虑如何做)。
至于采用什么表示方法(简单文本、UML 图、E-R 图)、采用什么高级语言、是否一定要用面向对象、使用什么开发工具都是次要的问题。
软件开发方法 软件开发方法(Software Development Method)是指软件开发过程所遵循的办法和步骤。
软件开发活动的目的是有效地得到一些工作产物,也就是一个运行的系统及其支持文档,并且满足有关的质量要求。
软件开发是一种非常复杂的脑力劳动,所以经常更多讨论的是软件开发方法学,指的是规则、方法和工具的集成,既支持开发,也支持以后的演变过程(交付运行后,系统还会变化,或是为了改错,或是为了功能的增减)。
关于组成软件开发和系统演化的活动有着各种模型(参见软件生存周期,软件开发模型,软件过程),但是典型地都包含了以下的过程或活动:分析、设计、实现、确认(测试验收)、演化(维护)。
有些软件开发方法是专门针对某一开发阶段的,属于局部性的软件开发方法。
特别是软件开发...
软件著作权申请中的文档(设计说明书或用户手册)怎么写?
中国版权保护中心接收登记的文档包含两种:操作说明书或设计说明书。
设计说明书适合没有界面的嵌入式软件,插件软件,后台运行软件以及游戏软件。
一般包含结构图,软件流程图,函数说明,模块说明,数据接口,出错设计等。
操作说明书适合管理类软件,有操作界面,一般应包含登录界面,主界面,功能界面截图,截图之间有相应的文字说明,能全面展示软件的主要功能。
格式要求:一、说明书应提交前、后各连续30页,不足60页的,应当全部提交。
二、说明书页眉应标注软件的名称和版本号,应当与申请表中名称完全一致,页眉右上应标注页码,说明书每页不少于30行,有图除外,另外截图应该清晰完整。
(1)引言①编写目的:阐明编写手册的目的,指明读者对象。
②项目背景:说明项目的来源、委托单位、开发单位及主管部门。
③定义:列出手册中用到的专门术语定义和缩写词的原意。
④参考资料:列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。
包括项目的计划任务书,合同或批文;项目开发计划;需求规格说明书;概要设计说明书;详细设计说明书;测试计划;手册中引用的其他资料、采用的软件工程标准或软件工程规范。
(2)软件概述①目标。
②功能。
③性能。
包括数据精确度(包括输入、输出及处理数据的精度),时间特性(如响应时间、处理时间、数据传输时问等),灵活性(在操作方式、运行环境需做某些变更时软件的适应能力)。
(3)运行环境①硬件:列出软件系统运行时所需的硬件最小配置,如计算机型号、主存容量;外存储器、媒体、记录格式、设备型号及数量;输入、输出设备;数据传输设备及数据转换设备的型号及数量。
②支持软件:操作系统名称及版本号;语言编译系统的名称及版本号;数据库管理系统的名称及版本号;其他必要的支持软件。
(4)使用说明①安装和初始化:给出程序的存储形式、操作命令、反馈信息及其含义、表明安装完成的测试实例以及安装所需的软件开发工具等。
②输入:给出输入数据或参数的要求。
③输出:给出每项输出数据的说明。
④出错和恢复:出错信息及其含义、用户应采取的措施,如修改、恢复、再启动等。
⑤求助查询:说明如何操作。
(5)运行说明①运行表:列出每种可能的运行情况,说明其运行目的。
②运行步骤:按顺序说明每种运行的步骤,应包括运行控制;操作信息(运行目的、操作要求、启动方法、预计运行时间、操作命令格式及说明、其他事项);输入/输出文件(给出建立和更新文件的有关信息。
如文件的名称及编号、记录媒体、存留的目录、文件的支配[说明确定保留文件或废弃文件的准则,分发文件的对象,占用硬件的优先级及保密控制等]);启动或恢复过程。
(6)非常规过程:提供应急或非常规操作的必要信息及操作步骤,如出错处理操作、向后备系统切换操作以及维护人员须知的操作和注意事项。
(7)操作命令一览表:按字母顺序逐个列出全部操作命令的格式、功能及参数说明。
(8)程序文件(或命令文件)和数据文件一览表:按文件名字母顺序或按功能与模块分类顺序逐个列出文件名称、标识符及说明。
(9)用户操作举例。
为什么要写软件概要设计说明书
《软件工程课程设计》结合高等院校软件工程课程的相关要求,通过一个会议系统的实例,向读者介绍软件工程理论在实际项目中的应用,以达到深入理解软件工程过程和实现方法的目的。
《软件工程课程设计》内容包括项目准备、项目管理、需求分析、软件设计、软件实现、软件测试,以及如何编写用户手册和如何进行配置管理等。
此外,《软件工程课程设计》还给出了各个关键阶段的项目文档,具有很强的参考价值。
《软件工程课程设计》适合作为高等院校计算机及相关专业“软件工程”课程的配套课程设计教材,也可作为软件工程技术人员的参考读物。
蒜蓉专家