软件开发流程

上传人:汽*** 文档编号:564437761 上传时间:2022-11-19 格式:DOCX 页数:9 大小:14.57KB
返回 下载 相关 举报
软件开发流程_第1页
第1页 / 共9页
软件开发流程_第2页
第2页 / 共9页
软件开发流程_第3页
第3页 / 共9页
软件开发流程_第4页
第4页 / 共9页
软件开发流程_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《软件开发流程》由会员分享,可在线阅读,更多相关《软件开发流程(9页珍藏版)》请在金锄头文库上搜索。

1、软件开发流程整理问题定义问题定义指在项目初期,从客户或用户处获取需求,弄清用户需要计算机解决的 问题根本所在,以及项目所需的经费和资源的文档,最终使开发人员与客户就所 构建的系统的范围达成一致意见。用户调查对用户进行访谈,调查,初步了解项目范围,需要解决的问题以及项目经费的重 要信息。编写系统目标与范围说明将本阶段的结果写成相应的文档,即系统目标与范围说明。可行性研究软件可行性分析最根本的任务是用最少的代价,对以后的行动方针提出建议。如 果问题没有可行的解释,分析员应该建议停止这项开发工程,以避免时间、资源、 人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并 且为工程制定

2、一个初步的计划。确定项目的规模和目标分析员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和 目标进行定和确认,清晰地描述项目的一切限制和约束,确保分析员正在解决的 问题确实是要解决的问题。研究正在运行的系统收集,研究,分析现有系统的文档资料和使用手册,实地考察现有系统,在考察 的基础上,访问有关人员,确定目标系统必须完成的基本功能。I三1=1 根据对现有系统的分析研究,逐步明确了新系统的功能,处理流程以及所受约束, 然后使用数据流图和数据字典,概括的描述高层的数据处理和流动。重新定义问题将新系统的高层逻辑模型与项目的问题及目标进行比较,重新复查问题定义,工 程规模和目标。导出和

3、评价各种方案分析员建立了新系统的高层逻辑模型,并进行复查后,要从技术的角度出发,提 出高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可行性, 经济可行性,社会可行性对各种方案进行评估,去掉行不通的解法,得到可行的 解法。推荐可行方案根据之前可行性研究的结构,应该决定该项目是否值得去开发。若值得开发,那 么可行的解决方案是什么,并且说明该方案可行的原因和理由。草拟开发计划初步确定工程进度表,开发人员,所需要的资源以及对项目所需要的时间进行估 计。编写可行性研究报告将该阶段的可行性研究过程的结果写成相应的文档,即可行性研究报告。提交审査用户和使用部门对可行性研究报告进行仔细审查,从

4、而决定该项目是否进行 开发,是否接受可行的实现方案。需求分析 需求分析要求开发人员准确理解用户的需求,进行细致的调查分析,将用户非形 式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规 约(需求规格说明)的过程。需求分析是软件定义阶段中的最后一步,是确定系 统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。制定需求分析计划需求分析是一项重要的工作,也是最困难的工作,这个阶段可能会耗费相当的时 间,人力以及物力。若有明确的计划进行指导,将使得需求分析工作更加有条不 紊的进行。需求获取需求获取是一个对准备建立的系统和正在使用的系统进行信息收集并从这些信 息中提

5、取用户需求和系统需求的过程。可以通过用户面谈,实地考察,用例,需 求专题讨论会等方式发现,获取需求。分析和综合分析人员根据导出的需求,进行移植的分析检查,在分析,综合中逐步细化软件 功能,划分成各个子功能,找出各元素之间的联系,接口特性和设计上的限制。导出软件的逻辑模型根据分析与综合的结果,细化可行性研究阶段形成的高层逻辑模型,包括数据流 图和数据字典,E-R图,状态转换图等,以图文的形式建立起性系统的逻辑模型。协商与沟通在有多个项目相关人员(信息持有者)参与的地方,需求将不可避免的发生冲突, 在这个阶段需要对需求的优先权进行排序并通过协商发现并解决这些冲突。编写需求规格说明书把双发共同的理解

6、与分析的结果用规范的方式描述出来,形成需求规格说明 书,并向下一阶段提交,作为今后各项工作的基础。需求验证 为保障软件质量,确保软件开发成,一旦对系统提出一组要求之后,必须严格验 证这些需求的正确性,一般从一致性,完整性,现实性,有效性四个方面进行 验 证。在这个阶段,系统客户和系统开发人员必须详细地阅读需求文档并检查其中 的错误,一旦检查出任何问题必须记录下来,接着客户就需要和开发人员协商如 何解决问题。修改完善开发计划在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确的估计开发 成本,进度以及资源要求,因此,对原计划要进行适当修正。技术审查和管理复审用户和使用部门对需求规格说明书

7、进行仔细的审查,通过后该文档将作文今 后工作的基础。概要设计概要设计也成为总体设计,在这个极端需要确定软件的总体结构,也就是软件应 该由哪些模块组成,以及模块与模块之间的接口关系,软件系统主要的数据结构, 同时还要制定测试计划,形成概要设计说明书。制定规范尽管每个开发组织都有概要设计规范,但是不同的应有有些特殊性,所以应该针 对具体的软件特点,制定出合适的规范。包括设计文档的编制标准,编码的信息 形式,与硬件、操作系统的接口规约,命名规则等。设想供选择的方案在概要设计时,设计人员应该考虑各种可能的实现方案,并且力求从中选出最佳 方案。此时设计人员有充分的自由比较不同的实现方案,一旦选出了最佳方

8、案, 将能大大提高系统的性价比。推荐最佳方案 综合分析对比各种合理方案的利弊,推荐一个最佳方案,并为最佳方案制定详细 的实现计划。用户和有关技术专家应该认真审查,若符合需求并且完全能够实现, 则提请负责人审批。方案被接受后者进入下一阶段。功能分解为确定软件结构,首先需要从现实角度把复杂的功能进一步分解。分析员结合算 法描述仔细分析数据流图中的每个处理,将复杂的功能分解成一系列比较简单的 功能。经过分解细化之后,通常一个模块只完成一个适当的功能,每个模块对于 大多数程序员都是易于理解的。软件结构设计设计软件模块的结构就是要把软件模块组成良好的层次系统,描述各模块之间的 关系。顶层模块调用它下层模

9、块,每个下层模块再调用更下层的模块,最下层的 模块完成最具体的功能,这样自顶向下实现一个完整的功能。数据设计数据设计包括数据结构设计,文件设计和数据库设计。根据需求分析阶段获得的 数据要求,确定实现系统所必须的数据,数据之前的关系,存储数据的实体。制定测试计划为了保证软件的可测试性,软件在一开始就要考虑软件的测试问题,但是这个阶 段的测试计划应该是针对软件结构的测试和系统测试。编写概要设计规格说明书将本阶段的成果编制为相应的文档,即概要设计规格说明书。其他文档编写需要提交审查的文档还包括用户手册,测试计划,实现计划等,还需要对这些文 档进行编写。技术审查和管理复审 最后应该对总体设计的结果进行

10、严格的技术审查,在技术审查通过之后再由客户 从管理角度进行复审。详细设计详细设计阶段的根本目的是确定应该怎样具体地实现所要求的系统,经过这个阶 段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以吧这个描 述直接翻译成用某种程序设计语言书写的程序。数据结构设计数据结构设计指的是对需求分析,概要设计阶段确定的概念性的数据进行确切的 定义。物理设计对数据库进行物理设计,即确定数据库的物理结构。物理结构主要是指数据库的 存储记录格式,存储记录安排和存储方法,这些都依赖于具体使用的数据库系统。在总体设计的结构完成之后,结构各个环节的实现是多解的。这就需要用系统设 计与分析的技术来描述。可以使

11、用某些图形、表格、语言等工具将每个模块处理 过程的详细算法表示出来。界面设计用户界面的设计现在显得比较重要,可以采用字符用户界面设计,图形用户界面 和多媒体人机界面设计。这就要结合具体的系统来处理。其他设计根据软件系统的类型,可能还要进行其他设计,例如:代码设计,输入/输出格 式设计,人机对话设计,网络设计等。编写详细设计规格说明书将本阶段的成果编制为相应的文档,即详细设计规格说明书。技术审查和管理复审最后应该对详细设计的结果进行严格的技术审查,所有处理过程的算法和数据库 的物理结构等都要进行评审。编码编码即把软件设计的结果翻译成用某种程序设计语言书写的程序。作为软件工程 中的一个阶段,编码是

12、对设计的进一步具体化,因此,程序的质量主要取决于软 件设计的质量。但程序设计语言的选择以及编码风格也对程序的可靠性,可读性, 可测试性和可维护性产生深远的影响。选择合适的程序设计语言编程语言在软件活动中处于中心地位,选择一门适合的编程语言十分重要。通常 从应用领域,算法与计算复杂性,数据结构的复杂性,效率等几个方面考虑某一 语言是否可选作编码语言。制定编码规范良好的代码风格和编码规范可以降低程序出错的几率,提高程序的易读性和质 量,利于构造大软件所必须的团队开发,同时也可以有效降低程序的维护成本。建立数据库系统根据之前数据与数据流程分析以及数据库设计的结果建立数据库结构。使用选定的程序设计语言

13、,将详细设计中的过程性描述翻译成用该语言编写的源 程序(源代码)。技术审查和管理复审最后应该对编码的生成的源程序进行严格的技术审查,确保程序运行结果正确有 效,满足要求。测试测试是为了发现错误而执行程序的过程,即根据软件开发各阶段的规格说明和程 序的内部结构而精心设计一批测试用例,并利用这些测试用例去运行程序,以发 现程序错误的过程。测试用例设计是以发现错误为目的而精心设计的一组测试数据,测试用例=输入数据+期望 结构。测试用例将用于之后的测试。单元测试单元测试针对程序模块,进行正确性检验的测试。其目的在于发现各模块内部可 能存在的各种差错,验证它们是否符合模块功能说明的需求。单元测试需要从程 序内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。集成测试集成测试是组装软件的系统技术,即在单元测试的基础上,需要将所有模块按照 设计要求组装成为系统,并在此过程中进行测试,其主要目标是发现与接口有关 的问题。确认测试确定所开发的软件是否符合软件需求规格说明书的要求。系统测试把新开发的软件安装到系统中,检查它能否与系统的其余部分协调运行。编写测试分析报告将本阶段的成果编制为相应的文档,即测试分析报告。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号