1、冰冰服装管理小助手 ClothesManager System设计文档拟 制 人 肖兢俊目录第一局部 引言3编写目的3第二局部 总体设计3需求规定3根本设计理念32.3运行环境32.4 设计概念和处理流程4第三局部 详细设计概述43.2.2 字段命名43.2.3 常量命名5主要控件名简写对照表5语言编写标准53.3.1 SQL语言标准53.3.2 存储过程命名6第四局部 数据库搭建64.1 数据库关系陈述64.2 为表添加约束6第五局部启用开发环境、搭建三层架构105.1 架构设计陈述10第六局部 开发与存储过程的编写106.1 用户功能的实现106.1.1 用户功能大致流程图11本模块涉及的
2、相关存储过程11实现本模块三层架构11员工管理窗口的实现126.2.1 员工窗口流程图136.2.2 本模块涉及的相关存储过程146.2.3 实现本模块三层架构16管理员窗口的实现17管理员窗口流程图17本模块涉及的存储过程176.3.3 实现本模块三层架构20第一局部 引言1. 1编写目的本软件专门为小型服装销售个体户所编写,希望为小于服装销售个体户提供生意上、管理上的便利。第二局部 总体设计需求规定的详细内容,请参考独立的文档: 工程需求说明;1. 基于.NET平台架构。2. 客户机单用户方式实现; 开发工具:系统:windows xp开发平台:MS VS 2023数据库支持:MS SQL
3、 Server 2023辅助工具:MS Visio 2023MS Project 2023客户程序软件: Windows /2022/Xp或更高版本2.4 设计概念和处理流程服装批发管理系统分为三个模块:用户模块,员工操作模块,老板操作模块。设计说明:1、各自独立的WinForm模块,程序模块清晰; 2、友好的用户界面.第三局部 详细设计概述3.1 两种命名方式Pascal规那么 标识符的首字母大写,而每个后面连接的单词的首字母都大写。例如: BackColorCame规那么 标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如: BackColor3.2 程序代码命名标准3.2.1类
4、、文件命名文件名遵从Pascal命名法,无特殊情况,扩展名小写。使用统一而又通用的文件扩展名: Manages3.2.2 字段命名1、private、protected 使用 Camel 大小写。2、public 使用 Pascal 大小写。3、拼写出字段名称中使用的所有单词。仅在开发人员一般都能理解时使用缩写。字段名称开头不要使用大写字母。下面是正确命名的字段的例如。 class SampleClass string url;string destinationUrl;4、不要对字段名使用匈牙利语表示法。好的名称描述语义,而非类型。3.2.3 常量命名所有单词大写,多个单词之间用 _ 隔开。
5、 如public const string PAGE_TITLE = Welcome; 3.2.4 控件命名规那么所有控件应尽量防止使用自带名称,控件名应为简写+英文描述,英文描述首字母大写主要控件名简写对照表控件名 简写 控件名 简写Label lbl TextBox txtButton btn LinkButton lnkbtnImageButton imgbtn DropDownList ddlListBox lst DataGridView dgvDataList dl CheckBox chkCheckBoxList chkls RadioButton rdoRadioButtonL
6、ist rdolt Image imgPanel pnl Calender cldAdRotator ar Table tblRequiredFieldValidator rfv CompareValidator cvRangeValidator rv RegularExpressionValidator revValidatorSummary vs CrystalReportViewer rptvew如一个取消按钮的命名应为:btnCancel而不是button13.3.1 SQL语言标准所有编写的T-SQL文件均要保存,方便以后数据库的移植。所有SQL语句均用大写,变量、表、表内字段命名应
7、为Pascal命名法,其中表名前面应有 dbo.并能适当添加注释。例如:3.3.2 存储过程命名本软件数据库操作全部由存储过程完成,每个存储过程名称应为 dbo.usp_XXXXXXX (注意要有括号!,例子见上机课MySchool数据库)。每个存储过程名称为: 动作名称+表名+字段名,由Pacal命名法完成。如 dbo.usp_SelectAdminLoginId,动作名称为Select(查询),表名为(admin),字段为LoginId(名)。第四局部 数据库搭建4.1 数据库关系陈述数据库关系图见文件数据库关系图.vsd其中各表名与各字段名称已经给出,并带有中文说明。数据库的建立要以数据
8、库关系图.VSD为基准,不要以下面的载图为基准。其中黑体字段不能为空,非黑体字段可以为空,如State。里面任何关于金钱的字段属性应为Money,而不是数据库关系图.vsd里面的Double(主要是Visio 2023没有Money属性给我加)。如:Salary,BuyPrice等。4.2 为表添加约束LoginName字段为外键约束,对应 Login表的主键列 LoginName。AdminId字段为标识列,自增为1。主键约束。LoginPwd 字段为Check约束,密码不能低于6位。LoginName字段为外键约束,对应 Login表的主键列 LoginName。EmployeeId字段为
9、标识列,自增为1。主键约束。LoginPwd 字段为Check约束,密码不能低于6位。BirthDay 字段为Check约束,生日不能大于当前日期。Salary 字段为Check约束,薪水不能小于0Sex 字段为Check约束,姓别只能为男或女CustomerId字段为标识列,自增为1。主键约束。Sex 字段为Check约束,姓别只能为男或女。Age 字段为Check约束,0 Age= 0。Time 字段为Check约束, 时间不能大于当前日期。Magnitude 字段为Check约束,数量不能小于0。Location 字段为外键约束,对应 Place表的主键列 LocationId。Supp
10、lier 字段为外键约束,对应 Supplier表的主键列 SupplierId。Operator 字段为外键约束,对应 Operator表的主键列 OperatorId。进货的操作可以是员工或者是老板。SaleClothesId字段为标识列,自增为1。主键约束。ClothesId 字段为外键约束,对应BuyClothes表的主键列BuyClothesIdSalePrice 字段为Check约束,出售价不能小于0Time 字段为Check约束, 时间不能大于当前日期。Magnitude 字段为Check约束,数量不能小于0。Customer 字段为外键约束,对应 Customer表的主键列 C
11、ustomerId。Operator 字段为外键约束,对应 Operator表的主键列 OperatorId。PlaceId 字段为标识列,自增为1。主键约束。Name 字段为唯一约束,因为供应商的名称是唯一的SupplierId 字段为标识列,自增为1。主键约束。FinanceDebtId 字段为标识列,自增为1。主键约束。SaleClothesId 字段为外键约束,对应 SaleClothes表的主键列 SaleClothes。Customer 字段为外键约束,对应 Customer表的主键列 CustomerId。Price 字段为Check约束,Price=0State 字段为检查约束
12、,只能为“已付或“未付State 字段为默认约束,默认为“未付OperatorId 字段为标识列,自增为1。主键约束。Sort 字段为Check约束,类别只能为“管理员或“员工LoginName 字段为外键约束,对应Login表主键列LoginName。LoginName 字段为主键约束。FirstTime 字段为默认约束,默认值为当前时间。LastTime 字段为默认约束,默认值为当前时间。第五局部启用开发环境、搭建三层架构5.1 架构设计陈述本软件为OOP实现三层架构设计,其中表示层的名称为:ClothesManager业务逻辑层的名称为: ClothesManagerBLL数据库访问层的名称为:ClothesManagerDAL所有实体类存放类库名称为:ClothesManagerModels,其中各实体类类名应为数据库表一致,如Admin表对应的类为也为Admin,字段属性与类型也必需一致。表示层引用业务逻辑层,业务逻辑层引用数据库访问层,三层均引用实体类类库,但实体类类库不引用任何一层。第六局部 开发与存储过程的编写 本软件三大模块流程图详见文件工程流程图.vsd,文件内包括对各主要菜单与各主要窗体的命名,其余菜单或窗体命名方法相同。其中员工窗口与管理员窗口为Mdi父级窗口,各展开功能窗口为子窗口。具体窗体外观设计、界面图片设计由开发