一:什么是迭代和进化式开发 1:迭代和进化式开发:通常会在还没有详细定义所有需求的情况下假设开发开始,同时使用反馈来明确和改进演化中的规格说明: 2:迭代方法与较高的成功率.生产率和低缺陷率具有关系: 3:软件开发过程描述了构造.部署以及维护软件的方式: 4:迭代生命周期基于对经过多次迭代的系统进行持续扩展和精化,并以遁环反馈和调整为核心驱动力,使之最终成为适当的系统: 5:因为反馈和调整使规格说明和设计不断进化,所以这种方法也称为迭代和进化式开发. 6:在项目开始为期三周的迭代中,可以用周一上…
UML和模式应用学习笔记-1(面向对象分析和设计) 而只是对情节的记录:此处的用例场景为:游戏者请求掷骰子.系统展示结果:如果骰子的总点数是7,则游戏者赢得游戏,否则为输 (2)定义领域模型:在领域模型中展示重要的领域概念和对象,领域模型并不是对软件对象的描述,它使真实世界领域中的概念和想象可视化:因此它也被称为概念对象模型: (3)定义交互图:面向对象设计关注软件对象的定义--它们的职责和协作:顺序图是描述协作的常见表示法,它展示出软件对象之间的消息流,和由消息引起的方法调用. (4)定义设计…
很多时候,我们都想使用(开发)USB式(热插拔)的应用,例如,开发一个WinForm应用,并且这个WinForm应用能允许开发人员定制扩展插件,又例如,我们可能维护着一个WinService管理系统,这个WinService系统管理的形形色色各种各样的服务,这些服务也是各个"插件式"的类库,例如: public interface IJob { void Run(DateTime time); } public class CollectUserInfo : IJob { public…
1.前言 如何进行迭代和进化式分析和设计?将采用案例研究的方式贯穿始终.案例研究所包含的内容: UI元素 核心应用逻辑层 数据库访问 与外部软硬构件的协作 本章关于OOA/D主要介绍核心应用逻辑层 2. 重点探讨核心应用逻辑层的OOA/D的原因 图 OOA/D层举例及重点关注层 其它层对技术平台具有较大依赖性: 核心应用逻辑层的OO设计对各种技术来说是类似的: 应用逻辑层语境中学习到的基本OO设计技巧适用于所有其它层或构件 其它层的设计方法和模式呈现出快速变化的趋势 3. 案例研究策略 迭代开发…
1.在<如何面向对象设计>和<如何进行对象设计?>中,对如何迭代和进化式的设计对象做些总结: 1).轻量+简短 2).快速进入编码+测试 3).不要试图在UML中细化所有事物 4).对设计中有创造性和困难的部分进行建模 2.各阶段所出的制品…
1 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. 2 语法 enumerate(sequence, [start=0]) sequence -- 一个序列.迭代器或其他支持迭代对象. start -- 下标起始位置. 3 返回值 返回一个enumerate对象 例如: >>> enumerate([]) <enumerate object at 0x7fa21808263…
第一章 引言 GoF 所著的的<设计模式>,在软件领域引入了"设计模式"(design pattern)的概念. 而后,Andrew Koenig 在 1995 年造了 反模式(anti-pattern) (又称反面模式)这个词,灵感来自于 GoF 所著的的<设计模式>. 反模式指的是在实践中经常出现但又低效或是有待优化的设计模式,是用来解决问题的带有共同性的不良方法.它们已经经过研究并分类,以防止日后重蹈覆辙,并能在研发尚未投产的系统时辨认出来. 所以,反模式…
一.输入映射和输出映射 1.1 parameterType(输入类型) [传递简单类型] 详情参考Mybatis学习笔记之一(环境搭建和入门案例介绍) 使用#{}占位符,或者${}进行sql拼接. [传递pojo对象] 详情参考Mybatis学习笔记之一(环境搭建和入门案例介绍) Mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称. 1.2 传递pojo包装对象 开发中通过可以使用pojo传递查询条件.查询条件可能是综合的查询条件,不仅包括用户查询条件…
驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB video class 或USB video device class.是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一. UVC linux driver: UVC linux 驱动 需要在编译内核的时候选上 配置内核 Device…
在网上搜索“为什么MVC不是一种设计模式呢?”其中有解答:MVC其实是三个经典设计模式的演变:观察者模式(Observer).策略模式(Strategy).组合模式(Composite).所以我今天选择学习策略模式. 策略模式:定义了一系列家族算法,并对每一种算法单独封装起来,让算法之间可以相互替换,独立于使用算法的客户. 通常我并不会记得“牛顿第一定律”的具体内容,所以我也难保证我会对这个定义记得多久……用FE经常见到的东西来举个例子说明一下: $("div").animation(…