更新时间:2022-12-23 18:22
问题定义是软件定义时期的第一个阶段。作为软件的开发者,在这个阶段必须弄清用户“需要计算机解决什么问题”。如果在问题尚未明确的情况下就试图解决这个问题,那么就会白白浪费时间和精力,结果也毫无意义。因此,问题定义在软件生命周期中占有重要的位置。
问题定义阶段要回答的关键问题是:“要解决的问题是什么?”因此,其基本任务就是分析要解决的问题,提交问题定义报告。经用户同意后,就可作为下一步工作——可行性研究的依据。系统分析员在问题定义阶段应通过对系统的实际用户和使用部门负责人的访问调查,写出对问题的理解,搞清楚用户为什么会提出这样的问题,问题的背景和用户的目标是什么。然后据此提出关于问题的性质、工程的目标和规模的书面报告,并在用户和使用部门负责人参加的会议上认真讨论这份书面报告,澄清含糊不清的地方,改正理解不正确的地方。最后形成一份双方都满意的文档,以确保开发人员、用户和使用部门的负责人对问题的性质、工程的目标和规模取得一致的看法,从而进入下一阶段的工作。问题定义阶段是软件生命周期中最简短的阶段,一般只需要一天甚至更短的时间。
问题定义的主要内容有:
(1)问题的背景。弄清楚待开发系统现在处于什么状态,为什么要开发它,是否具备开发条件等问题。
(2)提出开发系统的问题要求以及总体要求。
(3)明确问题的性质、类型和范围。
(4)明确待开发系统要实现的目标、功能和规模。
(5)提出开发的条件要求和环境要求。
以上主要内容应写在问题定义报告(或系统目标和范围说明书)中,作为这一阶段的“工作总结”。
在问题定义阶段,系统分析员要深入现场,阅读用户写的书面报告,听取用户对开发系统的要求,调查开发系统的背景理由。还要与用户负责人反复讨论,以澄清模糊的地方,改正不正确的地方。最后写出双方都满意的问题定义报告,并确定双方是否可进行可行性研究。
在对问题作出定义之后,应提出关于问题的性质、工程的目标和规模的书面报告。问题定义报告没有统一的文档格式,但一般来说应该包括以下内容:
(1)工程项目名称;
(2)使用方;
(3)开发方;
(4)对问题的概括定义;
(5)项目的目标;
(6)项目的规模。
有时还可以加入对项目的初步设想和对可行性研究的建议等内容。问题定义报告的内容应简洁、清楚,一般在一页纸以内。