◆第二个目标是可持续性即便团队已经把一个能够运转的系统交付给用户,项目也还可能是失败的--实现项目投资者的需求,其中就包括系统应该要有足够的鲁棒性(robust ),能够适应日后的扩展。就像Alistair Cockburn常说的,进行软件开发的竞赛时,第二个目标就是准备下一场比赛。可持续性可能指的是系统的下一个主要发布版,或是正在构建的...
查看详细 >>其实Windows的三大模块就是以DLL的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了API函数的执行代码。为了使用DLL中的API函数,必须要有API函数的声明(.h)和其导入库(.lib),导入库可以先这样理解,导入库是为了在DLL中找到API的入口点而使用的。为了使用API函数,我们...
查看详细 >>软件开发工具包(Software Development Kit,SDK [5])是软件工程师为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件时的开发工具的**,一般以**API和文档、范例、工具的形式出现。 [6] [8]为应对20世纪60年代中期爆发的软件危机,人们提出以软件构件复用为**的即插即用的程序设计思路。80年代进...
查看详细 >>应用软件开发是指为满足特定用户需求而设计、创建和维护软件应用程序的过程。这一过程通常包括以下几个主要阶段:需求分析:与客户或用户沟通,了解他们的需求和期望,确定软件的功能和特性。设计:根据需求分析的结果,设计软件的架构、用户界面和数据库结构等。编码:根据设计文档进行实际的程序编写,使用适当的编程语言和开发工具。测试:对软件进行各种测试,包...
查看详细 >>不错,我可以买一张新地图,地图是每年出一次的,但为什么要这么麻烦呢?缺少一些街道并没有让我痛苦到不得不投资买一份新地图。简单的说,当地图还管用的时候,每年花钱买新地图是没有任何意义的。为了保持模型、文档和源代码之间的同步,已经浪费了太多太多的时间和金钱了,而同步是不太可能做到的。时间和金钱投资到新的软件上不是更好吗?确实不错的主意以下的实...
查看详细 >>◆创建简单的内容 你应该尽可能的使你的模型(需求、分析、架构、设计)保持简单,但前提是能够满足你的project stakeholder的需要。这就意味着,除非有充分的理由,你不应该随便在模型上画蛇添足--如果你手头上没有系统认证的功能,你就不应该给你的模型增加这么一个功能。要有这样的勇气,一旦被要求添加这项功能,自己就能够马上做到。这和...
查看详细 >>**原则◆主张简单敏捷开发当从事开发工作时,主张**简单的解决方案就是比较好的解决方案。不要过分构建(overbuild)软件。用AM的说法就是,如果并不需要这项额外功能,那就不要在模型中增加。要有这样的勇气:不必要对这个系统进行过分的建模(over-model),只要基于现有的需求进行建模,日后需求有变更时,再来重构这个系统。尽可能的保...
查看详细 >>通常一个应用笔者会做出十个以上的不同图标(完全不同)然后让朋友(建议多找非专业人士来挑选,因为你的应用要卖的对象是一般**,要找受众面**广的族群来帮你挑选图标比较好)而且笔者通常会把图标列印出来,贴在办公室的白板上同时观看,这样更容易选出**适当的图标,虽然花了几张 A4 纸与墨水,但如果这样能让应用有更多的收入,那应该是非常值得的,这...
查看详细 >>◆切换到另外的Artifact 当你在开发一个artifact(例如用例、CRC卡片、顺序图、甚至源码),你会发现你卡壳了,这时候你应当考虑暂时切换到另一个artifact。每一个artifact都有自己的长处和短处,每一个artifact都适合某一类型的工作。无论何时你发现你在某个artifact上卡壳了,没办法再继续了,这就表示你应该...
查看详细 >>◆用代码验证 模型是一种抽象,一种能够正确反映你正在构建的系统的某个方面的抽象。但它是否能运行呢?要知道结果,你就应该用代码来验证你的模型。你已经用一些HTML页面建立了接受付款地址信息的草图了吗?编码实现它,给你的用户展示**终的用户界面,并获取反馈。你已经做好了表示一个复杂业务规则逻辑的UML顺序图了吗?写出测试代码,业务代码,运行测...
查看详细 >>◆递增的变化和建模相关的一个重要概念是不用在一开始就准备好一切。实际上,就算想这么做也不太可能。而且,不用在模型中包容所有的细节,只要足够的细节就够了。没有必要试图在一开始就建立一个囊括一切的模型,只要开发一个小的模型,或是概要模型,打下一个基础,然后慢慢的改进模型,或是在不再需要的时候丢弃这个模型。这就是递增的思想。◆令投资比较大化项目...
查看详细 >>◆合同模型要正式 在你的系统需要的信息资源为外部组织所控制的时候,例如数据库,旧有系统和信息服务,你就需要合同模型。一个合同模型需要双方都能同意,根据时间,根据需要相互改变。合同模型的例子有API的细节文档,存储形式描述,XML DTD或是描述共享数据库的物理数据模型。作为法律合同,合同模型通常都需要你投入重要资源来开发和维护,以确保它的...
查看详细 >>