软件工程---课程与考试中心.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程---课程与考试中心

软件工程 周志钊 zhouzhizhao08@163.com 软件结构化设计 需求分析阶段所形成的数据流图、数据字典是软件总体设计的基础。 软件总体设计是后续开发步骤及软件维护工作的基础。 软件设计任务 从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。 详细设计,即过程设计。通过对结构表示进行细化,得到软件的详细的数据结构和算法。 软件设计方法 总体设计的任务(步骤) 概要地回答系统应如何实现,包括以下任务 为每个可选的方案准备一份流程图,列出系统组成的物理元素,进行效益分析,制定实现方案的进度,选择最佳方案。 为最佳方案进行软件结构设计。 进行必要的数据库设计。 分布式系统的网络设计。 制定测试计划、设计文档和评审。 软件结构设计 基于SD的软件结构设计以模块为基础,在设计阶段以需求分析的结果为依据,从实现的角度将分析结果映射为模块,并组成模块的层次结构。 具体步骤如下: 软件结构设计 (1)将一个复杂系统按功能划分成模块。 (2)确定每个模块的功能。 (3)确定模块间的调用关系。 (4)确定模块间的接口,即模块间传递的信息。 (5)评价模块结构划分的质量。 数据库设计 数据库设计是指数据存储文件的设计,包括以下三个方面: 概念设计。用E-R模型来表示概念模型,该模型可作为数据库设计的主要依据。 逻辑设计。将概念模型转换成DBMS的关系模型,定义数据项、类型、长度、相互关系 物理设计。设计数据存储的物理细节,如存储结构、存取方法、索引建立等。 数据库设计 数据库设计步骤: 系统网络设计 网络系统设计包括网络方案的选取,网络系统配置,网络负载与容量分析,网络互连结构及通信介质的选择,拓扑结构的设计,网络应用模式及网络操作系统的选型,网络协议的选择,网络管理,远程用户等工作。 编写概要设计阶段的文档 概要设计阶段完成时应编写以下文档: 概要设计说明书 数据库设计说明书 用户手册 制定初步的测试计划 概要设计文档 概要设计说明(包括系统实现方案和软件模块结构) 用户手册(根据总体设计阶段的结果,编写的初步的用户操作手册) 测试计划(包括测试策略、测试方案、预测的测试结果、测试进度计划等) 详细的实现计划 数据库设计结果 总体设计评审 按国标GB 8576-88的《计算机软件产品开发文件编制指南》规定,制定“总体设计说明书”、“数据库设计说明书”等。 对设计是否完整实现需求中规定的功能、性能要求,设计方案的可行性、关键处理及内外部接口定义的正确性、有效性及各部分的一致性进行评审。 在详细设计过程中,需要完成的工作是: 确定软件各个组成部分内的算法以及各部分的内部数据组织 选定某种过程的表达形式来描述各种算法。 进行详细设计的评审 软件设计基础 自顶向下,逐步细化 软件结构 程序结构 结构图 模块化 抽象化 信息隐蔽 设计基本原理 模块化: 模块:又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合。例如高级语言中的过程、函数、子程序等都可作为模块。 模块化是软件的一个重要属性。模块化的特性提供了人们处理复杂的问题的一种方法,同时也使得软件能够被有效地管理。 模块化 有两个函数:C (x)表示问题x的复杂程度;E (x)表示解决问题x所需要的工作量(时间)。 对于两个问题P1和P2,如果:C(P1)>C(P2) 则:E(P1)>E(P2) 公式:C(P1+P2)>C(P1)+C(P2) E(P1+P2)>E(P1)+E(P2) 单独解决问题P1和P2所需的工作量之和,比把P1和P2合起来作为一个问题来解决时所需的工作量要少。 (此为分治的基础) 模块化与软件成本 模块化 ① 模块:模块用矩形框表示,并用模块的名字标记它。 ② 模块的调用关系和接口:模块之间用单向箭头联结,箭头从调用模块指向被调用模块。 ③ 模块间的信息传递:当一个模块调用另一个模块时,调用模块把数据或控制信息传送给被调用模块,以使被调用模块能够运行。而被调用模块在执行过程中又把它产生的数据或控制信息回送给调用模块。 ④ 在模块A的箭头尾部标以一个菱形符号,表示模块A有条件地调用另一个模块B。当一个在调用箭头尾部标以一个弧形符号,表示模块A反复调用模块C和模块D。 模块独立性 模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的 例如, 若一个模块只具有单一的功能且与其它模块没有太多的联系, 则称此模块具有模块独立性 一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。 耦合是模块之间的互相连接的紧密程度的度量。 内聚是模块功能强度(一个

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档