软件工程专业大型软件项目实训
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XX工程技术大学
大型软件项目实训报告
教学单位软件学院
专业软件工程
班级
学生XX
学号
指导教师
图1:功能模块图
实体的设计:在系统功能模块设计上,按管理信息系统的设计要求,每个系统都必须有输入、输出、统计、维护、基础数据设置等功能。网上书店系统的数据操作包括角色、用户、图书、图书种类、订单、订单子项、留言等,共同协调完成系统的运行与维护。
各实体属性:
1. 角色:角色ID、角色名称
2. 用户:用户ID、用户名、真实XX、密码、地址、联系、创建日期、角色ID
3. 图书种类:图书种类ID、种类名称、上级种类ID
4. 图书:图书ID、图书名称、所属种类ID、详细描述、供应商、数量、进货价格、销售价格、图片信息
5. 订单:订单ID、所属用户ID、图书总量、订单总费用、创建日期、订单状态
性能要求:
页面美观大方,实现无刷新技术,操作方便直观,有安全保障机制,后台使用SQLServer2008数据库。
三层框架MVC3
目前,典型的分层架构是三层架构,依次是数据访问层、业务逻辑层和表示层。
图2:订书系统功能图
根据实体设定以及简要的需求分析,数据库设计如下:
图3:E-R图
数据库表的设计如下:
1.角色表Roles
表1:角色表
列名数据类型Allow nulls 描述备注roleID int N 角色ID 主键roleName Varchar (50) Y 角色名称
2.用户表Users
表2:用户表
列名数据类型Allow nulls 描述备注userID int N 用户ID 主键userName Varchar(50) N 用户名
realName Varchar(50) N 真实XX
pwd Varchar(50) N 密码
addr Varchar(200) N 联系地址
phone Varchar(20) Y 联系
createDate datetime N 创建时间
roleID int N 角色ID 外键remark Varchar(2000) Y 备注
3.图书表Book
表3:图书表
7.订单子项表OrderItem
表7:订单子项表
列名数据类型Allow nulls 描述备注orderItemID int N 订单子项ID 主键
bookID int N 图书ID 外键orderFormID int N 订单ID 外键
num int N 图书数量
price money N 图书单价
2.功能介绍及使用。
系统主界面
登录页面,管理员登录后可进入管理员页面,普通用户进入普通用户界面。
图4:用户登录界面
登录
输入用户名和密码点击登录按钮,确认身份后用户进入系统,若为空或者错误时会有相应的提示信息。登录后根据用户的角色系统进入不同界面,用户可以选择进行其他操作。
点击登录按钮:普通用户登录到普通用户的界面。
代码如下:
Users us = UserManager.Login(txtUsername.Text.Trim(), txtpwd.Text.Trim());
Session["user"] = us;//保存用户
if (us != null)
{
if (us.Role.RoleName == "管理员")
{
Response.Redirect("~/Manager/UserInfo/UserManager.aspx");
}
else
{
Response.Redirect("~/Cart/BookSearch.aspx");
}
}
else
{
Response.Write("");
}
用户管理
主界面
系统列出当前所有用户的基本信息,可以进行删除用户功能,并提供修改操作的。管理员还可以按照角色和用户名进行分类和精确查询。
图5:用户管理
注册
新用户填写注册信息,提交注册为系统用户,默认用户的角色为“普通用户”。
图6:用户注册页面
代码如下:
if (Page.IsValid)
{
Users us = new Users();
erName = this.txtusername.Text;
us.Pwd = this.txtpwd.Text;
us.RealName = this.txtrealname.Text;
us.Phone = this.txtphone.Text;
us.Addr = this.txtaddr.Text;
us.Remark = this.txtremark.Text;
BookModels.Roles role = new BookModels.Roles();
role.RoleID = 2;
us.Role = role;
us.CreateDate = System.DateTime.Now.ToString();
if (UserManager.AddUser(us) != null)
{
Response.Write("");
}
else
{
Response.Write("");
}
}
修改密码
用户登录系统后就能修改密码。修改时除需要输入用户名和旧密码,另外还需要对新密码进行确认。提交后自动保存到数据库中。