技术开发 频道

软件项目开发流程及规范

【IT168 分析评论】

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

    一、项目的角色划分

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

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

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

    二、开发工具的选取

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

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

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

    但是也不必刻意强求一致,比如美工可以使用任何自己熟悉的图形处理软件,只要最后能生成浏览器支持的图片就可以了。正是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_xm(姓名)

    f_grp_id(组标识)

    索引(Index):格式[idx]_[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):格式[cns]_[desc]。

0
相关文章