




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 获得需求收集需求整理需求描述需求 思考的问题1 我们能否直接从 需求 进入 设计 2 为什么要增加一个 需求分析 的环节 2 系统设计 需求分析和建模理解需求分析需求建立域模型编写需求文档评审需求文档管理需求 思考的问题1 需求分析 这个环节的具体过程 2 每个 小阶段 的重点 如何进行 需求 用例 分析与建模 在本讲您能了解如下知识点需求分析 重点和内容 系统建模 为什么 如何 面向对象的统一建模利用UML实现面向对象的建模动 静态建模所涉及的UML图体验UML中的基本建模过程 一 需求 对用例 分析 当然需求分析也是一个分解的过程 1 需求分析概述 系统概要设计的输入来自于需求工程 1 什么是需求分析分析是一个翻译软件需求和深入理解问题的过程 也就是把软件系统的全部功能被表示成一个单一的信息变换过程 分析是建立业务模型 完全不考虑采用什么样的技术来实现 和实现无关 和计算机无关 和编程语言无关 而设计是将业务模型转变为和实现相关的计算机模型 必须考虑语言等实现相关的东西 希望您能够区分UML中所涉及的 分析类 和 实现类 之间的差别吗 当然也包括概要设计和详细设计中的 类 的差别 2 分析的目标理解问题并开发一个简要描述方案的可视化模型 不依赖于具体的实施技术环境 即 要做什么 的问题把我们对用例的理解 转变为与业务一致的形式 实现需求的价值 3 需求分析工作的重点工作的重点主要是将功能性的需求翻译成软件的概念 或者说用软件的概念来诠译问题所要求的功能 工作的核心是捕获问题的行为 在屏蔽实施细节的基础上得到构成方案的粗略对象模型 比如财务中的 对帐 审计 等 2 为什么要进行需求分析的过程 1 需求分析工作的重要性通过对用户的需求进行分析 可以产生出体现整个系统灵魂的文档 并且能够实现将客户需求从 具体描述 到 抽象表示 的一个过程最终产生并能够制定出开发过程中可实施的规范和标准 2 需求分析工作的必要性在需求分析阶段不仅仅是要获得客户的需求 更重要的是需要进行分析以了解需求的细节 并就细节跟客户进行充分地咨询和沟通 最终获取比较详细的信息 如果开发方没有去做需求分析而是简单地按照功能要求去设计 规划 最终所开发出的系统是很难完全符合客户的业务流程需要的 3 需求分析的主要任务为了使开发出来的目标系统能满足实际需要 在着手编程之前 必须要有一定的时间用来认真地考虑以下的问题 系统所要求解决的问题是什么 为解决该问题 系统应干些什么 系统应该怎么去干 注意 基本的要求应该是能够找出系统的主要 实体对象 以及系统的 业务流程 4 如何完成这些任务确定软件设计的约束和软件同其它系统元素的接口细节找出用例中的执行流程 事件的各个类 目前为分析类 通过实现用例 把用例的行为指定到具体的类 找出类的责任 属性和他们相互的关系 规范地确定系统中各用例的职责 并最终对用例分析的结果进行评估 2 需求分析的基本过程 1 问题识别从系统的角度来理解软件并评审软件范围是否恰当确定对目标系统的综合要求 即软件的需求提出这些需求实现条件 以及需求应达到的标准 2 分析与综合从信息流和信息结构出发 逐步细化所有的软件功能 找出系统各元素之间的关联 接口特性和设计上的约束 分析它们是否满足功能要求 是否合理 剔除其不合理的部分 增加其需要部分 最终综合成系统的解决方案 给出目标系统的详细逻辑模型 3 编制需求分析阶段的文档资料软件需求说明书数据要求说明书 数据流图 数据字典和简明的算法描述 初步的用户手册修改 完善与确定软件开发实施计划 4 需求分析评审系统定义的目标是否与用户的要求一致 系统需求分析阶段提供的文档资料是否齐全 文档中的所有描述是否完整 清晰 准确反映用户要求 与所有其它系统成分的重要接口是否都已经描述 被开发项目的数据流与数据结构是否足够 确定 所有图表是否清楚 在不补充说明时能否理解 主要功能是否已包括在规定的软件范围之内 是否都已充分说明 1 系统建模 1 概述严格的说用例模型并不是面向对象的 它描述的是系统的功能 只是建立系统的最初的输入 为了更细腻的分析需求 从面向对象的角度 可以建立领域模型 2 什么是建模通过将用户的业务需求映射为项目的系统架构 程序代码 同时保证程序代码能够满足和实现用户的需求 并且代码还能回溯需求的过程 二 面向对象的统一建模 您知道建 大厦 和建 狗窝 在流程方面的差别吗 2 为什么要建模 1 建立大厦和建立狗窝的区别是建设狗窝不需要设计因此 同样要生产合格的软件也就要有一套关于体系结构 实现过程和所使用的工具各种规范的说明 2 建立模型有助于系统分析 设计 而且一个系统越大 越复杂 建模的重要性就越大 3 建模的意义体现 1 在系统开发时需要对系统进行简化和抽象 2 通过构建系统模型以便能够对系统进行全面的分析和设计 4 什么是模型 请见文档说明 1 模型是对现实世界的简化和抽象 2 各行各业都使用模型来辅助设计 3 模型是沟通的手段和了解真正系统的一种替代物 4 模型可以精确地描述系统 您知道房地产商为什么要首先建楼盘模型吗 您没有真正见到 神6 但您肯定见过 神6 的模型 5 系统建模的具体方法 采用 结构化 1 结构化模型设计方法的实现传统的面向过程的软件开发是从 算法的角度和业务流程进行建模 2 模型的核心是数据词典它描述了所有的在目标系统中使用的和生成的数据对象 围绕着这个核心的有三种图 实体 关系图 ERD 描述数据对象及数据对象之间的关系 用于数据建模 数据流图 DFD 描述数据在系统中如何被传送或变换 以及描述如何对数据流进行变换的功能 子功能 用于功能建模 使用系统结构图来表达功能间的关系 3 使用系统结构图来表达功能间的关系 4 使用数据流图表达功能与数据间关系 同时使用ER图表达数据间关系 5 结构化模型设计方法主要的缺点传统的结构化模型的设计所建立的模型 数据 不能反应源代码 操作 忽略了模型与代码之间不可分割的内在联系模型与代码几乎没什么关系 同时根据模型不能生成代码 反之根据代码更不能生成模型 不能保证软件的质量 更不易软件的维护 没什么约束力也没有检测的标准 传统的软件开发是从算法的角度进行建模 所有的软件都用函数作为构造块 这种建模方法使设计人员把精力放在控制流程和对应的算法进行分析上 这种方法建立的模型是脆弱的 因为当需求发生变化的时候 将难以维护 没有体现出数据所表示的业务含义 并且对客观世界的描述不够准确过程式设计对于比较复杂的问题 或是在开发中需求变化比较多的时候 往往显得力不从心 6 系统建模的具体方法 采用 面向对象 1 面向对象的建模 封装和继承把系统看作是相互协作的对象 这些对象是结构和行为的封装 都属于某个类 通过类能反映某种层次化的结构 系统的所有功能通过对象之间相互发送消息来获得 2 面向对象的建模所体现出主要优点可以将整个系统看成为是一个包含以下元素的概念框架 抽象 封装 模块化 层次 分类并行 稳定 可重用和可扩展 对象建模技术采用一组面向对象的概念和与程序语言无关的图形符号来统一表达软件开发人员在分析 设计直到实现的整个软件开发过程 7 OO建模技术的实现形式 通过UML来进行建模 1 静态建模 静态建模机制主要包括用例图包图 类图 对象图组件图和配置图 2 动态建模 动态建模机制包括时序图和协作图状态图和活动图 8 何时需要建模 1 在应用开发的任何阶段进入建模工作都是有意义的 2 在设计最初阶段无可否认的是 在设计最初阶段 应将精力主要用于处理有关应用系统功能 为实现这些功能应采用何种开发平台 编程环境等技术手段 而不是考虑程序的细节 如在屏幕上的什么位置应该放置什么按钮等 3 在项目开发的中期引入建模也是非常有意义的RatioalRose既支持正向建模 同时也支持反向建模 4 Rose通过建立模型使开发人员把握程序开发的方向 准确完成需求分析中所要求的任务 1 利用UML实现系统分析和设计的基本过程 1 三个基本过程 三 利用UML实现面向对象的建模 2 静态建模机制 请见前面的说明 3 动态建模机制 请见前面的说明 2 UML适用于系统开发过程中的不同阶段 1 在需求阶段通过用例建模 描述对系统感兴趣的外部角色及其对系统 用例 的功能要求 通过用时序图可以实现按时间先后顺序 从上到下分析用例 进一步确定和细化用例的处理流程和实现过程通过协作图可以确定对象之间的关系的处理过程的分析流程 2 分析阶段重点关心问题域中的主要概念 如抽象 类和对象等 和机制 需要识别这些类以及它们相互间的关系 这可以用UML类图来描述 为实现用例 类之间需要协作 这可以用UML动态模型中的协作图等来描述 希望您能够区分与设计阶段所出现的类图的不同 3 在设计阶段概要设计中通过分析用例图 得到所用到的类 分析这些类的属性 操作和它们之间的关系 所需要用到的UML的图类图 显示系统中类与类之间的交互包图 具有一些共性的类组合在一起的图详细设计中通过再进一步地细化各个用例图的实现 如类的操作和对象之间的消息等细节问题 所需要用到的UML的图类图 显示系统中类与类之间的交互状态图 当然也包括其它的动态视图 显示一个对象从生成到删除的生命周期 希望您能够区分与分析阶段中所出现的类图的不同 4 编程 构造 是一个相对独立的阶段任务 是用面向对象编程语言将来自设计阶段的类转换成实际的代码 要点在用UML建立分析和设计模型时 应尽量避免考虑把模型转换成某种特定的编程语言 因为在早期阶段 模型仅仅是理解和分析系统结构的工具 过早考虑编码问题十分不利于建立简单正确的模型 所用到的UML的图包图 显示系统中类与类之间的集合关系类图 显示系统中类与类之间的交互组件图 表示系统中的组件及相互依赖性 5 测试阶段系统通常需要经过单元测试 集成测试 系统测试和验收测试等环节 不同的测试小组使用不同的UML图作为测试依据 单元测试依据类图和类功能规格说明文档 集成测试依据组件图和协作图 系统性能测试依据用例图来验证系统的行为 验收测试由用户进行 以验证系统测试的结果是否满足在分析阶段确定的需求 所用到的UML的图为部署图 显示网络中的物理布局和各种组件的位置 以及用例图 3 统一建模中的 统一 含义 1 软件开发的整个生命周期都可以用可视化建模技术统一起来 避免 分而治之 业务流程图 ER图 DFD图等 2 在传统的开发技术中 这些步骤是由不同的技术完成的 如业务模型是由IDEF语言来描述 分析设计由数据流图来表示 数据库结构是用ER来定义等等 3 通过统一建模语言UML 可以大大增强团队的沟通 提高开发效率和软件质量 4 可视化建模技术的好处 请见文档说明 1 有效管理系统复杂度模型通过过滤非本质的细节信息 成为描述复杂的问题或结构的本质的抽象 abstraction 她使问题更容易理解了 因为在对象模型中我们只需要描述对象所实现的功能 而封装了操作实现的细节 2 增强团队的沟通可视化建模采用的是标准的统一建模语言UML 所有的开发人员都应该采用这种统一建模语言来进行系统的设计从而保证大家工作的结果是所有人都可以理解的 3 提高系统设计的可重用性所建立的模型与物理系统是相互吻合的同时面向对象技术最基本的原则就是抽象 5 体验UML中的基本建模过程 1 问题的功能要求 2 代码如下由于只是说明问题 因此在程序代码上尽可能短小 同时为了能够便于理解 在此给出代码 其实是不需要代码的 设计一个在浏览器中显示 HelloWorld 的Applet程序 我们可以将此功能要求看成为系统中的某个 用例 为此我们建立出下面的用例模型 3 直接地为这个程序用UML建立模型 建立一个用例实现通常一个用例实现是由下面这些组成 包括我们所关注的用例中出现的所有类的一个UML类图描述交互的对象 以及它们之间的调用关系的一个或多个UML交互图 UML中定义了两种类型的交互图 顺序图和协作图 说明其中Applet用作HelloWorld类的父类 因此体现出继承关系 在UML中即为两个类之间具有泛化关系 4 HelloWorld的类图 静态建模 而Graphics类用在HelloWorld类中的方法paint的实现中 并作为paint方法的参数 因此HelloWorld类依赖Graphics类 5 HelloWorld的时序图 动态建模 6 再对上面的分析类图进一步地细化定义属性 方法和描述出与其它类的关系等 最后产生出设计类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年康复医学康复训练方案设计实践能力测验答案及解析
- 工装定制框架合同范本
- 陕西绿化合同范本
- 私人结算造价合同范本
- 理财规划服务合同范本
- 钢管租赁买断合同范本
- 2025年康复科言语康复治疗技能考核试卷答案及解析
- 2025年放射学影像诊断学综合能力测试答案及解析
- 2025年血液学血液病病因分析模拟测试卷答案及解析
- 2025年安徽某央企驻皖单位岗位外包服务招聘10人考试参考试题及答案解析
- 北师大版(2024版)三年级上册第七单元第6节《生活中的小数》教学设计
- 比亚迪岗位培训课件
- 研究生心理适应与卓越发展-南京大学中国大学mooc课后章节答案期末考试题库2023年
- HJX104桁架式泵吸泥机技术说明
- 食品安全 课件 高中主题班会
- YS/T 320-2007锌精矿
- YS/T 226.12-2009硒化学分析方法第12部分:硒量的测定硫代硫酸钠容量法
- GB/T 24218.3-2010纺织品非织造布试验方法第3部分:断裂强力和断裂伸长率的测定(条样法)
- GB/T 10799-2008硬质泡沫塑料开孔和闭孔体积百分率的测定
- 系统工程原理 - 国防科技大学信息系统与管理学院
- 博微配电网工程设计软件
评论
0/150
提交评论