农场项目计划
一、计划书
李鹏 20##-7-29到20##-7-30完成
二、需求分析
1、 开会讨论需求分析
李鹏、胡玲静、唐海辉 20##-7-31上午
2、 整理需求分析资料
唐海辉 20##-7-31
3、 开会确定需求分析
李鹏、胡玲静、唐海辉 20##-7-31下午
4、 整理确定需求分析资料
李鹏 20##-7-31
5、 书写需求分析文档
胡玲静 20##-8-02
6、 提交需求文档
20##-8-02
三、确定框架
李鹏 20##-8-04 到20##-8-04晚
四、编写源代码
李鹏、胡玲静、唐海辉 20##-8-05 到20##-8-12
五、项目提交
20##-8-13
项目相关定义
每个团队开发都应有自己的一套规范,一个优良可行的规范可以使我们工作得心应手事半功倍。由于此项目开发的分散性、独立性、整合的交互性等,为了有利于项目的整体风格统一、代码维护和扩展,所以定制了这套简单的约定和规则。
本文档将定制一系列约定和规则,他们分别包括代码目录约定、文件夹命名规则、文件名命名规则、程序代码编程风格、数据库设计约定。这些规则和约定需要与开发人员、设计人员和维护人员共同讨论定制,将来开发都将严格按规则或约定开发
2.1.1项目目录约定
****电信[数字***]英文DigitizeSLSys
----------Project目录(即DigitizeSLSys)
|-----------Inc\ 公用服务器端函数定义(整个项目公用)
|-----------JsInc\ JavaScript共用函数(整个项目公用)
|-----------Database\ 数据库相关文件(如为sqlserver,把*.sql放到这里面)
|-----------Include \ 引用头文件(top等,整个项目公用)
|-----------首页相关页面程序代码文件
|-----------模块目录\ (每个模块都按此约定)
| |---------Inc\ 公用服务器端函数定义(本模块公用,比如数据库连接)
| |---------JsInc\ JavaScript共用函数(本模块公用)
| |---------UpPic\ 上传图片的保存目录
| |---------Upfile\ 上传文件的保存目录
| |---------Images\ 图片的目录
| |---------Css\ 页面css风格目录
| |---------Include\ 引用头文件(top等)
| |---------页面程序代码文件
|-----------Admin\ 管理的代码
| |---------Inc\ 公用服务器端函数定义(本模块公用,比如数据库连接)
| |---------JsInc\ JavaScript共用函数
| |---------Images\ 图片的目录
| |---------Css\ 页面css风格目录
| |---------Include\ 引用头文件(top等)
| |---------页面程序代码文件
2.1.2项目开发环境
2.1.3项目代码约定
2.1.3.1文件命令约定(包括图片文件)
1. 文件名只能用英文字母,第一个字母大写,每个单词第一个字母大写,长度不要超过20字符。例:NewsLogo.gif
2. 代码和界面分离:每一个页面的界面用*.aspx命名,实现代码用*.cs。
3. 类别相同文件的命名分为头和尾两部分,如:
RegisterForm.aspx RegisterPost.aspx
LogoNews.gif LogForum.gif
这样是为了方便如果我们按文件名称排列的时候,相同类别的文件能够在一起。
2.1.3.2编码约定
1. 数据库连接符:Web.config文件:
<?xmlversion="1.0"encoding="utf-8"?>
<!--
注意: 除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
“网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
<appSettings>
<addkey="DataConnectionString"value="workstation id=edg;packet size=4096;user id=Test;data source=localhost;persist security info=False;initial catalog=TestDB;password=123"/>
</appSettings>
<connectionStrings/>
<system.web>
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilationdebug="true" />
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<authenticationmode="Windows" />
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
-->
<customErrorsmode="RemoteOnly"defaultRedirect="GenericErrorPage.htm">
<errorstatusCode="403"redirect="NoAccess.htm" />
<errorstatusCode="404"redirect="FileNotFound.htm" />
</customErrors>
</system.web>
</configuration>
2. 实际调运的ADO.NET运用
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/********************************************************************************
** 作者: Andy Lu
** 创始时间:20##-02-13
** 修改人:Andy Lu
** 修改时间:20##-02-13
** 描述:
** 主要用于用户注册
*********************************************************************************/
///<summary>
///用户注册类(用户注册,并返回ID)
///</summary>
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//VS2003用:System.Configuration.ConfigurationSettings.AppSettings
SqlConnection Conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings.Get("DataConnectionString"));
Conn.Open();
SqlCommand CmdInsert = new SqlCommand("Users_Insert", Conn);
CmdInsert.CommandType = CommandType.StoredProcedure;
//VS2003只用:CmdInsert.Parameters.Add
CmdInsert.Parameters.AddWithValue("@UserType", UserType.Text.ToString());
CmdInsert.Parameters.AddWithValue("@UserName", UserName.Text.ToString());
CmdInsert.Parameters.AddWithValue("@UserPassWord", UserPassWord.Text.ToString());
CmdInsert.Parameters.AddWithValue("@UserEmail", UserEmail.Text.ToString());
SqlParameter parmReturnValue = new SqlParameter("@Userid", SqlDbType.Int);
int intAuthorCount;
parmReturnValue.Direction = ParameterDirection.Output;
CmdInsert.Parameters.Add(parmReturnValue);
SqlTransaction Trans = Conn.BeginTransaction();
try
{
CmdInsert.Transaction = Trans;
CmdInsert.ExecuteNonQuery();
intAuthorCount = (int)CmdInsert.Parameters["@Userid"].Value;
Trans.Commit();
Response.Write("<script>alert('祝贺您!用户添加成功!');</script>");
Response.Write(intAuthorCount);
CmdInsert.Dispose();
Conn.Close();
}
catch (Exception Err)
{
Response.Write(Err.Message);
}
3. 过程函数:
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Andy Lu
-- Create date: 20##-2-12 10:46
-- Description: 用户注册
-- 参数-UserId:用户ID;
-- 参数-UserType:用户类型;
-- 参数-UserName:用户名称;
-- 参数-UserPassWord:用户密码;
-- 参数-UserEmail:用户邮箱;
-- =============================================
CREATE PROCEDURE [dbo].[Users_Insert]
@UserId int output,
@UserType int,
@UserName nvarchar(50),
@UserPassWord nvarchar(50),
@UserEmail nvarchar(50)
AS
begin tran
INSERT INTO [UserInfo]
(
[usertype],
[username],
[userpassword],
[UserEmail]
)
values
(
@UserType,
@UserName,
@UserPassWord,
@UserEmail
)
if @@error<>0 goto error
set @UserId=@@identity
Commit tran
return
-- 事务处理
ERROR:
set @UserId = 0
rollback tran
go
2.1.3.3变量约定
2.1.3.3.1变量约定
每个变量第一个字母小写,以后每个单词第一个字母大写。出于易读和一致性的目的,变量名字的前缀定义如下:
2.1.3.3.2变量格式
格式如下:
string strStfId = Session["UserId"].ToString().Trim();
string strStfId = Request.QueryString.GetValues("StfId").GetValue(0).ToString();
2.1.3.3.3控件约定
建议是使用控件名简写作为前缀,并且简写的首字母小写,符合Camel规范。
格式:控件名简写+英文描述,英文描述首字母大写
主要控件名简写对照表
2.1.3.4数据库约定
2.1.3.4.1命名约定
1. 库的命名:只能用英文字母,第一个字母大写,每个单词第一个字母大写,长度不要超过20字符。
2. Table命名约定:只能用英文字母,第一个字母大写,每个单词第一个字母大写,长度不要超过30字符。
3. 字段命名:只能用英文字母,第一个字母小写,每个单词第一个字母大写,长度不要超过30字符。
2.1.3.4.1连接库约定
1. 在程序连接库的时候请不要用sa账号,请用为每一个库单独添加的user账号连接。也就是说每建一个新库,要单独给他一个是用账号,这个帐号提供给程序中用。
2. 在程序中请使用ADO.NET连接
2.1.3.5 注释
2.1.3.5.1头文件注释
在代码文件的头部进行注释,标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的手。例如:
/********************************************************************************
** 作者: Andy Lu
** 创始时间:20##-02-13
** 修改人:Andy Lu
** 修改时间:20##-02-13
** 描述:
** 主要用于用户注册
*********************************************************************************/
注:
我们甚至可以在这段文件头注释中加入版权信息、文件名、版本信息等。
2.1.3.5.2函数、属性、类等注释(可扩充)
请使用///三斜线注释,这种注释是基于XML的,不仅能导出XML制作帮助文档,而且在各个函数、属性、类等的使用中,编辑环境会自动带出注释,方便你的开发。以protected,protected Internal,public声明的定义注释请都以这样命名方法。
比如:
///<summary>
///用户注册类(用户注册,并返回ID)
///</summary>
2.1.3.5.3逻辑点注释
在我们认为逻辑性较强的地方加入注释,说明这段程序的逻辑是怎样的,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG。在注释中写明我们的逻辑思想,对照程序,判断程序是否符合我们的初衷,
如果不是,则我们应该仔细思考修改的是注释还是程序了。
2.2源文件管理
所有网站相关的源文件(包括文档,图片等)均放到Microsoft Visual SourceSafe中统一管理。
源文件修改前需要进行check out操作,然后进行操作,禁止手动更改本地源文件只读属性。修改完毕后,进行check in操作,更新源文件,如有说明的必要,请在check in的时候写上注释说明。
农场项目计划一计划书李鹏20xx729到20xx730完成二需求分析1开会讨论需求分析李鹏胡玲静唐海辉20xx731上午2整理需求…
目录第一章摘要2第二章产品和服务221背景222产品服务323前景3第三章行业及市场分析431市场分析432竞争者分析433消费者…
生态农场项目开发计划书生态农场项目开发计划书一总体思路和初步方案农庄位于交通方便城乡结合的半丘陵地区面积约为300亩采用种养结合长…
创业计划书一项目介绍项目名称生态农业园经营范围养殖种植餐饮项目团队成员项目投资人民币50万场地选择项目概述随着社会进步和人民生活水…
新型生态农庄项目计划书目录一前言战略纲要我们要做什么目的战略目标做成什么样结果第一章战略总则与分析为什么要做动机一战略总则一规则编…
项目建议书一项目基本情况1项目名称池州马衙生态家庭农场开发项目2建设性质新建3项目建设单位池州马衙生态农业旅游发展开发有限责任公司…
城市菜园项目创业计划书一前景分析1回归自然的意愿亲近土地亲近自然是很多人心中都存有的一种最原始的情结被现代城市的钢筋混凝土消解之后…
张发衡都市休闲农庄项目投资商业计划书范文项目介绍都市休闲农庄是国际上最流行的一种全新的休闲业种它以田园风光庄园风情为主要风格迎合城…
目录第一章摘要2第二章产品和服务221背景222产品服务323前景3第三章行业及市场分析431市场分析432竞争者分析433消费者…
生态农业创业计划书打造生态特色农庄开启现代化农业财富大门稳获实业投资收益分散投资风险湿地绿色生态观光农业投资将给您无限的商机项目开…
一什么是生态养殖生态养殖指根据不同养殖生物间的共生互补原理利用自然界物质循环系统在一定的养殖空间和区域内通过相应的技术和管理措施使…