1、网上招投标系统实现评标数学与计算机学院课程设计说明书课 程 名 称: 软件工程课程设计 课 程 代 码: 8404831 题 目:网上招投标系统-实现评标模块年级/专业/班: 2009级软件工程4班 学 生 姓 名: 学 号: 开 始 时 间: 2011 年 05 月 23 日完 成 时 间: 2011 年 06 月 06 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日软件工程 课程设计任务书学院名称: 数学与计算机学院 课程代码:_ 8404131_专业: 软件工程 年级
2、: 2009级 一、设计题目 网上招标投标系统-实现投标模块。二、主要内容招投标所面临的具体问题出发,基于互联网平台,实现了招标、投标、评标工作的网络化、电子化作业。根据项目规划进行招投标管理,依据具体招标项目,招标方可以通过系统编制招标计划、发布招标信息、管理招标过程并进行评标定标。投标方通过互联网能够方便参与其中,向招标方发去投标意向,在得到招标方邀标之后可以通过系统进行投标管理。在整个招投标过程中,系统对过程资料和投标资料进行严格管理。评标专家可以进行远程多方面综合网上评标,决定最终中标方并在网上公布中标信息。系统招投标管理具有强大的网络化协同作业功能,支持多种招标、评标、开标方式,具备
3、严格的招标流程管理和严谨的安全管理体系,能够杜绝招投标信息泄露,防止暗箱操作,确保招投标和评标工作的公平、公正、公开,降低招投标成本,提高了招投标工作效率。三、具体要求及应提交的材料具体要求:本课程设计要求学生运用软件工程的思想,严格按照软件生命周期各阶段的目的和任务,完成对系统的分析、设计、编码、及测试。 1完成系统的需求分析2完成系统的设计: 针对分析阶段提出的软件要求,给出实现的方案和具体细节的说明。(1)导出系统的数据流程图和功能模块图。(2)设计数据库。使用Microsoft Access创建数据库。确定数据库中数据表的组成。确定数据表中字段的构成、主键字段和有关字段的约束条件等。依
4、靠数据表中主键字段建立数据表之间的关系,并由此建立数据表之间的参照完整性约束。(3)根据功能确定软件模块组成及调用关系。(4)确定每个模块的数据结构及算法。3编码建造模块,在可视化编程环境下,按照软件设计要求制作界面和完成对模块的编码,由此使软件设计具体化为软件作品。4. 测试编写合适的测试用例完成系统的测试工作并分析结果。5编写课程设计报告应提交材料:1上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);2课程设计报告的打印稿和电子稿;四、主要技术路线提示 1认真阅读相关知识,完成系统的功能分析和系统设计 2选用ACCESS作为DBMS五、进度安排序号设计内容天
5、数1分析设计内容,给出解决方案32创建数据库及建表33可视化界面设计34对所建数据库进行设计,整理设计思路,编码、测试,写出课程设计报告35指导老师检查设计结果并做成绩评定2总 计14六、参考资料1 张海藩. 软件工程导论. 北京:清华大学出版社,20042 陈明. 实用软件工程基础. 北京:清华大学出版社,20033 殷人昆. 实用软件工程. 北京:清华大学出版社,2003指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日1. 前言 12. 需求分析 2. 功能分析 3. 方案分析 43. 概要设计 4. 数据结构 4. 逻辑结构与物理结构 5. 功能模块划分 53.3.1结构框
6、图53.3.2程序流图54. 详细设计 6. 数据类型定义 6. 专家选取 6评分项目设定 8 .专家评分 105实现与调试分析12实现环境12语言选择12调试分析126测试分析13测试用例13专家选取13评分项目设定13专家评分13测试结果14性能分析157用户手册16总结 17致谢 18参考文献 19 前言 随着信息社会和知识经济时代的到来,新科学、新技术不断涌现,随着计算机网络的快速发展,招投标也由原来的手工操作方式逐步转变到在Internet网上进行的方式。网上招投标是指通过专用招投标电子商务平台,将招投标过程中的各个角色,如招标方、投标方、评标专家、政府监督机构等连接起来,企业、机关
7、和个人在网上传递投标数据,评标、开标均采用电子手段,通过网络发布中标结果的一种招投标方式。凭借互联网的运行成本低、覆盖面广的优势,网上招投标将传统的招投标过程转变为一个简单、方便、快捷的过程,并通过无处不在的网络将招投标信息传送到各行各业。2.需求分析需求分析原理 用户是任何系统赖以生存和发展的基础。系统在开发前了解用户的需求是系统成功的关键步骤。用户需求是用户对要开发的系统提出的各种要求和期望,包括系统的功能、性能、可靠性、保密、交互方式等技术性要求和资金强度、交付时间、资源使用限制等非技术性要求。为了了解系统的用户需求,进行系统的需求分析必不可少。需求分析是开发网上招投标系统前的基础,它通
8、过与系统潜在用户进行书面和口头调查交流,得到用户需要从系统所要求获取的信息和所要求的功能。同时根据系统数据的软件设计要求进行整理,达到系统要求的概况描述。1用户情况不同级别的用户对信息的需求和管理权限是不同的,系统应设计完善的权限系统来保障系统正常稳定运行。2功能要求打破原有信息孤立和信息重复建设的局限,系统能提供规范化和标准化的数据,提供异种数据的互换、融合及数据的传输与同步;实现信息系统的集成访问。3性能要求1)安全性:包括数据安全和用户安全。一方面要求具有数据保密并安全传输的功能、具有数据备份及安全恢复功能,方便的数据维护功能以及数据传输加密机制;另一方面要求用户信息的保密和安全,具有严
9、密的用户保密和认证体系。2)稳定性:基于网络运行的系统与其它系统相比具有更多的用户数量,因此更需要考虑系统的稳定性。传统的系统在单机或少量用户的情况下运行良好,但在大量网络并发用户的情况下却会导致系统崩溃。稳定性包括:一是要求支持并发的多用户访问,支持网络的大量用户点击。二是系统对一般故障的自动恢复能力,系统维护方便快捷。3)高效性:系统的等待时延对于用户使用系统的主观印象很不好,网络系统的时延包括网络传输时延和系统反应时延,网络传输时延取决于现行的网络软硬件,在单个系统中往往无法改变。所以只有提高系统反应时延来提高系统的性能。因此需要设计系统查询、分析和处理功能的快速实现,尽量缩短系统的反应
10、时间。 功能分析 具体实施方案 评分 图 数据流图图 E-R图 方案分析面向对象设计,将属性和方法统一封装于一体,采用自上而下的结构话设计思想对其进行逐步求精以实现功能。3.概要设计数据结构 图 评分信息E-R图 逻辑结构与物理结构将上述的E-R图转换为关系模式,如下:投标方(ID,公司名称,联系电话,联系地址,邮政编码,电子邮箱,负责人)专家(姓名,职业,联系电话,联系地址,工作单位);评分信息(评分项目名称,项目编号,项目种类,被评分公司,专家给出的分数,评分有效性,评分时间); 功能模块划分评标管理主要包括以下功能模块:专家的选取,项目的设定,专家评分。以下为个功能模块进行简略描述:专家
11、抽选:选出合适的奇数个专家;项目的设定:设定要涉及的评分项目;专家评分:专家选取竞标公司进行评分。结构框图 流程图4.详细设计 抽象数据类定义Class Scoreprivate: char *Score_project; int Project_id; char kind; char *Score_company; char *Score_name; int Grade; char Score_whether; int Score_time;public:专家抽选为了可以更公平、公正的实现招投标的整个过程,在设计本系统的过程中加入了专家抽选的功能。专家抽选流程如图所示,首先要根据项目设定抽选
12、专家的范围及标准,再由招标方通过专家抽选页面,按要求在众多的专家中,找出适合的专家。然后由招投标双方经过商议确定奇数个为此项目评分的专家,最后在这些专家中选出规定个数的专家来进行评分,并向所有被选出参加评分的专家发出邀请。专家抽选用例图形象的显示了专家抽选流程中涉及到的各种操作,如图所示。专家抽选用例说明对该用例图进行了简要的介绍,如表所示。 表:专家抽选用例说明 用例说明专家抽选简要说明设定规则选择专家参与者招标代表前置条件登录系统主流事件1. 设定专家过滤规则2. 选择专家3. 向专家发起邀请后置条件专家评标 图: 专家抽选用例图 图:专家抽选流程图 评分项目设定由于招标项目的不确定性,所
13、以每次评标时的评分项目也不尽相同,这样就需要在专家为各个公司评分前,由招标方确定所有的评分项目。在系统刚投入使用时评分项目是没有的,为了以后使用上的方便,在使用过程中应该由招标方将这些评分项目存储到数据库中。在这里要注意的是评分项目是由大项和小项组成的,在一个大项下可以存在着若干个小项,也可以不存在小项。有时需要在某个大项下增加的一个小项可能会和某一个大项是重名的,在这种情况下系统并不会报错,但是如果新增加大项的名称与已有的某个大项名称重名就会报错,并且提示为此大项重新命名。在设定评分项目时需要先确定所有的大项,再为各个大项添加所需的小项。所以如果有缺少项目的情况,要先添加大项,再在相应的大项
14、下添加小项。有的评分项目设定完成后,再把新添加的项目存储到数据库中相应的表下,方便以后使用。评分项目设定用例图形象的显示了评分项目设定流程中涉及到的各种操作,如图所示。评分项目设定用例说明对该用例图进行了简要的介绍,如表所示。 表:评分项目设定用例说明用例说明设定评分项目简要说明设定评分项目参与者招标代表前置条件登录系统主流事件1. 设定评分项目2. 添加评分大项3. 添加评分小项4. 检查完整性后置条件专家评分 图:评分项目设定流程图图:评分项目用例图4.3 专家评分专家评分流程如图所示,专家先通过登陆页面登陆到系统,在专家评分页面里按照招标项目,筛选出这次评标工作所需要评分的公司,然后为这
15、些公司评分。由于在为公司评分时只能逐个进行,所以在选择评分公司时,使用的是单选而不时复选。这样一来在为其中一个公司评分完毕后,需要选择是否继续评分。如果还要继续评分则在提交评分结果后,返回选择其他公司继续评分,直到为所有需要评分的公司评分完毕;如果只是为这一家公司评分,则评分完毕后直接提交评分结果。所有评分结果一经提交将只可查看不可修改。专家评分用例图形象的显示了专家评分流程中涉及到的各种操作,如图所示。专家评分用例说明对该用例图进行了简要的介绍,如表所示。 表:专家评分用例说明用例说明专家评分简要说明专家给个竞标公司评分参与者专家前置条件专家选择,评分项目主流事件1.选择评标项目2.选择竞标
16、公司3.评分后置条件中标信息发布 图:专家评分用例图 是 图:专家评分流程图5. 实现与调试分析 实现环境Windows 环境+visual studio 2010 语言选择C+5.3 调试分析成功测试后,为了找出产生症状的原因,以便改正错误,做了调试分析。在调试过程中通常的3种途径为:蛮干法,回溯法,原因排除法。而我们一般采用的是回溯法。 图:调试 图:调试结果6.测试分析 测试用例测试方法有白盒测试和黑盒测试两种。黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程,而白盒测试的前提是把程序完全堪称装在一个白盒子里,测试者完全知道程序的结构和处理算法。故采用的是白盒测试。 专
17、家选取姓名:Tom;职位:教授; ;联系地址:北京;工作单位:北京大学; 评分项目设定项目编号:001;项目名称:维护 评分项目的设立评分项目名称:维护项目编号:001项目种类:3被评分公司名称:传奇评分专家姓名:Tom;专家给出的分数:30评分是否有效:Y评分时间:1997-08-08 测试结果 图:专家选取的测试结果 图:评分项目设立的测试结果图:录入评分信息的测试结果图:显示评分信息的测试结果 性能分析1、结构设计不合理造成性能问题 结构设计包括程序结构设计和数据结构设计,这两部分一定要综合考虑,但我发现大多数的软件对程序结构设计偏重的多,对数据结构设计考虑的不太充分。2、程序编写过程中
18、非优化语句 很多方面都会导致系统的性能下降。7.用户手册总结软件工程作为我们专业的主要课程之一,虽然刚接触时对这门课程并没有什么兴趣而言,感觉都是些纯理论的枯燥乏味的东西,但通过此次课程设计发现软件工程的重要性是不容置疑的,了解到了软件工程的严谨性,每一步都必须脚踏实地,不然软件的开发和维护将在后期付出沉重的代价。此次学习也让我累积了点滴对此们主干课程的兴趣,引起了我的重视。这次课程设计历时2个星期,对于我个人来说,发现时间是如此的仓促!从查阅资料,建立编程思路,着手编程,开始写报告到完成交差,每个流程都花了很长一段时间!特别是对于“网上招投标系统”的招投标根本不了解和理解,不知道流程,查阅许
19、多资料终于懂点滴招投标的相关信息后,发现这个是基于web的系统,会用到基于web的编程开发,数据库等,B/S,C/S等结构,于是茫然不知所措。但对于的开发应用有点感兴趣,于是本人怀着信心去自学,但结果很明显的,时间来不及让我学一门新语言和新开发环境,数据库等让我完成课程设计。大概碌碌无为的忙了一个星期后赶快收手,用VC+ 编一个应用台控制程序。但问题来了,这些流程按照我们C或者C+编应同台控制程序的话根本不知如何是好,仅仅是输入和显示操作,没有什么更改,删除等操作,只是一个设定评分项目,选取专家,专家评分的流程,于是我简单把三者叠加统统弄成一个输入评分信息!通过这次课程设计,了解到对软件工程的
20、学习缺乏,对C或C+的学习部深入,编程能力和思维欠缺,待慢慢提高!对于我们软件工程专业的本科生来说,实践至关重要,而这种实践能力不能仅仅通过教学和平时上机是远远不够的,课程设计让我们学习很多课堂上和平时上机学不到的东西。虽然课程设计做得不成功,但相信在磨练过程中慢慢得到提高,羽翼会更丰满的!致谢 感谢唐剑梅老师这个学期对我的教学,让我学习了软件工程的相关知识,对我以后的学习提供了巨大的帮助,特别在课程设计时体现了理论的重要性,理论是实践的基础。特别感谢陈红红老师在课程设计中给予我的巨大帮助,让我掌握了课程设计的基本思路和学习方法。真诚谢谢在课程设计提供资料给我和给我帮助的同学。参考文献1 张海
21、藩. 软件工程导论. 北京:清华大学出版社,20042 陈明. 实用软件工程基础. 北京:清华大学出版社,20033 殷人昆. 实用软件工程. 北京:清华大学出版社,20034 张海藩. 软件工程. 北京:清华大学出版社,5朱丽华,朱建,俞琼.面向对象程序设计及C+ 北京:人民邮电出版社,2007#include #include #include #include using namespace std;class pb_messagepublic: string Project_id; string Project_name; string Company_name; int Score;
22、public: void print(ostream & out); void read(istream & in); void write(); void show(); int getTotal_Score(string c); void Serach_Score( ); void Result();int pb_message:getTotal_Score(string c) ead (std:cin); psi.print (fout); ();void pb_message:Serach_Score() ead (fin); psi.print (cout); int main()
23、pb_message A; char n; do system(cls); system(color 0E); int x; printf( * 欢迎进入评标管理系统 *n); printf( n); printf( 主 菜 单 n); printf( n); printf( 1.显示投标信息 n); printf( 2.评分 n); printf( 3.显示评分信息 n); printf( 4.查询公司总得分 n); printf( 5、公布评分结果 n); printf( n); printf( (Forever Love U.) n); printf( n); coutx; switch(x) case 1:system(cls);ReadFile();break; case 2:system(cls);ReadFile();();break; case 3:system(cls);();break; case 4:system(cls);();break; case 5:system(cls);Result();break; default:break; coutendl; coutendl; coutn; while(n=y|n=Y); return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1