第6讲 软件设计概论.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文档。上传文档
查看更多
第6讲 软件设计概论

信息隐藏 信息隐藏:模块对内部数据和过程处理细节的隐藏可以降低修改影响向外传播的可能性。 如,在面向对象的软件设计中,信息隐藏原则要求每个类将其属性数据和操作的可见范围尽量设为“private”,仅将那些必须响应外部消息的操作的可见范围设为“public”。 * * 6.2.4 关注点分离 关注点是指问题求解者针对概念、任务或目标的某个部分或侧面的聚焦。 关注点分离原则要求设计师将若干性质不同的关注点分离开来,以便软件开发者能够在适当的时间分别处理不同的关注点,此后将这些关注点的实现整合起来,形成局部或者全局性的软件解。 * * 图6.3 多维度关注点分离 * * 6. 3 软件设计的过程模型 * * 图6.4 用UML活动图表示的软件设计过程的工作流 迭代式设计过程模型 图6.5针对固定需求的迭代式设计过程 图6.6针对可变需求的迭代式设计过程 * * 6.3.3 设计过程模型的裁剪 软件设计过程模型的裁剪方法与需求工程过程模型的裁剪方法相似 * * 作 业 1 软件设计活动的工作流? 2 如何评价软件设计模型的质量 3 你认为软件设计活动中最困难的步骤是什么?为什么?有哪些办法可以克服这些困难? 4 观察你所在的房间,找出一个熟悉的对象,例如:椅子、课桌或电话机。给出这个对象的逐级抽象,至少要有三个层次。 * * 谢谢 * * * 国防科技大学计算机学院 软件设计概论 教材P159 第6章 先思考几个问题? 需求工程的过程模型?(回顾) 需求获取的过程模型?(回顾) 需求分析的过程模型?(回顾) * * 阅读书的第六章回答下列问题? 典型的软件设计模型一般包括哪些? 软件设计的目标是什么?为了达到这个目标,有必要明确设计模型的哪4个质量要素? 如何获得高质量的设计模型? 10分钟 * * 第六章 软件设计概论 6.1 软件设计的概念 软件设计模型、设计模型的质量要素 6.2 软件设计的基本原则 抽象与逐步求精、模块化、 信息隐藏、关注点分离 6.3软件设计的过程模型 软件设计活动、迭代式设计过程模型 设计过程模型的裁剪 * * 第六章 软件设计概论 软件设计:针对需求工程给出的软件需求模型,综合考虑各种制约因素,探求切实可行的软件解决方案并最终给出方案的逻辑表示,这种表示又称为设计模型。 软件设计的制约因素: 资源制约因素指,在目标软件开发过程中可以获取的时间、人力、财力、开发辅助工具等。 技术制约因素主要是指待开发目标软件系统可以使用的技术平台。 软件设计是需求模型与实现代码之间的“桥梁”,是达成软件质量目标的关键性阶段。 * * 6.1 软件设计的概念 6.1.1 软件设计模型 设计模型:是软件问题解决方案的逻辑表示。 设计元素:主要指出现在设计模型中的模块,这些模块的表现形式包括子系统、构件和类。 子系统指,完成一组逻辑上相互关联的系统功能的模块的集合,它应该作为一个整体进行设计、构造和部署,因为其功能相对独立于其他软件模块的功能。 子系统与软件系统的其余部分的协作主要通过接口来完成,子系统内部的模块及其协作应尽量被子系统的接口所隐藏。 * * 6.1.1 软件设计模型 构件是指可执行软件系统中一个可分离、可独立部署的部分。 区别: 构件的封装性比子系统更严格,它仅仅通过接口对外提供服务,其内部实现细节对构件的使用者而言完全不可见。 构件的功能往往比子系统更为单纯,构件的设计更专注于易复用性、易组装性。 * * 软件设计模型 设计模型内容应包括: (1)整体结构或体系结构 (2)用户界面。 (3)设计元素如何协同工作 (4)数据库设计 (5)“子系统设计模型”和“构件设计模型”。 (6)“类设计模型”。 * * 6.1.2 设计模型的质量要素 设计模型的质量要素:正确性、充分性、优化性和简单性 正确性:完整地实现所有的软件需求项。 充分性:所有的设计元素已充分细化,模型易于理解,软件编程实现人员在设计方案的实现过程中,勿需再面对影响软件功能和质量的技术抉择或权衡。 * * 设计模型的质量要素 优化性:它以合理的、充分优化的方式实现软件需求模型,以确保依照设计模型构造出来的目标软件产品满足正确性、有效性、可靠性和可修改性。 简单性:模型中的模块的功能或职责尽可能简明易懂,模块之间的关系尽可能简单直观,模型的结构尽可能自然地反映待解软件问题的结构。 * * 6.2 软件设计的基本原则 在构建高质量设计模型的过程中,软件设计师面临诸多挑战。 ⑴求解 ⑵抉择 ⑶灵巧 * * 软件设计的基本原则 软件设计原则包括: 抽象与逐步求精 强内聚及松耦合 信息隐藏及关注点分离 * * 例6.1

文档评论(0)

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

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

1亿VIP精品文档

相关文档