- 1、本文档共147页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[学科竞赛]06总体设计
总体设计 图6-1 开发过程及活动概要情况 软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构。 概述 典型的总体设计过程包括以下9个步骤: 1. 设想供选择的方案 规划新系统的总体布局方案时,一般应考虑以下几个问题:系统类型、处理方式、数据存储及软硬件配置。 系统总体方案的选择原则是:满足功能需求、使用方便,可维护性、可扩展性、可变更性好,安全性、可靠性高,经济实用。 目前常见的总体布局方案有集中式和分布式两种。 主要分为: 批处理方式和联机处理方式; 处理方式的选择主要由处理对象的信息特点决定 如售票系统,一般选择联机处理方式。 统计类的信息系统则一般选择批处理方式。 常见的分布式系统的计算模式有资源共享方式、客户机/服务器方式(C/S)和浏览器/服务器(B/S)计算模式。 集中式系统的计算模式有单机和多用户模式。 2. 选取合理方案 从前一步得到的可供选择的方案中选取若干个合理的方案,通常可考虑低成本、中等成本和高成本的三种方案。 对每个合理的方案,分析师都应该准备下列4份资料: 3. 推荐最佳方案 分析员应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划。 审批通过之后,将进入总体设计过程的下一个重要阶段——结构设计。 4. 功能分解 5. 软件的模块化结构设计 应该把系统组织成良好的层次结构,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。 6 数据库设计 详细阶段介绍 7 制定测试计划 在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。 总体设计结束,完成集成测试计划; 第8章将仔细讨论软件测试的目的和设计测试方案的各种技术方法。 8 书写文档 应该用正式的文档记录总体设计的结果,包括: 9 审查和复审 最后应该对总体设计的结果进行严格的技术审查; 在技术审查通过之后再由使用部门的负责人从管理角度进行复审。 1 模块化 模块,在程序中是数据说明、可执行语句等程序内容的集合,由于某种原因包装在一起的,最主要的是为了完成一个功能。 在形式上,它可以是高级语言中的一个过程、函数和子程序等。 设某个问题X,它的复杂性函数为C(X),解决它所需的工作量为E(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) 2 抽象 抽象就是屏蔽不重要的细节,抓住事物本质的思维手法。 在软件开发的全过程中,从“需求定义”“总体设计”、“详细设计”再到“编程实现”的过程,就是由“抽·象”到“现实”的逐步演化过程; 3 逐步求精 逐步求精可以定义为:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。” “推迟实现”的软件工程思想,就是主张把握抽象层次,不要过早的接深入到“实现”细节 4 信息隐藏和局部化 信息隐蔽原理认为:模块应当被这样规定和设计,使得包含在模块中的信息(过程或数据)对于其它不需要这些信息的模块来说,是不能访问的,或者说是“不可见”的。 信息隐蔽对于软件的测试与维护都有很大的好处。 信息(数据、过程等)通过接口的定义被隐藏起来,降低了模块间耦合度。 在修改期间由于疏忽而引入的错误所造成的影响可局限在一个或几个模块内部,不至波及到软件其他部分。 5 模块独立性 模块的独立性的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。 模块独立性原则,希望每个模块完成一个相对独立的功能,并与其他模块之间的关系尽量简单。 保证模块独立性,是设计的关键,而设计又是决定软件质量的关键。 耦合(coupling) 模块间没有直接关系,完全是由于主模块的控制和调用形成的关联联系 非直接耦合的模块独立性最强。 模块间调用时,仅传递了简单数据参数。 一般软件系统中都存在数据耦合,它是完成大多数功能所必需的。 模块间传递的不是简单数据项,而是一个数据结构,这两个模块就构成了标志耦合。 标记耦合又叫特征耦合,因为一个数据结构往往描述了一个事务的特征。 模块调用时,传送了控制信息(开关量、标志等控制被调用模块决策的变量) ,就构成了控制耦合。 控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,被调模块不再是一个暗盒,增加了相互依赖。 去除模块间控制耦合的方法 将控制标志改为描述性标志。被调模块只描述检索结果,结果的处理则由调用模块完成。 将被调用模块内的判定上移到调用模块中进行,被调用模块分解成若干单一功能模块
您可能关注的文档
最近下载
- 领导班子2025年民主生活会对照检查材料例文(四个带头).docx VIP
- WD西部数据My Passport Ultra and My Passport Ultra for Mac Quick Install Guide移动硬盘安装指南English (US).pdf
- 工业园区污水BOT项目运营维护方案.doc
- 牛血清去蛋白注射液的美容作用研究.pptx
- 广数DAP03说明书.pdf VIP
- 《中国古代书法》课件——隶书.pptx VIP
- 《行书书法教程》课件.ppt VIP
- 小学数学二年级上册数学《东南西北》教学设计优秀教案.docx
- 笔奇意纵 气逸神飞--草书书写指导.ppt VIP
- 人力 -北极星总裁特助行动计划实施方案.pptx
文档评论(0)