“Mp77的Internet代码收集系统”项目计划书(上)

“Mp77的Internet代码收集系统”项目计划书

本系统将作为各类编程语言常用代码的网络收集解决方案。现已考虑在内的语言有C/C++、JAVA、PHP、HTML,并考虑为未来语种扩容留出接口,系统采用LAMP构架。前台使用PHP和HTML编写,后台数据库系统使用MySQL AB公司的知名数据库产品MySQL的The Open Source License版本,网页整合采用Namo WebEditor 2006 suite Trial(考虑到版权问题将不使用Adobe Dreamweaver开发)。预计功能包含函数查询、语法查询、常用数据结构以及部分用户讨论。

这套系统的特点是,通过限量授权的方式,使多数用户能参与代码收集整理工作,从而扩大数据库容量。

由于系统初步构架庞大,计划将采用分步开发的方法逐步进行。预计开发将分为五个阶段:

第一阶段,需求分析,系统架构设计,文档编写以及系统对硬件配置要求的评估。

第二阶段,完成模版规划,制作会员管理模块,代码收集、整理和查询模块,并进行相应测试。

第三阶段,完善用户界面,扩展编程语种种类,完善PHP和HTML两个代码数据库的基础数据,进行本地Alpha测试。

第四阶段,有限度地进行界面的美工设计,完善已容纳的编程语言代码数据库的基础数据,开放用户注册,采取搜索引擎优化等宣传措施,制作SQL script脚本和系统安装引导文件,进行Internet上的beta测试。

第五阶段,全面开放所有既定功能,进入运行维护阶段。

项目的成本考虑是不计成本,人力资源使用为1人,开发时间为学校假期,资金消耗主要在主机选用、域名等,但由于已考虑依托现有的hanyi.name平台,因此该部分将不计入最终成本。

本项目不含任何盈利计划,但考虑到可能由于资金有限的问题,主机条件将远不能及大型商用主机的配置,因此最终所达到的效果可能会有所折扣。

本项目的目的是学习使用Apache、MySQL、PHP进行internet应用开发,因此只要达到这一目的,本项目即宣告成功。

附件1:系统整体架构-流程图

附件2:数据表字段

附件3:模块设计说明

附件1 系统整体架构-流程图

用户权限分级:

Rank=0 未注册用户 可以使用查询功能

Rank=20 普通用户 可以使用查询和评论功能

Rank=40 中级用户 可以使用代码添加功能和包括下级用户所拥有的功能

Rank=60 高级用户 可以使用代码编辑功能和包括下级用户所拥有的功能

Rank=80 超级用户 可以使用审批代码、编辑评论功能和包括下级用户所拥有的功能

Rank=100 管理员  可以使用编辑用户功能和包括下级用户所拥有的功能

附件2 数据表字段:

create table users(

id bigint(20) unsigned auto_increment primary key ,

user_login varchar(60),

user_pass varchar(64),

user_nickname varchar(50),

user_email  varchar(100),

user_registered datetime,

user_rank int unsigned

);

create table comments(

comment_id bigint(20) UNSIGNED auto_increment primary key,

comment_code_name varchar(60),

comment_author varchar(50),

comment_date datetime,

comment_content text

);

create table link(

link_id bigint(20) primary key,

link_url varchar(255),

link_name varchar(255),

primary key(link_id)

);

create table code_type

(code_type_id bigint(20) UNSIGNED auto_increment primary key,

code_type_name varchar(50),

code_type_admin bigint(20)

);

create table code

(code_id bigint(20) UNSIGNED auto_increment primary key,

code_name varchar(255),

code_content longtext,

code_type_name varchar(50),

code_author varchar(60)

code_des longtext

);

create data_structure(

data_structure_id bigint(20) UNSIGNED auto_increment primary key,

data_structure_name varchar(50),

data_structure_content longtext,

data_structure_type varchar(50),

);

create table affiche(

affiche_id bigint(20) UNSIGNED auto_increment primary key,

affiche_title varchar(255) ,

affiche_author varchar(50),

affiche_date datetime,

affiche_content longtext,

);

附件3 模块设计说明

To be continued.