资源描述
软件工程课程设计报告免费
14
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
一、 课程设计概述
1.1 目的
医务收费管理系统的问题定义简单介绍如下: 该项目是要开发一个VB应用程序来管理校医院的收费管理。我们的目标是能够提供更为友好的用户界面, 更好的查询和统计功能, 以及友好的数据库备份和恢复功能。要求开发收费管理系统, 由计算机辅助实现上述过程, 代替人工操作, 节省人力、 时间, 提高工作效率。由于现今的医务收费非常繁琐, 医务工作人员付出大量的工作时间, 得到的效率很低。因此为提高工作效率, 减轻工作人员的工作负担, 决定开发医务收费系统软件。经过本次课程设计, 也让我们在实践锻炼自己, 把学的知识运用与实践当中, 并在实践提高自己。
1.2 任务
书写开发文档, 分析和制定整个开发过程, 然后开发一个高校医院的收费管理系统。
1.3 开发环境
Windows xp
Microsoft visual studio 6.0
SQL
1.4 参考资料
相关的文件包括:
A、 《高校医务收费管理系统研究项目数据库设计说明书》;
B、 《高校医务收费管理系统研究项目可行性研究报告》;
C、 《高校医务收费管理系统研究项目概要设计》;
D、 《高校医务收费管理系统研究项目详细设计》;
E、 《高校医务收费管理系统研究项目规格说明书》;
F、 《高校医务收费管理系统研究项目组装测试计划》;
参考资料:
① 杨晶 《VB程序设计教程与实训》 北京-科学出版社
② 张海潘 《软件工程》 北京清华大学出版版社
③ 李昭原 《数据库原理与应用》 科学出版社
④ 徐兰芳, 彭冰 《数据库设计与实现》上海-上海交通大学出版社
⑤ (美)Wendy Boggs 《UML与Rational Rose 从入门到精通》 邱仲潘 等 译 北京-电子工业出版社
⑥《金华市发达装配厂库存管理系统KCGL》的可行性分析
⑦《中华人民共和国国家标准UDC 681.3》
⑧《计算机软件产品开发文件编制指南GB 8567-88》
二、 项目的可行性研究与需求分析
2.1技术方面的可行性
系统现阶段的发展过程中, 利用现有人力和物力是完全具备的能力开发出来的, 作为阶段性产品, 日后的发展空间大, 实现方法逐步简单容易, 因此医务收费系统的技术上是完全可行的。
a. 在当前的限制条件下, 该系统的功能目标能达到;
b. 利用现有的技术, 该系统的功能能实现;
c. 对开发人员的数量和质量的要求并说明这些要求因该能满足;
d. 在规定的期限内, 本系统的开发能完成
2.2法律方面的可行性
本软件系统不公开用户的姓名、 地址、 邮箱。
软件服务条款要与中华人民共和国的法律解释相一致, 一致同意服从高等法院所有管辖。如发生软件服务条款与中华人民共和国法律相抵触时, 则这些条款将完全按法律规定重新解释, 而其它条款则依旧保持对用户产生法律效力和影响。
交付的软件产品, 涉及合同责任、 侵犯专利权、 侵犯版权等方面。就用户方面来说, 如果用户发生侵犯专利权、 侵犯版权、 违约等事件, 我们将严格按照合同中的规定和国家有关法律的规定追究用户应付的法律责任, 对本开发组的损失做出应有的赔偿。
2.3 经济可行行
本系统开发成本低, 不需要特殊要求。
2.4 可行性结论
综上所述, 本工程的技术相当成熟、 完备也比较完善, 测试手段可靠, 具有良好的市场拓展, 技术上可行, 经济上可行, 操作上可行, 因此本工程可立即开始
具体内容请参考独立文档:
《高校医务收费管理系统研究项目可行性研究报告》
三、 项目设计的基本原理和采用的主要方法与技术
具体内容请参考独立文档:
《高校医务收费管理系统研究项目可行性研究报告》
《高校医务收费管理系统研究项目概要设计》
四、 本人实现项目的过程与步骤
概念设计阶段
全体组员讨论研究项目
收集相关资料、 需求分析
可行性研究分析
设计阶段
讨论项目计划
确定项目计划并分工
逻辑设计、 功能设计, 形成概要设计文件
数据库分析, 数据库设计
数据库访问模块设计
登录界面设计
主界面设计和相关工具栏设计
人员管理模块设计
形成详细设计报告文档
实施阶段
登录模块的实现
数据访问模块实现
主界面模块的实现
其它子模块的实现
模块之间的接口进行测试, 并进行调试
组合以上的模块为系统, 进行系统测试
编写测试计划和测试用例
收尾阶段
对资料进行整理, 文档完善
课程设计报告总结
图: 1
五、 个人遇到的困难与获得的主要成果
在整个系统的开发的过程中, 我们遇到的很多的问题:
在技术上我对VB语言的掌握不够扎实, 很多语句写的有二义性, 存在隐形的错误, 这给后期的调试带来了很多的麻烦。在数据库连接中, 对VB中使用ADO(ActiveX Data Objects)进行数据库连接中, 也出现了不少的问题, 如: ADO数据库访问的有源数据库和无源数据库的区别没有搞清楚。我们查了相关参考资料, 并认真学习, 得出如下总结:
1.用ADO对象( 非控件绑定) 时, 要用DataGrid控件显示查询结果则需要设置游标为客户端游标。即 RS.CursorLocation = adUseClient, 然后再Set DataGrid.DataSource = RS( 注意Set不可省略)
2.Select * From User Where ID = 0语句发生语法错误, 因为User是SQL语句的保留字, 应写为Select * From [User] Where ID = 0, 同理Password也是保留字, 遇到字段名为Password时也需要写成[Password]。
在开发工具的使用中, 我们发现还不够熟练, 工具栏里的具体工具的使用没有摸透, 很多都是一知半解。Rose建模工具的使用过程中总结了一下心得:
用例图是能够随时修改的, 在用例图方面。在画用例图时, 一定要将某个用例所代表的意思都写在注解中, 这样不但使用户在开发过程中工作显得更清晰, 而且使别人对用户设计的了解更容易。还有, 不要想一次将所有的用例都考虑得面面俱到, 这也是不可能的, 能够在日后的再开发中为系统添加所需要的用例, 当然这是不需要对以前的设计进行任何改动的。
在数据的设计过程中, 设计的数据表存在一定冗余, 这主要是在是对数据库设计规则掌握不够。构造数据库必须遵循一定的规则。在关系数据库中, 这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求, 即满足不同的范式。当前关系数据库有六种范式: 第一范式( 1NF) 、 第二范式( 2NF) 、 第三范式( 3NF) 、 第四范式( 4NF) 、 第五范式( 5NF) 和第六范式( 6NF) 。满足最低要求的范式是第一范式( 1NF) 。在第一范式的基础上进一步满足更多要求的称为第二范式( 2NF) , 其余范式以次类推。后来经过方鑫平的分析, 我们设计符合第三范式( 3NF) 的数据库, 我们也重新去学习和查看有关数据库设计的规范的内容。
在使用水晶报表技术生成月统计报表, 也遇到了不少问题, 如: 如何利用SQL语句改变报表的数据源? 水晶报表我们以前也没接触过, 但我们知道水晶报表的优势和方便之后, 毅然选用水晶报表设计报表。经过我们的技术攻关, 终于知道如何利用SQL语句改变报表的数据源:
首先引用Crystal Reports 9 ActiveX Designer Run Time Library
再添加Crystal Repotr View Control 9控件
在工程资源管理器中右键--添加--Crystal Reports 9 新建一个Crystal Reports9报表
设置数据源后将要显示的字段加入报表内。 窗体代码部分:
Dim m_Report As New CrystalReport1 \'(这个CrystalReport1是你建立的报表的名称)
Dim m_Connection As ADODB.Connection \'(建立一个ADO连接)
Dim adoRS As ADODB.Recordset
Private Sub Form_Load()
Dim SQL As String
Dim strConnect As String
\' Create and bind the ADO Recordset object
Set m_Connection = New ADODB.Connection
Set adoRS = New ADODB.Recordset
\' Open the connection
strConnect = "你的数据库连接字符串"
m_Connection.Open strConnect
SQL = "查询语句"
adoRS.Open SQL, m_Connection, adOpenDynamic, adLockBatchOptimistic
m_Report.Database.SetDataSource adoRS\'(动态设置报表数据源)
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = m_Report
CRViewer1.ViewReport \'(显示报表)
Screen.MousePointer = vbDefault
End Sub
六、 测试与运行记录
具体内容请参考:
《高校医务收费管理系统研究项目组装测试计划》;
七、 课程设计完成结果分析与个人小结
在四名组员的共同努力下, 高校医务收费系统项目课程设计终于完工了, 虽然系统还不够完善, 但已经具备了一个收费系统的基本功能。一个月的课程设计, 虽然感觉挺忙碌, 但我感觉收获很多, 不但仅在知识和技术上, 在团队合作、 交流方面, 我也认识到整个团队的相互协调和交流对整个项目的重要性。我也懂得了很多人生的哲理, 懂得怎么样去制定计划, 怎么样去实现这个计划。曾经无数次的困难和技术难关困扰着我, 曾经有过放弃本系统的念头, 曾经有过敷衍了事的想法, 但在大家的共同的努力下和相互间的鼓舞下, 我们一次次从失败的边缘走回来。每一次技术突破的喜悦, 都让我坚定的胜利的信念。我知道若是只有我一个人, 不可能完成这次课程设计, 这让我重新认识到一个团队的重要, 一个工程需要的是团队合作, 而非个人逞能所能完成。经过这次程序设计, 让我更好的了解了VB的编程环境, 并对VB语言有了更深的了解, 对Windows应用程序编制的整个系统思想和水晶报表技术都有了一定的认识。
在测试和调试方面, 曾经天真地以为编程才是最费时间的, 在这次实践中, 让我更加清楚的认识到, 软件测试和调试在整个工作量比例。也让我更加相信调试是软件开发过程中最艰巨的脑力劳动。本次程序设计中出现了许多隐藏的错误, 令我们收获不少。但我相信也一定很多未发现的错误, 特别是在以后程序的扩展中, 这种问题将会更明显。
感谢贾老师这个学期的辛勤的上课, 经过本次实践让我深刻的认识到软件工程的重要性, 也从中体会了软件工程的思想, 这将使我们今后的学习和工作受益。
展开阅读全文