+SoftwareEngineering/软件工程
文章平均质量分 55
普通网友
这个作者很懒,什么都没留下…
展开
-
软件项目管理中的一些误区
观念之一:我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助我们解决软件开发中遇到的任何问题。 客观情况:好的参考书无疑能指导我们的工作。充分利用书籍中的方法、技术和技巧,可以有效地解决软件开发中大量常见的问题。但实践者并不能因此依赖于书籍,这是因为:(1)现实的工作中,由于条件千差万别,即使是相当成熟的软件工程规范,常常也无法套用。(2)软件技术日新月异,没有哪一种软件标准能原创 2007-09-04 10:27:00 · 1795 阅读 · 0 评论 -
浅析软件项目管理中十个误区
随着计算机硬件水平的不断提高,计算机软件的规模和复杂度也随之增加。计算机软件开发从“个人英雄”时代向团队时代迈进,计算机软件项目的管理也从“作坊式”管理向“软件工厂式”管理迈进。这就要求软件开发人员特别是软件项目管理人员更深一步地理解和掌握现代软件工程的理论方法,完成思想观念上的转变。笔者在此分析了10个在现代项目管理中思想观念上容易陷入的误区,希望能够抛砖引玉,引发大家更多的思索和讨论。原创 2007-09-04 10:29:00 · 1698 阅读 · 0 评论 -
项目经理的第一个精神准备
大部分的技术人员都是纯粹的理想主义者,这也难怪,接受了10几年理想主义的教育,每个人都难免有匡扶某某,恢复某某的决心。就像某个朋友在给我的回复中说的,“为什么总是张口闭口国情呢?什么都要符合国内,什么都不遵循标准,那么中国永远也不会出现微软! ”这话说的掷地有声啊,说这话的肯定是中国的脊梁。不过在这里我还是要很不好意思的说,要是这么想恐怕是活不下去的。 做项目的目的简单的说原创 2007-09-07 09:01:00 · 1701 阅读 · 0 评论 -
不一样的敏捷开发实践
简介:这是一个真实的故事。故事中,我作为一个项目的负责人,因为初期过于迎合客户,而放弃了对一些基本原则的坚持,最终导致项目进行中被迫进行大改动。而改动过程中,通过引入敏捷开发而将损失降到了最低。项目背景 2006年年初,一位客户联系我的公司,希望能够为其企业创建一个企业网站项目。根据客户的简单描述,这个项目本质上就是一个内容管理系统,并集成了论坛、FTP和电子邮件等功能,因此不算复杂。按原创 2007-09-18 17:18:00 · 1696 阅读 · 1 评论 -
能把软件项目变成噩梦的三件事
与软件工程师、项目经理们的日常接触中,发现工作的艰辛让不少人慨叹不已。软件项目难做,尤其是一线的软件工程师工作难度大,是当前中国软件业的一道令人尴尬的“风景”。究其原因,客户方管理上的不成熟等自然是重要原因,这不在软件企业、软件项目组的管控范围内,讨论了也没什么大用。仅从软件企业内部看,就有些要素控制得不好,仅举几个例子。 一是销售时的乱作为。 部分软件企业的销售原创 2007-09-25 10:12:00 · 1694 阅读 · 0 评论 -
软件开发八荣八耻
以塌实编码为荣 以心浮气躁为耻.ZP2C@wI%B0PHPChina 开源社区门户4MQ#N Zfv/I以详细注释为荣 以注释残缺为耻PHPChina 开源社区门户#S�p6S6xo7Q:z+?w}4Uq)Mo.q a%eW V0以勤于测试为荣 以懒于测试为耻k8vx4Y/E:x0Lu0y$C4jQx9P7r0以简明文档为荣 以冗余文档为耻PHPChina原创 2007-10-11 09:59:00 · 1991 阅读 · 0 评论 -
软件设计理念2.0:简化软件操作,提升用户体验
虽然自己一直都是做网站开发的,没做过什么软件开发,但使用过的软件也不算少。渐渐的发现有些软件真的功能强大,操作性太复杂,于是该软件真的变成了所谓的专业软件,只有经过专业培训的人才能使用。问题是如果不是有很特别的需要,又有多少人真的肯或觉得值得为使用该软件而去花时间。在我的眼里,最完美的软件是用最傻瓜式的操作。一直很喜欢西门子的一句广告词,精于心,简于形。设计的理念如此到底,让人不得不佩服。再看看它原创 2007-10-31 09:43:00 · 2417 阅读 · 0 评论 -
27岁的女性就一定不能转行做开发吗?
做了5年的黑盒测试,其他同事都做得挺舒心的,我却为它的技术含量低而感到有危机感。虽然同事都说我的测试能力挺强,但是我认为那也就是思维缜密,逻辑思维能力强罢了。因为大学学的是计算机专业,为一直没能在编程方面有所发展,内心一直是有个遗憾。 因为这份危机感,因为这份遗憾,年初辞掉了待遇不错的工作,去参加一个Java工程师的培训。这半年来,我比高三还要用功,更重要的是,我真正喜欢上了编程,它的挑战原创 2007-11-02 10:15:00 · 5693 阅读 · 6 评论 -
带你深入了解Web站点数据库的分布存储
在Web 2.0时代,网站将会经常面临着快速增加的访问量,但是我们的应用如何满足用户的访问需求,而且基本上我们看到的情况都是性能瓶颈都是在数据库上,这个不怪数据库,毕竟要满足很大访问量确实对于任何一款数据库都是很大的压力,不论是商业数据库Oracle、MS sql Server、DB2之类,还是开源的MySQL、PostgreSQL,都是很大的挑战,解决的方法很简单,就是把数据分散在不同的数据原创 2008-01-22 10:20:00 · 1454 阅读 · 0 评论 -
敏捷开发简介
来源:Bluse 前几天和同事们去西交大做校园宣讲,当然我是去帮忙加旁听的。:-) HR和同事们介绍了很多关于公司的情况,包括文化,价值观,敏捷开发等等,很多东西我都是第一次学习到,后来我对马同学说,你那富有激情的关于公司的敏捷介绍让我收获很大,他说我这句话给他很大的鼓舞,呵呵。 下面我将马同学的讲解简单介绍一下,首先看下面这个图: 这两个圆圈表示不同的视角上的敏捷实践,包括开发者视角和项目原创 2008-01-24 11:18:00 · 2713 阅读 · 0 评论 -
Visual Studio 2008,疑惑而又惊奇
消息称微软即将于本月底推出Visual Studio 2008,相信大多数微软系技术开发者那颗怕“跳票”的心平缓地落了下来。然而2004-2007年微软最有价值专家、CSDN VC/MFC, VC.Net版版主蒋晟对Visual Studio 2008的到来既感疑惑又有些惊奇。“通常在正式发布之前,微软会发布一个或者多个Release Candidate版本。而Visual Studio 2008原创 2007-11-12 09:36:00 · 2794 阅读 · 0 评论 -
MYSQL数据备份/恢复简易方法
方法一:/* * 功能:数据备份/恢复文件简易方法 * 以日期为单位,一天一个备份文件,以当天最后备份为准 * 用提交表单的形式进行操作, * 其中$_POST["tbl_name"]为预备份表名称数组 * $_POST["sqlfile"]为预恢复数据文件的名称 * 注意:该备份没有结构备份,只有数据备份 * * 备份文件格式: * `表名称1`{{数据1}}`表名称2原创 2007-11-14 09:28:00 · 1679 阅读 · 0 评论 -
软件工程中10个最重要的理念
the-ten-most-important-ideas-in-software-engineering/1.软件开发最终是由人来执行和完成而不是机器。# Software development is performed by human beings. This notion was first popularized by Gerald Weinberg in 1971, with a原创 2008-02-01 09:24:00 · 1845 阅读 · 0 评论 -
实现业务系统中的用户权限管理--实现篇
在设计篇中,我们已经为大家阐述了有关权限管理系统的数据库设计,在本篇中,我们将重点放在其实现代码部分。为了让你能够更直接更有效的看到全部动作的代码,我们使用“动作分解列表”的方式来陈述每个动作以及相关资源。实现权限管理功能的动作 动作分解 动作名 相关表名原创 2008-01-31 10:57:00 · 1889 阅读 · 0 评论 -
我们期待自己成为一个优秀的软件模型设计者
我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢? 将下列原则应用到你的软件工程中,你会获得立杆见影的成果。 1. 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯 将主要精力都集中在技术上。显然,构件(components),EJB(Enterpr原创 2008-01-31 11:18:00 · 1448 阅读 · 0 评论 -
培养软件开发嗅觉
程序代码和鼻子的关系其实不大,之所以用嗅觉这个词是因为大家都这样用,本来应该用感觉这个词,毕竟程序设计需要调动人体的很多器官协同工作。其实一直以来我都觉得嗅觉是不需要培养的,它应该是一种本能,就像我的小孩闻到酸的东西自然就会表现出奇怪的表情。当我看到不舒服的代码,自然而然就会难受、流汗、浑身不自在。那结果是你需不需要去洗澡的问题而不是你闻得到闻不到的问题了。如果能容忍汗流浃背的感受原创 2008-02-02 22:20:00 · 1515 阅读 · 0 评论 -
我们期待自己成为一个优秀的软件模型设计者
我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢? 将下列原则应用到你的软件工程中,你会获得立杆见影的成果。 1. 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterpris原创 2008-02-02 23:16:00 · 1373 阅读 · 0 评论 -
开发MOSS的几种类型
1、WebPart的开发,WebPart的开发在网络上的资料也最多,当然编写量也相对小一些,毕竟是一个控件,实现的功能比较有限。 2、ConsoleApplication开发,主要是引用Windows SharePoint Service的程序集(在C:/Windows/Assebly下)或WSS 的webservice(在http://ServerName/_vti_bin/下)来操作Sh原创 2008-02-05 21:20:00 · 1518 阅读 · 0 评论 -
我心目中的理想软件开发语言
主动学习各种新程序语言是我的习惯,我经常到PLnews网站上,看看各种语言的消息,我自己有一套语言评分标准,我理想中的语言必须符合这篇文章所描述的各要点(依重要性依序排列)。不过,我到现在都还没有找到完全符合这些严苛条件的语言。 支援Unicode:虽然Unicode早就已经是主流,但是还有许多语言不支持Unicode,这是相当重大的缺点。许多语言即使号称支持Unicode,也有支持程度上的原创 2008-02-09 16:54:00 · 2014 阅读 · 1 评论 -
实现业务系统中的用户权限管理--设计篇
B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户 端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过 浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授原创 2008-01-31 10:54:00 · 1886 阅读 · 0 评论 -
自动软件设计
在1973年,美国人Peter Freeman在他的文章《自动软件设计(Automating software design)》中有这样的假设:如果有这样一台机器 ,当我们告诉它我们需要什么软件的时候,它立刻就会满足我们的要求,自动生成我们需要的程序。这台机器我称之为万能机。当我们提出需求的时候,需要关注的仅仅是如何描述清楚我们的需求。如何实现是万能机内部的事情,和我们没有关系也不原创 2008-02-02 22:19:00 · 1502 阅读 · 0 评论 -
关于项目成功的一点思考
在我看来,衡量项目成功与否关键看你的有效性(Effective),效率(Efficiency)是第二位的。举个例子,Intel当年开发Pentium处理器的时候,项目进行的很不顺利,而且中途项目经理也被替换掉了,产品推出时间拖后了近1年,可是这个项目是Intel史上最成功的产品之一。相反,有的产品开发很顺利,如期交付,结果却在市场上失败,产品在库房里吃灰。有效性(Effective)主要靠市场人员原创 2008-02-17 11:50:00 · 1365 阅读 · 0 评论 -
软件行业为什么需要最佳实践
与许多古老的职业相比,人们从事软件开发的时间并不长。但就在这短短的几十年中,人们根据软件行业的经验,并从其他行业(如建筑业、制造业)借鉴,总结了不少“最佳实践”。特别是最近十年以来,这些最佳实践似乎分裂成为两大阵营:重型方法学和敏捷方法学。这两大阵营的拥护者都不少,并且领军人物都是德高望重。 软件项目的目标 在讨论这些最佳实践之前,先明确一下软件项目的目标,因为所有的最佳实践都是为实现项目目标原创 2008-02-19 10:02:00 · 1536 阅读 · 0 评论 -
什么才是软件开发的葵花宝典?
中国人大都喜欢用武侠小说来比较软件开发,但是在实战武功中,只有葵花宝典才是最厉害的,也只有掌握了葵花宝典,才能称为"不败"。 但什么才是软件开发的葵花宝典? 让我们先从一些现象出发。我们的前提是,软件开发是一项智力密集型劳动。对于智力密集型劳动,我们观察到的现象是,个体的表现差异很大,团队的表现差异很大,组织的表现差异很大,国家的表现差异很大。这不象体力占主要的劳动,象百米王跑百米的速度也仅比原创 2008-02-15 09:39:00 · 1763 阅读 · 3 评论 -
版本、兼容性以及标准
本文译自Maciej Stachowiak在webkit团队blog上的文章Versioning, Compatibility and Standards。本文可作为分歧巨大的“HTML的版本问题”的背景材料,对此问题的探讨也请移驾此处讨论。注意,【】中的内容为我所加的注。 Versioning, Compatibility and Standards 版本、兼容性以及标准原创 2008-02-14 09:30:00 · 1549 阅读 · 0 评论 -
有关电子文档的软件专利问题
今年2月2日中午,微软(中国)首席技术官李志霄给我一份讲稿的电子文档提纲的打印稿,题为“微软对Open XML标准化问题的解释与说明”。在春节期间,我仔细地拜读了它,并且思考了许多相关的问题。 我记得,大概那是在1988年的秋天,我使用由计算机自动生成所谓“电子文档”的方式,在北京大学研究生院的办公室里面,给北京大学制作下一年度的“研究生招生目录”。那时,我对于原创 2008-02-15 09:48:00 · 1406 阅读 · 0 评论 -
WEB程序代码优化入手的几方面
原文:http://www.coderhome.net/zifa/?p=197这里对web程序方面的优化作一个总结,虽然我用的是PHP其实不管理是什么语言方向都是一样的。1.编码规范化可读性优化编码规范我想一般程序员不会不了解,如果你这方面是空白你应该好好补补基础了,做到编码规范是一个好的程序员的最基础要求,一个团队也应该有自己的编码规范。所以程序的优化也应该包含到这个方面,在你开发程序的过程中可原创 2008-02-19 11:53:00 · 1601 阅读 · 0 评论 -
系统架构师职业分析
日常工作的主要内容 领导与协调整个项目中的技术活动(分析、设计和实施等);推动主要的技术决策,并最终表达为软件架构;确定和文档化系统的构架,包括系统的需求、设计、实施和部署等“视图”;确定设计元素的分组,以及这些主要分组之间的接口;为技术决策提供规则,平衡各类不同关注点,化解技术风险,并保证相关决定能被有效的传达和贯彻;理解、评价并接受系统需求;评价和确认软件架构的实现。岗位主要职责 为软件开原创 2008-02-22 10:05:00 · 1701 阅读 · 0 评论 -
为Web层提供灵活的安全服务
编写Web应用程序,通常都会采用分层结构,界面层+业务逻辑层+数据库层,这时候在界面层,会碰到安全问题,即一些资源(Servlet, strutsAction)允许特定的角色调用,如提供一个AddUserction,这个Action只允许"admin"角色的人调用这个 Actoin。那么,通常代码是这么写的:public ActionForward execute(ActionMapping原创 2008-02-23 11:50:00 · 1733 阅读 · 0 评论 -
SecondLife 架构剖析
2007年,“SecondLife”三维虚拟风暴席卷了现实世界。原本定位为人生模拟类在线游戏的SecondLife,现在已经逐步演变成为一个国际化的在线模拟社区。人们在其中进行虚拟房地产交易,艺术家开办自己的作品展览,作为世界5大会计事务所之一的毕马威展开招聘工作,BBC等老牌传统媒体配备了SecondLife特派专职记者,时尚巨头阿玛尼也开了专卖店。现实世界中的一切,都可以在SecondLife原创 2008-02-25 09:28:00 · 2158 阅读 · 0 评论 -
从一次专业实践谈需求分析感想
正式接触软件需求分析可能只有一个学期多一点的时间, 一直听说做一个软件最重要的是需求, 开始的时候不太在意这句话,以为只要代码实现了就没有多大的问题了。直到接触到了现实的项目才发现这句话真的是深藏不露啊。 记得专业实践是帮一个老师做一个项目,用户是某个部队,项目是一个政治教育评估系统,最早的时候好像并没有给出太多的要求,只是说做出一个他们想要的教育评估系统的中心部分就可以了,因为原创 2008-02-22 10:23:00 · 1429 阅读 · 0 评论 -
谈谈“模式思维”
现在各种框架越来越多;模式使用机会性似乎减少了,那么是不是意味着我们就不必掌握模式了呢?其实,学习模式实际为了培养模式思维,模式思维有助于了解和使用框架。 例如如何我们在使用表现层哪个框架,都是MVC模式实现,那么进行编程步骤时,我们脑海里就浮现一个步骤V/C/M以及C和V的转发关系,进而感觉struts-config.xml配置就不是多余或复杂,而是必须的。 现在有人觉得好像Java原创 2008-02-23 12:24:00 · 1558 阅读 · 0 评论 -
加锁理论结合实践,现场精彩互动
中国最大的IT技术社区CSDN联合美国权威IT技术媒体CMP集团,共同为中国百万开发者带来的国内最权威的顶级软件技术大会----“2007 软件开发2.0技术大会”(SD2C)正在九华山庄火热进行当中。在 [系统开发2.0Track]分会场二:多核编程专家周伟明先生做题为《多核计算中的分布式数据结构》的演讲。周伟明老师的讲座设置在112房间,除了主会场之外最大的会场。会场中可谓人满为患,甚原创 2007-11-30 16:16:00 · 1672 阅读 · 0 评论 -
今天真正发现时间安排管理是个大问题
最近都在做公司新版网站的规化准备工作,今天开始进行项目的时间安排了,说实话第一次安排这么大个项目(其实不算大,4个人工期差不多近2个月时间)。以前做的项目要不不是我来安排要不就是没安排。大半天都在做这个事,头都快晕了,看着project 100多行眼都花了。 多人协作和一个人就是完全不一样,时间安排要做发分工明细和平均,任务间有交叉关系,要把时间安排好所以真是大学问啊。分享下我做的过程吧:1.进原创 2007-12-03 12:43:00 · 1788 阅读 · 0 评论 -
从“奥运门票网站800万访问量”想到的成本、质量、进度、风险等关系
看到这个新闻后颇有一番滋味,更体验到我一直关注的软件性能着实无处不在,这个案例也确实值得我们好好反思一下。不知道网友们有没有报名参加国际日语考试的——这个网站每年05年前都有人不能报名,因为报名人数太多,所以报名当日大家守在计算机前,打开一些所谓的报名攻略,拼命的刷屏什么的,但是仍然有人不能正常报名。06年碰巧有个机会帮人报名,结果开始报名后,网站根本上不去。按F5,偶尔刷出一个界面,但是原创 2007-12-03 12:51:00 · 2529 阅读 · 0 评论 -
淘宝、腾讯、Sohu和Baidu谈大型网站的开发
中国最大的IT技术社区CSDN联合美国权威IT技术媒体CMP集团,共同为中国百万开发者带来的国内最权威的顶级软件技术大会——“2007 软件开发2.0技术大会”(SD2C)正在九华山庄火热进行当中。在72会议室,由CSDN网站首席架构师曾登高主持,CSDN邀请到来自淘宝网的首席架构师王文彬、腾讯互联网业务系统研发副总裁汤道生、原百度首席架构师,现北京酷我科技优先公司创始人兼首席执行官雷鸣,以及原搜原创 2007-12-03 12:58:00 · 2250 阅读 · 0 评论 -
如何解决奥运售票系统
中国最大的IT技术社区CSDN联合 美国权威IT技术媒体CMP集团,共同为中国百万开发者带来的国内最权 威的顶级软件技术大会----“2007 软件开发2.0技术大会”(SD2C)在九华山庄继续进行。酷我公司创始人,美国Stanford大学的MBA学位和中国北京 大学的计算机硕士学位的雷鸣发表了题为“Linux系统下的高性能系统设计 ”的课程。课程之后,雷鸣留了不少的时间给现场观众提问。现场有观众原创 2007-12-03 12:53:00 · 4673 阅读 · 5 评论 -
开源软件能帮上SOA多大的忙
影响SOA的推广普及程度的因素,不仅只有基于SOA的软件的技术成熟和用户认可程度,还有实施成本。而开源软件在TCO(总体拥有成本)和开放标准方面有着先天的优势,因此基于SOA的开源软件的成熟,无疑能对SOA的普及起到促进作用。但问题是,开源软件能帮上SOA多大的忙。 要理解这个问题并不难,这个问题的答案又取决于两个因素,一是基于SOA的开源软件的技术实力,二是开源软件在涉及SOA的产业格局中处于原创 2008-02-20 09:54:00 · 1830 阅读 · 0 评论 -
使用日志转移代替集群来提供较高的可用性
集群是一种实现高可用性的有效解决方案,有时它会适得其反。而且,它还非常昂贵。因此,数据库管理员可使用日志转移代替集群来提供较高的可用性。日志转移是这样一种处理过程,它能将某一数据库中的事务日志文件依次转存到备份的数据库中,进而为这一数据库创建一个“近乎”热备份。SQL Server 2000的数据库引擎中设置了日志转移功能,并在其中进行处理。所以它会自动完成复原到备份服务器的进程,而不需要数据库管原创 2008-02-23 11:59:00 · 1384 阅读 · 0 评论 -
对MVC的简单理解
V至少可以明确为输出至浏览器,MC的定义及功能也没有明确的划分。请大侠们指教:1、MVC各部分功能的明确划分,其中各是什么内容?2、M是不是单指DB,还是包含有DML、DDL,抑或包含class及function?3、如果M单指DB,那么DML、DDL能否归入在C中?还是另分成D(DatabaseController)?MVC是否要改成MDVC?例:有一个留言板。第一种方案:QUOTE: M原创 2008-02-26 11:51:00 · 1784 阅读 · 0 评论