如何实现对软件系统进行需求分析与建模
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)类图的抽象层次和细化(Refinement)关系 需要注意的是,虽然在软件开发的不同阶段都使用 类图,但这些类图表示了不同层次的抽象。
在需求分析阶段,类图是研究领域的概念和问题; 在设计阶段,类图描述类与类之间的接口及其关系;此时 与具体的实现语言无关。 而在实现阶段,类图描述软件系统中类的实现,此时与具 体的实现语言有关。
如何实现对软件系统进行 需求分析与建模
需求分析与建模
在本讲您能了解如下知识点
需求分析与建模
静态建模 动态建模 UML建模中所涉及的分析类
域模型及域建模
如何通过域模型来发现出类及其关系
建立域模型的各种实例
一、需求分析与建模
1、面向对象的统一建模 (1)什么是建模
通过将用户的业务需求映射为项目的程序代码,保证程
4、建模实例二:某一网站域模型的建立例
(1)用户所罗列出的一些需求 (2)需求分析 (3)找出名词短语------域模型 (4)发现出类及类之间的关系
5、建模实例三 下面给出"铁路呼叫中心"项目的功能性和非功能性 的需求,从而获得"问题域"中的相关的类;
(1)呼叫中心项目的功能性需求 (2)呼叫中心项目的非功能性的需求 (3)找出名词短语------域模型 (4)发现出类及类之间的关系
(4)需求分析工作的要点
开发的项目应该是以客户的需求为中心,而不应该为技术 而迁就需求
( 5 )需求分析阶段的工作主要分为业务需求和应用软件 系统功能需求两部分---请见文档
分析业务需求 分析软件系统功能需求
3、静态建模 (1)UML的静态建模机制
主要的UML图:包括用例图、类图、对象图、包、组件图 和配置图等。 主要的工作:以设计出用例图和类图为主要工作。
5、UML建模中所涉及的各种分析类(对象) (1)三种分析类 您熟悉MVC吗? 边界对象
参与者使用该对象与系统进行交流,也即边界对象代 表系统的内部工作和它所处环境之间的交互。
实体对象
代表要保存到持续存储体中的信息。实体类通常用业 务域中的术语命名
控制对象
它协调其他类的工作,每个用例通常有一个控制类, 控制用例中的时间顺序
(2)区分分析类与设计类的不同
所谓分析类(因为它是在建模过程中所产生的)就是和语 言无关的类 而设计类就具有特定的语言特点,比如Java类,或者C++类 等。 分析类和设计类没有一一对应关系。
(3)三种分析类的UML的图示
(4)在Rose中的选择方法 在类的Stereotype选择项目中进行选择
6、建模实例四
下面给出"网上订票"需求项目的功能性和非功能性的需求, 从而获得"问题域"中的相关的类; (1)网上订票项目的功能性需求 (2)网上订票项目的非功能性需求 (3)找出名词短语------域模型 (4)发现出类及类之间的关系
(2)需求分析工作的重点 工作的重点:主要是将功能性的需求翻译成软件的概念,
或者说用软件的概念来诠译问题所要求的功能; 工作的核心:是捕获问题的行为,在屏蔽实施细节的基础 上得到构成方案的粗略对象模型。
(3)需求分析工作的重要性
通过对用户的需求进行分析,可以产生出能体现整个系统 的灵魂的文档 并且能够实现将客户的需求从具体到抽象的描述的一个过 程 最终产生并能够制定出编码人员可实施的规范和标准。
同时根据模型不能生成代码,反之根据代码更不能生
成模型。
不能保证软件的质量,更不易软件的维护
没什么约束力也没有检测的百度文库准。
传统的软件开发是从
算法的角度进行建模
(4)UML建模的类型
静态建模---静态建模机制包括 用例图 类图 对象图 包 组件图 配置图 动态建模---动态建模机制包括 状态图 时序图 协作图 活动图
4、动态建模及设计要点 (1)UML的动态建模机制
主要的UML图
包括时序图、协作图、状态图和活动图等; 动态建模描述了系统随时间变化的行为,这些行为是用从静 态视图中抽取的瞬间值的变化来描述的。
主要的工作:设计出系统的交互图和行为图 主要的方法:
通过对用例进行分析,从而更进一步地了解系统中的各个内 部元素是如何交互的 以进一步地实现系统的功能需求,同时也表达它们是如何相 关的。
(5)何时需要建模
在应用开发的任何阶段进入建模工作都是有意义的 在设计最初阶段 在项目开发的中期
2、需求分析 (1)什么是需求分析 需求分析:是一个翻译软件需求和深入理解问题的过程
分析的目标:是理解问题并开发一个简要描述方案的可视 化模型,不依赖于具体的实施技术环境,即“要做什么” 的问题
2、建立域模型的好处
通过建立域模型能够从现实的问题域中找到最有代表性的概念 对象 并发现出其中的类和类之间的关系,因为所捕捉出的类是反馈 问题域本质内容的信息
3、如何通过域模型来发现出类及其关系 (1)建模实例一:基本过程如下,详细说明请见文档
开始归纳问题-----其实是描述出用例的事件流 获得名词列表-----为发现出类提供信息 筛选名词-----除掉无关的名词 根据名词列表发现出其中的类 进一步修改前面的问题域,以获得更清晰的需求描述 分析类的层次(纵向关联) 分析类之间的关联(横向关联) 最后,设计出本问题例的类的分析图(关系说明) 设计出交互的顺序图 设计出类中的属性和方法
序代码能够满足用户的需求 并且代码还能回溯需求的过程
(2)为什么要建模
通过建模可以更好地帮助开发人员理解正在开发的系统
同时也能够表达我们所渴望的系统结构和行为、展示和
控制系统体系结构,最终达到风险控制之目的。
通过建模可以实现把复杂的系统简单化
(3)面向对象的建模与结构化模型设计方法的不同 传统的结构化模型的设计所建立的模型不能反应源代 码,与程序设计脱节。 模型与代码几乎没什么关系。
二、域模型
1、什么是"问题域"和"域建模" (1)问题域
如金融、财务等
现实世界中系统所要解决问题的领域为“问题域”
(2)域建模---对问题域中的各个问题进行建模
我们设计一个系统,总是希望它能解决一些问题,这些问题总 是映射到现实问题和概念。 而对这些问题进行归纳、分析的过程就是域建模(这个域,指 的就是问题域)。