- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程导论 河北农业大学信息科学与技术学院 主讲教师:赵洋 2011年春 第二篇 软件开发方法 第三章 软件的生存周期 软件定义 3.1.1 软件定义 3.1.2 软件的可行性研究 3.1.3 软件的需求分析 软件开发 3.2.1 软件的概要设计 3.2.2 软件的详细设计 3.2.3 软件的实现 3.2.4 软件测试 软件的使用和维护 §3.1 软件定义 软件的开发过程从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。 §3.1 软件定义 §3.1.1 软件定义 软件定义的基本任务是确定软件系统的工程需求,也就是要搞清“做什么”。 软件定义过程可通过软件系统的可行性研究和需求分析两个阶段来完成。 §3.1.2 软件的可行性研究 确定用户要求解决的项目的性质、目标和规模。 可行性研究包括: 经济可行性、技术可行性、操作可行性、法律可行性、不同的方案。 确定软件元素的作用范围,并对软件进行成本估算,制定进度安排,最后提交软件计划。 §3.1.3 软件需求分析 确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。 需求分析可以划分成四个方面的工作: 问题的认识 评价和综合 需求规格说明书(SRS) 复审 面向数据流的分析方法是需求分析的主要方法,其中最典型的就是结构化方法(简称SA方法)。 §3.2 软件开发 软件开发的基本过程是软件开发人员按照需求规格说明的要求,由抽象到具体,直到生成程序,并进行全面的测试,最后生产软件产品。 软件开发过程由概要设计、详细设计、实现(即编码与单元测试)、组装测试、验收测试共5个阶段组成。 §3.2.1 软件的概要设计 软件概要设计的任务 数据设计 体系结构设计 接口设计 过程设计 总体设计的基本任务是确定模块分解、各模块功能和模块间接口,设计全局数据结构。 著名的软件设计方法 逐步精化-自顶向下设计方法 面向数据的设计方法,面向数据流的设计方法 面向对象的设计 阶段性成果: 概要设计说明书; 数据库或数据结构说明书; 组装测试计划等文档。 §3.2.2 软件的详细设计 详细设计各模块的实现细节和局部数据结构 详细设计工具 图形工具 流程图、N-S图、判定表、判定树、问题分析图 列表工具 HIPO(Hierarchy plus Input,Process, Output) 语言工具 PDL(Program Design Language) §3.2.3 软件的实施 把软件设计转换成计算机可以接受的程序代码。 选择易学、使用方便的编程语言,以利于减少出错的概率和提高软件的可靠性。 编程风格是在不影响软件性能的前提下,有效地组织和编写程序,提高软件的易读性、易测试性和易维护性。 §3.2.4 软件测试 软件测试的目标是尽可能多地发现错误,一次成功的测试是发现至今没有发现的错误。 测试不仅要对软件内部逻辑进行测试,还要对其外部功能进行测试。 测试在软件生命期中横跨两个阶段: 程序员在编写出每个模块之后进行的必要的测试,即单元测试。 专门的测试人员对系统进行的各种综合测试。 §3.3 软件的使用和维护 任务: 通过各种维护活动使软件系统持久地满足用户的需求。 每项维护活动实质上都是一次压缩和简化了的软件定义和软件开发过程。都要经历提出维护要求、分析维护要求、提出维护方案、审批维护方案、确定维护计划、修改软件设计、修改程序、测试程序、评审、验收等步骤。 §3.3 软件的使用和维护 维护是软件的开发工作完成以后在用户使用期间对软件所做的补充、修改和增加工作。 维护工作分成以下四类: 纠错性维护 适应性维护 改善性维护 预防性维护 软件的易理解性、易测试性和易修改性是决定软件易维护性的基本因素。 第四章 软件的可行性分析 4.1 可行性分析的任务 4.2 可行性分析的步骤 4.3 系统流程图 4.4 成本/效益分析 4.5 可行性分析报告 §4.1 可行性分析的任务 可行性分析的目的:开发一个基于计算机的系统通常都受到资源(人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。 可行性分析的任务包括: 经济可行性 技术可行性(风险、资源、技术) 法律可行性 操作可行性 §4.2 可行性分析的步骤 确定项目规模和目标 研究正在运行的系统 建立新系统的高层逻辑模型 导出和评价各种方案 推荐可行的方案 编写可行性分析报告 §4.2 可行性分析的步骤 可行性分析的结论 可以立即开始进行。 需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行。 需要对开发目标进行某些修改之后才能开始进行因为某种原因(如,技术不成熟、经济上不合算等)不能进行。 §4.3 系统流程图 系
文档评论(0)