摘要:
与鲁棒性无关。鲁棒图的3种元素:边界对象:边界对象对模拟外部环境和未来系统之间的交互进行建模。边界对象负责接收外部输入,处理内部内容的解释,并表达或传递相应的结果。控制对象:控制对象对行为进行封装,描述用例中事件流的控制行为。实体对象:实体对象对信息进行描述,它往往来自领域概念,和领域模型中的对象有良好的对应关系。鲁棒图与MVC对比:基于鲁棒图进行建模的10条经验:1、遵守建棒规则;2、简单建模语法;3、遵循三种元素的发现思路;4、增量建模;5、实体对象!=持久化对象;6、只对关键功能画鲁棒图;7、每个鲁棒图有2~5个控制对象;8、勿关注细节;9、勿过分关注UI,除非辅助或验证UI设计;10、 阅读全文
摘要:
书中的核心主张认为,方法体系是软件未来发展的重大趋势之一。而ADMEMS (Architecture Design Method has been Extended to Method System)正是贯穿本书的一套架构设计的方法体系。 ADMEMS方法体系将软件架构的过程分为三个阶段和一个贯穿环节,进而覆盖“需求进,架构出”的架构设计的完整工作内容。基中Pre-Architecture阶段,意在全面理解需求,从而把握需求特点,进而确定架构设计驱动力。而Conceptual Architecture阶段所关注的是如何通过关键功能、关键质量及业务需求和约束来塑造概念架构。Refined Ar. 阅读全文
摘要:
何谓软件架构? 书上是这么定义的:软件架构是系统的抽象,定义了元素以及它们之间的交互,忽略了纯粹属于局部的信息,元素的细节不属于架构。架构还关注元素的外部可见属性,有元素提供的服务,元素需要的服务,以及元素具备的性能特性、容错特性、对共享资源的使用等。 架构本身是系统的抽象,其定义同样比较抽象,不便于理解,甚至至今对于架构都没有一个精确的定义。因此,经常有人将架构与框架混为一谈。这里通过解释两者的区别,来进一步了解架构的定义。简单点讲,框架是软件,而架构不是软件,如下图。 框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建... 阅读全文
摘要:
架构设计是由需求驱动,而非模型驱动。架构师是公认的技术高手,但不代表架构师就不需要懂需求。软件架构师,可以不是需求捕获或《需求规格说明书》编写的专家,但他一定应该在需求分类、需求折衷和需求变更的研究方面是专家。 软件需求分为功能需求、质量属性(非功能需求)和设计约束三部分。各部分对架构设计的影响如下。 功能需求:功能是发现职责的依据,每个功能是都是由一条“职责协作链”完成的,架构师通过为功能规划职责协作链、将职责分配到子系统、为子系统界定接口、确定基于接口的交互机制,来推动架构设计的进行; 质量属性(非功能需求):质量是完善架构设计的动力,基于当前的架构设计中间成果,进一步考虑具体质量要求,对 阅读全文
摘要:
最近在学习音频、视频处理编程技术,本人遇到的第一个问题就是用capDriverConnect函数捕获视频源时总是失败,弹出一个捕获源对话框,我点击确定后函数的返回值为0,捕获失败,我在网上也搜索了这方面的资料,发现好多人都遇到了这个问题,大家说需要多次连接才能成功,连接次数不确定,完全是碰运气,运气好的话能连上,但是大家都没有给出解决的方法,我经过多次实验找到了一种解决的方法与大家分享我查看了VC++视频处理这方面的书籍,里面给出的连接代码全部是下面这种形式if(capDriverConnect(m_hwnd,0)==TRUE){.......//表示连接成功就可以执行其他的代码了}else{ 阅读全文
摘要:
我们知道,通过Qt的各种Layout可以实现控件的自动布局。但是在使用Qt Designer创建的UI时,发现UI始终是设计时的样子,无法随着容器的放大缩小自适应地变化。通过之前对ui的.h文件进行分析,我们知道Qt在生成ui代码时,根据最外层的Layout自动添加一个了Widget: /** 这个Widget在UI设计时是没有的,是Qt为了方便组合其他的组件而且自动创建的。 Widget的名字是根据最外层的组件来的,这里最外层是一个QVBoxLayout组件,故Widget 以VerticalLayoutWidget命名*/ QWidget *verticalLayou... 阅读全文
摘要:
现在Android社交应用很多,但主要面向的是大众社交,而对于细分群体没有专门的区分,如新浪微博、微信、米聊,你可以关注任何人,同样谁都可以关注你。也许大公司们都不屑于对某一个特写的群体专门开发应用,但是对于个人或者小的创业团队来说,从具体的细分领域入手或者更容易打开市场。比如,针对程序员们的社交应用,关注他们对技术和女人的渴望。。比如,针对情侣二人世界的应用,只有两个人的社交,不会被人打扰。。 阅读全文
摘要:
首先,需要使用Qt Designer设计你的UI界面。Qt号称是跨平台应用程序和UI开发框架,所以其自带的UI设计器(即Qt Designer)功能也非常强大。除了通常用的如Button,List等组件外面,使用Qt Designer做UI设计的过程中,用的最多的应该是它的Layouts了。Qt Layout用于对窗口控件的排版,不需增加任何代码实现控件自动对齐,以及随窗口大小自动缩放等效果。对于Layout,这里就不多说了,有时间单独开一篇写吧。此外,Qt Designer的属性框里,可以对组件的属性进行编辑(但貌似可供设置的属性有限,很多特殊属性还是要在代码里指定,如输入验证等。。),还可 阅读全文
摘要:
由于工作需要,现在用到Qt多些,把学习过程记录下来,以便回顾。先说一下安装过程。Qt有自己的一套完整开发环境,有兴趣的可以下载安装它的SDK包,链接:http://qt.nokia.com/downloads-cn。不过,我是要在VS2008下开发,所以选择只安装框架,我用的是qt-win-opensource-4.7.3-vs2008.exe,当前最新版本为4.8.2:http://qt.nokia.com/downloads/windows-cpp-vs2008。下载,选择自己喜欢的路径安装,没什么好说的(需要注记的是,使用4.6之前版本的,安装后需要编译源码,但4.7以后就不需要了)。安 阅读全文
摘要:
整天在园子里泡着,也会隔三差五的看些东西,也有想过把看了的,学了的东西总结一下,却总是因为这样那样的原因没有执行,嫌麻烦,或者觉得太浪费时间。但是,看多了别人的文章就会有点惭愧了,更多的却是羡慕。当你回过头的时候,可以看到自己走过的每一个脚印时,会是件很幸福的事情。当老无所依的时候,我们唯一可以聊以自慰的应该只有回忆了吧。。但是,回忆在哪呢?所以,把自己学的东西经常的总结一下,记录一下还有很必要的。说无私点,总结出来的东西也许可以帮后来的人解决一些问题,让他们少走一些弯路;说实在点,总结是一种对自己负责的态度。什么叫对自己负责呢?就是你不是在应付自己,你得把看到的东西转变成自己的东西。什么时候 阅读全文