软件开发流程与详细解释
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发流程整理2012/4/3
问题定义
问题定义指在项目初期,从客户或用户处获取需求,弄清用户需要计算机解决的问题根本所在,以及项目所需的经费和资源的文档,最终使开发人员与客户就所构建的系统的范围达成一致意见。
用户调查
对用户进行访谈,调查,初步了解项目范围,需要解决的问题以及项目经费的重要信息。
编写《系统目标与范围说明》
将本阶段的结果写成相应的文档,即《系统目标与范围说明》。
可行性研究
软件可行性分析最根本的任务是用最少的代价,对以后的行动方针提出建议。如果问题没有可行的解释,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。
确定项目的规模和目标
分析员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定和确认,清晰地描述项目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。
研究正在运行的系统
收集,研究,分析现有系统的文档资料和使用手册,实地考察现有系统,在考察的基础上,访问有关人员,确定目标系统必须完成的基本功能。
建立新系统的高层逻辑模型
根据对现有系统的分析研究,逐步明确了新系统的功能,处理流程以及所受约束,然后使用数据流图和数据字典,概括的描述高层的数据处理和流动。
重新定义问题
将新系统的高层逻辑模型与项目的问题及目标进行比较,重新复查问题定义,工程规模和目标。
导出和评价各种方案
分析员建立了新系统的高层逻辑模型,并进行复查后,要从技术的角度出发,提出高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可行性,经济可行性,社会可行性对各种方案进行评估,去掉行不通的解法,得到可行的解法。
推荐可行方案
根据之前可行性研究的结构,应该决定该项目是否值得去开发。若值得开发,那么可行的解决方案是什么,并且说明该方案可行的原因和理由。
草拟开发计划
初步确定工程进度表,开发人员,所需要的资源以及对项目所需要的时间进行估计。
编写《可行性研究报告》
将该阶段的可行性研究过程的结果写成相应的文档,即《可行性研究报告》。
提交审查
用户和使用部门对《可行性研究报告》进行仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。
需求分析
需求分析要求开发人员准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规约(需求规格说明)的过程。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
制定需求分析计划
需求分析是一项重要的工作,也是最困难的工作,这个阶段可能会耗费相当的时间,人力以
及物力。若有明确的计划进行指导,将使得需求分析工作更加有条不紊的进行。
需求获取
需求获取是一个对准备建立的系统和正在使用的系统进行信息收集并从这些信息中提取用户需求和系统需求的过程。可以通过用户面谈,实地考察,用例,需求专题讨论会等方式发现,获取需求。
分析和综合
分析人员根据导出的需求,进行移植的分析检查,在分析,综合中逐步细化软件功能,划分成各个子功能,找出各元素之间的联系,接口特性和设计上的限制。
导出软件的逻辑模型
根据分析与综合的结果,细化可行性研究阶段形成的高层逻辑模型,包括数据流图和数据字典,E-R图,状态转换图等,以图文的形式建立起性系统的逻辑模型。
协商与沟通
在有多个项目相关人员(信息持有者)参与的地方,需求将不可避免的发生冲突,在这个阶段需要对需求的优先权进行排序并通过协商发现并解决这些冲突。
编写《需求规格说明书》
把双发共同的理解与分析的结果用规范的方式描述出来,形成《需求规格说明书》,并向下一阶段提交,作为今后各项工作的基础。
需求验证
为保障软件质量,确保软件开发成,一旦对系统提出一组要求之后,必须严格验证这些需求的正确性,一般从一致性,完整性,现实性,有效性四个方面进行验证。在这个阶段,系统客户和系统开发人员必须详细地阅读需求文档并检查其中的错误,一旦检查出任何问题必须记录下来,接着客户就需要和开发人员协商如何解决问题。
修改完善开发计划
在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确的估计开发成本,进度以及资源要求,因此,对原计划要进行适当修正。