软件体系结构课程设计样本.docx
《软件体系结构课程设计样本.docx》由会员分享,可在线阅读,更多相关《软件体系结构课程设计样本.docx(29页珍藏版)》请在冰豆网上搜索。
软件体系结构课程设计样本
《软件体系构造》课程设计
设计题目:
实验室设备管理系统
姓名:
李欣张丹唐蔚霖
学号:
k0308413(07+13+17)
同组组长:
李欣
同组其她成员:
张丹唐蔚霖
实验指引教师:
李超
实验地点:
9B505
完毕日期:
-6-10
湖北民族学院信息工程学院
一、概述(目、任务、开发环境、参照资料)
二、采用重要办法与技术
三、需求分析
四、设计
五、实现过程与环节
六、遇到困难与获得重要成果
七、测试与运营记录
八、完毕成果分析与总结
九、附录(软件配备、个人完毕程序模块和文档清单)
一、概述(目、任务、开发环境、参照资料)
21世纪以来,人类经济高速发展,人们发生了日新月异变化。
随着时代发展,教诲越来越需要实验,让学生从实验中得到更多,更夯实知识。
因而学校也需要对实验室实验设备进行更多投入,而投入之后就带来了管理方面问题。
咱们做这个系统重要是对设备购买、维修、报废等方面进行了一定管理,可以让设备进行有序、有效管理,为管理人员节约某些由于管理混乱而挥霍时间。
但是系统功能还不够完善,性能也还不够稳定,有待于后来不断进行完善。
实现功能如下:
(1)对于已彻底损坏做报废解决,同步详细记录关于信息。
(2)对于由严重问题(故障)要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、负责人等。
(3)对于急需修改但又缺少设备,需以“申请表”形式送交上级领导祈求批准购买。
新设备购入后要及时进行设备登记(涉及类别、设备名、编号、型号、规格、单价、数量、购买日期、生产厂家、保质期和经办人等信息),同步更新申请表内容。
(4)随时对既有设备及其修理、报废状况进行记录、查询,规定可以按类别和时间段等查询。
参照文献:
谭浩强主编.VisualBasic程序设计
(二)教程.清华大学出版社
柳青等编.VisualBasic程序设计教程.高等教诲出版社
范立南.SQLServer实用教程.北京:
清华大学出版社
孙燕等编.VisualBasic程序设计.高等教诲出版社
萨师煊王珊编.数据库系统概论.北京:
高等教诲出版社
杨志强.VisualBasic程序设计教程.北京:
高等教诲出版社.
二、采用重要办法与技术
软件工程是一门从技术和组织管理两个角度研究如何用系统化、规范化和数量化等工程原理与办法去进行软件开发和维护学科。
软件工程学研究范畴非常广泛,涉及技术办法、工具、和管理等许多方面。
软件生命周期各个阶段可分为:
问题定义:
拟定系统基本功能
可行性研究:
拟定系统与否可以实现及与否值得实现
需求分析:
拟定系统必要完毕各种功能
总体设计:
拟定如何实现软件
详细设计:
详细设计实现系统
编码和单元测试:
写出对的容易理解和维护程序模块
综合测试:
通过各种类型测试及调试使软件达到预订规定
软件维护:
通过各种必要维护活动使系统持久满足顾客需要
采用软件工程技术开发本系统,通过以上八个阶段构成软件生存期。
它是指从提出开发规定开始直到该软件报废为止整个时期。
分阶段进行,就把规模庞大、构造复杂和管理复杂软件变得很容易控制和管理。
本系统重要运用VisualBasic作为前端应用开发工具,运用ACCESS作为后台数据库,运用WindowsXP作为系统平台。
Windowsxp以其和谐图形界面、易学易用操作办法、强大多任务功能、健全内在管理以及先进程序设计办法为广大数据库软件开发人员嗦熟悉。
对它操作环境熟悉,使得咱们在其开发数据库应用程序更加以便、可靠。
三、需求分析(该过程参照西方和本国制定软件需求规范阐明书有关原则)
管理员可以对实验室设备信息进行查询及有关实验室设备使用状况查看。
管理员可以依照本人顾客名及密码登录系统。
在信息系统中,后台数据库存储地位相称重要,数据库设计不但对数据操作速度有影响,还直接关系到软件系统质量和生存周期,本系统数据库中涉及教师资料数据表、借用设备表、仪器表、顾客登录表。
系统一方面必要维护实验室中详细资料数据表,程序能对该表进行写入和读出数据操作。
相应,该表尚有记录读者借用状况,系统通过该表判断读者与否满足借用条件。
系统还要管理员信息表,记录管理员资料,检查管理员登录,管理员权限等。
1、目
1)便于顾客、分析人员和软件设计人员进行理解和交流
2)但愿系统外部项均支持目的软件系统确认。
依照需求规格阐明书中确立可测试原则进行测试,并得到确认。
3)控制系统进化过程
2、软件产品作用范畴
学校、科研机构、大型实验室
3、功能需求
1)设备预订:
实现实验人员在系统平台上查询库内实验设备状态及其在某一时段使用状态,若无损坏且未被预订使用,则顾客可以预订使用。
2)设备管理:
实现当前仓库中每样设备信息登记和新设备入库登记,旧设备报修、报废解决、以及设备状态更改。
3)设备借出:
按照教师所需设备予以借出,并在数据库中更改这些设备使用状态
4)设备归还:
按照教师所还设备而进行入库登记,并在数据库中更改这些设备使用状态。
5)设备报修:
实验人员在实验过程中如果发现设备损坏,通过此系统报告给管理员,同步修改数据库中设备状态。
4、数据库需求
顾客需求详细体当前各种信息提供、保存、更新和查询,规定数据库构造可以充分满足各种信息输出和输入。
收集基本数据、数据构造以及数据解决流程,构成一份详细数据字典。
四、设计(该过程参照西方和本国制定软件设计规范阐明书有关原则)
1、总体设计
原理:
总体设计基本目就是回答“概括说,系统应当如何实现?
”这个问题。
因而,总体设计又称为概要设计或初步设计。
通过这个阶段工作将筹划分出构成系统物理元素-----程序、文献、数据库、人工过程和文档等等,但是每个物理元素依然处在黑盒子级,这些黑盒子里详细内容将在后来仔细设计。
总体设计阶段另一项重要任务是设计软件构造,也就是要拟定系统中每个程序是由哪些模块构成,以及这些模块互相之间关系。
总体设计工程普通有两个重要阶段构成:
系统设计,拟定系统详细实现方案;构造设计拟定软件机构,也就是要拟定系统中每个程序拥有哪些模块构成,以及这些模块之间关系。
在详细设计之迈进行总体设计可以站在全局高度上,花较少成本,从中选出最佳方案和最合理软件构造,从而用较低成本开发出高质量软件系统。
2、详细设计
数据库概念设计:
依照对数据流图和数据字典分析,拟定该应用中实体、属性、和实体之间联系,并画出系统总体E-R图。
概念设计可以分为三部进行:
一方面设计局部E-R模式,然后把各局部E-R模式综合成一种全局模式,最后对全局ER模式进行优化,得到最后模式,即概念模式。
局部E-R模式设计:
实体和属性定义。
ER模型“联系”用于刻画实体之间关联。
一种完整方式是对局部构造中任意两个实体类型,根据需求分析成果,考察局部构造中任意两个实体类型之间与否存在联系。
若有联系,进一步拟定是1:
N,M:
N,还是1:
1等。
还要考察一种实体类型内部与否存在联系,两个实体类型之间与否存在联系,各种实体类型之间与否存在联系,等等。
运用ER办法进行数据库概念设计,可以分三个环节进行:
一方面设计局部ER模式,然后把各局部ER模式综合成一种全局模式,最后把全局ER模式进行优化,得到最后模式。
所有局部ER模式设计好了之后,接下来就是把它们综合成单一全局概念构造。
全局概念构造不但要支持所有局部ER模式,并且必要合理地表达一种完整、一致数据库概念构造。
1)局部ER模式合并
合并原则是:
一方面进行两两合并;先合并那些现实世界中有联系局部构造;合并从公共实体类型开始,最后再加入独立局部机构。
2)消除冲突
冲突分为三类:
属性冲突、构造冲突、命名冲突。
设计全局ER模式目不在于把若干全局ER模式形式上合并为一种ER模式,而在于消除冲突,使之成为可以被所有顾客共同理解和接受同一概念模型。
3)全局ER模式优化
在得到全局ER模式后,为了提高数据库系统效率,还应进一步根据解决需求对ER模式进行优化。
一种好全局ER模式,除能精确、全面反映顾客功能需求外,还应当满足下列条件:
实体类型个数要尽量少;实体类型所含属性个数尽量少;实体类型间联系无沉余
“实验室设备管理系统”数据流图与数据字典
1、顶层数据流图数据字典:
1)外部实体:
管理员=系统唯一管理人员,拥有对系统最高使用权限。
负责对系统数据录入、分析和解决。
同步依照其她外部实体或系统输出信息,作出相应解决。
修理人员=依照系统提供修理规定,对设备进行修理专门人员,并负责将详细修理信息送交管理员
2)数据流
电子申请表=系统依照管理员输入信息,按照申请表格式将信息整顿,得出WORD格式申请表
修理规定=管理员依照设备既有损坏状况得出需要修理信息
修理信息=修理人员依照修理规定,对设备进行修理后。
依照实际修理状况整顿出详细修理信息
批示意见=领导依照管理员递交书面申请表中详细信息,反馈给管理员对申请批准与否意见
控制命令=增长|删除|查询|修改
增长=通过系统向数据库添加新信息
删除=通过系统将数据库中错误或陈旧数据删除
查询=依照提供条件,对数据库进行查找,并返回查找成果
修改=通过系统对数据库已有数据进行修改,保证数据对的
操作信息=依照控制命令对系统进行操作,得出操作成果
解决信息=管理员得到关于设备购买、修理反馈回来详细信息
收集信息=系统操作过程中得到、新、需要存入数据库信息,更新数据库
存储信息=数据库中存储信息,依照系统操作规定需要传递给系统信息
记录报表=修理信息登记表|报废信息登记表|设备资金登记表
修理信息登记表=一月一次对实验室设备修理信息进行汇总得出书面表格
报废信息登记表=一月一次对实验室报废设备信息进行汇总得出书面表格
设备资金登记表=一月一次对本月实验室资金使用状况登记表格
3)数据存储
数据库=顾客信息表|申请信息表|设备登记表|购买登记表|修理信息表|报废登记表
顾客信息表=数据库中存储管理员容许创立,合法顾客信息存储表
申请信息表=数据库中存储所有申请记录存储表
设备登记表=数据库中存储实验室既有设备详细信息存储表
购买登记表=数据库中存储购买设备信息存储表
修理信息表=数据库中存储设备修理信息存储表
报废登记表=数据库中存储所有报废设备详细信息存储表
2、1层数据流图数据字典
1)数据解决
申请管理=整顿、解决零散申请信息,并以表格形式反馈给管理员
记录、管理及查询解决=管理设备信息,提供各种设备信息查询,及对各种设备信息进行记录以表格形式输出
购买解决=整合申请表信息及设备购买规定形成详细设备购买信息送部门采购人员
修理解决=依照系统传递过来修理规定整合成详细修理规定送修理人员
报废解决=依照管理员报废命令,对需报废设备进行信息整顿,操作相应数据库表,形成报废信息送数据库
2)数据流
提出=管理员依照需要调用申请管理模块控制命令
已批申请表=涉及领导批准信息和设备需求信息申请表
报废=管理员依照需要调用报废管理模块控制命令
申请信息=所有设备购买申请记录详细信息
报废信息=响应管理员报废命令,通过报废解决后整顿详细设备报废信息
3、级数据流图数据字典
1)数据解决
顾客命令辨认=辨认控制命令,分别调用各解决模块
解决信息存储=接受购买、修理等信息,存入数据库
整顿操作信息=整顿系统操作信息,显示送管理员处
申请命令解决=接受命令,调用申请模块
记录命令解决=接受记录命令,读取数据库信息,记录整顿信息,产生月设备资金登记表,修理/报废注销表,购买申请表
五、实现过程与环节
1、“实验室设备管理系统”顶层数据流图如下:
“实验室设备管理系统”数据字典定义如下:
1、顶层数据流图数据字典:
1)外部实体:
管理员=系统唯一管理人员,拥有对系统最高使用权限。
负责对系统数据录入、分析和解决。
同步依照其她外部实体或系统输出信息,作出相应解决。
修理人员=依照系统提供修理规定,对设备进行修理专门人员,并负责将详细修理信息送交管理员
2)数据流
修理规定=管理员依照设备既有损坏状况得出需要修理信息
修理信息=修理人员依照修理规定,对设备进行修理后。
依照实际修理状况整顿出详细修理信息
批示意见=管理员依照递交书面申请表中详细信息,给员出对申请批准与否意见
控制命令=增长|删除|查询|修改
增长=通过系统向数据库添加新信息
删除=通过系统将数据库中错误或陈旧数据删除
查询=依照提供条件,对数据库进行查找,并返回查找成果
修改=通过系统对数据库已有数据进行修改,保证数据对的
操作信息=依照控制命令对系统进行操作,得出操作成果
解决信息=管理员得到关于设备购买、修理反馈回来详细信息
收集信息=系统操作过程中得到、新、需要存入数据库信息,更新数据库
存储信息=数据库中存储信息,依照系统操作规定需要传递给系统信息
记录报表=修理信息登记表|报废信息登记表|设备资金登记表
修理信息登记表=一月一次对实验室设备修理信息进行汇总得出书面表格
报废信息登记表=一月一次对实验室报废设备信息进行汇总得出书面表格
设备资金登记表=一月一次对本月实验室资金使用状况登记表格
3)数据存储
数据库=顾客信息表|申请信息表|设备登记表|购买登记表|修理信息表|报废登记表
顾客信息表=数据库中存储管理员容许创立,合法顾客信息存储表
申请信息表=数据库中存储所有申请记录存储表
设备登记表=数据库中存储实验室既有设备详细信息存储表
购买登记表=数据库中存储购买设备信息存储表
修理信息表=数据库中存储设备修理信息存储表
报废登记表=数据库中存储所有报废设备详细信息存储表
2、在将分析报告转换成设计报告过程中,采用变换分析办法,依照数据流图转换成程序构造模块,详细模块构造和各个模块之间关系如下图所示:
“实验室设备管理系统”程序构造“雏形”
六、遇到困难与获得重要成果
通过对本实验室设备管理系统设计,使咱们结识到软件开发过程事实上就是描述现实世界过程。
而由现实世界像软件模型转化过程是其中最核心过程。
在课程设计过程中咱们遇到了许多问题,如在分析阶段不能完全对的把握住系统功能描述,设计数据流图时浮现了很大问题,在与同窗们讨论过程中,解决了这些问题。
本次实验使咱们得到一次难得锻炼机会,加深了对理论知识理解,丰富了实践经验,让我从整体程序开发到详细软件设计均有了一种全面掌握,为咱们即将从事工作打下了坚实基本!
该系统尚有许多不尽人意地方,顾客界面设计不够完美,记录功能还不完善等,这些均有待进一步改进。
但本次实验提高了咱们实际操作能力,从此前理论上升到实践,从感性结识上升到理性结识,真正做到学有所用。
七、测试与运营记录
1.引言
1)目
以文献方式记载组装测试和确认测试成果、发现问题以及分析评价,它是作为软件验收根据之一。
2.测试成果
软件测试环节有:
单元测试、集成测试、确认测试和系统测试,在此就只对单元测试进行论述,其她均略。
3.软件功能结论
1)模块名称(“添加新设备”模块)
2)功能
重要就上实现那些由采购人员买入新设备,通过一种申请表形式添加到系统数据库中,同步添加某些这些设备基本状况。
以便与日后查询,使用和管理。
4.分析摘要
1)能力
本系统基本完毕了顾客软件需求。
2)缺陷和影响
3)软件错误
4)评价
该系统虽然基本完毕了顾客软件需求,但尚有诸多地方还需要改进和完善。
例如:
系统界面,尚有系统功能还没有完善,稳定性不够等。
运营记录:
这个模块重要功能:
为软件建立数据库,在运营时提供数据连接。
八、完毕成果分析与总结
1.管理员登入界面
1)模块功能描述:
本模块重要是为实验室管理人员提供管理有保护登入。
制止某些非法顾客进入。
2)界面设计
3)代码实现(重要某些)
Strings1,s2
select*
into:
s1,:
s2
fromUserid
whereuserid=:
sle_1.text;
ifsqlca.sqlcode=100then
messagebox("提示信息","顾客名或密码错误!
")
elseifsqlca.sqlcode=-1then
messagebox("提示信息","连接数据库失败!
")
elseifs2=sle_2.textthen
open(w_main)
close(w_login)
endif
2.系统主界面
1)系统主界面功能描述:
此模块重要是管理员可以在这里查看到当前系统中总共有多少设备在库以及各个设备某些基本状况。
还可以实现排序和登入各个子模块实现详细各个操作。
2)界面设计
3)代码实现
在这里重要代码都是通向各个子功能模块,由于这个系统各个子功能都是通过按扭打开一种新窗口,在新窗口中来详细实现各种功能。
因而这里代码大某些都是某些很简朴用于打开新窗口,固然尚有实现排序等方面。
(1)添加设备
(2)报废解决(3)维修登记在三个模快在详细实现时候再加以简介。
在这里重要是排序代码:
ifrb_1.checked=truethen
dw_1.setsort("#5a")
dw_1.sort()
endif
ifrb_2.checked=truethen
dw_1.setsort("#5d")
dw_1.sort()
endif
3.添加新设备界面
1)功能描述:
当采购人员将新设备买进来之后,就要在这里通过一种申请表格形式将它添加到数据库中去。
固然管理员可以在这里通过设备型号可以查询到与否库中尚有库存。
2)界面设计
3)代码实现(重要某些)
插入按扭
ifsle_1.text=""then
elseifsle_2.text=""then
elseifsle_3.text=""then
elseifsle_4.text=""then
elseifsle_5.text="then
elseifsle_6.text=""then
messagebox("提示信息","该条记录不能为空!
")
elseifsqlca.sqlcode=100then
messagebox("提示信息","插入失败")
sle_1.text=""
sle_2.text=""
sle_3.text=""
sle_4.text=""
sle_5.text=""
sle_6.text=""
elseifsqlca.sqlcode=-1then
messagebox("提示信息","连接失败")
sle_1.text=""
sle_2.text=""
sle_3.text=""
sle_4.text=""
sle_5.text=""
sle_6.text=""
else
insertintowh
values(:
sle_1.text,:
sle_2.text,:
sle_3.text,:
sle_4.text,:
sle_5.text,:
sle_6.text);
messagebox("提示信息","插入成功!
")
open(w_f11)
endif
查询按扭
Strings1,s2,s3,s4,s5,s6
select*
into:
s1,:
s2,:
s3,:
s4,:
s5,:
s6
fromwh
wheresno=:
sle_2.text;
ifsqlca.sqlcode=100then
messagebox("提示信息","没有找到要查找信息")
sle_2.text=""
elseifsqlca.sqlcode=-1then
messagebox("提示信息","连接数据库失败")
sle_2.text=""
else
sle_1.text=s1
sle_3.text=s3
sle_4.text=s4
sle_5.text=s5
sle_6.text=s6
endif
删除按扭
ifsle_2.text=""then
elseifsle_3.text=""then
elseifsle_1.text=""then
elseifsle_4.text=""then
elseifsle_5.text=""then
elseifsle_6.text=""then
messagebox("提示信息","记录不能为空")
else
deletefromwhwheresno=:
sle_2.text;
messagebox("提示信息","该条记录已经删除")
sle_1.text=""
sle_2.text=""
sle_3.text=""
sle_4.text=""
sle_5.text=""
sle_6.text=""
endif
查看按扭
查看有单独窗口来显示:
涉及本来在和刚刚插入
4.维修登记界面
1)功能描述:
是对在使用之后浮现了一定问题那些设备,要将其单独列出,以便与厂商联系,尽快将其问题解决。
并要记下维修厂家与负责人。
2)界面设计
3)代码实现(重要某些)
(1)保存按扭
insertintoxeixiu
values(:
sle_1.text,:
sle_2.text,:
sle_3.text,:
sle_4.text,:
sle_5.text);
ifsqlca.sqlcode=100then
messagebox("提示信息","保存失败")
sle_1.text=""
sle_2.text=""
sle_3.text=""
sle_4.text=""
sle_5.text=""
elseifsqlca.sqlcode=-1then
messagebox("提示信息","连接失败")
sle_1.text=""
sle_2.text=""
sle_3.text=""
sle_4.text=""
sle_5.text=""
elseifsle_1.text=""then
elseifsle_2.text=""then
elseifsle_3.text=""then
elseifsle_4.text=""then
elseifsle_5.text=""then
messagebox("提示信息","记录不能为空")
else
messagebox("提示信息","保存成功")
open(w_s22)
endif
(2)查