Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

如何利用Spec Flow编写自动化验收测试

如何利用Spec Flow编写自动化验收测试

如何利用Spec Flow编写自动化验收测试2014-08-07 infoq Mustafa Saeed Haji A对验收测试、Gherkin及Spec Flow的介绍验收测试或功能测试是验证系统是否满足需求的一种测试。这些测试作为黑盒测试的一种,与其内部具体执行无关。验收测试只是用来验证系统是否符合某一需求。现在我们一起看下面这个关于网页登录功能的需求:Feature: LoginIn order to access my accountAs a us...
敏捷时代的建模:敏捷团队的扩张除了代码还需要什么?

敏捷时代的建模:敏捷团队的扩张除了代码还需要什么?

敏捷时代的建模:敏捷团队的扩张除了代码还需要什么?2014-08-07 infoq Kenji Hiranabe 译:邵思华敏捷方法已经成为了当前软件开发的主流模式,可工作的代码(以及自动化测试)被认为是团队最重要的产出。那么是否不再需要建模了呢?UML真的已死?我并不这么认为。在本文中,我将探索在敏捷时代,建模方法依然适用并且扮演关键角色的所在。尤其在开发规模扩张到多个团队后,对整个系统的“Big Picture”达成共识将变得非...
全程软件测试实践:从需求到运营

全程软件测试实践:从需求到运营

全程软件测试实践:从需求到运营2014-08-07 infoq 李乐之前一篇文章《软件测试转型之路》介绍过我们转型的一些实践,下文将介绍从2011年3月至今,持续改进的全程软件测试实践活动。1 全程软件测试图解传统的软件测试,可以简单描述为下图所示:图-1-传统交付测试开发人员完成任务之后,最后交付给测试人员,这种模式下,测试人员不能及早发现需求阶段的缺陷,同时测试工作的开展也滞后了,产品质量得不到有效的过程控制和分析,总体进度可能会由于返工问题造成拖延。...
敏捷与结构性模块化(一) 探讨结构性模块化和敏捷之间的关系

敏捷与结构性模块化(一) 探讨结构性模块化和敏捷之间的关系

敏捷与结构性模块化(一) 探讨结构性模块化和敏捷之间的关系2014-08-08 infoq ichard Nicholson1 简介敏捷开发方法论日益流行,然而大多数“敏捷”专家和分析师都在孤立地讨论敏捷,也就是说忽视了系统“结构”(Kirk Knoernschild是一个例外,他编写了一本名为《Java Application Architecture》的图书阐述这一理念)。考虑到“敏捷&rdq...
敏捷与结构性模块化(二) 研讨OSGi

敏捷与结构性模块化(二) 研讨OSGi

敏捷与结构性模块化(二) 研讨OSGi2014-08-08 infoq Richard Nicholson在上一篇文章中,介绍了结构性模块化与敏捷之间的关系,在这个系列的第二篇文章中,我们将会研讨OSGi,在实现Java的结构性模块化方面,OSGi扮演了核心的角色;OSGi与流行的敏捷方法论之间存在着自然的联系。1 但我们已经实现了模块化!绝大多数开发人员都同意程序应该模块化。尽管在面向对象的程序设计出现的早期,逻辑性模块化的要求就被迅速满足了(见), 但...
如何提高代码质量(管理篇):代码复查

如何提高代码质量(管理篇):代码复查

如何提高代码质量(管理篇):代码复查2014-08-08 fangang 也许你是一位项目经理,也许你是一位项目骨干成员,或者开发小组长。在我发表“如何提高代码质量”的这一系统文章后,有许多网友都向我抱怨,说他无法把握整个项目组成员的代码质量。我想,这也是所有项目组普遍存在的问题吧,它通常表现为以下几个问题:软件项目普遍存在的问题1)新手。任何项目组成员都不可避免地出现新手,他们往往是刚刚从大学毕业的学生。这些新手由于软件开发时间太...
敏捷与结构性模块化(三) 现实世界的挑战

敏捷与结构性模块化(三) 现实世界的挑战

敏捷与结构性模块化(三) 现实世界的挑战2014-08-08 infoq Richard Nicholson现实世界的挑战:基于OSGi/Bndtools的开发、发布和版本控制的工作流程该系列的第一篇文章介绍了结构性模块化和敏捷的根本性的关系,在第二篇中我们了解到如何使用OSGi实现高度敏捷和高度可维护的软件系统。第三篇文章基于标题为“现实世界的挑战:基于OSGi/Bndtools的开发、发布和版本控制的工作流程”(Workflow...
软件开发的那些事儿:软件开发的轮回

软件开发的那些事儿:软件开发的轮回

软件开发的那些事儿:软件开发的轮回2014-08-08 iteye fangang——对软件分析设计的一次深刻反思与探讨前言:你干软件开发多少年了?你是否开始感到困惑了、累了、算了?你是否该找一个加州旅馆好好歇一歇脚了?这篇文章也许就是你的加州旅馆,它给你解惑,反思软件开发中出现的问题,探讨解决这些问题的办法,那就是建立模型——用例模型、领域模型、分析模型和设计模型。谈起软件开发,我在10年前就开始了。那时天...
领域模型的那些事儿:从领域获取知识

领域模型的那些事儿:从领域获取知识

领域模型的那些事儿:从领域获取知识2014-08-08 fangang 前言:你写过用例模型吗?也许有;你写过领域模型吗?也许还没有。在这里,我们可以尝试写写领域模型,看看它的作用、带给我们的好处。随着RUP在中国的传播,人们开始尝试用RUP统一过程来指导软件的设计和开发,但这些尝试并不成功。比较普遍的,大家都开始使用用例模型来进行需求阶段的分析和设计了。当然,能做出第一步已经非常不错了,但这远远不够。要做好需求分析,用例模型可以帮助我们分析清楚软件需求中...
领域模型的那些事儿:注意什么

领域模型的那些事儿:注意什么

领域模型的那些事儿:注意什么2014-08-08 fangang 前面我们讲了如何从业务领域获取知识,创建领域模型,那么建立领域模型应当注意什么呢?建立领域模型应当注意的问题1.领域模型不是数据模型,也不是软件对象模型一个创建领域模型的过程中非常容易犯的错误就是,将领域模型当成了数据模型,或者软件对象模型。领域模型,又称为概念模型、领域对象模型或分析对象模型,是“专用于解释业务领域中重要的‘事物’和产品”[R...
软件开发的那些事儿:解决之道

软件开发的那些事儿:解决之道

软件开发的那些事儿:解决之道2014-08-08 fangang 前面提出了软件开发的轮回:期望——破灭——崩溃——新的轮回,我们的解决之道在哪里呢?我的反思——不在沉默中爆发,就在沉默中灭亡反思,我在反思……对于来自客户的变更,我永远忘不了的是大学时老师的谆谆教导。上软件工程课的时候,老师总是一再地反复强调,一定要将需求变更消灭在需...
分析模型的那些事儿:开始分析

分析模型的那些事儿:开始分析

分析模型的那些事儿:开始分析2014-08-08 iteye fangang——对分析模型的一点儿见解当需求分析结束、需求确认完成、需求讨论告一段落的时候,我们的需求分析员拿出了厚厚的一打用例分析模型、领域设计模型,需求分析阶段结束,开始进入开发阶段。但是,这时候虽然需求分析阶段结束了,却千万不要以为需求分析就结束了,如果你还这样认为,说明你还没有摆脱瀑布式开发的思维。瀑布式开发的思维的关键点就是认为,需求分析阶段应当完成所有的需求...
分析模型的那些事儿:职责驱动设计

分析模型的那些事儿:职责驱动设计

分析模型的那些事儿:职责驱动设计2014-08-08 fangang 前面讲了为什么我们要使用分析模型,现在我们看设计分析模型的基本原则。分配职责和职责驱动设计我们在开始分析模型的时候,首先要弄清楚一个非常重要的原则,就是以职责为中心。OO分析设计的核心原则之一,就是软件系统中的所有元素都必须具有高度相关的职责,也就是说,软件系统中所有的模块、包、对象类,都应当拥有一个清晰的职责,并且与它相关的所有元素(即模块中的所有包、包中的所有对象类、对象类中的所有属...
用例模型的那些事儿:注意什么

用例模型的那些事儿:注意什么

用例模型的那些事儿:注意什么2014-08-08 iteye fangang前面我们讲了如何建立用例模型,那么建立用例模型应当注意什么呢?建立用例模型应当注意的问题给大家几个建立用例模型中常出现的问题和应对遵循的原则:一.如何发现用例经过以上的讲解,相信大家对建立用例模型有了一个整体的概念,然后开始着手练习绘制用例模型。这时候,一个非常严峻的问题出现了:如何发现用例。大师曾经给出了答案,大致意思就是:首先选择系统边界,然后确定主要参与者,定义满足用户目标的...
用例模型的那些事儿:用例图

用例模型的那些事儿:用例图

用例模型的那些事儿:用例图2014-08-08 iteye fangang——对用例模型及其应用的一次有益的探讨前言:这是一次对用例模型的探讨。怎样建立用例模型,怎样编写用例说明,它与需求规格说明书有什么区别,它能替代需求规格说明书吗?也许在这里可以找到你要的答案。进入软件业稍微久一点儿的人恐怕都不会陌生,软件开发的最初阶段都是谈需求、写需求规格说明书。需求规格说明书是与客户最终确认到纸上的,非常正式的公文。软件开发应当做什么,做成...
IT架构设计框架ADMIT简介

IT架构设计框架ADMIT简介

IT架构设计框架ADMIT简介2014-08-14 infoq Suman K Pradhan 译:王灵ADMIT(信息技术架构设计(开发)方法学)是一种决策工具,用于系统地开发健壮的系统,它使用了二十种设计驱动力和策略以及十五个方面的生命周期过程。该方法学定义了一个架构的开发生命周期、周期的每个阶段、管理架构开发的流程,可以和其他框架一起使用。另外本文还讨论了架构设计级别和领域、资源维度,以及架构如何与质量和设计相关联。引言在信息技术领域,架构在业务现代...
Rafy领域实体框架示例(1) 转换传统三层应用程序

Rafy领域实体框架示例(1) 转换传统三层应用程序

Rafy领域实体框架示例(1) 转换传统三层应用程序2014-08-14 胡庆访 Rafy 领域实体框架发布后,虽然有帮助文档,许多朋友还是反映学习起来比较复杂,希望能开发一个示例程序,展示如何使用 Rafy 领域实体框架所以,本文通过使用 Rafy 领域实体框架来改造一个传统的三层架构应用程序——“服装进销存”系统,来讲解如何使用 Rafy 领域实体框架进行数据库应用程序的快速开发,以及替换为使用 Rafy...
Rafy领域实体框架演示(2) 新功能展示

Rafy领域实体框架演示(2) 新功能展示

Rafy领域实体框架演示(2) 新功能展示2014-08-14 胡庆访 本文的演示需要先完成上一篇文章中的演示:《Rafy 领域实体框架示例(1) - 转换传统三层应用程序》。在完成改造传统的三层系统之后,本文将讲解使用 Rafy 实体框架后带来的一些常用功能。数据库自动生成在程序转换转换完毕后。由于已经配置好数据库的连接字符串,所以直接运行整个程序,Rafy 会同时生成对应的数据库、表、字段,以及相应的外键关系等。该库满足数据库的第三范式要求。同时,开发...
Rafy领域实体框架演示(3) 快速使用 C/S 架构部署

Rafy领域实体框架演示(3) 快速使用 C/S 架构部署

Rafy领域实体框架演示(3) 快速使用 C/S 架构部署2014-08-14 胡庆访 本系列演示如何使用 Rafy 领域实体框架快速转换一个传统的三层应用程序,并展示转换完成后,Rafy 带来的新功能。以 Rafy 开发的应用程序,其实体、仓库、服务代码不需要做任何修改,即可同时支持单机部署、C/S 分布式部署。本文将说明如果快速使用 C/S 分布式部署。前言截止到上一篇,我们开发的应用程序都是采用直接连接数据库的模式:接下来,将通过一些简单的调整,使得...
Rafy领域实体框架演示(4) 使用本地文件型数据库SQLCE绿色部署

Rafy领域实体框架演示(4) 使用本地文件型数据库SQLCE绿色部署

Rafy领域实体框架演示(4) 使用本地文件型数据库SQLCE绿色部署2014-08-14前言支持一款与 Access 类似的文件型数据库,对于一些绿色安装的应用程序来说是非常必须的。使用 Rafy 领域实体框架开发的应用程序,可以在不变更一行代码的情况下,直接由大型数据库管理系统,移植到使用简单的 SqlCE 4 文件型数据库。(关于选择使用 SQLCE 4 作为文件型数据库的原因,详见:《OEA 2.11 支持单机版数据库 - SQLite与SQLCE...
<< 161 162 163 164 165 166 167 168 169 170 >>