软件工程280讲在分析和设计之前.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文档。上传文档
查看更多
《软件工程》 在开始分析和设计之前需要知道的原理 纲要 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 引言 * * 本环节主要内容: UML和对象思想 用例 OOD的原则和模式 拥有一把锤子未必能成为建筑师 对于创建对象系统来说,了解面向对象语言(如Java、C#)是必要的,但不是首要的。 了解“对象思想”才是关键所在。 UML和对象思想 UML是标准的图形表示法。常用的表示法是有用的,但还有更重要的内容要学习:面向对象思想 UML≠OOA/D UML≠方法 UML仅是图形表示法 如果没有掌握面向对象的思想和面向对象设计方法,那么学习UML或UML CASE工具都意义不大。 面向对象思想才是重点、难点。当然也要借助UML来进行OOA/D。 用例 OOD以及所有软件设计的先决活动是:需求分析(requirement analysis)。 而需求分析中通常包括用例(use case)的编写 什么是分析和设计 分析(analysis)强调的是对问题和需求的调查研究,而不是解决方案。如,如果需要一个新的在线交易系统,那么应该如何使用它?它应该具有哪些功能? “分析”一词含义广泛,最好加以限制,如需求分析(对需求的调查研究),面向对象分析(对领域对象的调查研究) 设计(design)强调的是满足需求的 概念上的的逻辑解决方案(在硬件和软件方面),而不是其实现。 与“分析”一词相同,对“设计”一词也最好加以限制,如面向对象设计或数据库设计 什么是分析和设计 好的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计) Build the right product Build the product right 什么是面向对象分析和设计 在面向对象分析(object – oriented analysis)过程中,强调的是在问题领域内发现和描述对象(或概念)。如,在航班信息系统中包含飞机(Plane)、航班(Flight)、飞行员(Pilot)等概念 在面向对象设计(object – oriented design)过程中,强调的是定义软件对象以及它们如何协作以实现需求。如,软件对象Plane可以有tailNumber属性和getFlightHistory方法 最后,在实现或面向对象程序设计过程中,会实现设计出来的对象,如Java中的Plane类。 什么是面向对象分析和设计 Plane tailNumber public class Plane{ private String tailNumber; public List getFlightHistory() {……} } 领域概念 领域概念 的可视化 OOA/OOD 在面向对象编程语言中的表示 OOP 简单示例 对关键步骤进行概览。 这里使用简单的示例:骰子游戏。 软件模拟游戏者掷两个骰子,如果总点数为7则赢得游戏,否则为输。 简单示例 定义用例 定义领域模型 定义交互图 定义设计类图 简单示例 定义用例 定义领域模型 定义交互图 定义设计类图 需求分析可能包括人们如何使用应用的场景或情节,这些场景或情节可以被编写成用例(use case) 用例不是面向对象制品(工件),只是对场景的记录。但用例是需求分析中一种常用工具。 如,下面是骰子游戏的用例: 骰子游戏:游戏者请求掷骰子。系统展示结果:如果骰子的总点数是7,则游戏者赢;否则游戏者输。 简单示例 定义用例 定义领域模型 定义交互图 定义设计类图 面向对象分析关注从对象的角度创建领域描述。面向对象分析需要鉴别重要的概念、属性、关联。 面向对象分析的结果可以表示为领域模型(domain model),在领域模型中展示重要的领域概念或对象。 需要注意的是:领域模型并不是对软件对象的描述,它是真实世界领域中的概念和想象的可视化。因此,它也被称为概念对象模型(conceptual object model) 简单示例 定义用例 定义领域模型 定义交互图 定义设计类图 Player name Dice faceValue DiceGame 1 Rolls 2 1 Includes 1 Plays 1 2 骰子游戏的局部领域模型 简单示例 定义用例 定义领域模型 定义交互图 定义设计类图 分配对象职责并绘制交互图。 面向对象设计关注软件对象的定义——它们的职责和协作。顺序图(sequence diagram,UML的一种交互图)是描述协作的常见表示法。它展示出软件对象之间的消息流和由消息引起的方法调用。 简单示例 定义用例

文档评论(0)

186****8818 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档