敏捷系统设计浅谈

1.高度的结构性模块化

2.只有理解了系统,可控制的变更和升级才可能实现(只需理解所负责的系统的相关参数及相应等级层次的行为)

3.外部关心:系统暴漏的行为,提供的服务类型及该服务属性

4.系统建立模型概念(抽象系统):分解成一组更小的相互关联的单元

5.模块间的依赖关系需要由需求和功能来表达

6.通过使用语义化版本的方式表达系统变更带来的影响,再加上需求和功能——
系统敏捷且易维护

7.敏捷的结构:每层只暴漏必要的信息。每层都由组件间的依赖组成,这些依赖通过需求和功能来进行描述

敏捷的结构是以分层的层级结构建立起来的(模块化很重要):

代码级模块 —— 子服务 —— 业务组件 —— 商务服务

8.敏捷特性:
层次结构(每一层有更低一层构成)、隔离性、抽象化、自描述、变化的影响

9.敏捷系统:易于理解、高适应性、可演化的

敏捷系统设计浅谈,布布扣,bubuko.com

时间: 2024-10-14 06:34:05

敏捷系统设计浅谈的相关文章

浅谈敏捷软件开发与传统软件开发

本文将介绍传统软件开发与敏捷软件开发,并简单分析二者的优缺. 首先我查阅相关资料大致了解了下为什么会爆发"软件危机"和什么是"软件危机".由于在早期的软件开发活动中有明显的个体化特征,开发流程不规范,人们没有将软件与程序加以详细的区别,对程序之外的数据和相关文档资料没有给予重视,对编写程序之外的软件活动也没有给予重视,因此出现了"软件危机"."软件危机"的特点有:开发成本急剧上升.不能按时交付软件.软件难以维护.无法保证软件质

管理从砖瓦进化为人——浅谈传统软件工程到敏捷软件开发之变革

管理从砖瓦进化为人 --浅谈传统软件工程到敏捷软件开发之变革 前言 如果把软件开发过程比作修筑一座建筑的话,传统的软件工程方法对人的管理就像是把人化作一砖一瓦,秩序地堆砌,一层一层构建起摩天大厦. 显然地,人是不同于砖瓦那样的死物的.人作为一种复杂的动物,软件开发者会有喜怒哀乐,枯燥重复的工作内容会使他们提不起兴趣而缺乏激情:客户想法会随变动的现实而一天天有所转变,软件需求很难保持一成不变:开发者与测试者对于项目的认识会存在差异,而差异将导致效率的降低--因而传统的有些"反人类天性"的

浅谈优惠券系统设计

原文:浅谈优惠券系统设计 一.概述 利用闲暇时间总结下优惠券系统的一些业务与技术方案的设计及其注意事项.从业务与技术角度构建一个安全的高可用的优惠券系统 我们的目标:安全,可扩展,高可用 二.优惠券业务架构 优惠券的种类: 满减券:如满100-10,满2件减10元 折扣券:如满100打9折 优惠券相关概念: 规则定义:涉及计算的部分,作用范围:商品.商户.类目,计算方式:是否累加,是否互斥等 优惠券定义.模板:发放有效期,使用有效期,使用渠道,发放渠道,券类型:商户券,平台券 优惠券:发放到用户

浅谈瀑布模型

第一种瀑布模型 什么是瀑布模型?瀑布模型是在1970年由温斯顿·罗伊斯(Winston Royce)提出,它将软件的逻辑实现和物理实现分开,将功能的实现与设计分开,它定义了6个阶段,制定计划->需求分析->系统设计->编码->测试->运行维护,这个软件开发过程就按照该6个阶段展开,层层递进,就像瀑布一样,一层一层往下落,所以叫做瀑布模型. 瀑布模型实际就是一个项目开发的架构,软件开发的过程就是按照这一些列定义好的顺序展开.在软件工程才刚刚开始的早期阶段,瀑布模型的提出,使人们

浅谈结对编程

浅谈结对编程 结对编程 结对编程,是一种敏捷软件开发的方法,极限编程的组成部分.结对编程技术是指两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计.同一个算法.同一段代码或同一组测试.一人充当“执行”角色,只负责编程.另外则负责“观察者”(或“导航”),检测bug和把控整体设计.两个程序员具有相同的缺点和盲点的可能性很小,所以当我们采用结对编程的时候会获得一个强大的解决方案.而这个解决方案恰恰是其它软件工程方法学中所没有的. 由于自己长时间都习惯了一个人编程,所以在这次结对编程的初期在做项目的

版本管理和项目管理软件浅谈

版本管理和项目管理软件浅谈 项目管理软件 Trac vs Redmine 关于Trac,之前想为计组实验平台搭建Wiki的时候作为“备胎”所了解过,而与当时功能与其相似,看起来更有竞争力的产品——Redmine相比而言我更加看好Trac,因为Redmine有一些严重的缺点: 安装非常麻烦.在实际的生产环境中,Redmine在Debian\Ubuntu系统下没法稳定运作.Redmine的依赖是固定的,所以一些新的版本库可能没法工作.而且必须自己在apt-get中配置更新源,否则很容易错将某些依赖升

浅谈软件项目的需求管理

软件项目区别于其它项目的最显著的特征是其不可见性,它不像硬件购销.建筑工程,都是实实在在可见的东西.而软件项目在系统交付之前很长一段时间,客户是无法感知自己想要的系统究竟是什么样子.因此,需求管理就显得十分重要,据相关统计数据分析,软件项目90%以上失败的原因都在于没有重视需求或者需求管理方面做的不到位导致的. 需求管理作为软件项目管理的一个重要内容,贯穿项目实施的全生命周期.俗话说:万事开头难.需求作为软件开发的第一个环节,其重要性不言而喻.市面上关于需求管理的相关理论和书籍很多,但多数停留在

浅谈程序员的行业选择---程序人生

引言 本篇博文接着许久之前的一篇博文<浅谈程序猿的职业规划,看你如何决定自己的未来吧.>,继续探讨一下程序员行业相关的内容. 行业的选择不仅对于程序员来说非常重要,对任何一个人来说都是一样的.只不过对于程序员来说,行业更容易被忽略.从程序员每天热议的话题就能看出来,大部分的热议话题都是C#和Java哪个更牛B,或者IOS和Android哪个挣得钱多,很少看到程序员去讨论两个行业谁更有发展前景. 鉴于此,今天我们就来着重讨论一下程序员行业的选择,行业和语言一样,没有谁优谁劣,只是一种选择罢了.

浅谈产业界与学术界的合作研究(转)

[编者注:原文可参阅: http://blog.sciencenet.cn/blog-414166-795432.html ] 最近网络上有一个流传甚广的微故事:"某企业引进了一条香皂包装线,结果发现经常会有空盒流过.厂长聘请一个博士后花了200 万设计出一个全自动分检系统.一个乡镇企业遇到了同样的问题,民工花90 元买了一台大电扇放在生产线旁,一有空盒经过便会吹走."这个微故事不断出现在笔者的视线中,想必在网络上得到了公众的认可.引起了共鸣,所以大家争相转发.平心而论,大多数人的内心