赶鸭子上架,我顶一段需求分析和产品设计
07-4
原来用ADODB进行开发,效率一直是个不小的问题。虽然他可以兼容多个数据库,但在实际开发中几乎没什么用处。小型项目不会去频繁切换数据库,中大的项目也不会忍受它的速度。
突然发现还有个mini版本的adodb lite,官方这样说的:
最近做个小程序,正好用上试试,希望不让我失望。
这些日子一直在分析刚完工的项目,总得来说,能交付测试。但离产品阶段,还是差很差一截。
产品化,即一个项目可以轻松复制,交付给不同用户。
产品化的软件一个关键是不是可以轻松迁移,而轻松迁移就取决于迁移需要修改的参数接口是不是更加灵活。这在于我们在设计产品之前有没有合理开发一些关键参数,进行迁移。
在这个层面上说的分层,可理解为软件主题跟用户接口的分层。我们把软件-接口=开发者-用户这样的结构理解为两层。
程序层面上的分层,看此篇 PHP工厂方式的三层结构
另一个产品化的标识,就是方便修改,主要是风格方面。因此,在程序前端部分,需要合理设计我们的VIEW层代码。
VIEW层分层,主要是分成HTML(DIV)+CSS,CSS决定页面的风格,这样,只要重新CSS就能快速修改页面风格。
JS分层。如果是试用标准的xhtml标准或者DOM格式的代码,那可以方便得把事件和函数写在附加的js文件中。
对于大公司(千人~万人的开发团队),一般写代码的人最少,前边搞需求分析和系统规划,后边搞测试,两头人多。而小公司结构一般就比较随意,根据项目情况,去合理安排结构。而开发一些很小的项目,比如几个人的团队,成本核算就不那么容易了。
人多,不等于效率高。在开发这个领域 1×5 != 5×1 。说通俗点,一个老程序员10天一个人能开发完的,并不等于10个同等水平的人一天能干完。
这个事情其实还是好解决的,我们可以把项目分解出来,模拟一个模块开发流程的时间表。这时,我们就能知道,为什么10个人不能一天完成,模块是有先后关联的。
再说人力消耗,如果多人协作,人力成本会更加微妙,这多少跟程序员的心态有关。老程序员能解决大部分难题,并且有能力完成整个项目,但有些模块也是不愿意去做的,因为他会考虑一个性价比的问题。而新手程序员,未必不能解决一些基本的模块,他们更加关心这个过程中知识方面的提升。
因此,把项目分拆,设计好开发流程,合理分配不同的内容给不同的人,是这件事情的核心。
至于程序员的薪酬,不加考虑。其实如果考虑薪酬,考虑开发进度,就可以用最优的价格,最短的开发周期去完成一个项目。
前言:托wtf的福,我的名字出现在《黑客在线》最后一页的左上角上!虽然QQ后边注释:帅哥勿加,可是一个找俺的MM都没有,到招来了一帮的大鸟小鸟。天下网民是一家,统统加上,有问题的,一起讨论解决。 不过《黑防》的读者里有很多都挣扎在水深火热的网吧里,看来还是穷人多啊!因为网吧里没有光驱,u盘软盘基本上也都没有,而大部分又装上了还原卡,使用工具相当不方便,因此小弟在此写下了这篇文章,送给网吧中苦苦求学的菜鸟们! 工具篇:首先,准备一些工具吧,反正都不是能临时编工具的牛人,得养成收集高手工具的习惯。现在把我所收集的几样常用工具都列出来,供大家参考。 Nbsi&绝世猜解:不用说了吧,大虾小虾都明白的,sql注入相当方便!因为绝世猜解我最早用的它,一只恋恋不舍~不过有时候在nbsi中特征字符如果寻找不当的时候,绝世猜解有时候能办到,为什么,我不知道,可能是对语句处理方式不同吧。 阅读全部 »
所谓白盒,指透明的盒子,你知道盒子里的内容,可以针对具体的内容进行测试。
黑盒,就是封闭的盒子,你不知道盒子的内容,只能知道这是个盒子,我只能猜测,或者根据盒子的外形,特征,去研究我该怎么用它。
程序开发中,白盒测试,一般是根据程序的功能进行有针对性的测试。
针对具体功能模块进行测试。首先,软件基本完成后,程序不能有研究bug,就是功能性的缺陷,这是必须的。
针对一些逻辑进行测试。程序走通后,针对不同的逻辑进行测试。尽量去测试逻辑的每一个分支,比如,用户上,测试管理员跟普通用户的不同权限下程序的使用。
数据准确性的测试。数据在程序中经过重重计算,输入数据跟最终表现数据未必是一致。这样就得测试数据在各个环节进行传递是否正确。
数据合法性测试。合法性主要在于各个模块中数据输入的合法性。比如数据类型,字段长度,范围等。
而黑盒,一般是指功能基本完成后,交付给测试部门进行业务的测试。测试人员不知道程序是如何构建,而只是根据功能说明或者一些模块测试说明书进行测试。黑盒测试人员要求对业务比较熟练,能够考虑多种实际发生的业务数据进行测试。
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|---|---|---|---|---|---|---|
| « 一 | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||