- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件设计的目标和任务 结构化设计方法 软件设计基础 模块独立性 面向数据流的设计 软件设计的目标和任务 软件设计是系统的求解的过程,它必须解决三个设计问题: 选择最合适的体系结构 确定分解子系统为组件或模块的策 略 作出如何控制子系统执行的决断 广泛使用体系结构模型 三种广泛使用体系结构模型 容器模型:基于一个共享数据库的系统 模型,如MIS系统、CAD系统 客户机/服务器模型 分层模型:把系统组织成一系列层次,每一层提供一组服务,每一层定义一个抽象机。如网络协议OSI参考模型。 子系统分解策略 两个重要的子系统分解策略: 1。面向对象的分解-----面向对象的设计 2。面向功能的流水线操作,如结构化设计 控制类型 集中式控制 1。调用—返回模型 2。管理者模型:一种适用于并发系统的模型。一个系统组件被指定为系统管理者,它控制其它系统过程的启动、终止和协调。 基于事件的控制 结构化设计 结构化设计是基于功能分解的设计软件结构的一个系统化的途径。 结构化设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成软件结构。所以结构化设计方法(简称SD方法),也就是基于数据流的设计方法。 结构化设计的两个步骤 概要(总体)设计 数据设计 系统结构设计 详细设计 过程设计 数据设计侧重于数据结构的定义。 系统结构设计定义软件系统各主要成份之间的关系。 过程设计则是把结构成份转换成软件的过程性描述。 软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构 概要设计过程 1. 制定规范 在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。 2. 软件结构的设计 基于功能层次结构建立系统。 采用某种设计方法,将系统按功能划分成模块的层次结构 确定每个模块的功能 确定模块间的调用关系 确定模块间的接口 评估模块划分的质量 3. 数据结构设计 确定数据库的模式、子模式,进行数据完整性和安全性的设计 确定输入,输出文件的详细的数据结构 4.编写概要设计阶段的文档 概要设计阶段完成时应编写以下文档: 概要设计说明书 数据库设计说明书 用户手册 制定初步的测试计划 5.概要设计评审 可追溯性:确认该设计是否复盖了所有已确定的软件需求,软件每一成份是否可追溯到某一项需求 接口:确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足高内聚和低耦合的要求。模块作用范围是否在其控制范围之内 风险:确认该设计在现有技术条件下和预算范围内是否能按时实现 实用性:确认该设计对于需求的解决方案是否实用 技术清晰度:确认该设计是否以一种易于翻译成代码的形式表达 可维护性:确认该设计是否考虑了方便未来的维护 质量:确认该设计是否表现出良好的质量特征 各种选择方案:看是否考虑过其它方案,比较各种选择方案的标准是什么 限制:评估对该软件的限制是否现实,是否与需求一致 软件设计基础 自顶向下,逐步细化 软件结构 结构图 模块化 抽象化 信息隐蔽 自顶向下,逐步细化 将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。 软件结构 软件结构包括两部分。程序的模块结构和数据的结构 软件的体系结构通过一个划分过程来完成。该划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使其每个部分用一个或几个软件成份加以解决,整个问题就解决了 结构图 结构图反映程序中模块之间的层次调用关系和联系:它以特定的符号表示模块、模块间的调用关系和模块间信息的传递 ① 模块:模块用矩形框表示,并用模块的名字标记它。 ② 模块的调用关系:模块之间用单向箭头联结,箭头从调用模块指向被调用模块。 在模块A的箭头尾部标以一个菱形符号,表示模块A有条件地调用另一个模块B。当一个在调用箭头尾部标以一个弧形符号,表示模块A反复调用模块C和模块D。 ③ 模块间的信息传递:当一个模块调用另一个模块时,调用模块把数据或控制信息传送给被调用模块,以使被调用模块能够运行。而被调用模块在执行过程中又把它产生的数据或控制信息回送给调用模块 模块化 软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为模块。这些模块可以被组装起来以满足整个问题的需求。 把问题/子问题的分解与软件开发中的系统/子系统或系统/模块对应起来,就能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。 模块化是为了使一个复杂的大型程序 能被人的智力所管理。 设函数C(x)定义问题x的复杂程度,函数 E(x)确定解决问题x需要
您可能关注的文档
- 段宁---我国清洁生产现状与发展重点(简版)资料.ppt
- 概计算汇总资料.ppt
- 概率论高教出版社5.5单正态总体的参数假设检验资料.ppt
- 概率论与统计学资料.ppt
- 构建学习力全面提升内在竞争力资料.ppt
- 概率主题模型资料.ppt
- 桂东县出生缺陷监测方案资料.doc
- 概论8-12章选择题资料.doc
- 桂林硫化机专业学习交流材料资料.doc
- 概率论何书元编著答案习题一解答资料.ppt
- 2025浙江温州市公用事业发展集团有限公司面向高校招聘工作人考前自测高频考点模拟试题最新.docx
- 2025年蓬安县财政局下属单位招聘备考题库附答案.docx
- 广安市农业农村局2025年公开遴选市动物卫生监督所工作人员备考题库附答案.docx
- 南昌市劳动保障事务代理中心招聘3名劳务派遣驾驶员参考题库附答案.docx
- 2025浙江绍兴市新昌县机关事业单位招用编外聘用人员36人备考题库最新.docx
- 浙江国企招聘-2025嘉兴海盐县城市投资集团有限公司招聘7人笔试备考试题附答案.docx
- 长沙银行2026校园招聘备考题库最新.docx
- 2026年度中国地震局事业单位公开招聘备考题库附答案.docx
- 2025福建省晋江圳源环境科技有限责任公司招聘6人模拟试卷附答案.docx
- 浙江国企招聘-2025温州平阳县城发集团下属房开公司招聘5人公笔试备考试题附答案.docx
最近下载
- 村党支部换届选举工作流程.doc VIP
- 广西科技师范学院后勤服务人员招聘考试试题及答案.docx VIP
- 室性心律失常的药物治疗进展杨杰孚【58页】.pptx VIP
- 金科新未来2025届11月高三联考-数学答案.docx VIP
- 2024年健康管理师《基础知识》复习笔记.pdf VIP
- 十二种治疗花精及其他花精-TheBachCentre.PDF VIP
- 小鼠脑图谱.pdf VIP
- GB/T4249-2018产品几何技术规范(GPS) 基础 概念、原则和规则.pdf
- 2025年四川省拟任县处级领导干部任职资格试题及参考答案.docx VIP
- 2025年秋新人教版三年级上册数学全册课件.pptx
原创力文档


文档评论(0)