网站项目开发流程及规范_第1页
网站项目开发流程及规范_第2页
网站项目开发流程及规范_第3页
网站项目开发流程及规范_第4页
网站项目开发流程及规范_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.工程开发流程及标准Web开发的分散性和交互性,决定了Web开发必须遵从一定的开发标准和技术约定,只有每个开发人员都按照一个共同的标准去设计、沟通、开发、测试、部署,才能保证整个开发团队协调一致的工作,从而提高开发工作效率,提升工程工程质量。

一、工程的角色划分如果不包括前、后期的市场推广和产品销售人员,开发团队一般可以划分为工程负责人、程序员、美工三个角色。

工程负责人在我们中国习惯称为"工程经理",负责工程的人事协调、时间进度等安排,以及处理一些与工程相关的其它事宜。程序员主要负责工程的需求分析、筹划、设计、代码编写、整合、测试、部署等环节的工作。美工负责的界面设计、版面规划,把握的整体风格。如果工程比拟大,可以按照三种角色把人员进展分组。

角色划分是Web工程技术分散性甚至地理分散性特点的客观要求,分工的结果还可以明确工作责任,最终保证了工程的质量。分工带来的负效应就是增加了团队沟通、协调的本钱,给工程带来一定的风险。所以工程经理的协调能力显得十分重要,程序开发人员和美工在工程开发的初期和后期,都必须有充分的交流,共同完成工程的规划和测试、验收。

二、开发工具的选取

不象C/S构造程序开发,可以一门语言从头到尾,你用Delphi,就是Delphi程序员,你用VC++,你就是VC程序员。B/S构造的Web开发工作,工具的选择是一件痛苦的事情。从Windows到Linu*,从IIS到Apache,从J2EE到.NET,从到.NET到E组件……还有Asp、A、Jsp、Php、Perl、Javascript、Vbscript……

美工也轻松不了多少,什么"网页三剑客""新网页三剑客"、FrontPage、Photoshop、CorelDraw……谁都说自己是最强大的!

我们的经历是,选用工具时最好是统一的,比方美工统一用DreamwaverM*制作网页,程序员全部用文本编辑器书写代码。统一工具的好处是可以保持同一个工程文档的一致性,便于开发人员的交流和文档的保存。

但是也不必刻意强求一致,比方美工可以使用任何自己熟悉的图形处理软件,只要最后能生成浏览器支持的图片就可以了。正是Web开发工具的多样性,才成就了今天互联网多姿多彩的局面。

只要程序员的纯Html和Javascript代码的功夫足够过硬,就能胜任最后的整合工作。

三、工程开发流程如果工程真正谈下来了,就需要正式确定前阶段的需求分析,该补充的步骤必须补上。然后进展详细的总体设计,其实也根本是前阶段工作的重复和完善。

产生各栏目文件夹的构造图〔一些公共文件夹如images、scripts、styles等需要固定存放,共同调用〕。

然后由美工根据内容表现的需要,设计静态网页和其它动态页面界面框架,该切分的图片要根据尺寸切割开来。给需要程序动态实现的页面预留页面空间。制定字体、字号、超级等CSS样式等。

在美工设计页面的同时,程序员着手开发后台程序代码,做一些必要的测试。

美工界面完成后,由程序员添加程序代码,整合。

由工程组共同联调测试,发现bug,完善一些具体的细节。

制作帮助文档、用户操作手册。向用户交付必要的产品设计文档。

然后进展部署、客户培训。

最后进入维护阶段。这一阶段也可以不包括在该工程中,而作为公司的效劳内容。

以上的每一部都会产生一些阶段性成果,工程经理需要及时进展监视、审核,发现问题及时纠正。

为了控制工程的进度,应当实施填写"工程进度表"制度,即每天填写工作日志,记录当天的工作细目和工作量,以及需要解决和已经解决的问题。

四、一些技术规则1,数据库命名约定(参考了"匈牙利命名法")

数据库(Database):格式[db]_[desc]。

表(Table):格式[tab]_[desc]。表名长度不能超过30个字符,单词首写字母大写,多个单词间不用连接符号。

字段(FieldorColumn):格式f_[type]_[desc]。f:说明这是一个字段名称;type:可选,说明字段类型,字符型为c,整型为i,逻辑型为b,货币类型为m,浮点型为f,日期型为d,时间型为t,二进制为bl。如果类型为字符型,可以省略。desc:对字段属性的有意义的描述,可以用英语单词、单词缩写、汉语拼音、字段实际含义的拼音缩写等,单词之间可以用单词首字母大写软分割〔推荐〕,也可以用"_"隔开。举例:

f_name(**)

f_c_UserInfo或f_c_User_Info

f_*m(**)

f_grp_id(组标识)

索引(Inde*):格式[id*]_[desc]。

视图(View):格式[View]_[表A]_[表B]_[表C]…,其中View表示"视图"。这个视图由几个表产生就用连字符"_"连接几个表的名,如果表过多可以将表名适当简化。

存储过程:格式[sp]_[表名]_[存取过程名(缩写)],比方sp_User_Delete。

触发器(Trigger):格式[trg]_[d][i[[u]_[desc]。trg代表触发器;d,i,u说明触发器类型(Delete,Insert,Update)定义,书写顺序为d、i、u;desc是表的名称,说明触发器所在的表。

数据库设备(DatabaseDevice):格式[dev]_[desc]。

约束(Constraint):格式[s]_[desc]。

2,SQL语句书写标准

SQL语句中,SQL关键字全部大写,其它的遵照"数据库命名约定"。例如:

SELECT*FROMtabNewsInfoWHEREf_UserName=’’ORDERBYf_i_autoid

3,文件夹命名约定

公共文件夹:

/images公共图片

/styles样式表

/scripts脚本

/ftps下载

/doc相关素材、文档

/readme.t*t说明文档

/helps.htm帮助文档

/mylogs.t*t维护记录

其它栏目的命名,可以用拼音首字母简称,也可以用英文单词。全部文件夹的含义在readme.t*t文件中说明。

4,对象及变量命名约定

每个变量名必须先定义,再使用。在ASP文件的最开头添加语句<%OptionE*plicit%>可以强制变量定义。代码块必须采用缩进格式。每个函数前必须标明函数的功能、输入参数、返回值的相关信息。

变量类型缩写前缀

Stringstr或s

IntegerInt

DateDt

Objectobj或o

Booleanbol或b

ByteByt

DoubleDbl

ErrorErr

LongLng

SingleSng

5,图形对象约定

图片的格式:最后生成jpg,gif,png,swf格式的图形文件

图片的字节大小:最大不能超过30k

图片的尺寸:根据需要确定,最好使用小图片,大的图片必须切割成小图片使用。

图片的留白:图片的边界不能留白,图片只包含有效的色彩元素

6,媒体对象约定

流媒体的格式:asf,wmv,wma,rm,不建议使用avi格式的动画文件

7,页面布局的根本约定

中文段落必须有2个汉字的缩进。字间距采用默认大小。行间距为16pt~20pt。文字布局必须留有"天""地""左""右",不能把版面占满。

页面布局必须保持色彩平衡。注意上下、左右的照应。注意页面的整体协调。提倡画面和文字的融合,而不是画面和文字的明显别离。

要按照设计广告的要求来设计网页页面-特别是一些产品展示性的页面。

五、一些经历和教训1,能用静态网页表现的内容,尽量不用程序代码动态实现。

2,设计阶段,必须和用户进展充分的交流,完全、准确的了解用户的需求。既不能歪曲用户的意思,也不能一味迎合用户的非正当需求,也不能对自己没有把握的技术甚至不可能实现的技术夸下**。需求分析是一个沟通、交流、引导、教育、斗争、妥协的过程。需求分析结果要有文字资料存档。

3,技术参数必须了解准确。比方用户的软件平台是linu*系列,那你的系统就要考虑用Java或者Php加MySQL开发了,这时候你的ASP.NET技术就用不上了。

4,最好让用户对已经确定的需求内容签字,盖章。

5,任何交流,必须有书面记录。对一些喜欢"健忘"-实际上是懒惰的开发人员,要求他必须每天花10分钟写工作日志。

6,每个工程的有关文档,全部、统一集中归档。大的方面:设计--制作--程序程序方面:拿到制作页面后,大体浏览下,脑子里有个大体数据库构造1、数据库建模,把需要的字段列出来,最好一下子搞全2、搞后台吧,添删改查3、前台绑定吧通俗的说,类即分类的意思。从生物学上我们把生物从大到小的分类为界、门、纲、木、科、属、种。面向对象主要表达的就是分类的概念。其实,在以前的C语言、Basic语言等后现代计算机语言就已经有了分类的概念,比方根本类型分为整数、浮点数、字符、日期等。只不过在面向对象概念中把类型的概念扩大化。不只是利用常用的简单类型,还可以自定义类型(类)。比方圆是一类事物,我们可以通过半径、位置等信息描述他,就可以定义这些信息作为圆这类事物的属性。例如:苹果就是对象。它的属性如:颜色,重量,形状等事件和方法如:你咬苹果,把苹果扔出去,踩扁,削皮等。一句话解释:早上你去吃早饭,有面包你就尽管吃,不用去管面包的制作过程,也不需要你去一步一步的去制作面包。面向对象与面向过程的区别:1、面向过程:把一个问题分解成假设干小问题,再对每个小问题进展分解(分模块),知道每个问题的难度都足以小,能够解决为止,然后再把这些小问题合并,就解决了大问题。2、面向对象:把世界上的任何事物都看成对象,*些对象之间因为存在共性,所以把他们抽象起来,称之为类,把这些类自身的属性,特点动作给封装到类的内部,比方说:教师类,学生类教师类的属性有**,年龄,工资,学历,教龄,特点动作有:教书,教育学生,组织学生类的属性有**,年龄,年级,特点动作有:学习两种方法之间最明显的区别就是面向过程主要是模块化思想,面向对象的是封装的思想。了解面向对象,先看实例。比方说*三,即是指一个实体,则*三个人就有身高,体重,**,性别等特性。其实每个人都有。

如果*三是个男人,那从男人的角度来看,是不是都有这些一样的特性呢?答案是肯定的。推而广之,女人也是不是有一样的特性

除了性别不同外。答案也是肯定。再说面向对象编程。我们知道Windows环境中每个窗口的环境都差不多,都有最大/最小/关闭/标题/状态栏。但窗口的大小都有不

同。在软件开发过程中,我们可以根据窗口的这些共同特性进展归纳,预先设置好这些特性〔说属性也可

以〕,当开发中需要一个窗口的时候。我们只需要设置好所需要窗口的相应特性〔如:名称/大小等〕,系统就会帮助我们生成你需要的窗口。这就是Windows

API所做的事。所谓面向对象编程,就是把实现*些特定功能的功能模块根据其特性进展抽像,抽取出其共同特征进展编码。然后当你需

要这个功能的时候,只需要根据属性适当的调整其特性就可以得到不同的效果。再来说*三。根据*三是男人这个特性,我们可以抽像出男人和*三有以下关系男人〔男,身高,体重,**,发型〕类这是抽像出的男人共有的特征男人叫类身高体重就叫属性*三〔男,180,180,*三,短发〕对像*三是男人中的一个就是对象了,之所以是*三就是因为他的特征和其他人有不同李四〔〕对象李四为什么是李四呢?因为个体不同,虽然和*三有些共同的特性,如性别一样,更重要的是其他特性有差异,如果两个人所有特性一样,呵

呵是什么结果呢?发挥一下想像吧。再回到编程中。窗口就是一个类,当你需要一个窗口的时候,只需要指定其窗口名称等特征,就可以得到一个窗口对象,当然你需要

两个窗口怎么办?很简单只要两个窗口名称不同,其他特性也可以一样的。就像双胞胎一样,也许外人看来是一模一样的,但是其

名字肯定是要不同的。以上是个人浅见,供参考。其实这些理念更多的是要有自己的理解,每个人理解不同,说出来你不一定能理解的。有兴趣你到网上

找孙鑫教师的VC++教程,其中第一二节课就是专门讲到这个问题的。希望对你有帮助,有错误也请指出受教。譬如说你要开公司,创业初期整个公司就两三个人,所有的事都是你这个老板安排做的,后来开展越来越大了,你一个人不可能管理这么大的公司的每一个细节了,于是就成立了各个部门,制定每个部门的指责以及构造,部门下面还可以再设部门,之后需要完成什么任务只需要对各个部门下达命令,或者协调各个部门之间的交流关系,不需要你一步一步告诉他们怎么做,你需要关注更高层面的问题伪代码更容易理解…

狗{

血统;毛色;体长;体重;性别;年龄;

咬〔〕;

叫〔〕;

摇尾巴〔〕;

看门〔〕;

睡觉〔〕;

}

书{

标题;副标题;作者;;出版时间;封面;目录;所属人;……

翻页〔〕;

做笔记〔〕;

折角〔〕;

被偷〔〕;

……

}

狗1号=狗.构造函数〔萨摩耶,白色,一米,五十斤,母,三岁〕;

书1号=书.构造函数〔……〕;

以上由两个类狗和书实例化了两个对象狗1号和书1号。

狗1号.睡觉〔〕;

书1号.翻页〔〕;

这样让两个对象做出了动作。

假设不需要这个对象了,或者说狗死了书卖了,则

狗1号.析构函数〔〕;

书1号.析构函数〔〕;

一、什么是类?如果将对象比作房子,则类就是房子的设计图纸,对象就是类的实现或实例。所以面向对象设计的重点是类的设计,而不是对象的设计。对于C++程序而言,设计孤立的类是比拟容易的,难的是正确设计基类及其派生类。更准确的比方,"食物〞是"水果〞的基类,"水果〞是"食物〞的派生类,而"苹果〞则是"水果〞的派生类,*一个具体的"苹果〞就是对象〔"苹果〞的实例〕,从基类到派生类再到对象,一步步从抽象到具体。要我说,无论是面向过程的语言也好,面向对象的语言也罢,我首先要给他讲的都是类和对象!"这个世界是由什么组成的?〞这个问题如果让不同的人来答复会得到不同的答案。如果是一个化学家,他也许会告诉你"还用问嘛?这个世界是由分子、原子、离子等等的化学物质组成的〞。如果是一个画家呢?他也许会告诉你,"这个世界是由不同的颜色所组成的〞。……呵呵,众说纷纭吧!但如果让一个分类学家来考虑问题就有趣的多了,他会告诉你"这个世界是由不同类型的物与事所构成的〞好!作为面向对象的程序员来说,我们要站在分类学家的角度去考虑问题!是的,这个世界是由动物、植物等组成的。动物又分为单细胞动物、多细胞动物、哺乳动物等等,哺乳动物又分为人、大象、老虎……就这样的分下去了!现在,站在抽象的角度,我们给"类〞下个定义吧!我的意思是,站在抽象的角度,你答复我"什么是人类?〞首先让我们来看看人类所具有的一些特征,这个特征包括属性〔一些参数,数值〕以及方法〔一些行为,他能干什么!〕。每个人都有身高、体重、年龄、血型等等一些属性。人会劳动、人都会直立行走、人都会用自己的头脑去创造工具等等这些方法!人之所以能区别于其它类型的动物,是因为每个人都具有人这个群体的属性与方法。"人类〞只是一个抽象的概念,它仅仅是一个概念,它是不存在的实体!但是所有具备"人类〞这个群体的属性与方法的对象都叫人!这个对象"人〞是实际存在的实体!每个人都是人这个群体的一个对象。老虎为什么不是人?因为它不具备人这个群体的属性与方法,老虎不会直立行走,不会使用工具等等!所以说老虎不是人!二、什么是面向对象技术?面向对象技术〔OOT〕是一种软件开发和程序设计技术。所开发的程序是面向对象程序,直接描述客观世界的对象及其相互关系。例如,银行经理、秘书、职员、顾客、帐本、打印机,直接作为对象出现的程序中。他们相互通信,完成诸如存取款、会计结算、打印报表等业务。以往的编程技术只用数据构造和算法来模拟要完成的业务,虽然可以得到所需计算,但经不起修改。如果增加*项业务,如代营股票,则程序几乎要重编。而现在只要把增加的业务加到顾客、帐本、职员、打印机这些对象上就可以了。

三、什么是封装?对象是封装了数据和操作的程序块。所谓封装是为这个程序块建立显示的界面。其它对象只能向这个界面发消息,不能访问内部的私有数据和操作。比方我们要求*人"坐下〞〔发消息〕,*人承受消息后调整自己的肌肉、神经使自己坐下〔操作〕,从而改变了他的状态〔描述姿态的数据变了〕。外界不必过问惊动了几条神经,收缩了哪几块肌肉。因此,内部的数据和实现操作的算法假设有改动,对其它程序对象没有任何影响。封装我们已经接触过,将子程序封装为命令〔函数〕、在易模块中建立公开子程序编译为易模块就是封装。四、什么是继承?封装使程序局部化,易修改、好维护,但许多对象有一样的功能时免不了重复,所以面向对象技术有继承的机制。作为新类的根底的类称为‘基类’。从基类派生的类称为‘派生类’。派生类继承基类中定义的所有字段、属性、方法和事件。例如,我们描述了"人〞这一对象。人有**、年龄、职业、住址等数据和吃饭、乘车、上班等操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论