中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 软件工程 > 综合文章
如何写系统分析书
作者:未知 时间:2005-09-13 19:43 出处:ChinaUnix.net 责编:chinaitpower
              摘要:如何写系统分析书

想和大家一起来谈谈在软件工程中我们所做的第一步:系统分析。希望我们中国的代码人能吸取更多更好的理论和实际的经验,有符合我们实际情况的系统分析、开发方法、步骤以及文档。系统分析,我个人认为它应该是能体现系统的灵魂性的文档。该文档应有什么内容,表达什么意思是我想在这里与大家探讨的问题。我觉得在系统分析书中应该有以下内容(视项目而定): 
  1、 系统需求说明 说明系统是一个什么样的系统,用市场上现有的系统来类比,用客户(或是我们自己)需要一个什么样的系统进行说明,力求完整。并对系统的发展可扩充性进行描述(现在没有哪个系统是一次OK的)。说明与现有的系统有什么相同什么不同,说明未来系统的发展方面以及可移值性等能预见的事情。
  2、 系统资源说明 对系统所需要的软件、硬件资源进行说明。描述系统所需要的所有的TCO成本。包括人员、时间、设备、系统、一次性投入资金、持续性投入资金这样的所有资源。
  3、 系统可行性分析 对系统的实施中的资源进行分析,说明投入的合理性和必然性,对其中的所有不可预见性的投入进行合理的量化说明,来说明系统的实施的可行性。
  以上为我所想到的系统分析说明书中应出现的前三种文档,不知大家有什么想法,请赐教。
作为开发前期的工作,还应该包括:总体设计和详细设计。
  总体设计这个阶段必须回答的关键问题:概括地说,应该如何解决这个问题?
   首先,应该考虑几种可能的解决方案。例如,目标系统的一些主要功能是用计算机自动完成还是用人工完成;如果使用计算机,那么是使用批处理方式还是人机交互方式;信息存储使用传统的文件系统还是数据库……
   通常至少应该考虑下述几类可能的方案:
    低成本的解决方案
   系统只能完成最必要的工作,不能多做一点额外的工作。
    中等成本的解决方案 
    这样的系统不仅能够很好地完成预定的任务,使用起来很方便,而且可能还具有用户没有具体指定的某些  功能和特点。虽然用户没有提出这些具体要求,但是系统分析员根据自己的知识和经验断定,这些附加的能力  在实践中将证明是很有价值的。
    高成本的"十全十美"的系统
    这样的系统具有用户可能希望有的所有功能和特点。系统分析员应该使用系统流程图或其他工具描述每种  可能的系统,估计每种方案的成本和效益,还应该在充分权衡各种方案的利弊的基础上,推荐一个较好的系统  (最佳方案),并且制定实现所推荐的系统的详细计划。如果用户接受分析员推荐的系统,则可以着手完成本  阶段的另一项主要工作。
  上面的工作确定了解决问题的策略以及目标系统需要哪些程序,但是怎样设计这些程序呢?
  结构设计的一条基本原理就是程序应该模块化,也就是一个大程序应该由许多规模适中的模块按合理的层次结构组织而成。总体设计阶段的第二项主要任务就是设计软件的结构,也就是确定程序由哪些模块组成以及模块间的关系。通常用层次图或结构图描绘软件的结构。
  详细设计总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化,也就是回答下面这个关键问题:"应该怎样具体地实现这个系统呢?"这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,程序员可以根据它们写出实际的程序代码。通常用 HIPO 图(层次图加输入/处理/输出图)或PDL语言(过程设计语言)描述详细设计的结果。
  我想这样的文档系统的思路是一个慢慢积累的过程,如JJX同志所说,我们现在有太多的形式上的东东,它并不是一个程序员真正需要的系统分析/设计书,对于系统的设计到实施到最后的代码以及验收有太多的改动和变化,我们正在一个极不规范的系统中生存,所以我们不可能有太多的选择,只能抄抄应付了事。所以与大家一起探讨一个真正适合我们的文档模式,这个模式或是说模板能为我们的代码工作减少负担,带来更多的动能
  就目前的开发思路,应用环境和编程方法来说,传统的需求分析-系统分析-概要设计-详细设计-……已越来越不行了,因为:
  1、 现在的应用和以前大不一样。现在的应用是一种庞大的集成,包括跨平台,网络,数据库等等,而且新技术的出现越来越快,任何人都无法精通甚至是掌握全部技术。简单例子:现在有Windows,Unix,Linux等平台,有SQL Server,Oracle,Sybase等数据库,有C++,VB,Delphi等工具,谁能全部精通呢?如果不能,那么如何确定是Windows+SQL Server+Delphi好还是Unix+Oracle+C++合适?
  2、 客户没有需求。我做过银行、电信等大客户及各种小客户,他们无一另外的说"我要做一个OA系统","我要做一个企业网","我要做一个……"。可他们无法确定要实现什么,因为很少有用户是真正由于业务的需求而做项目的;而且他们也不清楚能够实现什么(因为他们不懂notes,不懂企业网)。
  3、 需求与环境的变化。由于在项目开发前客户没有实质性的需求,加上软件开发人员不熟悉客户的业务,就导致在开发过程中需求的不断变化,严重时将导致分析与设计作废。
  4、 对象化的工具和过程化的程序现在的开发工具已经很对象化了,而我们开发的程序却很过程化。也就是说你虽然努力的模块化,层次化,可只要运行环境有所变化,你还要不断地修改再修改。
  
  上述的实际情况说明我们确实需要把实际中的做法修改一下。一个项目如果做到了80%的时候才真正明确这个系统是什么样子的话,我认为是设计者的失败。所以在设计阶段不但应该做好传统做法的各种文档和论证,而且,应该做一些具体的设计工作。比如,系统的整体运行设计及系统各功能模块的具体设计。而且这些设计应当都有详细的设计说明书。当这些说明书完成后,应当能做到:随便找个程序员他都能只通过看某功能模块的设计说明书就能够开始代码的开发而不用再重新思考该怎样去做了,程序员在这里就真的只是一个设计者的实现工具。当然,也象某些兄弟说的那样,现在的系统都越来越繁杂、越来越庞大、越来越向集成性质靠拢,似乎是没有多少人能掌握具体用什么做效果如何,但关键就在这里。莫非真的没有人能做到这点吗?非也!只不过是目前的显示情况是,设计人员的水平偏低,有些公司的设计人员根本就没有多少的开发经验,他又怎能了解太多的系统呢。
  系统设计在目前看来似乎是个拿钱多干活少的工作,这是不正常的现象。培养一个程序员根本不用花多大的力气,一个人只要不太笨不太蠢,给他一个机会,相信就能掌握某门技术或方法。但要掌握若干种方法,就不是能够通过速成解决的了。问题也在于此。目前似乎所有的系统设计人员都能够设计所有的东西。其实不然。很多人都有知识的局限性,这就决定他只能对某些方向的东西做出决策和设计。客户固然不知道他要做什么,但我们应该知道。如果在前期能够多接触用户、多深入实际,把设计人员当成客户工作中的一员,他就能够真正了解到客户的需求,当然也就能够为他做出合适的设计。
  至于说到各种系统之间的好坏对比,我想,任何东西都没有绝对,有的只是某些方面的权衡。比如性能或空间的权衡、价格和性能的权衡和功能侧重上的权衡等等如此而已。计算机里的东西没有哪一样的存在不是包含了这种权衡在内的。虽然从商务上似乎总想说服用户什么东西好什么东西不好,其实从技术上讲无所谓好和不好,有的只是区别及该区别所针对的问题而已。这就象有人总在争论Linux和Window到底谁好一样。或许从"技术"上讲,Linux比Window好,但这其实并不公正,因为漂亮的GUI界面和友好的人际交互同样应该是"技术"中应该考虑到的一部分。把所有的东西结合起来一看就知道没有绝对的好。所以,不见得非要在用户决定之前由系统设计的人员事先来为各种方案做个排队,只需要了解用户的需求,然后从大方向上决定一个方向再做具体设计就可以了。
  在这里我只从过去的实践角度举例来说,至于理论方面实在没时间深入。首先,认同两个说法:
  1. 项目(或说工程)有三个主要方面:功能,时间,成本。
  2. 系统分析的任务:将用户的业务逻辑转化为程序逻辑,计算时间和成本。
  让我们来做一个概要设计:
  1) 功能:简单的信息发布系统。
  2) 系统分析员根据项目的时间和成本,在充分权衡各种方案的利弊的基础上提出SQLSERVER+CORBA+DELPHI的方案……用户很满意,OK,开始详细设计:
  1) 为方便用户的安装使用三层结构。
  2) 客户端包含信息分布和查询两个模块。
  3) 使用各种图或语言描述各种函数,过程,模块,层次……一切顺利,开始编码……编码完成,用户试用,这时用户提出:在客户端要能实时跟踪信息的变化,而你却发现DELPHI的CORBA不支持回调!转用其它方按时间上不可能,补救措施也不灵(比如使用timer,但客户的网络环境不允许多个用户的频繁刷新),怎么办?
  分析一下问题出在哪里:
  1) 有人会说系统分析员不真正了解客户的需求,可这不可能(项目时间的限制)也不现实(不可能让分析员到每个岗位都去操作一下)。
  2) 有人会说系统分析员的知识和经验不足,可现实却是分析员认为应该的客户觉得没必要,而客户觉得必须的分析员又不可理解。这是不同的工作造成的,俗话说隔行如隔山。
  3) 有人会说系统分析员的水平不够,可问题绝大部分是出在细节而不是大方向上,掌握全部细节可能吗?这就是一个长期困扰我的问题:细节(而不是方向)往往成为成功与失败的关键(注意,这里的成功是包含了时间和成本的),而细节是不可能全部发现与分析清楚的。
  如何在这种不完整的需求上构造完整的系统呢?或是根本不可能呢?这种问题我遇到过多次──当然都是别人做的设计。但我认为这个过程中不足的地方就是:把东西做死了,没有切实地为用户着想。很多人在做设计时,可能考虑的最多的是实现上的方便,而不是系统的扩展及更新。需知道,用户的需求是在不断变化的,如果总是在设计前就"善意"地替用户假设,是难以预料后事的结局的。所以我想,在设计阶段就因该把可能出现的问题都摆到桌面上讨论,包括其特点、效果和后果,而不是自以为是地、好心地替用户"假设"。其实一个系统设计的优劣,其系统的扩展性能是一个很重要的指标,一个单纯就事论事地针对某件事情而做出的"专用"系统是没有任何远见的

 meteor06 回复于:2003-06-23 14:32:21
不知道楼主对与怎样与客户沟通,有
什么好的经验?能说说吗?
记得软件工程中提到,可以先做一个较为简单的模型
将基本功能做演示,在根据客户需求修改,在实际中是否有如此做的,可行吗?

 无双 回复于:2003-06-23 17:52:27
我觉得那就是演化模型或是原型法
可以查找一下论坛中软件生命周期讨论


这样的话可以更好的发现客户早期需求
这样确实是一个比较好的办法

 menp9999 回复于:2003-06-24 08:27:54
这个东东,有时候简直就是放屁.成为无需为却又不得不为的"金科玉律".呵呵.

 meteor06 回复于:2003-06-24 08:41:11
[quote:b86cd3f068="menp9999"]这个东东,有时候简直就是放屁.成为无需为却又不得不为的"金科玉律".呵呵.[/quote:b86cd3f068]     
不要光想自己,要为后来人服务
如果以后别人维护,没有详细的文档资料
只是看原程序,那会很痛苦的
(不过要是我自己,也会偷懒少写点  ops: )

 大连老K 回复于:2003-06-24 08:51:39
"系统的扩展及更新"在分析和设计时要考虑到这一点和实现这一点是非常难的一件事情。

 menp9999 回复于:2003-06-24 08:58:00
[quote:8541f8864c="meteor06"]    
不要光想自己,要为后来人服务
如果以后别人维护,没有详细的文档资料
只是看原程序,那会很痛苦的
(不过要是我自己,也会偷懒少写点  ops: )[/quote:8541f8864c]     
拉倒吧,系统分析,谁看呀.我看的几个系统分析纯粹是他妈的放屁.
不过为什么软件工程的形式,还偏偏要充在里面.

 meteor06 回复于:2003-06-24 08:59:32
[quote:ac845f4e3a="无双"]我觉得那就是演化模型或是原型法
可以查找一下论坛中软件生命周期讨论


这样的话可以更好的发现客户早期需求
这样确实是一个比较好的办法[/quote:ac845f4e3a]     
刚拜读了版主大作,有几个问题
1。这些都是软件工程中所提到的方法,相信所有学计算机的都大体学过
    按理说在工作中应该按照要求来做工程,但是接触到的有限的几个项目
    据了解都没有严格按照执行,只有简单的设计,完整的文档往往是项目
   完成后补写的,而且经过一段时间修改维护后,文档就更不全了,只有
   初始规划的文档,修改的文档几乎没有。
   因为接触的开发项目不多,且仅是听开发人员诉说,不知道版主和各位在
   实际工作中碰到的情况如何,也就是国内软件行业现状到底怎样,非常
  想了解,能否告之
2。看了版主所提的演化模型,
    在开发出核心系统后,根据客户需求进行修改,重新开发的系统是建立在
    以开发出的核心系统之上,还是初次的核心系统仅作为参考?

 无双 回复于:2003-06-24 10:21:28
系统分析是为了知道用户需求


如果用户需求改变很大的化
系统结构可能都要重写

后期重写不 如早期就发现并重写

这样可以减少成本

 无双 回复于:2003-06-24 10:33:35
1  国内这方面确实不是很好,  但是对大软件来说都是有设计先
小软件的话, 则是先有代码, 然后再补充文档了

要想在初期有很好的文档, 并且保证文档的同步确实很难,  因为需求的改变, 或是程序的改变都要对文档进行同步,  在整个系统没有完全定下来前这样工作量很大,因此会拖延项目进度  我在大单位中是先有设计文档,然后评审 然后编码  后面开发中的文档也是没有同步, 开发完了再做一次同步
早期的文档主要是为了各方面协调用 开发过程中的更改通过多方协商然后定下来,  但是定下来后也会发一个文档给每个人的


后在一家小公司工作 他们不但没有文档 代码也没有注释 这可能是与小公司对效率的要求很高 不想把时间花在这上面 另外开发的软件也是小软件 所以通过大家讨论可以解决问题 
但是没有设计代码写到后面看起来就觉得很乱 所以要增加新功能 增加到了一定程序代码读起来就觉得很困难了 而且就是相同功能的代码不方便重用
觉得如果有设计有文档的话 可以把程序做得更好 并且到了后面 有良好设计的软件继续添加功能会更方便

 无双 回复于:2003-06-24 10:37:16
原型法是创建一个原型给客户先用(注意只是试用,用来取得用户意见的)
然后根据用户意见和需求写出代码,那个原型就抛弃掉了

演化模型就是把客户需求分成几个层次 每一期完成一个层次先是重要的 然后是其它的 每一期代码都是在原来的基础上添加 原来那个模型一直在使用不重写

 meteor06 回复于:2003-06-24 10:44:07
thks ;)

 蓝色键盘 回复于:2003-06-24 11:09:53
哦。已经写了这么多的回复。

我始终会认为一个软件工程项目,系统分析设计是首要的,如果这个开头做的不好,以后的麻烦会满天飞---维护、升级、扩展、客户化、增加新技术模块等等。除非你的客户属于你自己,你面向的市场只是今朝有酒今朝醉的。

几十年以前的哪种,一两个人搞定一个系统的年代现在也有,但是不符合商业化的要求。设想一下,如果比尔自己不顾用任何员工,就他自己一个人写windows也可以,问题是,他要花多长的时间才能完成windos开发。并且windows怎么让人们去了解,如果比尔生病了或者出了以外,或者自然SW,如果没有项目文档,没有设计资料,没有系统分析书。有多少人会愿意或者能够仔细的阅读他的代码。如果这样,windows不倒闭都难!

软件是一种产业,像印度,程序员就像车间里的工人一样,按照图纸和规定做固定的工作便可。这个图纸便是需求,这个规定便是系统分析的要求。

一个系统分析的一部分就是完成必须的文档,直到能够做到:
当这些说明书完成后,应当能做到:随便找个程序员他都能只通过看某功能模块的设计说明书就能够开始代码的开发而不用再重新思考该怎样去做了,程序员在这里就真的只是一个设计者的实现工具。

 蓝色键盘 回复于:2003-06-24 11:12:35
如果一个人不同意系统分析的重要性,那么这个人要么是顶尖的高手,要么他压根就没做过大型的软件工程项目。

 蓝色键盘 回复于:2003-06-24 11:21:01
说实话,大家都讨厌写文档。尤其是哪些接口设计,概要设计,详细设计。大多数的人也很少的仔细写这些东西,除非部门专门有人检查,没办法才认真一些。
但是,如果你在公司做研发,每年接触者不同的系统,如果没有这些文档的化,估计过个一年半载的你都不承认哪些东西是你做的。如果你离开了公司,没有文档,谁来接手你曾经设计的东西。怎么入手,一行行读代码吗?

 无双 回复于:2003-06-24 12:34:28
不想写文档一个原因是自己觉得没有用
因为自己开发的系统自己知道什么设计的

但是过一段时间后
要你再维护这个系统或是有什么新功能增加时
这时就不知道什么设计的

或在哪里使用了什么特别技术实现
这时没有文档就容易出错

就是你添加的代码没有错
错是在其它关联的地方

到了最后系统越来越乱
这时重写一个也行了

 menp9999 回复于:2003-06-26 09:39:36
[quote:b0993df19c="蓝色键盘"]如果一个人不同意系统分析的重要性,那么这个人要么是顶尖的高手,要么他压根就没做过大型的软件工程项目。[/quote:b0993df19c]     
你懂个屁,有些项目的开发就是不需要的.
LINUX有么?
还有银行业务的开发也是不需要的.

 无双 回复于:2003-06-26 09:58:13
我觉得不是不需要
而是因为这个系统已经做了很多个了
并且他们内容都一样

所以不用再重复的分析

LINUX设计的时候也应该考虑一个操作系统应该满足什么功能
然后由此决定系统模块及各模块分工

大的软件如果写到哪里再想下一步的话
代码会很不规范

可以看看操作系统原理:设计与实现那本书
里面对系统的每个部分都进行了详细的研究 就是算法方面也是研究了很多 并说明其它算法的缺点 如进程调度那块

所以好的程序是先有设计后有编码
不然可读性会很差

 menp9999 回复于:2003-06-26 14:53:00
[quote:267b974d6e="无双"]我觉得不是不需要
而是因为这个系统已经做了很多个了
并且他们内容都一样

所以不用再重复的分析

LINUX设计的时候也应该考虑一个操作系统应该满足什么功能
然后由此决定系统模块及各模块分工

大的软件如?.........[/quote:267b974d6e]     
哎,你讲到哪里去了,系统分析哎.

 蓝色键盘 回复于:2003-06-27 17:14:33
menp9999 果真高手

如果没有unix标准(例如posix),不知道linux开发出来,有多少人用,也不知道后来的人怎么添加代码,包括你。

鄙人懂点肤浅的银行项目,不知道menp9999所说的银行项目是什么。

另外,个人观点。作不作系统分析书是一个规范问题,甚至是个习惯。而不是愿不愿意做的问题。

 menp9999 回复于:2003-07-01 10:22:03
[quote:5843c43536="蓝色键盘"]menp9999 果真高手

如果没有unix标准(例如posix),不知道linux开发出来,有多少人用,也不知道后来的人怎么添加代码,包括你。

鄙人懂点肤浅的银行项目,不知道menp9999所说的银行项目是什么。

另外,个?.........[/quote:5843c43536]     
关于LINUX的问题,你自己去找资料去.
关于银行项目的问题,你去问问他没有有谁做了系统分析的,呵呵,就以城市综合网的项目为例子,你去打听打听,那些所谓的系统分析,不过是补了为了骗领导的.

 menp9999 回复于:2003-07-01 10:33:34
[quote:17a90aa839="无双"]我觉得不是不需要
而是因为这个系统已经做了很多个了
并且他们内容都一样

所以不用再重复的分析

LINUX设计的时候也应该考虑一个操作系统应该满足什么功能
然后由此决定系统模块及各模块分工

大的软件如?.........[/quote:17a90aa839]     
大家总是喜欢从软件设计的角度去考虑问题,其实没有必要.就象有句"功夫在诗外"一样的道理,譬如银行项目,会计制度设计的本身就是包含了从软件设计角度来说系统设计了,所以再来做一遍,只不过是走走形式,骗骗人了.当然有一个东西是会计制度设计的时候没有考虑的,那就是软件升级.制度改变,以前的会计数据怎么办的问题,只是这些东西不是那帮高手所能考虑的问题.因此嘛,系统分析是不需要的.

 无双 回复于:2003-07-01 11:08:56
那不是啊
会议只是需求分析的一部分

系统分析就是想怎样让一个系统有更好的可维护性与可扩展性
以后添加功能时方便

需求是要知道一个软件能完成什么功能

 menp9999 回复于:2003-07-01 13:59:00
[quote:89df9f2a41="无双"]那不是啊
会议只是需求分析的一部分

系统分析就是想怎样让一个系统有更好的可维护性与可扩展性
以后添加功能时方便

需求是要知道一个软件能完成什么功能[/quote:89df9f2a41]     
别拉性来吓人,我好怕怕.可扩展不如说错误的源泉.

 无双 回复于:2003-07-01 16:27:18
如果设计不好的话
那么会是错误的源泉

但是需求总是在不断变化
不可能有个小需求就重写一遍

所以良好的设计还是需要的
除非想代码写完后就不用了

发的设计可以在源码级共享
CMM就是为了这个提出的(虽然到了中国后也变了质 ,变成一种认证了)

 forkson 回复于:2003-07-02 18:51:44
如果没有正式的文档说明,客户只是在口头上向你传达需求或更改,最后死得很惨的是自己!一点体会。

 无双 回复于:2003-07-02 19:53:13
其实最好是有一个统一的需求

就是说客户提需求时不要一点一点提
而是一次提很多

这样改进会比较快

 menp9999 回复于:2003-07-03 08:46:44
[quote:7fc0b77943="forkson"]如果没有正式的文档说明,客户只是在口头上向你传达需求或更改,最后死得很惨的是自己!一点体会。[/quote:7fc0b77943] 
一点体会,我做项目时,不要客户自己提供,而是我比客户更专家而已,呵呵.

 一无所有 回复于:2003-07-03 13:30:34
[quote:4f66d382cc="无双"]我觉得那就是演化模型或是原型法
可以查找一下论坛中软件生命周期讨论


这样的话可以更好的发现客户早期需求
这样确实是一个比较好的办法[/quote:4f66d382cc]
 无双兄可能没有完全理解楼主的意思,
 我看楼主应该是讲的迭代开发。
是在一个模型上不断完善,而不是抛弃以前的原型

 一无所有 回复于:2003-07-10 08:26:16
文档在总个项目的生命周期都是很重要的。
  如果我们把文档当成是一种任务,而不是一种资源,
  那将是我们自己的损失。

 无双 回复于:2003-07-10 19:42:23
老大
让你不工作一个月看
就知道什么样的感觉了

 蓝色键盘 回复于:2003-07-10 18:48:36
我以前作项目讨厌写文档,但是吃了几次苦头。

现在觉得文档写起来麻烦,但是用处的确不少。

尤其是系统需要改造的过程中。

系统分析书可以不写,但是这个系统的框架在一个人的脑子中,例如像menp9999,我觉得他完全可以不写,但是如果他离开了那家公司,谁来维护。还有一个问题是,就算是自己当初设计的系统框架,项目多了,也总有记得不是很清楚的地方,如果维护产品的人经常的修改系统的某些地方,总有一天会被更改的面目全非。

 无双 回复于:2003-07-10 19:02:53
一般来说文档主要的就是和代码难同步

所以很详细的文档很难写
也没有什么用

总体框架是应该有的

 蓝色键盘 回复于:2003-07-10 19:17:04
级别: 法师
注册时间: 2002-11-21
最后登录: 2003-07-10
帖子总数: 7388
精华帖子: 36
原创精华: 2
来自: 浙江杭州
在线状态: ...在线...


无双兄,我还是喜欢大天使这个级别,可惜是什么精灵使了!

 傲孤子 回复于:2003-07-20 14:00:20
那不是呀!
一个软件还是应该先写文档,再做这样做到有计划,
或许可以省略多不必要的重复!·

 lqy009 回复于:2003-08-01 17:12:28
文档是大家还没有重视的东东!

 jinijxta 回复于:2003-08-04 21:43:14
文档这东西在开发的时间可能没有人愿意写,在系统维护时读代码还是很麻烦的。软件业能否与建筑业一样,上午有人不干了,下午找一个人就可以继续上午的工作了。目前的现状是不能。
系统分析不可能全部预先了解客户的所有需求,只能提供一个较好的框架,在必要的时候重新组装商务逻辑。从架构来讲还是比较重要的。不需要系统分析的项目还是有一些,做到后边集成和配置的时候太麻烦。

 无双 回复于:2003-08-04 22:26:04
但是软件的规范化需要有现汇的文档
无论从生产效率还是其它方面 文档都是很重要的

 jinijxta 回复于:2003-08-05 19:23:14
我用到一个公司的文档,约有2米高。仔细一读,没几份文档可以用来进行编码。很多时候文档是程序员送给老板安心,其实没用的东西。
    我曾试着要求程序员按ISO软件工程模板书写文档,阻力太大。因为项目是时间驱动的,先将产品做出来再说。

 无双 回复于:2003-08-05 19:34:39
习惯了就好了 不过很长的文档没有几个人看的

文档主要是说出个大概 几百页的文档不知道会有谁从头看到尾

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有