php学习交流博客

好好写代码,好好痛她

#

科学的设计你的网站网页

在网络设计领域关于Eye-Tracking的研究十分火爆,但是如何把这些研究结果转变为具体可行的设计来运作依旧是个难点。以下就是一些来自于Eye-Tracking研究结果的窍门,可以为改进你的网站设计提供些意见:

1.对比图像,文字更具吸引力

与你所认为的相反,在浏览一个网站的时候,能够直接吸引用户目光的并不是图像。大多数通过偶然点击进入你的网站的用户,他们是来寻觅信息的而不是图像。因此,保证你的网站设计凸现出最重要的信息板块,这才是设计的首要原则。

2.眼球的第一运动聚焦于网页的左上角

用户浏览网页的这一习惯应该在意料之中,毕竟左上部为主要操作中心这一点为大多数重要的计算机应用程序的设计所采用。在你构建网站考虑网站设计时,应该尽量保持这一格式。要知道,如果你希望保持个人特色,搭建一个成功的网站,你就必须尊重用户们的习惯。

3.用户浏览网页时,首先观察网页的左上部和上层部分,之后再往下阅读,浏览右边的内容

用户普遍的浏览方式呈现出“F”的形状 。保证网站内容的重要要素集中于这些关键区域,以此确保读者的参与。在此放置头条,副题,热点以及重要文章,这样可以吸引到读者进行阅读。

4.读者会忽视横幅广告

研究表明,读者常忽视大部分的横幅广告——尽管你以此维持网站生计——视线往往只停留几分之一秒。如果你想通过广告挣钱,那么必须创新你的广告位以及合理配置网站广告形式。

5.花哨的字体和格式被忽视

为什么呢?那是因为用户会认为这些是广告,并非他们所需要的信息。事实上,研究表明用户很难在充满大量颜色的花哨字体格式里寻找到所需的信息,因为视觉线索告诉他们把这些忽略吧。保持网站的清爽,不要因为华而不实的表面,让重要的信息被忽略。

6.用数词来代替数字

如果使用数词取代数字的罗列,读者会发现在你的网站可以很容易地发现真实的资料。要知道,你是写给那些将第一次浏览你的网站的读者,所以,让他们容易发现他们所需的信息,让他们感兴趣。

7.字体大小影响浏览行为

想改变人们对你的网页的看法吗?改变网页字体的大小。大的字体刺激浏览,而小一些的字体则提高焦点阅读量。根据你的需要,合理配置两者的比例。

8.遇到感兴趣的内容,用户仅会多看一眼副标题

不要过分坚持副标题固定的格式——保证他们的相关性和兴趣。你也可以让副标题包含关键词,这样可以有效利用搜索引擎,让它带来读者。

9.人们大都只浏览网页的小部分内容

如果在用户浏览的时候提供信息使他们尽快锁定目标,就可以把这一点发展成为你的优势。突出某些部分或者创建项目列表使网页信息容易找到和阅读。

10.简短的段落相对于长段落来说有更好的表现力

网页信息是为大多数强调快速浏览的无联网用户提供的。除非上下文的衔接要求,保持信息由简短的段落和句式组成,例如 这个电子商务网站 的产品介绍。

11.根据视觉锁定,一栏格式比多栏格式拥有更好的表现力

别让过多的信息把网站来访者淹没。大多数情况下,简洁更具力量。多栏内容容易被用户忽视,我们需要消除这些干扰。

12.网页顶部和左边的广告更能吸引眼球

如需要在网站植入广告,试图使他们融入网页的左上部,这样他们才能吸引到最大的视觉注意力。当然,用户仅仅会注意到这些广告,这并不意味着他们会用鼠标点击。所以不要为了提高广告的注意力而牺牲原有的网站设计。

13.将广告放置与最佳内容一旁也可以提升注意力

如果想要提升广告的可视性和点击率,可以将其设置于最能引起人兴趣的内容一旁,整合进网页的设计里。这样,用户既可以找到所需的内容,你也能提升广告的效益。

14.在各种测试中,人们阅读文字广告最为专心。

正如上面提到的,一般的互联网用户不会花费太多时间用于查看那些一眼就能看出是广告的内容。这就是文字广告表现出众的原因。他们并没有分散注意力,而是与网页的其它部分内容融为一体,这让他们减少了对读者的视觉刺激,也使这一广告形式获得成功的阅读率。

15.越大的图像吸引越多的注意力

如果要在网页中使用图片,那越大越好。人们更倾向于查看那些能够清楚地看到细节和获取信息的图像。要保证你所用的图片与文章内容相关,否则它更容易被忽视。大多数读者都拥有高速的连接速度,所以请放心在你的网站上使用那些较大体积的图片。

16.干净、清晰的特写图片能吸引更多的视觉注意

可能那些抽象的艺术图片会让你的网站看起来很有味道,但是他们并不会吸引多少读者的注意力。如果你需要使用到这些图片,请确保所用图片的清晰以及其表达内容的简单可读性。必须注意的是,那些与真实的“人”相关的图片比所谓的模特图片更为“优秀”。

17.标题能吸引眼球

浏览网页时,读者能发现的第一内容是标题。确保网页的所有相关链接畅通和有效,以让读者顺利的通过网站进一步搜索。

18.用户花费大量时间察看按钮和菜单

所以,你需要花费额外的时间维护你的精心设计。毕竟,他们不仅吸引了读者的眼球,更是网站设计的重要组成要素。

19.表单格式可以延长读者的注意时间

分解内容和段落,大量使用表单形式来表现你的文章,可以保证读者的浏览率。使用数字和其它标记符号来突出文章的重要内容,会让网站更容易浏览,用户更快的找到所需的信息。

20.避免呈现大块的文本

研究显示,一般的网络浏览者不会花费时间去阅读大块的文本,无论他们有多重要或写得多好。因此,必须把这些大文本分解为若干小段落。突出重要的地方,放置点击的按钮也可以提高用户的注意力。

21.格式可以吸引注意力

在文中使用粗体、大写、彩体、下划线可以帮助用户获取正文所表达的最主要的信息。使用时需要谨慎,因为过多的使用会使你的网页难以阅读,把读者吓跑。

22.利用好空白

尽管把网页的每寸空间都填满这个想法十分诱人,但事实上让网站留出部分剩余更为不错。网站的过量信息会把用户淹没,同时他们也会忘记所提供的大部分的内容。所以保持网页的简洁,给读者预留出一些视觉空间来供读者休息。

23.放置于网页顶部,导航工具的作用将更好的发挥

理想情况下,你不会满足于当读者打开你的网站时仅浏览初始页,而是希望他们浏览翻阅,察看其它感兴趣的内容。将导航器置于网页顶部,就可以让用户通过使用这个工具轻松的找到所需的目标内容。

注:转载自大前端 www.daqianduan.com

posted @ 2010-10-17 21:40 王吉刚 阅读(288) | 评论 (0)编辑 收藏

100个清新的网页模板

     摘要:   阅读全文

posted @ 2010-10-17 21:39 王吉刚 阅读(3978) | 评论 (0)编辑 收藏

推荐网页开发规范

     摘要:   阅读全文

posted @ 2010-10-17 21:34 王吉刚 阅读(224) | 评论 (0)编辑 收藏

Xmind安装完成后报错解决方法小记

刚系统整好后, 为了不影响工作,很多常用软件也没装,因为,需要今天开始整xmind,

我安装的是xmind-win-3.1.1.200912022330.exe  安装很简单就可以搞定,但是安装完成就报错咯,

JVM termnated. Exit code=1
起初我以为是Java版本太低,就到官网上下载新版安装。没想到还是弹出错误窗口。再Google一下,有人说是Eclipse配置的问题,不过我并没有安装Eclipse。后来发现有人遇到相同的问题,只要修改安装目录下面的xmind.ini就可以解决问题。如下:

-startup

plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

–launcher.library

plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

-showsplash

org.xmind.cathy

-vmargs

-Xms128m

-Xmx256m

-XX:MaxPermSize=256m      (此处原为512m,修改为256m)

-Dosgi.requiredJavaVersion=1.5

-Dosgi.instance.area=@user.home/Application Data/XMind/workspace-cathy

-Dosgi.configuration.area=@user.home/Application Data/XMind/configuration-cathy

posted @ 2010-10-17 21:33 王吉刚 阅读(1541) | 评论 (0)编辑 收藏

明确团队分工的十个经验

准确的自身角色定位,是团队建设的重要砝码。事实上,一个企业、一个部门想要共同创造出优良绩效,首先要明确工作的流程和基本的工具,对每个个体作出一个准确的定位。而最终导致绩效不佳的原因在很大程度上是由于成员对自身在组织中的定位缺乏认识,以至于定位不准、不足、不对,最终没能发挥应有的作用,没能尽到应尽的职责,反而起到了不够积极的作用。所以,现实工作中的角色定位,一定要让团队成员更为清醒地认识自己,这样不仅有利于发展、培养、锻炼自己的所长,更能充分提高团队的综合实力。

俗话说:“尺有所短,寸有所长。”如果全部都是将军,谁来打仗?反过来,如果全部都是士兵,谁来指挥?因此,要进行角色定位,认定“我是谁”,“我”扮演和充当一个什么样的角色,我要做什么,要怎样做才能做好,在其职,做其事,尽其责。团队中要真正做到每位成员职责清晰,分工明确,资源共享,没有壁垒,从而使团队实现高效,这里笔者有十大经验与读者分享:

经验一:团队中的角色安排要清晰。在团队中,成员一旦出现角色模糊、角色超载、角色冲突、角色错位、角色缺位等现象,会使成员之间角色不清、互相推诿,最终将会降低团队效率。只有清晰的角色定位与分工,才能使团队迈向高效。

经验二:明确团队成员职责。团队效率是与团队成员的职责状况直接相关的,要使团队有效率,条件之一是团队成员明白并接受各自的职责。职责不明、职责混乱,最终势必降低团队效率。所以,任何团队要想达到高效,都必须做到职责权限和工作范围明确。

经验三:角色职责安排要以人为本。团队成员角色职责制定要坚持以人为本的原则,就是要关注成员具备的素质和能力,根据每个成员的能力、特点和水平,把他们放到最适合他们的角色岗位上,给他们提供施展才华的平台。最终使团队角色职责安排有利于团队成员发挥其专长并有利于其个人的成长。给成员安排有利于其成长发展的角色职责,为成员的专长尽力提供舞台,不仅能极大地提高团队成员的主动性和积极性,而且有利于团队产生出最高的效益。

经验四:“世间万物各有功用”,人亦如此。团队中的每一位成员都是非常重要的,“一个都不能少”。因此,在团队角色职责制定时,要恪守每一位团队成员都同等重要这样一种理念,才不至于在进行角色职责制定时只强调这个成员而忽视那个成员的作用,才能全面充分地调动和发挥团队全体成员的才能、特长,进而成就高效的团队。

经验五:角色职责制定要立足现实,做到期望值清楚,确保每个团队成员理解团队对他们的期望值。立足现实,清楚期望值,就是对团队成员要有一个全方位的认知,要分析团队成员各自的性格特征、能力、体力和环境等具体条件,并要了解和把握好团队成员的期望值,进而根据这些认识去安排他们的角色职责。从而使他们的角色安排适当,充分调动他们的积极性,为提高团队效率贡献力量。

经验六:团队在设定角色职责时,要将团队的表现作为最高的表现,而不是强调个人英雄主义。

经验七:要进行上下级职务双向互动描述。对上级而言,更能以高屋建瓴之势俯瞰下属的职责是否均衡覆盖本团队的所有流程和作业,组织分工,统筹安排。优化的组织结构和岗位设置既可以防止人浮于事,又能保证合理分工。

经验八:沟通的方式多样、灵活。口头沟通使人有亲切感,但严肃或正式的沟通是以书面形式来进行的。要通过书面的形式让员工了解自己当期授权的范围,自己的权利和责任,杜绝口头授权容易产生信息失真的弊端。

经验九:角色工具是角色定位的重要手段和重要依据。角色定位的工具分为团队角色分析工具和团队成员主观因素测试工具。同时,在团队角色分类前,利用角色测试表作必要的测试,有利于角色分工的顺利进行。

经验十:分清主次,抓住重点。面对角色定位的复杂过程和烦琐工具,要抓住角色定位流程的要点。抓住关键,能够有效地、迅速地把握过程,实现准确合理的定位。

健全的系统流程为团队的高效提供了有力的保障。这是因为,系统流程首先解决了团队中各个成员在各个领域、在各项工作中的输入输出关系问题,明确了各自的职责所在,这样,就有效确保了团队成员各司其职、各尽其力,心往一处想,劲往一处使,避免了因不规范而扯皮的现象;其次,系统流程为团队成员所从事的各项工作提供了有益的指导,就如同一本行动的指南,引导团队的运作,同时又如同一个游戏的规则,保证了团队成员必须在这个规则内来行动,不然就随时有出局的可能。所以,总的来说,健全的系统流程有效提高了团队的整体效率,提高了团队的整体作战能力,使团队真正实现了高效。

posted @ 2010-10-17 21:33 王吉刚 阅读(326) | 评论 (0)编辑 收藏

CSS中英文切换导航

     摘要: 先上css部分<title>中英文导航菜单</title><style type=“text/css”>* {margin:0;padding:0;}#nav{font-size: 12px;font-weight: bold;margin: 1px 0 0;list-...  阅读全文

posted @ 2010-10-17 21:32 王吉刚 阅读(386) | 评论 (0)编辑 收藏

【转】产品经理如何推进团队执行力

按,前天参与了一次Podcast的录音座谈节目,其中聊到如何推进团队的执行力,略有心得分享,整理以记之:

1、产品经理首要确定的工作原则:战略决策产品,产品驱动开发;

2、结合实际情况,设计可执行的工作流程,明确各职能环节的工作成果输出(原型/界面设计,需求文档/思维导图或流程图);
P线:产品管理,产品设计,界面设计,交互设计,及其它
T线:项目管理,技术架构,技术Leader,开发人员(前端,页面,后端,服务端,数据端,运维等)

3、尽可能的明确可度量的工作成果标准,由P线经理提供需求要点纲要,表明要做到什么,不用做到什么,T线经理根据需求与相关人员共同设定工作目标和标准;
虚拟示例:某功能模块,进行V2版本优化,2周为一次迭代周期,共2个周期
需求要点是:功能性流程与V1版本相比无增加点,重点是实践前后端分离的开发模式重构该功能模块的实现代码,交付给用户更有惊艳效果的操作流程,强化每个操作环节的引导或提示体验
第一个周期的关键是:需求明确,各职能角色的充分交流
第1周目标是:P线成员完成产品细节需求策划,T线成员相关技术架构的预研
第2周目标是:需求策划完成交付,二个关键展示页面的技术功能性开发完成
第二个周期的关键是:保证质量,在进度内完成既定目标
第1周目标是:所有技术功能性开发完成,关键业务流程可以走通无误
第2周目标是:所有需求策划细节开发完成,重点是用验设计、界面设计无损实现
此产品开发组团队共4人:责任产品经理1人,技术骨干兼项目经理1人,相关技术开发人员2人;周边支撑资源:界面设计、、交互设计、页面制作,约6人/天

4、抓住一切机会点,在团队内告知及说明工作原则和流程标准的重要性,特别关注对老板的告知;

5、对于执行过程中的各职能环节协调问题,保持高度的敏感,最及时的处理此类问题;

6、对不同职能角色的沟通技巧,产品经理本身需要在思考上有相当的弹性来去适应不同的角色思维模式,老板,技术Leader、成员,界面设计、用户体验、前端开发、客户等
在和P线角色沟通时,要适当的讲解技术实现相关原理,能做为什么,不能做更要为什么,并在满足需求本质的前提基础上,提出妥协或更合理的解决方案;
在和T线角色沟通时,尽可能说明该功能需求的来源,用户反馈次数和态度,分析其合理性,以具体案例和模拟用例来推演出合理性;
虚拟实例:项目管理=》项目成员管理与授权功能=》产品提出需要可以增加部门为项目成员
已有功能流程:进入项目成员管理,可选择部门下拉框=》员工下拉框,点加入成员
产品的思路:选定部门后,即可直接将该部门加入项目成员,让项目经理操作减少,当部门员工离职后也无需再取消该员项目成员身份
技术的思路:该需求技术可行,需要涉及到的功能点有,项目成员管理界面可增加部门,部门绑定的权限角色被授权,3个其它功能模块中类似的人员选择区做同样的处理,约2-4人/日工作量。
我的分析:能理解该需求思路,选部门的出发点在于减少项目经理操作次数,这个能认同,但一个项目经理在此项目里选了部门为成员以后,如果该部门有人员增加而又正好不是参与该项目的,岂不是还要再回来把这个项目的成员里去掉这个部门,再加上原有的员工;其二,这个漏洞虽然很小,用户实际操作中碰到的几率很低,但既然我们提供出这个功能,就一定会有用户使用到出现问题,那岂不是违反了我们做这个修改的目的:改善用户操作,获取用户认可。须知,对于用户而言,我们做的更好是应该的,大部分用户未必感知到,感知到的用户也未必会传播;但如果我们做了一个会出某问题的产品,大部分没出现该问题的还是沉默状态,出现问题的就一定会进行传播反馈(抱怨不爽投诉。。。),影响到本来没此问题的用户群体了。
结论:需求决策的原则:产品环节对没有问题的解决方案进行判断或优先级选择时,可以按关注用户几率的多少来进行,但如果有问题的方案,就不能按用户关注几率来判断,哪怕只有百分之1的用户有可能出现问题,就是致命。该需求应该寻求其它解决方案。
我的方案:项目经理选择部门后,人员下拉框里第一项是“加入该部门所有员工”,产品认为可以满足需求的出发点,技术认为需要投入的工作量约0.5人/日,达成共识;

7、以合理的方式展现团队的各阶段工作成果,一则收集需求反馈,二则收获公司及客户的认可提升团队士气;

综上,主体的思路是:确定原则,明确战略,设定标准,统一思想,持续沟通,修炼技巧,展现成果。此次主要是对设定标准和沟通技巧分享两个例子,其它的环节有机会再谈谈。

原文转载:seraph’s zone

posted @ 2010-10-17 21:32 王吉刚 阅读(190) | 评论 (0)编辑 收藏

程序员高薪的秘诀

一、程序员高薪的秘诀

无非一个:机遇+经验+灵感。
程序员的薪资与所用语言关系不大,并且高薪的程序员的学历也参差不齐,而从业的时间和业绩更大程度上影响了程序员所能得到的待遇,如下表所示

年限

月薪
0

800-3000
2

3000-6000
3

5000-15000
4年以上

6000-40000
一个合格的程序员应当具有敬业、灵活、创新、博学等全面优秀的素质。很多程序员抱怨自己待遇不公,但往往忽略了自身的因素,首先程序员在要求月薪之前,就应当首先考虑自己在所在的企业的位置,自己的能力专长是否正是该企业所需要的,能给企业带来多少产出。当然,初入行业时,也许会因为管理的因素造成不公的待遇,但是当逐渐融入工作之后,对企业以及环境有了一定的了解,就可以根据自己的实际情况理直气壮地提出要求。同时,由于软件行业的变动很大,程序员跳槽或“下课”是常有是事,有时候一些工作岗位也不能只注重它的薪酬多少,关键是看自己能够得到多大的提高与发展,某些时候,低薪但富有挑战力的工作也不失为开拓自己以后道路的跳板。
一个小网络公司的招聘广告:
招聘程序员,要求熟练掌握 VC、 VB、JAVA脚本、 SQLServer、 Access、 月薪800-1500、 包食宿。

二、程序员的报酬有几种方式:

1、传统的月薪或年薪+奖金
追求稳定的程序员可以选择基础好的企业以薪金谋生,并求稳步发展。
2、期权方式
有创业精神的则可以选择有发展前景的企业或团队,获得效益分享,期权曾经造就了不少程序员暴富的神话,但其风险也比较大。
3、临时工
只做一两个项目,做完走人,按项目获取相应酬劳。

三、软件公司对软件开发人员的资源分配
1、传统意义的软件公司??大公司
一般有明确的分工,各个流程或模块由不同的程序员完成。也许你是相当优秀并且知识是相当全面的,但是实际上的工作当中并不需要你做超出范围的事情,工作一般比较单一,同时也能得到稳定的收入。
2、作坊式的软件公司??小公司
一个技术人员通常要完成更多方面的工作,诸如需求分析、系统设计、详细设计、编写代码、软件测试、撰写文档、安装调试、系统维护等,这些工作通常会混在一起,而不是按照什么软件工程的顺序来完成。

注: 在从创业的趣味性来说,有的程序员会更加喜欢后者,但是这同时也要考虑到薪酬的分配是否合理,自己所付出的劳动是否得到了应有的回报。

四、将自己改造成为一个复合型人才
具备多种能力和素质,并能够将多种能力进行综合运用
1、软件开发的技能水平
(1)、对使用的开发工具要了解透彻;
(2)、对使用的开发语言要熟练和精通。
2、应用行业的了解程度
(1)、对应用行业方面的知识要了解;
(2)、对应用行业的运作模式要了解。
3、软件开发技术知识与行业知识的结合
(1)、将行业中的管理流程进行转化,用计算机代替手工;
(2)、在转化过程中不断提高程序开发的水平。
注:仅仅只会计算机的程序员是不可能适合这些专业性极强的行业的,对特殊行业本身有深刻了解的程序员到这些部门肯定会大受欢迎
五、软件企业要求基础软件工程师具备六大基本素质
1、良好的编码能力
软件人员的一个重要职责是把用户的需求功能用某种计算机语言予以实现。编码能力直接决定了项目开发的效率。
2、自觉的规范意识和团队精神
程序员分为两种,一种是程序“游击队员”,他们可能对编程工具很熟,能力很强,把编码编得很简洁高效,但却缺乏规范和合作的观念;另一种程序员编程不一定很快,但是很规范,个人能力不一定很强,但合作意识很好。
3、认识和运用数据库的能力
信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要具备的基本素质之一。
4、较强的英语阅读和写作能力
编写程序开发文档和开发工具帮助文件离不开英文,了解业界的最新动向、阅读技术文章离不开英文,与世界各地编程高手交流、发布帮助请求同样离不开英文。
5、具有软件工程的概念
从项目需求分析开始到安装调试完毕,基础软件工程师都必须能清楚地理解和把握这些过程,并能胜任各种环节的具体工作
6、求知欲和进取心
软件工程师应具有较强的学习总结能力、需求理解能力和对IT新技术比较敏感,同时,掌握最新的IT实用技术。
六、必须掌握的开发方法
采用瀑布型和快速原型法结合的开发方法,
即:系统需求分析->开发方案设计->子系统实现->系统集成与确认下,图为开发模型示意图

七、独立设计开发软件必须经过的九个过程

1、需求分析
从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。
A、 提取出核心、主要、急迫的业务,明晰业务流程
(1)针对客户对软件项目或产品的最初提出的需求目标和范围,为用户解决什么样的问题,从众多的业务中提取出用户核心的、主要的、急需的业务。
(2)从用户繁杂的业务中进行业务、业务流程的提取,把那些分布在各个部门的同一种业务提取出来。分析用户的这个业务流程中哪些是系统能帮助管理的,哪些是要在系统外处理的,充分分析用户现有的业务和业务流程。
B、 运用管理思想,优化业务流程
(1)采用网络计算机这些新的技术手段代替原先手工、电话等方式在信息的传递、信息的共享、数据的处理等方面将会带来新的方式,必将改变原有的业务流程。
(2)根据对用户业务的理解,考虑是否可以运用先进的管理思想,比如MRPII、ERP、JIT等等管理模型,进行现有业务流程的重组或优化。
制造资源计划管理系统(MRPⅡ)、企业资源计划管理系统(ERP)。
C、要求最终用户参与到项目的整个开发过程
一个软件项目在需求分析阶段时的信息收集非常重要,但由于每个企业的管理模式不同,企业内部各部门所需要的软件功能也不同,在收集信息时,公司高层提供的信息量为实现软件项目80%的内容,部门主管根据公司高层提出的要求进行理解能提供本部门80%的内容,具体岗位的工作人员根据主管提出的要求进行理解能够提供本岗位80%的内容,根据三方面收集到的信息能够在软件项目完成后实现预定目标的
100*0.8*0.8*0.8=51.2%,剩下的 48.8%要经过很长时间,开发者与企业各部门之间进行协商,再原来80%的基础上提取出15%的信息 100*0.95*0.95*0.95=94.12%,最后剩下的5.88%只能做为软件项目完工投入使用后的维护升级中进行解决

2、系统设计
A、 根据需求分析绘制出系统框架图和系统流程图
(1)、 系统框架图要体现出软件的整体架构;
(2)、 采用松散组合式设计,使各功能模块间即相互独立又可相互配合;
(3)、 系统流程图要体现出客户的业务流程;
(4)、系统框架就象人的骨架、系统流程就象人的神精、血液?环系统和肌肉
(5)、系统框架、流程的设计直接影响到软件的开发周期和最终产品的质量。
B、 制定项目实施计划
(1)、 项目总体需要多少时间、多少人、多少设备、多少钱;
(2)、 每个功能模块需要多少时间、多少人、多少钱;
(3)、 对每个功能模块的测试需要多少时间多少人、多少钱;
(4)、 培训需要多少时间、多少人、多少钱;
(5)、 软件过行后期维护需要多少人、多少钱;
3、详细设计
A、 根据系统框架图对每个功能模块进行分解设计;
B、 根据系统框架图绘制各功能模块的子框架图;
C、 根据系统流程图绘制各功能模块的子流程图;
D、 各子功能模块之间要做好数据接口;
E、 根据子框架和子流程设计数据字典;
F、 数据字典要结构设计合理,不合理的设计将给软件造成巨大的隐患;
Verify(用户信息及密码验证表)
序号 主键 字段名 中文对照 数据类型 长度 小数 默认值 允许空
1 √ ID 用户ID varchar 10     Not Null
2   password 密码 varchar 72     Not Null
3   level 等级 varchar 10     Not Null
4   name 姓名 varchar 10     Not Null
5   station 岗位 varchar 30     Not Null
6   dept 部门 varchar 10     Not Null
System_Function(系统功能表)
序号 主键 字段名 中文对照 数据类型 长度 小数 默认值 允许空
1   akey 主功能键 varchar 10     Not Null
2   bkey 次功能键 varchar 10     Not Null
3 √ mkmc 模块名称 varchar 20     Not Null
4   id 用户ID varchar 10     Null
5   enabled 功能使用标记 bit     0 Null
6   imageurl 功能图标名 varchar 30     Not Null
7   navigateurl 功能文件名 varchar 30     Null
User_Purview(用户权限表)
序号 主键 字段名 中文对照 数据类型 长度 小数 默认值 允许空
1   akey 主功能键 varchar 10     Not Null
2   bkey 次功能键 varchar 10     Not Null
3 √ mkmc 模块名称 varchar 20     Not Null
4   id 用户ID varchar 10     Null
5   enabled 功能使用标记 bit     0 Null
6   imageurl 功能图标名 varchar 30     Not Null
7   navigateurl 功能文件名 varchar 30     Null
Dept(部门表)
序号 主键 字段名 中文对照 数据类型 长度 小数 默认值 允许空
1 √ id 部门ID varchar 10     Not Null
2   dept 部门名称 varchar 10     Not Null

4、编写代码
A、 编写代码时要标准化、规范化;
B、 每行或每段代码要做出中文或英文注释;
C、 一个功能可实现的代码不要分解到两个功能模块中;
D、 前台定义数据名称要尽可能与后台数据库定义一致;
E、 重复使用的代码段要做到一个类中,以提高开发效率和软件运行效率;
F、程序界面各控件的布局摆放要符合人机工程,充分考虑到用户的需求,方便用户操作;
G、做好代码的防错和容错,在出现意外情况时要给出错误提示,以便用户找出解决问题的方法。
5、软件测试
A、 单个功能模块的独立测试,可以与编码同时进行;
B、 各个功能模块的整体配合测试,找出各模块接口出现的问题,并尽快加以解决。
C、 在软件测试中灵活运用逆向思维,找出软件中的错误,尽可能将可预知的错误在软件投入使用前解决掉;
D、负责测试的人员不能和代码编写人员是同一个人;
E、对测试的过程和结果要作好记录,以便以后出现问题时可以尽快找出解决的方法;

6、撰写文档
A、 对软件进行整体综合的描述;
B、 对软件各功能模块作出详细的使用说明;
C、 作好帮助索引,以方便用户可以尽快的找到答案;
D、 软件各功能模块要与帮助文档动态联接;
E、 帮助文档要尽可能的作到图文并茂,充分体现出软件
的功能和流程。
F、 帮助文档要尽可能的将程序运行过程中出现的错误作
出说明,并明确出解决问题的方法和手段。

7、安装调试
A、 软件开发完毕后要进行产品打包发布;
B、 要给软件安装运行作出详细的操作说明;
C、 做好软件与操作系统之间的配合;
8、人员培训
A、 软件在开发完毕后需要对最终用户进行操作培训;
B、 除了培训软件的基本操作外,还要指导用户在软件出
错时如何找到解决的方法;
C、最终用户的文化水平和业务水平各有不同,要根据用
户的接受理解能力来制定培训计划;
D、切记用户永远是对的,如果用户出现错误,那是培训不到位造成的,对用户提出的每一个问题要耐心的解答。
E、做好培训记录,以便在以后出现问题时明确责任。
9、系统维护
A、软件运行后会出现各种问题,这些问题在软件开发过程中是不可预知的;
B、对出现的问题要尽快加以解决,以满足客户的需求;
C、软件所以要设计成松散组合架构,给软件后期维护和升级提供了有利条件;
D、系统应具备动态数据备份与恢复功能,使用户可以随时对系统进行备份,在数据出现问题时可以将数据恢复到操作前的状态。
八、设计一套通用系统架构
1、程序加载;
2、程序登录验证;
3、用户密码更改;
4、主程序,包括系统菜单、工具栏、状态栏等;
5、系统用户管理;
6、系统用户使用权限分配;
7、系统功能管理;
8、系统备份与恢复;
9、重新登录和退出系统;
九、设计软件架构所需要运用的知识点

1、数据库操作:
包括数据库连接、对数据的增删改、存储过程的应用;
2、基本界面元素的使用:
包括标签、文本框、下拉列表框、进度条、工具栏、菜单、
状态栏、按钮、选项组、树控件、计时器、图象控件、
视图控件、页框、数据表格等
3、基本编程语言的使用:
包括变量、数组、判断语句、?环语句、 API函数、
错误提示语句、错误异常处理语句等
4、函数和类的设计
5、与办公软件集成应用:
包括对EXCL表格、WORD文档、文本文件的处理等

posted @ 2010-10-17 21:31 王吉刚 阅读(287) | 评论 (0)编辑 收藏

程序员和美工之间的配合

公司的项目都是基于B/S结构的,绝大多数操作界面都是通过网页的形式展现在用户面前的,页面的美观就成了非常重要的问题。记得去年的这个时候公司迎来了它历史上的第一个专职美工。同时到来的就是程序员与美工的合作问题。
矛盾篇:

公司以前的系统都是由程序员来编写界面的,美观与否先不必说,单从效率上讲就是一个很大的问题。大部分时间都花在了界面的编写上,严重影响了项目的进展速度。美工到来以后,页面的美观程度和制作速度都有了很大提高,随之而来的程序员与美工的配合问题又成了一个新的问题。其中主要的问题、矛盾有以下几点:

1. 美工何时参与到项目中来

2. 程序员不懂如何将页面弄得美观,美工也不懂如何向页面中添加代码(即使是使用了Velocity)

3. 程序员和美工是两种完全不同的人,他们关心的事情也完全不同,这就导致两种人对页面代码(html)风格的要求大相径庭??程序员要得是简单易懂,美工要得是美观漂亮

4. 程序员要做的是将数据展现在页面上(使用简单的条件、循环语句),美工要做的是将美丽充满整个屏幕(程序员会叫道:天哪!这么复杂,我怎么用if、else、for来实现)

解决篇:

上面的这几点问题和矛盾从关系上来讲是层层递进的,要一个一个依次解决。先来说说美工何时介入到项目中来,在公司做过的这些项目以及我听说过的项目看,大致有以下几种:1)先有美工制作静态页面,完成后程序员直接向页面中添加程序代码;2)程序员随时和美工沟通,向美工描述页面需求,随要随做;3)程序员自己编写测试页面,然后让美工进行美化。

这3种方式可以说是个有利弊。方式1)对程序员来说绝对是个喜讯,它能使程序员最大限度的远离那些烦人的页面编码,提高程序员工作的含金量。同时,一套完整的页面可以展现全部业务的流程,对程序员开发也起到了规范的作用。但这种方式对美工的要求极高,美工要了解项目的需求,而这一般是达不到的。但可以让了解需求的人为其讲解,或是描绘出希望的页面的样式。这样虽然可以弥补美工对业务了解的不足,但也确实花掉了很多时间(而且是花掉了比较重要的人物的时间,因为了解整体业务的一般都是公司的牛人,他们的时间可是一刻千金呀)。方式2)是一个比较折中的方法,这样做无需太多的准备就可开始编码工作,程序员把握页面内容和样式,向美工详细描述,美工再根据描述设计页面,最后返回给程序员添加代码。这个反馈的过程一般比较迅速,效果也不错,可以达到程序员预期的效果,适用于项目时间要求比较紧的情况。该方式的问题在于没有一个形象化的完整的流程可供程序员参考,一切掌握在程序员手中,容易造成对需求的贪污和系统整体风格的不统一。方式3)一般用于对已有项目的美化上,对美工的要求也很高,她们需要具备在html和其他代码混合体的环境下工作的能力。而且修改的效果一般不是很佳,不到万不得已不推荐使用。

问题2.3.4.虽然表现出来的问题各不相同,但解决的方法却很相似。首先,美工要养成一些程序员编码时惯有的习惯,比如:文件命名要有意义、html 代码要根据层次进行缩进等。其次,页面代码的一些细节也要注意,比如,使用居中或右对齐标签来取代空格,必须使用空格时也要用“ ”,不使用

标签,尽量使用表格等。再次,如果在条件允许的情况下,美工也可以学习一下夹杂在页面中的各种程序代码,了解其语义和工作原理,这将对与程序员的合作起到很大的帮助的。最后,就是程序员要在向页面文件中添加代码前先对页面代码做一下审核工作,在这里并不是看美工的页面是否美观,而是看在原有页面代码的基础上是否能够使用简单的条件、循环语句来显示数据(比如,页面布局过于复杂,不能通过简单的循环来显示所有数据),否则就需要修改页面代码直到能满足要求为止。

做网站后台的流程一般是这样的:

一、网站规划阶段

这个阶段主要是对网站的功能、目标受众、内容、栏目进行规划。这期间会经常性地和有关领导进行沟通。首先,自己一定要对网站的整体规划清清楚楚,然后要吸收别人的建议。吸收别人的建议的过程,可以认认真真地做,也可以走过场,但是有这个过程以后,别人才不会对你的规划说三道四。

至于领导的意愿,和你的规划靠得上边的,你一定要让领导明白,他们的设想已经在你的规划中被考虑进去了。

项目的大致进度,要在这个阶段结束的时候确定下来。

二、后台模块划分和版面设计

这个阶段,程序员要和美工兵分两路分头行动。

后台模块划分如果做好了,后面的效率会高一些。这个过程不能省。

版面设计,美工既要考虑网站整体规划,又要考虑大家的建议,尤其是不能忽视领导们的观点(虽然大多数情况下领导的美术细胞少得可怜)。在这个大前提下,再兼顾美观、合理。一个好的美工,不仅仅能做出漂亮的页面,还要能迎合一下客户或者公司领导的意愿,而且能和程序员进行沟通。

在这个阶段,程序员和项目经理(项目负责人)要拿出一个可操作的模块划分方案,而美工要确定网站的版面框架、美术风格,做出网站首页和二级页面。

实际上,在第一个阶段(网站规划阶段),美工就应该开始思考网站的风格了。在第二个阶段,则需要把比较抽象的初级设想变成具体的页面。基本上,首页定了,整个网站的页面就定了一大半了。

在这个阶段结束的时候,要将项目的进度计划进一步具体化。

三、数据库设计

这项工作很重要。但是程序员应该知道怎么去做。而且数据库设计是和一个人的理论水平、实际经验息息相关的,不是几句话能说明白的。大的、复杂的站点,数据库规划可能要用一周左右的时间,小的、简单的站点,数据库设计也需要 2到3天。

在这个阶段,美工最好别闲着,继续完成页面设计。要知道下一个阶段,程序员可就要用到美工的页面了。最好别出现这样的情况:程序员要用到某个页面,而美工还没有把那个页面确定下来。

四、后台程序编码

这个阶段,程序员要紧张工作,会比较辛苦的。

程序员需要遵守的三个原则:

1、团队合作;

2、保证进度;

3、保证质量。

美工这个时候要辅助程序员做页面。这个阶段美工可能比较闲,但是一定要称职。

项目经理该和客户或者领导沟通的时候,一定要沟通。

五、除错、改进、页面美化

这个阶段,不多说了。项目经理和客户、领导的沟通,仍然是很重要的。

posted @ 2010-10-17 21:30 王吉刚 阅读(373) | 评论 (0)编辑 收藏

记录一下在smarty中css路径的问题

下午为了一个css加载路径的问题而纠结,终于搞清楚,记录一下。
在用smaty模版开发的过程中,在templates中存放的都是模版面通常是以tpl和html格式的文件,所有的页面都是通过index,php控制的.路径也就是都相对于index.php文件.所以在加载images、css、js文件的时候一般写成

<link href=”templates/css/style.css” rel=”stylesheet” type=”text/css” />

但是需要注意的就是在模版页面引入外部css样式文件的时候路径 的关系就发生改变了,对于css来说的相对文件就是index.html模版文件了
如果在css文件加载图片的时候
就应该写成background-image: url(../templates/img/03.jpg);

虽然,纠结了一下午.但问题也解决了.很久没搞很多东西都忘记了,天天犯一下超低级的错误. 如:$_POST 写成这样子 $post 而纠结 说出来都觉得汗!!!
不过要谢谢彬彬、云云同学,一起解决问题…

posted @ 2010-10-17 21:29 王吉刚 阅读(1788) | 评论 (0)编辑 收藏

仅列出标题
共8页: 1 2 3 4 5 6 7 8