软件工程系统设计样本.docx
- 文档编号:7111225
- 上传时间:2023-01-18
- 格式:DOCX
- 页数:46
- 大小:791.08KB
软件工程系统设计样本.docx
《软件工程系统设计样本.docx》由会员分享,可在线阅读,更多相关《软件工程系统设计样本.docx(46页珍藏版)》请在冰豆网上搜索。
软件工程系统设计样本软件工程系统设计样本软件工程系统设计一、实验目掌握软件体系构造模型;掌握使用过程设计工具描述模块数据构造和算法;理解人机界面设计;掌握概要设计阐明书和详细设计阐明书撰写二、实验原理概要设计软件概要设计基本要点基本目是用比较抽象概括方式拟定系统如何完毕预定任务,拟定系统物理配备方案,拟定系统构造。
系统分析与设计关系系统分析基本任务是定义顾客所需要软件任务,也就是回答系统必要“做什么”这个问题。
系统设计基本任务是设计实现目的系统详细方案,也就是回答“如何做”这个问题。
二、实验原理详细设计软件详细设计基本要点核心任务是拟定如何详细地实现顾客需要软件系统。
除了保证软件可靠性之外,使程序可读性好、容易理解、容易测试、容易修改和维护。
构造化程序设计技术是实现上述目的基本保证,是进行详细设计逻辑基本。
人机界面设计是接口设计一种重要构成某些。
在设计人机界面过程中,必要充分注重并认真解决好系统响应时间、顾客协助设施、出错信息解决和命令交互等4个设计问题。
过程设计在数据设计、体系构造设计和接口设计完毕之后进行,任务是设计算法。
过程设计工具可分为图形、表格和语言3类,应依照需要选用恰当工具。
人机界面设计人机界面设计质量,直接影响顾客对软件产品评价。
人机界面设计是接口设计一种重要构成某些。
对于交互式系统来说,人机界面设计和数据设计、体系构造设计及过程设计同样重要。
使用基于原型系统化设计方略,是成功地设计人机界面核心。
顾客界面设计是一种迭代过程,也就是说,普通先创立设计模型,再用原型实现这个设计模型,并由顾客试用和评估,然后依照顾客意见进行修改,直到顾客满意为止。
过程设计过程设计任务是要设计出程序“蓝图”,后来程序员将依照这个蓝图写出实际程序代码。
过程设计成果基本上决定了最后程序代码质量。
衡量程序质量不但要看它逻辑与否对的,性能与否满足规定,更重要是要看它与否容易阅读和理解。
过程设计目的不但仅是正的确现每个模块功能,更重要是尽量简要易懂。
构造程序设计技术是实现上述目的核心技术。
过程设计工具描述程序解决过程工具称为过程设计工具,它们可以分为图形、表格和语言三类。
无论是哪类工具,对它们基本规定都是要提供对设计无歧义描述,也就是应当指明控制流程、解决功能、数据组织以及其她方面实现细节,从而在编码阶段能把对设计描述直接翻译成程序代码。
此类工具应当尽量直观、易学、易懂。
三、实验内容与环节软件体系构造模型模块过程设计与界面设计撰写系统设计阐明书图书馆管理系统C概要设计阐明书一、引言1.1编写目为完善图书管理系统软件开发途径及应用办法,以提高开发效率,使应用更为以便。
依照需求规格阐明书,在仔细考虑讨论之后,咱们又进一步对图书管理系统软件功能划分、数据构造、软件总体构造有了进一步结识。
咱们把讨论成果记录下来,作为概要设计阐明书,并作为进一步详细设计软件基本。
1.2背景阐明:
a.待开发软件系统名称:
图书管理系统b.列出此项目任务提出者是本小构成员,开发者也为本小构成员、顾客是学校图书馆。
1.3定义开发(develop):
除了单纯开发活动外,还涉及维护活动。
项目(project):
向顾客交付最后所有产品,涉及程序及各种文档,以及开发活动所需资源经费等各种信息。
项目开发筹划(projectdevelopmentplan):
把项目与过程联系起来筹划方案。
产品生命周期(productlifecycle):
产品从构思到不可在使用持续时间。
1.4参照资料软件工程导论张海藩编著清华大学出版社数据库系统概论萨师煊王珊编著高等教诲出版社VisualBasic数据库系统开发实例导航(第二版)刘韬骆娟何旭洪编著人民邮电出版社C#程序设计教程曾强聪编著中华人民共和国水利水电出版社二总体设计2.1需求规定重要输入输出项目:
图书信息:
(图书编号、图书名称、图书ISBN号、作者、出版社、类型、价格、库存量、副本总量、图书总数)学生信息:
(学生编号、学生姓名、性别、入校时间、毕业时间)借书登记:
(借书编号、学生编号、结束时间、归还时间、与否归还)还书登记:
(图书编号、图书名称、归还时间、作者、出版社、2.2运营环境硬件环境:
PC机配备:
奔腾133、内存1GB以上PC机,内存规定不得低于1GB,硬盘不不大于20GPC台式机和便携式电脑;软件环境:
WindowsXPSQLServerC#2.3基本设计概念和解决流程该系统主程序流程图如下图所示:
2.4功能需求与程序关系本条用一张如下矩阵图阐明各项功能需求实现同各块程序分派关系:
创立查找修改删除图书信息管理(管理员)学生信息管理(管理员)学生信息查询(学生)查询图书信息(学生)归还图书(管理员)借阅图书(管理员)2.5人工解决过程管理员登录:
图书管理员需要手动输入登录信息验证身份登录系统后方能进行操作。
图书入库:
对于新购图书,管理员需要手动对其进行分类进行编号,并把图书基本信息录入计算机。
修改图书信息:
学生借阅图书时,管理员需要对该图书进行登记,记录被借阅图书信息和学生信息。
当学生归还图书时,同样需要对图书信息进行修改。
三接口设计3.1顾客接口向顾客提供命令软件回答相应信息操作员登记添加顾客学生登记添加学生信息学生查询学生信息查询图书登记管理员登记图书信息借阅登记管理员登记学生借阅信息借阅查询管理员查询学生借阅状况3.2外部接口接口传递信息软件接口:
与数据库接口图书信息学生信息3.3内部接口接口传递信息图书信息管理录入图书信息:
(图书编号、图书名称、图书ISBN号、作者、出版社、类型、价格、库存量、副本总量、图书总数)图书信息管理修改图书信息:
(图书编号、图书名称、图书ISBN号、作者、出版社、类型、价格、库存量、副本总量、图书总数)学生信息管理添加学生信息:
(学生编号、学生姓名、性别、入校时间、毕业时间)学生信息管理修改学生信息:
(学生编号、学生姓名、性别、入校时间、毕业时间)借书登记登记借阅图书以及学生信息借书登记:
(借书编号、学生编号、结束时间、归还时间、与否归还)还书登记修改借书登记信息还书登记:
(图书编号、图书名称、归还时间、作者、出版社、)四运营设计4.1运营模块组合对系统施加不同外界运营控制时所引起各种不同运营模块组合,以及每种运营所历经内部模块和支持软件。
4.2运营控制运营控制控制办法学生信息管理管理员对学生信心进行管理,涉及增长学生顾客,修改顾客信息,以及删除学生信息学生信息查询顾客可以对学生信息进行查询图书信息登记录入新图书信息,以及对已有图书各项信息进行修改,查询,删除等图书信息查询顾客对所要借阅图书信息进行查询借阅登记管理员登记学生所借图书以及学生本人信息借阅查询管理员对学生或者所相应图书信息进行查询4.3运营时间检索任务所需时间:
3秒执行任务所需时间:
3秒五系统数据构造设计5.1逻辑构造设计要点1.图书信息表(tBook),其字段列表如表5-1-1所示。
表5-1-1图书信息表构造序号字段名称字段阐明类型位数属性备注1cBooksID图书编号文本7必要非空2cBooksName图书名称文本20必要非空3cBooksISBN图书ISBN号文本15可为空4cBooksAuthor图书作者文本10可为空5cBooksPublisher图书出版社文本20可为空6cBooksType图书类型文本16可为空7smBooksPrice图书价格货币可为空8iBooksStoreQuan图书库存量整数可为空9iBooksLeftQuant图书副本数量整数可为空10iBooksTotalQuan图书总数整数可为空2.图书借阅登记表(tBorrow),其字段列表如表5-1-2所示。
表5-1-2图书借阅登记表构造序号字段名称字段阐明类型位数属性备注1cBorrowID借书编号文本6必要非空2cVipID学生编号文本6必要非空3cBooksID图书编号文本7必要非空4cBorrwTime借书时间时间日期可为空5cReturnTime还书时间时间日期可为空6cReturn与否归还文本1可为空3.图书归还登记表(tReturn),其字段列表如表5-1-3所示。
表5-1-3图书归还登记表构造序号字段名称字段阐明类型位数属性备注1cBorrowID借书编号文本6必要非空2cVipID学生编号文本6必要非空3cBooksID图书编号文本7必要非空4cBorrwTime借书时间时间日期可为空5cReturnTime还书时间时间日期必要非空6cReturn与否归还文本1必要非空7cNoReturn归还异常文本8可为空4.学生信息表(tVip),其字段列表如表5-1-4所示。
表5-1-4学生信息表构造序号字段名称字段阐明类型位数属性备注1cVipID学生编号文本6必要非空2cVipName学生姓名文本10必要非空4cVipSex学生性别文本1可为空5vipAddTime学生入学时间时间日期必要非空6vipEndTime学生毕业时间时间日期必要非空5.管理员信息表(tOperators),其字段列表如表5-1-5所示。
表5-1-5管理员信息表构造序号字段名称字段阐明类型位数属性备注1cOperatorID管理员编号文本5必要非空2cOperatorName管理员姓名文本10必要非空3cOperatorPassword密码文本6必要非空4cOperatorAddTime管理员加入时间时间日期10必要非空5.2数据构造与程序关系主模块:
连接数据库学生管理模块:
学生信息管理模块:
管理员输入帐号密码进入系统后可以对学生信息进行管理,涉及修改,插入,删除等。
学生信息查询模块:
管理员可以对学生信息进行查询,学生输入学生账号密码后,成功登陆后,学生可以对其信息进行查询,输入学生编号后,相应输出学生姓名,性别,入校时间,毕业时间等。
图书管理模块:
图书信息登记模块:
管理员对图书信息进行登记,输入相应图书信息,如图书书名,作者,出版社。
单价等信息。
图书信息查询模块:
学生和管理员都可以进行此操作,通过查询数据库,匹配要查找图书信息,涉及读入图书号,图书作者,图书出版社,图书单价等基本信息。
借阅管理模块:
借阅登记模块:
管理员对图书借阅状况进行登记,记录借书者学生编号,学生姓名等学生信息以及图书编号,图书名称,作者,出版社等图书信息,并修改图书状态。
借阅查询模块:
管理员和学生都可以对图书借阅状况进行查询,输入读者号,相应输出学生姓名,性别,入校时间,毕业时间。
输入图书号,相应输出图书书名,图书作者,图书出版社,图书单价,图书状态。
归还管理模块:
读入图书编号,相应输出借书登记表中学生编号,借书时间,应归还时间等,修改图书状态,删除借书登记表中学生编号,图书编号,借书时间等信息。
六系统出错解决设计6.1出错信息出错位置出错因素提示信息顾客名输入数据库中不存在顾客名Youareanotsystemuser顾客名密码输入密码不对的Passworderoor,pleasecheckyourpasswprd添加顾客输入已存在顾客信息顾客已存在添加信息添加信息必填信息不完整信息必要完整普通顾客操作权限使用管理员你没有该权限出错信息解决:
学生或管理人员输入帐号和密码不匹配或输入不存在帐号,系统应和谐进行提示,如提示您输入帐号或密码错误,请重新输入!
6.2补救办法故障浮现后也许采用变通办法,涉及:
a.后备技术阐明准备采用后备技术,当原始系统数据万一丢失时启用副本建立和启动技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体一种后备技术;b.降效技术阐明准备采用后备技术,使用另一种效率稍低系统或办法来求得所需成果某些某些,例如一种自动系统降效技术可以是手工操作和数据人工记录;c.恢复及再启动技术阐明将使用恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运营办法。
图书管理系统D详细设计阐明1.1编写目图书管理系统详细设计是设计第三个阶段,这个阶段重要任务是在图书管理系统概要设计书基本上,对概要设计中产生功能模块进行过程描述,设计功能模块内部细节,涉及算法和详细数据构造,为编写源代码提供必要阐明。
概要设计解决了软件系统总体构造设计问题,涉及整个软件系统构造、模块划分、模块功能和模块间联系等。
详细设计则要解决如何实现各个模块内部功能,即模块设计。
详细说,模块设计就是要为已经产生图书管理各子系统设计详细算法。
但这并不等同于系统实现阶段用品体语言编码,它只是对实现细节作精准描述,这样编码阶段就可以将详细设计中对功能实现描述,直接翻译、转化为用某种程序设计语言书写程序。
1.2项目背景为提高图书信息管理,借阅管理,查询管理,记录及工作效率,予以顾客规定开发图书管理系统1.3定义SQL:
数据库C#:
开发工具2总体设计2.1需求概述按照需求分析文档中规格规定,使用给定图书编号添加进书、借书、还书等等,使得信息传递精确、流畅。
同步,系统最大限度地实现易安装,易维护性,易操作性,运营稳定,安全可靠。
2.2软件构造模块(软件总体构造细化)3程序界面和代码描述3.1.1登录模块设计登陆界面是图书管理管理系统运营后一方面打开界面。
在这个界面,顾客必要输入预先设定好顾客名以及密码才干进入,这样有助于防止她人在没有授权状况下进入系统。
1功能阐明:
顾客输入登录帐号和密码,连接数据库进入到操作界面。
2流程图:
需要问题阐明:
(1)录入密码和顾客名不能为空;
(2)录入数据后依照顾客编号判断授权。
登录界面如图所示:
问题阐明:
本窗体有两个文本框textBoxIP,textBoxpassword是用作顾客输入顾客名和密码。
查询该顾客与否为合法顾客,并判断顾客类别和权限。
合法顾客进入系统操作界面区。
pub.dataSql()为连接数据库办法函数,后来就不在解说sqlselsect=select*fromMain_viewwhere登陆编号=;sqlcon=newSqlConnection(pub.dataSql();/连接数据库sqlcon.Open();logincon=newSqlCommand(sqlselsect+textBoxIP.Text.Trim()+,sqlcon);loginer=logincon.ExecuteReader();while(loginer.HasRows)loginer.Read();if(textBoxpassword.Text).Equals(loginer.GetString
(1).Trim()guanliindexguan=newguanliindex();guan.Show();return;elseMessageBox.Show(密码错误!
);textBoxpassword.Text=;textBoxpassword.Focus();return;sqlcon.Close();MessageBox.Show(无此顾客名,请注册后再登陆);当顾客没有无填写textBoxIP,textBoxpassword两个文本框时而点击登录按钮将不做任何操作。
3.1.2图书管理系统模块(系统主操作界面)管理系统模块是顾客成功进入系统操作界面:
该界面涉及了读者下拉菜单、管理员下拉菜单和一种工具栏。
该窗体使用是MDI容器,在这里不在阐明怎么调用各个窗体。
MDI容器防止相似子窗体重复浮现解决办法是:
构造一种checkChildFrmExist函数:
privateboolcheckChildFrmExist(stringchildFrmName)for(inti=0;ithis.MdiChildren.Length;i+)if(this.MdiChildreni.Text=childFrmName)this.MdiChildreni.Activate();returntrue;returnfalse;这个函数会把显示每个子窗体名字存储在一种数组里面,在连接一种新子窗体时先判断该窗体与否以显示(MdiChildreni里与否存在这个窗体名字),如果该窗体已经显示就不用再弹出该窗体否则就弹出该子窗体。
最后依照顾客权限显示相应下拉列名。
权限是依照顾客登录时从数据库里面读取数据和顾客登录编号等数据传入到系统操作界面当中,进行相应解决。
依照传入数据显示相应下拉列表:
if(public_Class.NU=1)this.toolStrip_Xiaoxi.Text=读者编号:
+public_Class.NumID.ToString();this.menuStrip2.Visible=true;/读者下拉菜单this.menuStrip1.Visible=false;elseif(public_Class.NU=2)this.toolStrip_Xiaoxi.Text=操作员编号:
+public_Class.NumID.ToString();this.menuStrip1.Visible=true;/操作员下来菜单this.menuStrip2.Visible=false;3.1.3图书编目模块(书籍信息管理)该模块是给管理员或者操作员用。
功能是管理员用作添加、修改、删除有关信息模块。
实现该模块一方面是要把要维护图书存储表查询出来。
然后给据文本框一一相应相应添加。
本窗体共有7个文本框1个下拉框和两个时间框,她们分别和(图书表)各个列相相应。
功能流程图如下所示:
需要问题阐明:
(1)操作员填写有关信息必要符合规定。
(2)可以一次性添加多条图书信息。
(3)点击工具栏上面添加按钮,并没有把顾客所输入数据添加到数据库里,只是把它放在内存里面。
最后要点击保存按钮。
(4)只要没有弹出“添加成功”信息提示框,表白没有添加成功。
功能描述:
(1)功能类型:
添加数据,
(2)功能概述:
添加图书有关信息,操作简朴。
(3)操作权限:
图书管理人员。
(4)前提业务:
管理模块(5)后继业务:
无界面设计描述:
1动作阐明:
添加:
是文本框内容添加到内存表里面。
取消操作:
放弃添加内容保存:
把一添加内容保存到熟数据库里退出:
点击按钮,退出该窗体2界面展示如下图:
连接数据库,查询图书表中信息,把查询成果放在DataSet()里面,并取名映射表白为(Table0)。
添加图书代码:
DataRowdata=Dataset.TablesTable0.NewRow();/添加一种新行data图书编号=AddBookID.Text;data图书名=AddBookName.Text;data作者=AddBookZuozhe.Text;data出版社=AddBookShe.Text;data类编号=Btun;data出版日期=dateTimePicker1.Text;data上架时间=dateTime.Text;data价格=AddBookjiage.Text;data上架编号=AddBookjiaNum.Text;data与否借出=AddBookYesNo.Text;data备注=AddBookbeizhu.Text;Dataset.TablesTable0.Rows.Add(data);这段代码是把文本框内容添加到Table0表里面还没有保存到数据库里面。
ddlStoreName下拉框是为吧图书类别类别添加到下拉列表中:
SqlConnectioncon=newSqlConnection();con.Open();SqlCommandcmd=newSqlCommand(select类名称fromBookship,con);SqlDataReadersdr=cmd.ExecuteReader();while(sdr.Read()ddlStoreName.Items.Add(sdr.GetString(0);sdr.Close();con.Close();维护图书办法与上面有相似一处,进行数据网格绑定。
在这里不一一简介。
最后保存添加以上内容,填写信息必要符合有关规定如果浮现填写错误:
就提示一下信息如果是保存到数据库成功就提示成功操作。
(注意:
添加读者信息功能相似)3.1.4读者编目模块(读者信息管理维护)该模块功能就是添加顾客,修护读者信息;该模块功能与上面模块功能代码相识。
在这里解说读者信息维护功能实现:
该窗体具有一种toolStrip工具栏(定位,修改,删除等按钮)流程图:
改流程图与图书编目模块相识。
需要问题阐明:
(1)操作员填写读者有关信息必要符合规定。
(2)可以一次性修改多条图书信息。
(3)点击工具栏上面修改按钮,并没有把顾客所修改数据添加到数据库里,只是把它放在内存里面。
最后要点击保存按钮。
(4)只要没有弹出“修改成功”信息提示框,表白没有修改该数据。
功能描述:
(1)功能类型:
修改数据和查询数据
(2)功能概述:
修改文本框里内容,更新读者信息表文献信息(3)前提业务:
管理模块(4)后续业务:
无(5)权限操作:
图书管理人员界面设计描述:
1操作阐明
(1)定位按钮:
4个定位按钮可以迅速定位到操作员所要维护人员
(2)文本框:
录入读者编号吧相应读者信息定位显示出来(3)修改:
点击按钮式把修改后数据添加到内存表里面(4)删除:
点击按钮把当前读者从内存表里删除(5)取消操作:
放弃对该读者信息修改(6)保存:
把修改后数据保存到数据库里面(7)退出:
点击按钮,退出该窗体2界面展示如下图所示:
思想:
先要把被修改读者所有信息提取出来,方放进相应为本框中,在选定文本框,修改文本框里内容。
/数据绑定网格功能text_ID.DataBindings.Add(Text,Dataset,Table.读者编号);text_name.DataBindings.Add(Text,Dataset,Table.姓名);text_sex.DataBindings.Add(Text,Dataset,Table.性别);text_phone.DataBindings.Add(Text,Dataset,Table.联系电话);text_work.DataBindings.Add(Text,Dataset,Table.工作单位);text_home.DataBindings.Add(Text,Dataset,Table.住址);text_number.DataBindings.Add(Text,Dataset,Table.证件号码);text_time.DataBindings.Add(Text,Dataset,Table.登记日期);text_ZT.DataBindings.Add(Text,Dataset,Table.读者状态);bangD=this.BindingContextDataset,Table;/修改功能bangD.EndCurrentEdit();/删除功能bangD.RemoveAt(bangD.Position);/取消操作Dataset.RejectChanges();同样:
这段代码是把文本框内容添加到Table0表里面还没有保存到数据库里面。
最后调用SqlDa.Update(Dataset,Table);办法3.1.5图书借阅模块这个模块功能就是读者借书。
借书规定就是1每个读者按照自己级别查询出最多借书数量,如果有超期没有归还图书,则不能借书;如果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 系统 设计 样本
![提示](https://static.bdocx.com/images/bang_tan.gif)