系统开发方法概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

顺序图改进
关系
依赖 泛化 实现 关联——聚合和复合
组织建模元素-包
一个包形成一个命名空间。通过包组织 大系统模型,减少复杂性 结构良好的包是松耦合,高内聚的,对 其类容的访问具有严密的控制
ATM系统的包组织
对象行为——状态图
显示一个对象从生成到删除的生命周期 中相应事件所经历的状态序列以及它们 对哪些事件的相应。 分析人员和开发人员通过状态图更好的 了解类的动态行为,使编码前能讨论和 建立复杂逻辑。
构造
完成代码,生成组件图
移交
使用实施图进行软件部署,维护软件与 模型地同步 。
正向工程和逆向工程
通过正向工程把模型映射为特定实现语 言的代码。 通过逆向工程把特定实现语言的代码转 换为模型。
UML的扩展机制
UML是可扩展的。 扩展用于特定的应用域或编程环境,但 是它们导致了 U M L方言的出现。 在使用扩展机制之前,建模者应该仔细 权衡它的好处和代价,特别是当现有机 制能够合理工作时。
UML
统一建模语言UML(Unified Modeling Language) UML是编写软件蓝图的标准语言 UML以可视化方式制定、建构以及记录 系统的产出
UML系统建模技术
为什么要建模 ?
更好的理解我们正在开发的系统并发现 简化和重用的机会 表达我们所渴望的系统结构和行为 展示和控制系统体系结构 风险控制
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
客户将卡插入ATM机,开始用例。 ATM显示欢迎消息并提示客户输入密码。 客户输入密码。 ATM确认密码有效。如果无效则执行其他事件流A1。如果 与主机联接有问题,则执行异常事件流E1。 ATM提供以下选项:存钱,取钱,查询 。 用户选择取钱选项。 ATM提示输入所取金额。 用户输入所取金额。 ATM确定该帐户是否有足够的金额。如果余额不够,则执 行A2,如果与主机联接有问题,则执行异常事件流E1。 ATM从客户帐户中减去所取金额。 ATM向客户提供要取的钱。 ATM打印清单。 ATM退出客户的卡,用例结束。
Account对象的状态图
构造程序——组件图
表示一组组件之间的组织和依赖关系 编译和部署系统的人员需要使用组件图。 显示了类与实现组件之间的映射,组件 按什么顺序编译,编译时生成哪些运行 组件 构件图对于通过正向工程和逆向工程构 造可执行系统是重要的
ATM客户机的C++组件图
ATM服务器的C++组件图
客户李明取20元钱的顺序图
协作图-按对象的组织对控制流建模
质保人员和系统分析员用协作图显示对 象间处理过程的责任分布和数据流。
客户李明取20元钱的协作图
对象结构—类图
显示系统中类与类之间的交互 分析员用类图显示系统细节。类图可以 显示每个用例中类的相互作用,也可以 显示整个系统或子系统
ATM系统“取钱”用例的类图
数据项 数据流 处理逻辑 数据存贮 外部实体
模块耦合
耦合(Coupling)是表示模块之间联系 的程度。紧密耦合表示模块之间联系非 常强,松散耦合表示联系比较弱,非耦 合则表示模块之间无任何联系,是完全 独立的 模块的耦合方式
数据耦合 、控制耦合 、非法耦合(内容 耦合)
模块内聚
内聚(Cohesion)是表示模块内部各成 分之间的联系程度。一般说来,在系统 中各模块的内聚越大,则模块间的耦合 将越小。 模块的内聚方式
软件开发过程模型
喷泉模型
演化 运行维护
测试 编码
设计 分析
软件开发过程模型
统一过程模型
由Rational公司提出,主要用来描述使用 UML开发的过程。该过程有如下三个主要特 点:
用例驱动的软件开发过程。 以体系结构为中心的过程 迭代开发与增量开发相结合的过程。
结构化开发方法
由结构化程序设计思想引发,得出软件的结构 化系统设计、结构化系统分析方法 结构化系统设计的要求是,一个系统由层次化 的程序模块构成,每一个模块只有一个入口出 口,每一个模块只归其上级模块调用,制定一 套模块联结的准则和构造模块的标准,并且用 模块结构图来表达系统的结构。 结构化的系统分析,采用“自顶而下”的分解 方法,由粗而细地,把一个复杂的系统逐级地 向下分解成尽可能独立的子系统、模块与子模 块等。
结构化方法常用系统分析工具
组织结构图 业务流程图 数据流图 数据字典 U/C矩阵 加工(处理逻辑)说明
数据流图
数据流图(Data Flow Diagram简称DFD) 是结构化系统分析的主要工具,它表示 了系统所具有的各个具体处理功能和它 们之间的逻辑关系,每一个处理功能需 要的数据输入、提供的信息输出,以及 信息在系统内的流动使用情况。数据流 图有四种基本符号:外部实体、数据流、 处理逻辑与数据存贮。
系统开发方法概述
王宏星
软件生命周期
又称为软件生存期,是指从软件编制计 划开始到软件在使用中消退的过程。一 般可分为三个阶段:系统规划、系统开 发、运行维护。其中系统开发又可进一 步分为需求分析、系统设计、系统实施 (编码和测试)三个阶段。
软件开发过程模型
线性顺序模型(瀑布模型)
系统分析 系统设计
构造型
构造型是在一个已定义的模型元素的基 础上构造的一种新的模型元素. 构造型的信息内容和形式与已存在的基 本模型元素相同,但是含义和使用不同。
标记值
标记值是一对字符串,存储着有关元素的一 些信息。 对于存储项目管理信息,代码生成器等有用
约束
约束是用文字表达式表示的语义限制。 约束用大括弧内的字符串表达式表示。 约束可以附加在表元素、依赖关系或注 释上。
软件工程的研究对象
过程(Process)
其中的过程研究主要包括软件开发过程和维护过程 的划分,过程活动的定义和过程的控制等;
方法(Method)
方法研究包括各种需求分析设计方法、程序设计方 法、质量保证方法、测试方法等;
工具(Tool)
工具的研究主要包括开发和使用相应的计算机辅助 软件工程(CASE)工具,以及研究辅助工具对于软 件工程的影响等。
其他事件流A1: 其他事件流 :输入无效密码
1. 2.
ATM告诉客户该密码错误。 ATM退出客户的卡,用例结束。 ATM告诉客户该帐户余额不足。 ATM退出客户的卡,用例结束。 ATM告诉客户联接主机出现错误。 ATM在错误日志记下错误。 ATM退出客户的卡,用例结束。
其他事件流A2: 其他事件流 :余额不足
ATM客户机的Java组件图
项目部署——实施图
建模系统的实际部署 项目管理员,用户,分析员和部署人员 通过实施图了解,显示网络的实际布局 和网络节点上组件的配置
ATM系统的实施图
回顾ATM项目的开发过程
初始
识别角色和用例,构建用例图 。
细化
更新用例模型,细化用例。建立交互图, 类图和状态图。开始构建实施图以建模 系统体系结构
偶然内聚 、逻辑内聚 、时间内聚 、过程 内聚 、数据内聚 、顺序内聚 、功能内聚
系统切换的方式
直接切换 平行切换 分段切换
面向对象的开发方法
面向对象方法将数据和过程集合在统一 的对象中。OO方法认为,客观世界是由 各种各样的对象组成的,每个对象都有 自己的内部状态和操作,不同对象之间 相互作用和联系就构成了各种不同的系 统,需从现实世界中客观存在的事物 (即对象)出发来构造软件系统,并在 系统构造中尽可能运用人类的自然思维 方式。
ATM系统的用例图
用例
描述一个系统(或一个子系统)做什么, 而不是说明怎么做
角色
系统用户 与本系统交互的其他系统 时间
建立事件流
事件流的目的是建档使用案例中的逻辑 流程,详细描述系统的工作。
用例“取钱”的事件流 (1)
简要说明: 简要说明:客户可以从ATM机上取出自 己帐目上的部分或者全部存款。 前提条件: 前提条件:无 主事件流: 主事件流:
编码
测试
软件开发过程模型
原型模型
听取用户意见 建造/修改原型
用户测试运行原型
软件开发过程模型
制定计划 风险分析
螺旋模型
原型3
原型2
原型1
客户评价
实施工程
软件开发过程模型
增量模型
增量1 增量2 增量2 增量2 分析 分析 分析 分析 设计 设计 设计 设计 编码 编码 编码 编码 测试 测试 测试 测试
面向对象的建模
传统的软件开发是从算法的角度进行建 模 面向对象的建模方法是当前软件开发的 主流方法
UML-Unified Modeling Language
一种对软件密集型系统的制品进行可视 化,详诉,构造和文档化的可视化建模 语言 OMG的标准建模语言
UML的9个核心框图
用例图 类图 对象图 顺序图 协作图 状态图 活动图 组件图 实施图
最基本的建模
类图中的各个类对象,按照顺序图的交 互,完成一个用例 。
一个ATM系统实例
建立一个具有基本功能的ATM机软件 客户可以存钱,取钱 客户可以查询节余 客户可以修改密码 客户可以使用信用卡付帐
需求建模—用例图
需求分析的第一步是确定系统能够做什 么?谁来使用这个系统? 用例图显示用例(表示系统功能)与角 色(表示提供或者接收系统信息的人或 系统)之间的交互。 用户,项目管理员,分析人员,开发人 员质保人员都可以通过用例图了解系统 功能。
数据流图案例
用户手 库存帐 价目手 发 册 目 册 票
信用 好 订 验 用户 单 收 合 格 订 单 信 用 检 查 查 库 存 订 单
有 库 存 查 价 目 订 单
有 价 订 单
开 票
发 票
用户
订 货 单
数据字典
数据字典详细说明了数据流图中各个要素 (不包括处理功能),是数据属性的清单 一个数据字典所包括的项目有:
1. 2.
异常事件流E1: 异常事件流E1:联接主机出现错误 E1
1. 2. 3.
Baidu Nhomakorabea
事后条件: 事后条件:无
对象交互—交互图
交互图显示一组对象以及它们之间传送 的消息
寻找对象
研究事件流及情景文档中的名词 分辨对象和对象属性 不在事件流中的控制对象
顺序图-按时间顺序对控制流建模
用户从中看到业务过程的细节 分析人员从中看到处理流程 开发人员看到需要开发的对象和它们的 操作 质保人员看到过程细节,并根据这个过 程开发测试案例
相关文档
最新文档