版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 兰州大学信息科学与工程学院 面向对象的需求分析 123ES 2021-6-21兰州大学信息学院2 主要内容 面向对象的基本概念 面向对象的需求分析 面向对象(Object-Oriented,简称OO)的需求 分析方法通过提供对象、对象间消息传递等语 言机制让分析人员在解空间中直接模拟问题空 间中的对象及其行为,从而削减了语义断层, 为需求建模活动提供了直观、自然的语言支持 和方法学指导。 123ES 2021-6-21兰州大学信息学院3 1 基本概念 对象Object 类Class 封装Encapsulation 继承 Inheritance/聚集Aggregation 消息传递Messag
2、e Passing 多态 Polymorphism 面向对象=对象+类+继承+消息+多态 123ES 2021-6-21兰州大学信息学院4 面向对象技术的发展 类(Class)和子类 (SubClass)的概念 inheritance,实现了一切皆对象 推广使用 强制使用类,并引入了 动态语言,如JavaScript Java和C Simula 67 Smalltak-80 C OOP的成熟 123ES 2021-6-21兰州大学信息学院5 面向对象技术的发展(Co.) UML的发展 123ES 2021-6-21兰州大学信息学院6 UML发展历史 123ES 2021-6-21兰州大学信息学
3、院7 UML概述 UML以各类面向对象技术为基础,统一了各 种视图图形符号、表达方法的语意,定义了 多种建模手段视图。 123ES 2021-6-21兰州大学信息学院8 UML视图 123ES 2021-6-21兰州大学信息学院9 面向对象中的主要视图 Actor A Use Case 1 Use Case 2 Actor B user : Clerk mainWnd : MainWnd fileMgr : FileMgr repository : Repository document : Document gFile : GrpFile 9: sortByName ( ) L1: Doc
4、view request ( ) 2: fetchDoc( ) 5: readDoc ( ) 7: readFile ( ) 3: create ( ) 6: fillDocument ( ) 4: create ( ) 8: fillFile ( ) Window95 .EXE Windows NT .EXE Windows NT Windows95 Solaris .EXE Alpha UNIX IBM Mainframe Windows95 Document FileManager GraphicFile File Repository DocumentList FileList use
5、r mainWndfileMgr : FileMgr repositorydocument : Document gFile 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) 6: fillDocument ( ) 7: readFile ( ) 8: fillFile ( ) 9: sortByName ( ) . . . Openning Writing Reading Closing add file numberOffile=MAX / flag OFF add file
6、close file close file Use Case 3 Use-Case Diagram Class Diagram Collaboration Diagram Sequence Diagram Component Diagram Statechart Diagram GrpFile read( ) open( ) create( ) fillFile( ) rep Repository name : char * = 0 readDoc( ) readFile( ) (from Persistence) FileMgr fetchDoc( ) sortByName( ) Docum
7、entList add( ) delete( ) Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList 1 FileList add( ) delete( ) 1 File read( ) read() fill the code. Deployment Diagram 123ES 2021-6-21兰州大学信息学院10 视图案例用例图 123ES 2021-6-21兰州大学信息学院11 视图案例
8、类-实例图 文章 123ES 2021-6-21兰州大学信息学院12 类图 123ES 2021-6-21兰州大学信息学院13 视图案例活动图、状态图 123ES 2021-6-21兰州大学信息学院14 状态图 课程设置对象的状态图 123ES 2021-6-21兰州大学信息学院15 视图案例顺序图 123ES 2021-6-21兰州大学信息学院16 顺序图 123ES 2021-6-21兰州大学信息学院17 视图案例协作图 123ES 2021-6-21兰州大学信息学院18 协作图 123ES 2021-6-21兰州大学信息学院19 视图案例构件图 123ES 2021-6-21兰州大学信息
9、学院20 视图案例部署图 DecNet TCP/IP TCP/IP ClientA: Compaq Pro PC Application Server; Silicon Graphics O2 Database Server: VAX ClientB: Compaq Pro PC 123ES 2021-6-21兰州大学信息学院21 面向对象技术的优点 符合人类的思维习惯 稳定性好功能的变化不会引起软件架 构/结构的变化 可复用性好 可维护性好 123ES 2021-6-21兰州大学信息学院22 基于UML的软件过程模型RUP 初启细化构造1 构造2 构造n移交 123ES 2021-6-21兰
10、州大学信息学院23 基于UML的软件开发过程 初启:软件项目的发起人确定项目的主 要目标和范围,并进行初步的可行性分 析和经济效益分析; 细化:项目的正式确立,完成详细的需 求分析,开展: 初步的需求分析(UML用例图、类图、活动图) 初步的高层设计(包图完成需求的切分) 部分的详细设计(用例交互图,类图方法的实现) 部分的原型构造(基于主要用例的原型) 123ES 2021-6-21兰州大学信息学院24 基于UML的软件开发过程(Co.) 构造:通过一系列的迭代完成对所有用 例的软件实现工作,在每次迭代中实现 一部分用例 Time Req Design Impl Test Deploy It
11、eration 1 Iteration 2 Iteration 3 123ES 2021-6-21兰州大学信息学院25 基于UML的软件开发过程(Co.) Use 6 3 iterations PhaseLowMediumHigh Inception011 Elaboration123 Construction123 Transition112 Total369 123ES 2021-6-21兰州大学信息学院26 基于UML的软件开发过程(Co.) 移交:在用户实际工作环境(或接近实 际的模拟环境)中试运行,根据用户的 修改意见进行少量调整 123ES 2021-6-21兰州大学信息学院27
12、2 面向对象分析基本过程 123ES 2021-6-21兰州大学信息学院28 涉及的需求模型 Scenario-based models of requirements from the point of view of various system “actors” Data models that depict the information domain for the problem Class-oriented models that represent object-oriented classes (attributes and operations) and the manne
13、r in which classes collaborate to achieve system requirements 123ES 2021-6-21兰州大学信息学院29 涉及的需求模型(Co.) Flow-oriented models that represent the functional elements of the system and how they transform data as it moves through the system Behavioral models that depict how the software behaves as a conseq
14、uence of external “events” 123ES 2021-6-21兰州大学信息学院30 需求模型 System description Analysis model Design model As a bridge between the system description and the design model 123ES 2021-6-21兰州大学信息学院31 需求模型 Throughout requirements modeling, our primary focus is on what, not how. What user interaction occur
15、s in a particular circumstance. What objects does the system Manipulate. What functions must the system perform. What behaviors does the system exhibit. What interfaces are defined. What constraints apply? 123ES 2021-6-21兰州大学信息学院32 123ES 2021-6-21兰州大学信息学院33 123ES 2021-6-21兰州大学信息学院34 123ES 2021-6-21兰
16、州大学信息学院35 基于场景的用例建立 场景:从单个行为者的角度观察目标系 统的功能和外部行为。描述内容包括: 场景名称 行为者 前置条件 事件流 后置条件 123ES 2021-6-21兰州大学信息学院36 场景案例 场景名称场景名称:门窗监测。:门窗监测。 行为者行为者:警报器,报警电话,显示器,门窗监视器。:警报器,报警电话,显示器,门窗监视器。 前置条件前置条件:系统已开机。:系统已开机。 事件流事件流: (1)门窗监视器发现门或窗户发生异动,向软件系统)门窗监视器发现门或窗户发生异动,向软件系统 报告异常事件。报告异常事件。 (2)软件系统启动警报器并拨报警电话号码。)软件系统启动警
17、报器并拨报警电话号码。 (3)报警电话接通后,软件系统播出语音,报告异常)报警电话接通后,软件系统播出语音,报告异常 事件发生的时间、地点和事件的性质(门窗异动)。事件发生的时间、地点和事件的性质(门窗异动)。 (4)系统在控制面板的显示器上显示报警时间及当前)系统在控制面板的显示器上显示报警时间及当前 状态(报警:门窗异动)。状态(报警:门窗异动)。 后置条件后置条件:系统处于:系统处于“报警报警”状态。状态。 123ES 2021-6-21兰州大学信息学院37 场景获取 (1)目标软件系统有哪些执行者? (2)执行者希望系统执行的任务有哪些? (3)执行者希望获得哪些信息?这些信息由 谁生
18、成?由谁修改? (4)执行者需要通知系统哪些事件?系统响 应这些事件时会表现出哪些外部行为? (5)系统将通告执行者哪些事件? 123ES 2021-6-21兰州大学信息学院38 用例 用例是行为者(actor)与目标软件系统之间 一次典型的交互作用,一个用例代表着系统 执行的一系列动作,动作执行的结果能够被 外部的执行者所察觉。 对用例的完整描述包括用例名称、参与行为者、 前置条件、一个主事件流、0到多个辅事件流、 后置条件。 主事件流表示正常情况下执行者与系统之间的 信息交互及动作序列,辅事件流则表示特殊情 况或异常情况下的信息交互及动作序列。 123ES 2021-6-21兰州大学信息学
19、院39 用例(Co.) 123ES 2021-6-21兰州大学信息学院40 用例(Co.) 场景的分类、抽象得到用例 开机、关机、复位抽象得到命令处理用例 门窗监测、烟雾监测抽象为传感器监测 123ES 2021-6-21兰州大学信息学院41 用例(Co.) 用例名称:传感器监测 参与执行者:各类传感器,警报器,报警电话,显示器 前置条件:系统已开机。 主事件流: (1)传感器向目标软件系统上报其监测数据,系统判断监测数据正常。 (2)如果不正常,系统启动警报器,拨报警电话号码。 (3)报警电话接通后,软件系统播出语音,报告异常事件发生的时间、地 点和事件的性质。 (4)系统在控制面板的显示器
20、上显示报警时间及当前状态(报警)。 辅事件流: (1)如果报警电话无人接听,则按照重拨延迟反复拨号,直至电话接通, 再转入主事件流的步骤(3)。 (2)如果重拨次数达到系统预设的最大次数,电话仍无人接听,则跳过主 事件流的步骤(3),转入步骤(4)。 后置条件: 如果已发现异常的监测数据,系统处于“报警”状态;否则系统处于正常 的“监测”状态。 123ES 2021-6-21兰州大学信息学院42 An example 123ES 2021-6-21兰州大学信息学院43 Co. 123ES 2021-6-21兰州大学信息学院44 用例表示-活动图 123ES 2021-6-21兰州大学信息学院4
21、5 活动图-传感器监测 123ES 2021-6-21兰州大学信息学院46 生成用例图 依据执行者与用例之间的关系(触发执行、信 息交换)确定用例图 用例之间的关系: 使用(use)关系,如果多个用例都有一个公共的 动作序列,为避免重复并使模型简洁,可以将公共 动作序列抽取出来,构成新的独立用例。 扩展(extend)关系。如果一个用例的动作序列完 全包含另一个用例的动作序列,且前者含有后者所 不具备的一些特殊情况下的处理动作,则称前者扩 展后者。 123ES 2021-6-21兰州大学信息学院47 生成用例图(Co.) 123ES 2021-6-21兰州大学信息学院48 生成用例图(Co.)
22、 123ES 2021-6-21兰州大学信息学院49 分析过程中的划分机制 主题 包:将某些关联密切的类划为一个包 123ES 2021-6-21兰州大学信息学院50 包示例 “领域”包由“订 单”和“客户”两 个子包构成,“订 单”包依赖于“客 户”包。 数据库接口类仅定 义抽象数据访问, 数据操作。Oracle 接口包和DB2接口 包基于具体的数据 库管理系统实现通 用接口定义的抽象 接口函数。 Faade模式 123ES 2021-6-21兰州大学信息学院51 软件顶层架构的设计 方法:结合实际需求,选取架构模式, 再进行局部调整。 主要架构模式: 流程处理模式 客户/服务器模式 模型视
23、图控制器模式 分层模式 123ES 2021-6-21兰州大学信息学院52 流程处理模式 流程处理系统以算法和数据结构为中心,其系统功能 由一系列的处理步骤构成,相邻处理步骤用数据流通 管道连接。 流程处理模式适用于批处理方式的软件系统,不适合 交互式系统。 处理步骤使用公共的系统服务(例如数据库访问服 务),命令处理和命令处理的进度、结果都通过用户 界面。 123ES 2021-6-21兰州大学信息学院53 流程处理模式(Co) 123ES 2021-6-21兰州大学信息学院54 客户/服务器模式 客户端负责用户输入和 处理结果的呈现,服务 端负责后台业务处理。 123ES 2021-6-2
24、1兰州大学信息学院55 模型/视图/控制器(MVC)模式 软件系统由模型、视图和控制器三部分 组成: 模型负责维护并保存具有持久性的业务数据, 实现业务处理功能,并将业务数据的变化情 况及时通知视图。 视图负责呈现模型中包含的业务数据,响应 模型变化通知,更新呈现形式,向控制器传 递用户的界面动作。 控制器负责将用户的界面动作映射为模型中 的业务处理功能并实际调用之,然后根据模 型返回的业务处理结果选择新的视图。 123ES 2021-6-21兰州大学信息学院56 MVC(Co.) 123ES 2021-6-21兰州大学信息学院57 分层模式 将整个软件系统分为若干层次,最顶层 直接面向用户提供软件系统的操作界面, 其余各层为紧邻其上的层次提供服务。 分层模式可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋买卖合同协议书范本下载
- 直播劳务的合同
- 图书销售合同
- 商铺转让租赁合同范本
- 提高团队协作能力的技能培训课程
- 鱼种产品购销合同书样本年
- 2025合同模板修缮修理合同范本
- 隧洞施工合同范本
- 装修房屋托管合同范本
- 购房协议合同
- 淋巴瘤患者的护理
- 水利工程建设管理概述课件
- 人美版初中美术知识点汇总九年级全册
- 2022中和北美腰椎间盘突出症诊疗指南的对比(全文)
- 深度学习视角下幼儿科学探究活动设计
- 乳房整形知情同意书
- 全国核技术利用辐射安全申报系统填报指南
- GB/T 18344-2016汽车维护、检测、诊断技术规范
- 青岛版科学(2017)六三制六年级下册第2单元《生物与环境》全单元课件
- 2022-2023年人教版九年级物理上册期末考试(真题)
- 关汉卿的生平与创作
评论
0/150
提交评论