软件开发的完整步骤

上传人:jin****ng 文档编号:73294159 上传时间:2022-04-11 格式:DOC 页数:16 大小:53KB
收藏 版权申诉 举报 下载
软件开发的完整步骤_第1页
第1页 / 共16页
软件开发的完整步骤_第2页
第2页 / 共16页
软件开发的完整步骤_第3页
第3页 / 共16页
资源描述:

《软件开发的完整步骤》由会员分享,可在线阅读,更多相关《软件开发的完整步骤(16页珍藏版)》请在装配图网上搜索。

1、软件开发的完整步骤目录1问题定义41.1用户调查41.2编写系统目标与范围说明 42可行性研究42.1确定项目的规模和目标52.2研究正在运行的系统52.3建立新系统的高层逻辑模型 52.4重新定义问题52.5导出和评价各种方案62.6推荐可行方案 62.7编写可行性研究报告 62.8提交审查63需求分析73.1制定需求分析计划 73.2需求获取73.3分析和综合73.4 协商与沟通 83.5 编写需求规格说明书 83.6 需求验证 83.7 修改完善开发计划 83.8 技术审查和管理复审 94 概要设计 94.1 制定规范 94.2 设想供选择的方案 94.3 推荐最佳方案 1.0.4.4

2、功能分解 1.0.4.5 软件结构设计 1.0.4.6 数据设计 1.1.4.7 制定测试计划 1.1.4.8 编写概要设计规格说明书 1.14.9 其他文档编写 1.1.4.10 技术审查和管理复审 1.1.5 详细设计 1.2 5.1 数据结构设计 1.2.5.2 物理设计 1.2.5.3 算法设计 1.2.5.4 界面设计 1.3.5.5 其他设计 1.3.5.6 编写详细设计规格说明书 1.35.7 技术审查和管理复审 1.3.6 编码 1.3 6.1 选择合适的程序设计语言 1.4.6.2 制定编码规范 1.4.6.3 建立数据库系统 1.4.6.4 程序编码 1.4.7 测试 1.

3、5 7.1 测试用例设计 1.5.7.2 单元测试 1.5.7.3 集成测试 1.5.7.4 系统测试 1.6.7.5 编写测试分析报告 1.6.1 问题定义问题定义指在项目初期, 从客户或用户处获取需求, 弄清用户需要计算机解决的问题根 本所在, 以及项目所需的经费和资源的文档, 最终使开发人员与客户就所构建的系统的范围 达成一致意见1.1 用户调查对用户进行访谈, 调查,初步了解项目范围, 需要解决的问题以及项目经费的重要信息。1.2 编写系统目标与范围说明将本阶段的结果写成相应的文档,即系统目标与范围说明2 可行性研究软件可行性分析最根本的任务是用最少的代价, 对以后的行动方针提出建议。

4、 如果问题 没有可行的解释,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪 费;如果问题值得解, 分析员应该推荐一个较好的解决方案, 并且为工程制定一个初步的计 划。2.1 确定项目的规模和目标分析员对有关人员进行调查访问, 仔细阅读和分析有关的材料, 对项目的规模和目标进 行定和确认, 清晰地描述项目的一切限制和约束, 确保分析员正在解决的问题确实是要解决 的问题。2.2 研究正在运行的系统收集, 研究,分析现有系统的文档资料和使用手册,实地考察现有系统,在考察的基础 上,访问有关人员,确定目标系统必须完成的基本功能。2.3 建立新系统的高层逻辑模型根据对现有系统的分析研究

5、,逐步明确了新系统的功能,处理流程以及所受约束,然 后使用数据流图和数据字典,概括的描述高层的数据处理和流动。2.4 重新定义问题将新系统的高层逻辑模型与项目的问题及目标进行比较,重新复查问题定义,工程规 模和目标。2.5 导出和评价各种方案分析员建立了新系统的高层逻辑模型,并进行复查后,要从技术的角度出发,提出高层逻辑模 型的不同方案, 即导出若干较高层次的物理解法。 根据技术可行性, 经济可行性, 社会可行性对各种方案进行评估,去掉行不通的解法,得到可行的解法。2.6 推荐可行方案根据之前可行性研究的结构, 应该决定该项目是否值得去开发。 若值得开发, 那么可行 的解决 方案是什么,并且说

6、明该方案可行的原因和理由。草拟开发计划 初步确定工程进度表,开发人员,所需要的资源以及对项目所需要的时间进行估计。2.7 编写可行性研究报告将该阶段的可行性研究过程的结果写成相应的文档,即可行性研究报告2.8 提交审查用户和使用部门对可行性研究报告进行仔细审查,从而决定该项目是否进行开发, 是否接受可行的实现方案。3 需求分析需求分析要求开发人员准确理解用户的需求, 进行细致的调查分析, 将用户非形式的需 求陈述 转化为完整的需求定义, 再由需求定义转化到相应的形式功能规约 (需求规格说明) 的过程。 需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是 对目标系统提 出完整

7、、准确、清晰、具体的要求。3.1 制定需求分析计划需求分析是一项重要的工作, 也是最困难的工作, 这个阶段可能会耗费相当的时间, 人 力以及 物力。若有明确的计划进行指导,将使得需求分析工作更加有条不紊的进行。3.2 需求获取需求获取是一个对准备建立的系统和正在使用的系统进行信息收集并从这些信息中提 取用户需求和系统需求的过程。 可以通过用户面谈,实地考察,用例,需求专题讨论会等方 式发现,获取需求。3.3 分析和综合分析人员根据导出的需求,进行移植的分析检查,在分析,综合中逐步细化软件功能, 划分成 各个子功能, 找出各元素之间的联系, 接口特性和设计上的限制。 导出软件的逻辑 模型 根据分

8、析与综合的结果,细化可行性研究阶段形成的高层逻辑模型,包括数据流图和数据字典, E-R 图,状态转换图等 ,以图文的形式建立起性系统的逻辑模型。3.4 协商与沟通在有多个项目相关人员(信息持有者)参与的地方,需求将不可避免的发生冲突, 在这个阶段 需要对需求的优先权进行排序并通过协商发现并解决这些冲突。3.5 编写需求规格说明书把双发共同的理解与分析的结果用规范的方式描述出来, 形成需求规格说明书 ,并 向下一阶段提交,作为今后各项工作的基础。3.6 需求验证为保障软件质量, 确保软件开发成, 一旦对系统提出一组要求之后, 必须严格验证这些需求的 正确性,一般从一致性,完整性,现实性,有效性四

9、个方面进行验证。在这个阶段,系统客户 和系统开发人员必须详细地阅读需求文档并检查其中的错误,一旦检查出任何问 题必须记录下 来,接着客户就需要和开发人员协商如何解决问题。3.7 修改完善开发计划在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确的估计开发成本,进度以 及资源要求,因此,对原计划要进行适当修正。3.8 技术审查和管理复审 用户和使用部门对需求规格说明书进行仔细的审查,通过后该文档将作文今后工 作的基础。4 概要设计 概要设计也成为总体设计,在这个极端需要确定软件的总体结构,也就是软件应该由 哪些模块组成, 以及模块与模块之间的接口关系, 软件系统主要的数据结构, 同时还

10、要制定 测试计划, 形成概要设计说明书。4.1 制定规范尽管每个开发组织都有概要设计规范, 但是不同的应有有些特殊性, 所以应该针对具体的软件特点,制定出合适的规范。包括设计文档的编制标准,编码的信息形式,与硬件、操 作系统的接口规约,命名规则等。4.2 设想供选择的方案在概要设计时, 设计人员应该考虑各种可能的实现方案, 并且力求从中选出最佳方案。此时设计人员有充分的自由比较不同的实现方案, 一旦选出了最佳方案, 将能大大提高系统的性价比。4.3 推荐最佳方案综合分析对比各种合理方案的利弊,推荐一个最佳方案,并为最佳方案制定详细的实现计划。 用户和有关技术专家应该认真审查,若符合需求并且完全

11、能够实现,则提请负责 人审批。方案被接受后者进入下一阶段。4.4 功能分解为确定软件结构,首先需要从现实角度把复杂的功能进一步分解。分析员结合算法描 述仔细分 析数据流图中的每个处理,将复杂的功能分解成一系列比较简单的功能。经过分 解细化之后, 通常一个模块只完成一个适当的功能,每个模块对于大多数程序员都是易于 理解的。4.5 软件结构设计设计软件模块的结构就是要把软件模块组成良好的层次系统, 描述各模块之间的关系。顶层模 块调用它下层模块,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能,这样自顶向下实现一个完整的功能。4.6 数据设计数据设计包括数据结构设计, 文件设计和数据库

12、设计。 根据需求分析阶段获得的数据要 求,确定实现系统所必须的数据,数据之前的关系,存储数据的实体。4.7 制定测试计划为了保证软件的可测试性, 软件在一开始就要考虑软件的测试问题, 但是这个阶段的测 试计划应该是针对软件结构的测试和系统测试。4.8 编写概要设计规格说明书将本阶段的成果编制为相应的文档,即概要设计规格说明书 。4.9 其他文档编写需要提交审查的文档还包括用户手册, 测试计划, 实现计划等, 还需要对这些文档进行 编写。4.10 技术审查和管理复审最后应该对总体设计的结果进行严格的技术审查,在技术审查通过之后再由客户从管 理角度进行复审。5 详细设计详细设计阶段的根本目的是确定

13、应该怎样具体地实现所要求的系统, 经过这个阶段的设 计工作, 应该得出对目标系统的精确描述, 从而在编码阶段可以吧这个描述直接翻译成用某 种程序 设计语言书写的程序。5.1 数据结构设计数据结构设计指的是对需求分析,概要设计阶段确定的概念性的数据进行确切的定义。5.2 物理设计对数据库进行物理设计,即确定数据库的物理结构。物理结构主要是指数据库的存储 记录格式,存储记录安排和存储方法,这些都依赖于具体使用的数据库系统。5.3 算法设计在总体设计的结构完成之后, 结构各个环节的实现是多解的。 这就需要用系统设计与分 析的技术来描述。 可以使用某些图形、 表格、 语言等工具将每个模块处理过程的详细

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

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

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

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!