“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….