一、团队成员
丁玉庆 1500802089
李晓晨 1500802116
马荣贞 1500802105
申琼娇 1500802118
马雯莉 1500802087
逯 香 1500802088
二、编码规范
PHP编码规范
. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" 。这是为了防止多余的空格或者其它字符影响到代码。
例如:
- first
- second
Hello StyleGuide!
Hello StyleGuide!
[强制] 对于无需自闭合的标签,不允许自闭合。 解释: 常见无需自闭合标签有input、br、img、hr等。 示例: [强制] 对 HTML5 中规定允许省略的闭合标签,不允许省略闭合标签。 示例:- first
- second
- first
- second
[建议] HTML 标签的使用应该遵循标签的语义。 解释: 下面是常见标签语义 p - 段落 h1,h2,h3,h4,h5,h6 - 层级标题 strong,em - 强调 ins - 插入 del - 删除 abbr - 缩写 code - 代码标识 cite - 引述来源作品的标题 q - 引用 blockquote - 一段或长篇引用 ul - 无序列表 ol - 有序列表 dl,dt,dd - 定义列表 示例:
Esprima serves as an important building block for some JavaScript language tools.
Esprima serves as an important building block for some JavaScript language tools.
[建议] 在 CSS 可以实现相同需求的情况下不得使用表格进行布局。
解释:
在兼容性允许的情况下应尽量保持语义正确性。对网格对齐和拉伸性有严格要求的场景允许例外,如多列复杂表单。
[建议] 标签的使用应尽量简洁,减少不必要的标签。
示例:
2.数据库命名原则
数据库命名要遵从以下命名原则:
表意性原则:数据库命名本着表意性原则,即命名应尽量反映存储/action/view/column的数据内容。
长名原则:很少使用或者不使用缩写,适用于DB命名之外的任一对象
数目最少化原则:数据库对象应该尽量满足数据最小化原则,也就是数据库数目,存储过程,视图等数量最小化。
2.1 数据库版本控制
当由于多个版本的应用系统同时存在或者是其它特殊原因而使用完成相似的功能的对象存在同时存在时,使用版本控制:版本号在对象名的后面加上[_v1]
如:
Up_IM_DailyUsageStatsUpdate_v2
Up_IM_CustomerGetUsingLastName_v2
2.2 Server/命名实例的命名
基于Domain命名, DOMAIN 的粒度,可分为三级 ,分别是Server级别,Database级别和表的前缀级别。此为第一级别。
1. ONLINE PRODUCTION SERVER
NEWSQL
NEWSQL2
EHISSQL
WAREHOUSE PRODUCTION SERVER
S3SQL01
S4SQL01
S7SQL01
S6SQL01
2.3 数据库命名
数据库命名应当遵从上面所提及到的协定,包括没有特殊的字符,使用文字数据字式字符……..,项目代码命名不应该同样被数据库使用.数据库名字应该唯一以避免冲突等.以Domain来标识, 拆分DATABASE,基于大的逻辑范畴,如operation 范畴以及部门类别,另外:其它与部门相关的DATABASE 可以放到相关的SERVER 下。
数据库数目最少化原则
数据设置尽可能MERGER原则
peration database AND Dept level Database set up rules
拆分DATABASE,基于大的逻辑范畴,如operation 范畴以及部门类别
其它与部门相关的DATABASE 可以放到相关的SERVER 下。
下面为与OPEARATION 相关的DATABASE示例:
如: 下面为与OPEARATION 相关的DATABASE:
ItemProfile
Inventory
Codecenter
CustomerProfile
SalesOrder
Accounting
Sevice(RAM)
eCommerce
SupplerChainManagement
DropShip
SerialNumber
WorkFlow
ShippingCarrier
WarehouseManagment
HumanResource
其它与部门相关的DATABASE 可以放到相关的SERVER 下。
MKT
Pm
Mis
CUSTOMER SVR
ADMIN
ACCOUNTING
2. INTERNAL DEPT DATABASE SERVER
2.4 数据库对象—表,视图,列名,约束,规则,默认值
数据库对象应该被清晰的命名,要确认不存在歧义。数据库对象的名字应该包括自己尽可能多的信息,并要详细的说明与之相对应的项目文档.选择合适的命名空间是一个很让人困惑的问题(比如我们不能从一个存储过程的命名上看到是哪个项目在使用这个对象),命名名字唯一的在数据库级别标识自己,无论在哪儿使用它,请确保在一个项目中命名方法的一致.在一个小的上下文看来很清晰的对象在一个大的上下文中可能就会丢失他的含义.节省击键次数永远不能用来作选择名字的标准.
下面供述了数据库对象的命名协定,所有的数据库对象命名都应该遵循下面协定.
如果不是长度限制,缩写应该被避免.当使用缩写时应该遵从下面的缩写规范的规则.缩写应该在项目范围内保持一致并被存档.
不要使用特殊的字符;对文字数字式字符加以限制.
在命名时为了更好的标识表与应用程序之间的关系,我们要使用“[function name]|[main module name]_表名”的形式.
比如: Newegg_customer
Blocked_customer
Abs_customer
EDI_....
MDF_....
当要修改一个对象的架构时,首先要确认与之存在依存关系的对象不受影响.要查看与之存在依存关系的对象,可以在企业管理器中”右键相应对象”->”ALL TASKS”->”DISPLAY DEPENDENCIES”来查看或者使用系统存储过程SP_DEPENDS来查看:
EXEC SP_DEPENDS 'dbo.GetCategories’
当底层表结构更改时,视图都应该被重新创建.这个应该特别被注意,特别是视图是使用如”SELECT * FROM table”时.
强烈建议任何时候都不要使用类似于”SELECT * FROM”的语句.
当在不存在事务上下文中或者是完整性要求不是很高时,在SELECT语句中使用WITH NOLOCK.
2.5 缩写规范
由于长度的限制而需要使用缩写时,应当遵从以下的规则:
以分类单词作为名字的起始.
缩写的第一个字符应该与单词的第一个字母相同,比如,SFER就不是Transfer的有效缩写.
Identify and abbreviate the root word, usually the shortest form of the word.
缩写时省略元音字符,除非特殊原因,重复字符中将被省略一个。
缩写不应该暗示到其它的单词(比如:单词“parent”可能被缩写为”PRNT”,但是“PRNT”很容易让人想起单词“PRINT”,一个比较好的缩写就是使用”PSRNT”)
相似单词的缩写应该一致,比如如果Charge缩写为CHRG,则change应该被缩写为CHNG.
当组合词或者短语被广泛使用时,并且大多人都能识别出这些缩写时,应该使用他们的首字母缩写,因为大多人都能识别出这些缩写。
三、数据库
![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170613181859040-892251437.png)
![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170613181918056-2065561861.png)
![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170613181936634-1909241903.png)
四、ER图
![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160230559-1339564100.png)
五、功能流程图
![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160444918-1431055358.png)
![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160550309-1198319728.png)
![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160745872-1131438844.png)
![](http://images2015.cnblogs.com/blog/1108054/201706/1108054-20170607160827497-1062498486.png)
六、项目分工
丁玉庆----设计数据库
李晓晨----构建系统整体框架及数据库
马荣贞----流程图制作
申琼娇----功能模块划分
马雯莉----编码规范
逯 香----ER图
七、组员成绩
丁玉庆 10分
李晓晨 10分
马荣贞 10分
申琼娇 10分
马雯莉 10分
逯 香 10分