- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1、分析:问题定义,可行性研究,需求分析 问题定义:“我”(用户)要一辆代步工具,“你”(开发人员)能给我设计出来吗?可行性研究 : “你”(用户)这个问题“我们”(开发人员)能给设计,你是要 (1)速度快/慢;(2)密闭/非密闭;(3)木质/钢铁;(4)人力/他力/机械力需求分析:“你”要一辆自动挡的带敞篷的小轿车; (1)普通自动档汽车的功能它得有;(2)能打开/合上敞篷;2、设计阶段 第5章:总体设计主要内容5.1 设计过程5.2 设计原理5.3 启发规则5.4 描绘软件结构的图形工具5.5 面向数据流的设计方法5.1 设计过程---主要任务 1.设计方案(1-3):制定最佳方案的详细实现计划 (可行性研究:草拟开发计划) 2.设计软件体系结构(4-5):确定软件系统中的每个程序是由哪些模块组成的,以及这些模块之间的关系。5.1 设计过程 1.设想供选择的方案 2.选择合理的方案 对每个合理的方案要提供 (详细的实现计划): A.系统流程图 B.组成系统的物理元素清单 C.成本/效益分析 D.实现这个系统的进度计划 3. 推荐最佳方案4. 功能分解(组成系统的所有程序和文件/数据库)5. 设计软件结构 (1、层次图或结构图5.4节) (2、面向数据流的设计方法5.5节)6. 数据库设计 7.制定测试计划8.书写文档 A.系统说明B.用户手册 C.测试计划D.详细的实现计划 E.数据库设计结果9.审查和复审 5.2 设计原理 5.2.1 模块化(模块:由边界元素限定的相邻程序元素 [接口、实现])把复杂的问题分解成许多容易解决的小问题5.2.2 抽象(听得多,用的多,但意思表达不出来) 5.2.3 逐步求精(为了能集中精力解决问题而尽量推迟对问题细节的考虑) (1)魔法数字 7+-2的存在 (2)把一个时期内必须解决的问题按优先级进行排序 5.2 设计原理 5.2.4 信息隐藏和局部化隐藏: 不需要访问我(模块内的各种信息)的就找不到我;局部化:把密切相关的软件元素物理的放的很近。5.2.5 模块独立使得每个模块完成一个相对独立的子功能,且和其他模块之间的关系很简单。 (1) 独立的模块易于开发(功能清晰且接口简单) (2) 独立的模块易于测试和维护 模块独立程度由两个定性标准度量:耦合与内聚 (低耦合高内聚)一、耦合 耦合:指软件结构内不同模块彼此之间相互依赖的紧密程度。 耦合的强弱所依赖的因素1、一个模块对另一个模块的引用2、一个模块向另一个模块传递的数据量3、一个模块施加到另一个模块的控制的数量4、模块之间接口的复杂程度 耦合的类型(由强到弱)1、内容耦合:一个模块直接修改或操作另一个模块的数据。 2、公共环境耦合:两个以上的模块共同引用一个全局数据项。 3、控制耦合:一个模块向另一模块传递一个控制信号,接受 信号的模块将依据该信号值进行必要的活动。 4、数据耦合:模块间通过参数传递基本类型的数据。 AD全程数据区BCE(3)公用耦合 图中存在公用耦合,假设模块A、C、E都存取全程数据区(如公用一个磁盘文件)中的一个数据项。 如果A模块读取该项数据,然后调用C模块对该项重新计算,并进行数据更新。模块A…LAB:MOVE 1…模块B…GOTO LAB…内容耦合(4)内容耦合4)内容耦合 一个模块与另一个模块的内容直接发生联系。 内容耦合对维护会带来严重的困难。 程序中如果一个模块直接把程序转移到另一个模块中,或一个模块使用另一个模块内部的数据,都会产生内容耦合。内容耦合是最高程度的耦合,应该避免采用。 建议:尽量使用数据耦合,少用控制耦合,限制公用耦合,完全不用内容偶合。 二、内聚 内聚:一个模块内部各个元素彼此结合的紧密程度。 常见的内聚有七类。 内聚分类 (由低到高)1、偶然内聚:一个模块之内各成分之间没有任何关系。 2、逻辑内聚:几个逻辑上相关的功能放在同一模块中。 3、时间内聚:一个模块完成的功能必须在同一时间内完成,而这些功能只是因 为时间因素关联在一起。 4、过程内聚:处理成分必须以特定的次序执行。 5、通信内聚:各成分都操作在同一数据集或生成同一数据集。 6、顺序内聚:各成分与一个功能相关,且一个成分的输出作为另一成分的输入。 7、功能内聚:模块的所有成分对完成单一功能是最基本的,且该模块对完成这一功能而言是充分必要的。从文件FILE中读出数据A1.由数据产生报表A2.由数据产生报表B通信内聚示例模块A的处理单元将根据同一个数据文件FILE的数据产生不同的表格,因此它存在通信内聚。 1.关闭文件紧急故障处理模块2.报警3.保留现场时间内聚示例完成各种初始化工作的模块,或者处理故障的模块都存在时间内聚。 如图,在“紧急故障处理模块”中,“关闭文件”、“报警”、“保留现场”等
文档评论(0)