UML软件方法大纲
利用周末的时间读了潘加宇的《软件方法(上)》,希望梳理清楚UML的知识脉络;
| 工作流 | 子流程 | 内容 | 备注 | ||||
| 建模和uml |
利润=需求-设计 |
||||||
| 愿景 |
缺乏清晰、共享的愿景往往是项目失败的主要原因。 愿景回答这样一个问题:在老大看来,引进这个系统的目的是什么? 寻找老大:
可度量的目标:
揣摩目标度量:老大心底里是有度量指标的,否则,系统摆在他面前的时候,他拿什么来判断系统好不好?不过, 要得到度量指标不容易。 涉众利益 :愿景是老大针对系统的目标,那其他人的目标难道不重要吗?其他人的目标也是要关注的,我们 把它叫做涉众利益。愿景实际上就是系统最重要涉众的利益。 |
||||||
| 业务建模(组织建模) |
业务建模——描述组织内部各系统(人肉系统、机械系统、电脑系统......)如何协作,使得组 织可以为其他组织提供有价值的服务。新系统只不过是组织为了对外提供更好的服务,对自己的内部 重新设计而购买的一个零件。组织引进一个软件系统,和招聘一名新员工没有本质区别。如果能学会 通过业务建模去推导新系统的需求,而不是拍脑袋得出需求,假的“需求变更”会大大减少 业务用例图:软件是组织的零件 【业务建模步骤 1-1】:选定要改进的组织 【业务建模步骤 1-2】:组织的业务用例图
业务序列图:描述业务流程的手段
业务序列图要点 :
【业务建模步骤 1-3】:现状业务序列图
【业务建模步骤 1-4】:改进业务序列图
|
||||||
| 需求 |
需求——聚焦于待开发系统的边界,详细描述系统要卖得出去必须具有的表现——功能和性能。 这项技能的意义在于强迫我们从“卖”的角度思考哪些是涉众(Stakeholder)在意的、不能改变的契 约,哪些不是,严防“做”污染“卖”。需求工作流的结果——需求规约是“卖”和“做”的衔接点 需求-系统用例图: 系统执行者要点:在所研究系统外,与该系统发生功能性交互的其他系统。 系统用例要点 :系统能够为执行者提供的、涉众可以接受的价值。 【需求步骤 2-1】识别系统执行者
【需求步骤 2-2】识别系统用例
需求-系统用例规约 【需求步骤 2-3】书写系统用例规约 需求-需求启发 |
||||||
| 分析 |
分析——提炼系统内需要封装的核心领域机制。可运行的系统需要封装各个领域的知识,其中 只有一个领域(核心域)的知识是系统能在市场上生存的理由。对核心域作研究,可以帮助我们获得 基于核心域的复用 |
||||||
| 设计 |
设计——将核心域知识和非核心域知识结合,最终实现系统。说“代码就是设计”指的是这里 说的“设计”。代码确实是设计,但代码不是分析,不是需求,不是业务建模。 |
UML软件方法大纲的更多相关文章
- 编程学习笔记(第四篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(4)meta、元与元模型、软件方法的未来发展
一.meta.元与元模型 1.元. "元" 英语是 Meta,meta在不同的行业领域有不同的翻译,在 IT 领域一般来说 Meta 是翻译成元,主要因为在 IT 中Meta ...
- ubuntu系统安装软件方法
ubuntu系统安装软件方法 ubuntu下安装软件有三种方式,分别为在线安装apt-get方式,软件商店安装方式和 1. 软件商店安装方式 这种方式对经常使用windows系统的同学来说最为简单,因 ...
- 对比其它软件方法评估敏捷和Scrum
一般来说,选择一种软件开发方法,更像是加入一个邪教组织,而不像是做出了一个技术决策.许多公司甚至从未试图去评估这些方法,而仅仅是盲目采用最流行的方法,这就造成了如今五花八门的各种敏捷方法.因此本文将使 ...
- 删除Android自带软件方法及adb remount 失败解决方案
删除Android自带软件方法 1.在电脑上打开cmd,然后输入命令 adb remount adb shell su 2.接着就是Linux命令行模式了,输入 cd system/app 3然后输入 ...
- Atiti。流量提升软件设计大纲规划 v1 q45
Atiti.流量提升软件设计大纲规划 v1 q45 1. 通用数据管理1 2. 网页Url管理模块1 3. 网站domain管理1 4. ad广告管理2 5. Task任务管理2 6. 任务执行功能: ...
- Linux系统中安装软件方法总结
Linux系统中安装软件方法总结 [1]Linux系统中安装软件的几种方式 [2] Linux配置yum源(本地源和网络源) [3] SuSE下zypper源配置 [4] SUSE zypper 本地 ...
- AUTOIT解决域控普通用户以管理员身份安装软件方法
windows域管理,本是很好的管理方式,方便的软件分发,权限控制等功能.不过由于我处软件分发总有那么一些电脑没有成功安装,或是新装的电脑安装软件时漏了安装一些软件,而这些软件需要管理员权限安装的,用 ...
- C# 反编译破解软件方法
我们有时在使用一些小工具软件时,会提示购买License(注册码之类的东东)后才能正常使用.在这里我们来尝试直接绕过License验证直接使用软件,实现简单的软件破解. 主要实现方式: 通过反编译工具 ...
- Ubuntu 安装软件方法
Ubuntu软件安装有几种方式,常用的是deb包的安装方式,deb是debian系列的Linux包管理方式,Ubuntu软件安装属于debian的派生,也默认支持这种软件安装方式,当下载到一个deb格 ...
随机推荐
- 利用apache的mod_rewrite做URL规则重写
使用mod_rewrite做url重写,伪静态,做过很多次,这次用几个例子记下来,便于后面查用. 使用方法: 1.在conf目录的httpd.conf文件中找到: LoadModule rewrite ...
- JDK源码分析-AtomicInteger
AtomicInteger可以看做Integer类的原子操作工具类.在java.util.concurrent.atomic包下,在一些使用场合下可以取代加锁操作提高并发性.接下来就从几个方面来介绍: ...
- arcpy.mapping常用四大件-MapsurroundElement
arcpy.mapping常用四大件-MapsurroundElement by 李远祥 在arcpy.mapping 中,除了数据入口MapDocument.图层Layer之外,另一重要的角色就是M ...
- CSS3知识点整理(三)----变形与动画
一.CSS3中的变形 1)旋转 rotate() rotate()函数通过指定的角度参数使元素相对原点进行旋转. 它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度. 如果这个值为正值,元 ...
- 在vim中,使用可视化拷贝(剪切)粘贴文本
1 定位光标到你想要开始剪切的位置 2 按v选择字符(按V是选择整行) 3 移动光标到你想要结束剪切的位置 4 按d是为了剪切(按y是为了拷贝) 5 移动光标到你想要粘贴的位置 6 按P是在光标之前 ...
- phpcms代码读取文章的内容 实用可行的方法
在使用phpcms做网站的时候经常遇到读取网站的内容作为推荐,而不是描述.这里使用可行的方法交你如何读取内容推荐.方法有两个,第一种执行的效率低,第二个效率高些. 1. {pc:get sql=&qu ...
- libviso中的姿态解算【转载】
这篇关于libviso的文章,本人已投稿在泡泡机器人微信公众号中,放到这里,作学习笔记用. libviso一直以来被称为在视觉里程计(VO)中的老牌开源算法.它通过corner,chessboard两 ...
- 使用StyleCop.Analyzers进行代码审查
为什么要进行代码审核? 提早发现代码中的BUG,避免将BUG带到生产环境 极大的提高软件质量,以及可维护性 统一代码规范.提高可读性,减少新加入成员的熟悉时间 加速个人和团队的成长,知识和经验的积累 ...
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(三)搭建步骤
框架介绍: 主角即Spring.SpringMVC.MyBatis.easyUI,大家应该也都有所了解,概念性的东西就不写了,有万能的百度. 工作环境: jdk 1.7 m ...
- ARP攻击
ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞.此种攻击可让攻击者取得局域网上的数据封包甚至 ...