软件工程
文章平均质量分 71
cdai
这个作者很懒,什么都没留下…
展开
-
关于产品需求文档的各种D
一篇不错的文章 http://www.zhihu.com/question/19886426 BRD:BusinessRequirementsDocument,商业需求文档。这是产品声明周期中最早的问的文档,再早就应该是脑中的构思了,其内容涉及市场分析,销售策略,盈利预测等,通常是和老大们过的ppt,所以也就比较短小精炼,没有产品细节。MRD:Market Requirements转载 2012-09-28 15:29:33 · 3488 阅读 · 0 评论 -
启发式面向对象设计(上)
前一阵子断断续续读完了一本老书《Object-Oriented Design Heuristics》,中文名被译作《面向对象沉思录》。虽然是一本老书,但里面的一些观点对我真的是很新奇,比如对象的动态语义、类之间的关系、关系的拓扑结构、对象树与编译器中抽象语法树的相似等,总而言之非常值得一读。1.面向对象的积木:类与对象面向对象范式使用类和对象的概念,作为分析、设计、实现的一致性模型。1.1...原创 2019-01-02 15:13:12 · 888 阅读 · 1 评论 -
统一过程的开端
一. 确定问题领域 1. 项目的最初输入 - 《前景》文档包括:项目背景调查、业务前景分析、业务可行性分析、技术可行性分析。2. 整理业务目标大部分情况下是由客户在招标书里提出的,也可以由开发方通过《前景》整理得出。 二. 涉众分析 最重要的是:准确描述涉众情况和他们对系统建设的期望,而不是进入业务细节。1. 寻找涉众通过以下角度寻找:业主(出资方...2010-04-28 22:43:37 · 138 阅读 · 0 评论 -
启发性的观点
1. 对象与关系数据库 对象和关系数据库存在着天然的矛盾(天然阻抗)。 首先,一个完整的对象到了DAO层却要被拆解成一个个参数,组装到SQL语句中。两个世界间的不一致导致了大量的翻译工作,使DAO层代码变得不够OO。其次,对象和关系数据库的不匹配还表现在关系数据库难以实现对象世界中的继承关系。在关系数据库中,需要用两张表来表示两个对象,然后通过表外键来建立两张表1:N关系,关键问题是...2010-04-27 22:33:13 · 216 阅读 · 0 评论 -
优雅的对象
最近一口气读完了二百多页的《Elegant Objects》。可能因为整理自博客所以排版一般,而且才二百多页定价却40多刀。但读过之后发现超值,甚至还想去买第二卷。作者观点大多比较激进,对自己的理念异常坚定,所以经常使用诸如“绝对不要使用XXX”、“记住XXX,就这样,句号”。但作者绝不故弄玄虚,在批判之后,一定会给出自己的建议和代码示例。除去个别章节个人觉得很有争议,大部分内容读过之后都是很震撼...原创 2018-07-16 08:38:19 · 1110 阅读 · 3 评论 -
BDD敏捷开发入门与实战
BDD敏捷开发入门与实战1.BDD的来由2003年,Dan North首先提出了BDD的概念,并在随后开发出了JBehave框架。在Dan North博客上介绍BDD的文章中,说到了BDD的想法是从何而来。简略了解一下BDD的历史和背景,有助于我们更好地理解。1.1 TDD的困惑Dan在使用TDD敏捷实践时,时常会有很多同样的困惑萦绕脑海,这也是很多程序员敏捷实践都想知道的:where to st原创 2015-11-06 22:11:20 · 8382 阅读 · 0 评论 -
TDD实践感悟
每个开发者都想开发出高质量的代码,更少的Bug、更容易维护不仅让人心情愉悦,也让我们有更多时间去学习和生活。少加一些班,多陪家人,:)当开发任务非常简单时,比如基本的增删改查,可能使用怎样的方式开发都是可行的,条条大路通罗马。但是当面临一个很复杂的、艰巨棘手的任务时,要保证很高的代码质量就会变得十分有挑战性。在这里为大家简单介绍一种来自敏捷编程实践中的方法论-测试驱动开发,即TDD原创 2014-04-09 11:52:08 · 14771 阅读 · 4 评论 -
StarUML中InteractionOperation的画法
StarUML画InteractionOperation的方法:http://stackoverflow.com/questions/16152278/using-alt-in-sequence-diagrams-for-staruml I had just found the steps as following.Please refer how to set "alt combined原创 2013-07-26 18:06:50 · 5939 阅读 · 1 评论 -
领域特定语言DSL
所谓领域专用语言(domain specific language / DSL),其基本思想是“求专不求全”,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言。几乎自计算机发明伊始,人们就开始谈论DSL使用DSL了。Unix社群是一个频繁使用DSL的社群,他们通常称之为小语言或迷你语言。(关于这一传统,Eric Raymond的《Unix编程艺术》有上转载 2013-04-10 09:21:08 · 2869 阅读 · 0 评论 -
实用的Maven打包小脚本
拷贝下面的Bat脚本到工作区,执行build.bat development(或test等)。Bat脚本会自动打包工作区中的各个工程,并将打包出来的war包拷贝到新建的build_war文件夹中。 echo 'Start to build project'@echo off【@echo off关掉回显,否则下面每执行一条语句都会打印一下正在执行的命令】 set MAVEN_原创 2012-11-23 20:48:08 · 9010 阅读 · 0 评论 -
如何高效地做设计评审
设计评审(Design Review),即在真正开始开发之前,组织一次或多次会议,先评审设计,以降低日后返工甚至项目失败的风险。相信工作过一段时间,开始主导一个功能模块甚至整个系统的同学,都对设计评审不会陌生。今天偶然看到了一篇亚马逊VP及Distinguished工程师Brad Porter的一篇博客,讲述了设计评审容易陷入的问题以及他主张的一些最佳实践。也许并不适用于所有公司和项目组,但不妨一...原创 2019-07-17 13:46:46 · 1576 阅读 · 0 评论