- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程大连理工大学软件学院第2章 软件开发过程 软件开发过程(software development process)又叫做软件开发生命周期(software development life cycle, SDLC),是软件产品开发的任务框架和规范,又可以简单的称为软件生命周期及软件过程。软件过程和生命周期软件过程模型:传统过程和敏捷(Agile)过程过程建模风险管理过程大连理工大学软件学院软件过程与生命周期通常生命周期模型要更一般化,而软件开发过程则更为具体化。可重复的、可预测的过程能够提升软件生产的效率和质量。(过程改进)生命周期是软件开发的宏观上的框架,软件过程则涉及到软件开发的流程等管理细节,在框架稳定的前提下允许对软件过程进行裁剪。大连理工大学软件学院213软件开发运行维护软件定义软件生命周期 过程管理主要采用的是一种“分而治之”的思想,即将整个软件的生命周期划分成软件定义、软件开发和运行维护三个主要的时期,每个时期再细分为具体的阶段,分别对应明确的任务。大连理工大学软件学院可行性分析与开发计划大连理工大学软件学院目的:用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发,最后给决策者提供做与不做的依据。(较高层次的需求分析和设计)任务:确定项目的规模和目标,确定项目的约束和限制;进行简要的需求分析,抽象出逻辑结构,建立逻辑模型;从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决办法。每种解决方法都要从三方面研究它的可行性:技术可行性、经济可行性和社会可行性。描述所提出的解决方案和方案的可行性,并拟定开发计划,包括对费用、时间、进度、人员组织、硬件配置、软件开发环境和运行环境配置等进行说明和规划。需求分析在确定软件开发可行的情况下,对目标软件未来需要完成的功能进行的详细分析。需求分析是软件开发后续阶段的基础,直接关系到整个系统开发的成功与否。由于用户的需求随着项目的进展和理解处在不断的变化之中,应对需求进行变更管理。应充分理解和掌握用户对目标软件的期望,除功能需求外还要对系统设计有影响的非功能性需求加以识别和分析。需求分析阶段的输出是一份“需求规格(Specification)说明书”的文档。大连理工大学软件学院软件设计大连理工大学软件学院软件设计是在需求分析的基础上寻求系统求解的框架,如系统的架构设计、数据设计等。软件设计可分为概要设计和详细设计,此阶段的输出分别为“概要设计说明书”和“详细设计说明书”。设计方案是软件实现的蓝图,应综合考虑软件的性能、扩展、安全等因素,合理规划系统模块的结构,充分考虑未来变化的可能性并预留空间,尽可能保证系统设计结构在整体上的稳定性。程序编码大连理工大学软件学院此阶段是将软件设计的结果翻译成某种计算机语言实现的程序代码。在程序编码中必须要制定统一的如何编码的标准规范,尽量提高程序的可读性、易维护性,提高程序的运行效率。软件测试大连理工大学软件学院程序编码后需要对代码进行严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。测试的环节可分为单元测试、集成测试及系统测试三个阶段进行。测试方法主要包括黑盒和白盒方法。测试过程需要建立详细的测试计划、编写测试用例、记录并分析测试结果,以保证测试过程实施的有效性,避免测试的随意性。软件维护大连理工大学软件学院软件维护是软件生命周期中持续时间最长的阶段,是为软件能够持续适应用户的要求延续软件使用寿命的活动。改正性维护:诊断和改正在使用过程中发现的软件错误;适应性维护:修改软件以适应环境的变化;完善性维护:根据用户的要求改进或扩充软件使它更完善;预防性维护:修改软件为将来的维护活动预先做准备。传统生命周期模型顺序的将生命周期阶段组织起来,严格按照需求、分析、设计、编码和测试的阶段进行。软件定义传统的生命周期模型,其中具有代表性的包括瀑布模型、原型模型、增量模型等。最基本和有效的可供选择的软件开发模型。软件开发软件维护大连理工大学软件学院瀑布模型 在20世纪80年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型,现在仍然是应用得最广泛的过程模型。按照传统的瀑布模型来开发软件,有如下特点。阶段间具有顺序性和依赖性,文档驱动推迟实现,不急于编写代码尽可能的理解和掌握系统需求,清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现。大连理工大学软件学院质量保证的观点每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。大连理工大学软件学院瀑布模型的问题不希望有“变化”变化来的越晚,付出的代价越高。设计阶段过多的假设,导致理想化、一厢情愿的东西过多。(用户只参与需求)“文档驱动”,静态 传统的瀑布模型 大连理工大学软件学院实
文档评论(0)