- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构软件工程.ppt
软件的开发至今尚未完全摆脱手工艺的开发方式 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 软件发展阶段 程序设计阶段 — 50至60年代 程序系统阶段 — 60至70年代 软件工程阶段 — 70年代以后 软件生存期 life cycle 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期 软件生存期的六个步骤,即制定计划、需求分析、设计、程序编码、测试及运行维护 制定计划 确定要开发软件系统的总目标 完成该软件任务的可行性研究 估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度 制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查 需求分析和定义 对待开发软件提出的需求进行分析并给出详细的定义 编写软件需求说明书或系统功能说明书及初步的系统用户手册 软件设计 概要设计 — 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应 详细设计 — 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础 编写设计说明书,提交评审。 程序编写 把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单” 写出的程序应当是结构良好、清晰易读的,且与设计相一致的 软件测试 单元测试,查找各模块在功能和结构上存在的问题并加以纠正 组装测试,将已测试过的模块按一定顺序组装起来 按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用 运行/维护 改正性维护 运行中发现了软件中的错误需要修正 适应性维护 为了适应变化了的软件工作环境,需做适当变更 完善性维护 为了增强软件的功能需做变更 软件生存期模型 软件生存期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架 瀑布模型 演化模型 螺旋模型 喷泉模型 智能模型 演化模型 由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。做两次 第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求 第二次则在此基础上获得较为满意的软件产品 螺旋模型 螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即: 制定计划──确定软件目标,选定实施方案,弄清项目开发的限制条件 风险分析──分析所选方案,考虑如何识别和消除风险 实施工程──实施软件开发 客户评估──评价开发工作,提出修正建议 喷泉模型 迭代 重复 演进 无间隙 各阶段间无明显界限 软件工程的定义 软件工程是开发、运行、维护和修复软件的系统方法 软件工程三要素:方法、工具和过程 软件工程方法为软件开发提供了 “如何做” 的技术 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境 常用的分析方法 面向数据流的结构化分析方法(SA) 面向数据结构的Jackson方法(JSD) 结构化数据系统开发方法(DSSD) 面向对象的分析方法(OOA)等 软件需求规格说明的原则 从现实中分离功能,即描述要“做什么”而不是“怎样实现” 要求使用面向处理的规格说明语言(或称系统定义语言) 如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中 规格说明必须包括系统运行环境 规格说明必须是一个认识模型 规格说明必须是可操作的 规格说明必须容许不完备性并允许扩充 规格说明必须局部化和松散耦合 结构化分析方法 面向数据流进行需求分析的方法 结构化分析方法适合于数据处理类型软件的需求分析 结构化分析方法使用工具:数据流图,数据词典,结构化英语,判定表与判定树 数据流图 数据流图中的主要图形元素 描述银行取款过程的数据流图 数据词典 数据词典与数据流图配合,能清楚地表达数据处理的要求 词条描述 —— 对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有:名字,别名或编号,分类,描述,定义,位置,其它,等 结构化设计方法 软件设计任务 从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。 详细设计,即过程设计。通过对结构表示进行细化,得到软件的详细的数据结构和算法。 6.编写概要设计阶段的文档 概要设计阶段完成时应编写以下文档: 概要设计说明书 数据库设计说明书 用户手册 制定初步的测试计划 软件设计基础 自顶向下,逐步细化 软件结构 程序结构 结构图 模块化 抽象化 信息隐蔽 自顶向下,逐步细化 将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。 软件结构
文档评论(0)