Skip to content

Latest commit

 

History

History
168 lines (136 loc) · 5.79 KB

20181010面向对象系统分析与设计.md

File metadata and controls

168 lines (136 loc) · 5.79 KB

20181010面向对象系统分析与设计

1 需求调研 继承树 一般4层以内 在面向对象系统中更复杂的是对象之间的关系

需求确定:需求定义 理解各种需求分析技术何时可以使用 理解如何通过访谈、JAD会话、问卷、文档分析法进行需求分析

为什么开发软件不直接编码?

软件失败的三大因素:不完整的需求/需求变化 缺乏用户参与 缺乏(物质、人力、知识)资源,也是在设计阶段

解决不完整需求问题:增量开发 敏捷开发

需求捕获(调研)十分重要:用户常常不知道他们要什么 多种类型的用户 可能看不到全局性的东西 可能不知道他们工作的哪一方面是可计算的 用户传递与沟通之间有偏差

需求调研是一个观察、发现和学习的过程:具备一定的计算机知识和沟通理解能力

分析阶段在过程上的活动: 信息搜集 需求定义(明确需求) 需求排序(确定优先级) 产生和评估可选方案 -> coding 审核现有成果与需求是否一致

需求是新系统应该具备的能力和约束 功能需求(调研时侧重) 系统必须做的活动(流程、业务逻辑等) 基于流程和业务功能 非功能需求 系统具备的特性(质量、性能、易用性、安全性) 系统遵循的约束(底层使用指定数据库等)

非功能性需求是在功能性需求的基础上提出的

Stakeholders:摄众,和系统直接利益相关的人 三种主要的摄众:用户 客户 技术人员

需求调研的分析技术 业务过程自动化(BPA):适用于单个活动 业务过程改进(BPI):适用于单个流程 业务过程的重工程(BPR):适用于比较大的系统

需求调研过程 理解“当前”系统,即正在做的业务系统 辨认改进机会 开发“将要开发”的概念系统 方法根据变化分为三类:BPA - 微小变化 BPI - 中等变化 BPR - 关键变化 附加的信息收集措施

BPA 1 理解当前系统 信息收集 系统建模 2 辨别改进 问题分析法 根原因分析法 3 基于概念系统编码 最小化信息搜集 给出当前业务系统的解决方案

BPI: 辨别改进中的方法: 实现分析 基于活动的代价分析 基准分析法

BPR: 辨别改进中的方法 产出分析 技术分析 活动排除

问题分析法 首先问用户问题,得出解决方案 解决方案是微小的、递增的 极少发现关键业务改善方法

根原因分析法(RCA) 结构化的穷举法 找出哪些因素与结果有关系,反推真正问题

实现分析: 计算做某项业务活动的时间成本 计算整个过程的时间成本 比较以上两个时间 - 若相差较大则不是一个好设计

基于活动的代价分析: 计算每项活动的金钱成本 直接和间接成本都要考虑 辨别开销最大的活动并专注改进

基准分析方法: 学习别的组织对于相同业务是如何处理的

产出(结果)分析: 从整体上分析某个组织服务的目标 从消费者角度考虑产出(为用户提供好的服务) 考虑某个组织可以让客户做什么

技术分析: 分析师和经理列出重要和有趣的技术 项目组辨别这些技术可以怎样应用到业务中以及如何对系统有利

活动排除: 辨别若每个活动被筛除之后会发生什么 用“强制适应(force-fit)”来测试所有可能

实情调查方法 1 审阅已有的报告与过程描述 资源:已有的业务文档(要新)、行业内专业组织与专业出版物 2 与用户做访谈 应该有计划,想清楚问题 以自己对领域的了解来确定访谈对象 弄清楚面谈的目标 问问题的技术:避免引导性的问题 避免强迫式提问方式(事实在用户这里,不要诱导他) 问题的逻辑序列: 金字塔结构:先问专业问题(问题范畴较窄),最后问普适性问题 漏斗结构:先问普适性问题,最后问专业问题 菱形结构:先问专业问题,随后慢慢扩展,最后收回到专业问题(前两者结合) 3 发现与记录业务流程(观察法) 根据业务实际操作来了解系统 适合做日常重复很多的流程的需求调研 本身比较费资源 某些活动无法观察 4 建立原型 一个更大、更复杂系统的初步工作模型 为了澄清和验证需求,建立过程要快,关注用户界面 专注于完成单个目标 5 分发与收集问卷(问卷法) 调研用户对系统的期望(宏观方面,不能调研细节) 问卷可用于访谈之前 6 举行联合应用设计(JAD)会议 7 研究供应商解决方案 参考或仿制别人的系统,侧重点不同(不要抄袭)

总结: 分析过程的重点是捕获系统的业务需求。 功能和非功能的业务需求告诉系统必须做什么 三个主要需求分析技术:BPA、BPI和BPR。 这些技术在潜在的商业价值上有所不同,但也存在潜在的成本和风险。 所有系统分析人员必须能够使用的需求收集技术:面试、JAD、问卷、文档分析和观察。 系统分析者还必须知道如何以及何时使用每种方法以及如何组合方法。

2 系统

系统是一组相互关联的构件,它们组合在一起来达成一定的目标

组成系统的基本单元是构件,构件是互相关联的 每个系统都应该有目标(产出,outcome)

系统的九个特征:目标 约束 构件 环境 边界 接口(构件边界之间的交互) 构件间联系 输入 输出

信息系统 事务处理系统(TPS) 管理信息系统(MIS) 决策支持/基于知识库的系统(DSS/KBS) 企业级应用 沟通支持系统 办公支持系统 系统边界和自动边界 不同的系统需求不一样