系统分析大作业.docx
- 文档编号:29808940
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:31
- 大小:790.27KB
系统分析大作业.docx
《系统分析大作业.docx》由会员分享,可在线阅读,更多相关《系统分析大作业.docx(31页珍藏版)》请在冰豆网上搜索。
系统分析大作业
项目名称
ProjectName
密级
ConfidentialityLevel
学校教材订购系统
仅供收件方查阅
项目编号
ProjectID
版本
Version
文档编号
DocumentCode
1.0
×××软件设计说明书
组长
小组成员
Preparedby
拟制
Date
日期
Reviewedby
评审人
Date
日期
Approvedby
批准
Date
日期
RevisionRecord
修订记录
Date
日期
RevisionVersion
修订版本
CRID/DefectID
CR/Defect号
SecNo.
修改章节
ChangeDescription
修改描述
Author
作者
1概述4
1.1编写目的4
1.2参考资料4
2需求概述4
3总体结构设计4
3.1内部结构设计4
4类的详细设计6
4.1Users类6
4.1.1描述6
4.1.2属性7
4.2Admin类7
4.1.1描述7
4.2.2属性7
5用例实现的详细设计8
5.1总用例图:
8
5.2订购系统用例图:
8
5.3查询系统用例图:
9
5.4用例的详细规格说明10
6活动图12
7类图12
8、数据库设计14
8.1用户登录信息表:
14
8.2教师信息表:
14
8.3教材表:
15
8.4订书单表:
15
8.5进书单表:
16
8.6缺书单表:
16
9界面设计及详细代码16
9.1登陆界面17
9.2用datagrid显示数据18
9.3添加历史书目19
9.4删除记录23
Button_click的重定向事件25
PageLoad事件代码27
1概述
1.1编写目的
本文档的编写目的是:
详细定义<大学生职业生涯规划>软件的总体功能;给出系统的结构设计和过程设计,作为程序编写的依据。
1.2参考资料
v《数据库系统及应用》崔巍
v《信息系统分析与设计》(第三版)
v《数据库高级系统开发》
v《UML建模实例教程》电子工业出版社
2需求概述
概述系统的特性和需求,扩充软件需求说明中的信息,给出增加的细节,详尽地指出对软件需求说明中有关特性和需求作出的变更。
(详细说明见《需求说明》。
3总体结构设计
3.1内部结构设计
v1.前台的界面由两部分组成:
<1>显示给用户的界面C#。
<2>组织前台的数据的cs文件,将操作类型和包含有数据的容器传递给后台用例控制层的操作类。
v2.后台的逻辑处理:
<1>用例控制层:
对前台传递的数据进行初步的校验以及整理。
<2>业务逻辑层:
所有的业务逻辑处理都在这一层中处理。
<3>数据访问层:
对数据库的链接。
本系统采用三层架构,如图:
图3-1-2架构图
v状态图如下:
图3-3-3状态图
4类的详细设计
4.1Users类
4.1.1描述
Users类主要描述了用户的属性和行为
4.1.2属性
图4-1-2用户登录表
4.2Admin类
4.1.1描述Admin类主要描述了管理员的属性和行为
4.2.2属性
图4-2-2管理员信息表
5用例实现的详细设计
5.1总用例图:
5-1总用例图
5.2订购系统用例图:
图5-2订购系统用例图
5.3查询系统用例图:
图5-3采购系统用例图
5.4用例的详细规格说明
用例名称
订购教材
参与者
学生、教师、订购人员
用例描述
学生,教师提交订单
前置条件
学生登录销售系统
后置条件
数据库存储新账户记录
主事件流
1.学生进入在注册页面,确认注册
2.学生填写注册信息:
用户名、密码、邮箱
(
3.学生确定信息
4.系统核实信息符合数据项
6.系统给出提示信息:
注册成功,密码已经发送至您的邮箱中,请查收
7.系统将会员注册页面关闭,系统返回登陆界面
用例名称
登陆系统
参与者
学生、教师
用例描述
学生,教师登陆销售系统
前置条件
学生已经成功注册,并进入登陆页面
后置条件
系统关闭登陆界面,进入系统主界面
主事件流
1.学生进入登陆界面,输入用户名、密码
2.学生选择身份:
学生、辅导员(只能选择其中一个)
3.学生确认登陆
4.系统对所输入的信息进行验证
5.系统关闭登陆界面,学生进入系统主界面
用例名称
采购系统
参与者
采购人员
用例描述
采购人员审核领书单,修改入库表,登录采购系统
前置条件
采购员已经成功登陆,并进入系统主界面
后置条件
系统更新系统访问人数,及相关版块访问人数
主事件流
采购人员审核领书单,修改入库表,发领书通知,修改库存,修改出库表
3.系统在数据库中找到相关的内容,并显示至界面
备选事件流
1a.采购人员选择想要查询的数目、人数、账单
2a.采购人员选择查询内容
3a.如果所选内容正在维护,系统给出提示信息:
//抱歉,您所选择的内容正在维护,请您稍后在进行查询
4b.如果所选内容为空,载数据库中并不存在,系统给出提示信息:
//所选内容不存在,我们会尽快填充,感谢您的使用
5a.采购人员确定退出,系统将主界面关闭,并关闭整个系统
非功能性需求
6活动图
图6活动图
7类图
图7类图
8、数据库设计
8.1用户登录信息表:
图8-1用户登录信息表
8.2教师信息表:
图8-2教师信息表
8.3教材表:
图8-3教材表
8.4订书单表:
图8-4订书单表
8.5进书单表:
图8-5进书单
8.6缺书单表:
图8-6缺书表
9界面设计及详细代码
本系统主要有登陆界面load.aspx,显示书目信息及功能模块选择页面book.aspx,添加新记录页面new.aspx,添加历史记录页面history.aspx和history1.aspx,修改记录update.aspx和update1.aspx以及删除记录delete.aspx八个页面组成.其中登陆与用datagrid两大模块的代码编写与设计.具体设计如下:
9.1登陆界面
当单击确定按钮时,连接数据库,确定输入的帐号和密码是否匹配,跳转到书目的页面,若不匹配,则弹出帐号错误或密码错误的提示。
如图9-1所示
图9-1
具体代码如下:
PrivateSubbutton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbutton1.Click
DimstrAsString
DimpassstrAsString
passstr=Trim(CStr(TextBox2.Text))
str="'"&TextBox1.Text&"'"
DimsqlAsString="select*fromadminlistwhere帐号="&Trim(str)
‘在数据库中搜索帐号为textbox1.text的数据’
DimconnstrAsString="server=localhost;uid=sa;pwd=;database=book"
DimmyconnAsNewSqlClient.SqlConnection(connstr)
DimdaAsNewSqlClient.SqlDataAdapter(sql,myconn)
DimdsAsNewDataSet
da.Fill(ds,"adminlist")
DimdacommAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)
Ifds.Tables("adminlist").Rows.Count=1Then
判断帐号密码是否和数据库匹配
Ifpassstr=Trim(ds.Tables("adminlist").Rows(0)("密码"))Then
Response.Redirect("book.aspx")
Else
Response.Write("密码错误!
")
EndIf
Else
Response.Write("用户名不存在!
")
EndIf
EndSub
EndClass
9.2用datagrid显示数据
首先建立datagrid,通过连接数据库,将数据显示在datagrid中。
如图9-2所示
图9-2书目页面book.aspx
具体代码如下:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
binddata()
EndSub
Subbinddata()
DimmyconnectionAsNewSqlConnection("initialcatalog=book;uid=sa;pwd=")
ConststrsqlAsString="select*frombook08orderby书号"
DimmycommandAsNewSqlCommand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
myda.SelectCommand=mycommand
DimmydsAsNewDataSet
myda.Fill(myds)
DataGrid1.DataSource=myds
DataGrid1.DataBind()
EndSub
9.3添加历史书目
(1)history.aspx在登陆系统并选择插入历史书本后,进入添加历史书目的页面,决定选择哪条记录进行添加。
如图5-3插入历史书目图所示
图9-3插入历史书目图
在单击左侧的选择后,自动跳转到update1.aspx,根据所选择的书目,进行相应的修改后添加到记录中去。
具体代码如下:
页面登陆事件代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotPage.IsPostBackThen
binddata()
EndIf
EndSub
连接数据库:
Subbinddata()
DimmyconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=“)
ConststrsqlAsString=“select*frombook07orderby书号”
DimmycommandAsNewSqlCommand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
Myda.SelectCommand=mycommand
DimmydsAsNewDataSet
Myda.Fill(myds)
DataGrid1.DataSource=myds
DataGrid1.DataBind()
EndSub
确定所选择的行的数据,并把该行相应的内容分别通过session变量储存下来。
PrivateSubDataGrid1_ItemCommand(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridCommandEventArgs)HandlesDataGrid1.ItemCommand
Dimb_noAsTableCell=e.Item.Cells
(1)
Dimb_nameAsTableCell=e.Item.Cells
(2)
Dimb_aAsTableCell=e.Item.Cells(3)
Dimb_bAsTableCell=e.Item.Cells(4)
Dimb_cAsTableCell=e.Item.Cells(5)
Session(“a”)=b_no.Text
Session(“b”)=b_name.Text
Session(“c”)=b_a.Text
Session(“d”)=b_b.Text
Session(“e”)=b_c.Text
Response.Redirect(“history1.aspx”)
EndSub
Button_click事件,重定向到book.aspx页面
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Response。
Redirect(“book.aspx”)
EndSub
Endclass
v
(2)history1.aspx页面:
通过上一个页面的选择后,该页面进行修改并添加的操作。
如图4-4修改添加记录图所示:
图5-4添加记录图
该页面中将征定时间和数量的值用textbox表示,是为了方便在插入历史书目的时候修改它的时间和它的数量。
当管理员修改完成后,则可单击确定添加操作,将数据添加到08年的数据库中。
具体代码如下:
页面登陆代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotIsPostBackThen
DimstrAsString
str=“'“&Label6.Text&“'“
DimsqlAsString=“select*frombook07where书号=“&Trim(Session(“a”))
DimconnstrAsString=“server=localhost;uid=sa;pwd=;database=book”
DimmyconnAsNewSqlClient.SqlConnection(connstr)
DimdaAsNewSqlClient.SqlDataAdapter(sql,myconn)
DimdsAsNewDataSet
Da.Fill(ds,“book07”)
DimdacommAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)
Label6.Text=ds.Tables(“book07”).Rows(0)(“书号”)
Label7.Text=ds.Tables(“book07”).Rows(0)(“书名”)
Label8.Text=ds.Tables(“book07”).Rows(0)(“作者”)
TextBox1.Text=ds.Tables(“book07”).Rows(0)(“征定时间”)
TextBox2.Text=ds.Tables(“book07”).Rows(0)(“数量”)
EndIf
EndSub
修改后添加到数据库的代码:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimstrAsString
DimlitemAsListItem
str=“'“&Label6.Text&“'“
DimsqlAsString=“select*frombook08where书号=“&Trim(str)
DimconnstrAsString=“server=localhost;uid=sa;pwd=;database=book”
DimmyconnAsNewSqlConnection(connstr)
DimdaAsNewSqlDataAdapter(sql,myconn)
DimdsAsNewDataSet
da。
Fill(ds,“book08”)
DimmyrowAsDataRow
DimdacommAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)
Ifds.Tables(“book08”).Rows.Count>=1Then
Response.Write(“此书已存在”)
EndIf
myrow=ds.Tables(“book08”).NewRow
myrow(“书号”)=Trim(Label6.Text)
myrow(“书名”)=Trim(Label7.Text)
myrow(“作者”)=Trim(Label8.Text)
myrow(“征定时间”)=Trim(TextBox1.Text)
myrow(“数量”)=Trim(TextBox2.Text)
ds.Tables(“book08”).Rows.Add(myrow)
da.UpdateCommand=dacomm.GetUpdateCommand
da.Update(ds,“book08”)
Response.Redirect(“book.aspx”)
EndSub
单击返回按钮后,重定向到history.aspx的代码:
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Response.Redirect(“history.aspx”)
EndSub
EndClass
9.4删除记录
v在登陆系统后点击修改按钮进入修改页面delete.aspx,通过复选框的选择,删除数据。
如下图9-5删除页面所示:
图9-5删除页面
该页面通过复选框的操作删除数据后,重定向回该页面,以便显示删除后数据的更新。
具体代码如下:
页面登陆代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotPage.IsPostBackThen‘用来确认页面是否第一次登陆’
binddata()
EndIf
EndSub
Subbinddata()‘连接到数据库’
DimmyconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=“)
ConststrsqlAsString=“select*frombook08orderby书号”
DimmycommandAsNewSqlCommand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
Myda.SelectCommand=mycommand
DimmydsAsNewDataSet
Myda.Fill(myds)
DataGrid1.DataSource=myds
DataGrid1.DataBind()
'myda.Update(myds,“book08”)
EndSub
Button_click事件:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimiAsInteger
DimxAsString
DimitemAsDataGridItem
Fori=0ToDataGrid1.Items.Count–1
item=DataGrid1.Items(i)
DimbookcheckboxAsCheckBox=item.FindControl(“checkbox1”)
Ifbookcheckbox.CheckedThen‘确认数据是否被点击进行删除’
x=item.Cells
(1).Text‘x为datagrid第二列的数据的内容’
deletedataset(x)
EndIf
Next
binddata()
Response.Write(“删除成功!
”)
EndSub
Subdeletedataset(ByValyAsString)
DimconAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=“)
DimcmdAsSqlCommand
DimqryAsString
Con.Open()
qry=“deletebook08where书号='“&y&“'“
cmd=NewSqlClient.SqlCommand(qry,con)
cmd.ExecuteNonQuery()
con.Close()
EndSub
Button_click的重定向事件
PrivateSubButton2_Click(ByValsenderAsSystem。
Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Response.Redirect(“book.aspx”)
End
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统分析 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)