详细地研讨“为了解决这个问题,目标系统必须做什么?”主要是确定目标系统必须具备哪些功能。在这一阶段要求用户密切配合。
通常这一阶段的成果是:1)数据流图;2)数据字典;3)简要的算法描述。
这个阶段必须回答的问题是“概括地说,有哪些选择可以解决这些问题?”许多问题的解决方法有多种。如我们为客户开发CRM系统。其中可能会用到邮件发送的功能。这个功能中要使用的邮件服务器是租用还是自行开发呢?等。这样会有:
1)低成本解决方案
2)中等成本解决方案
3)高成本的较完美的解决方案
当然,这要看客户愿意支付的金额是多少了,或者你们的开发合同已经签订了,合同金额已经签订了。要选哪一个估计要由你们老板来定了。
一般会用层次图来描述软件的结构。
总体设计阶段以比较抽象的方式提出了解决问题的方法。详细设计阶段的任务就是把解决方法具体化,也就是回答“应该怎样具体地实现这个系统呢?”
这个阶段的任务还不是编写程序,而是设计出程序的详细规范说明。这种说明类似于工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,程序员可以根据它们写出实际的程序代码。
通常用HIPO图或PDL语言描述详细设计的结果。
维护有四种:
1)纠错性维护;
2)适应性维护;
3)完善性维护;
4)预防性维护。
http://www.ypgogo.com/Space/methodinfo/id/17/methodid/394
正式验收:正式验收前,软件开发方应向信息技术管理部门提交软件开发过程中各阶段性文档,包括需求分析说明书、概要设计说明书、详细设计说明书、数据库设计说明书、源程序代码、可供安装使用的系统安装程序、系统管理员手册、用户使用手册、测试计划、测试报告、用户报告、数据移植计划及报告、系统上线计划及报告、用户意见书、验收申请等。