软件工程课程设计小组报告.pdf

上传人:叶*** 文档编号:36170856 上传时间:2022-08-25 格式:PDF 页数:36 大小:2.95MB
返回 下载 相关 举报
软件工程课程设计小组报告.pdf_第1页
第1页 / 共36页
软件工程课程设计小组报告.pdf_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《软件工程课程设计小组报告.pdf》由会员分享,可在线阅读,更多相关《软件工程课程设计小组报告.pdf(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程课程设计小组报告软件工程课程设计小组报告机机票票预预订订系系统统专业名称:专业名称:_软件工程_班班级:级:_2010 级 3 班_同组成员同组成员:_李效伦_ 201001050515_同组成员同组成员:_郭瑶瑶_ 201001050509_同组成员同组成员:_韩方杰_ 201001050607_指导教师指导教师:_倪丽娜老师_实验地点实验地点:_计算机系实验室_完成日期完成日期:本学期教学周:第 8 至 14 周信息科学与工程学院信息科学与工程学院二零一二零一二二年十一月年十一月目目录录一、课程设计概述.3二、项目的需求分析过程及需求模型. 32.1.系统可行性分析.32.2.系统

2、需求分析.32.2.1.系统目标设计.32.2.2.系统功能需求分析.42.2.3.系统功能描述.52.2.4 系统的数据流图.5三、项目设计模型.63.1.系统 UML 建模设计.63.1.1.UML 简介.63.1.2.系统的用例分析.73.1.3.系统的顺序图.83.1.4.系统的状态图.143.1.5.系统的活动图.153.1.6.系统的类图.213.2.系统数据库建模.223.2.1.数据库概念设计.223.2.2.数据库物理设计.24四、实现项目的过程与步骤.27五、遇到的困难与获得的主要成果. 285.1.遇到的主要困难.285.1.1.界面风格的统一.285.1.2.数据库使用

3、的统一.295.1.3.文档的编写.295.1.4.高级语言嵌入 SQL 语言. 295.1.5.C#控件的使用.305.2.主要成果.305.2.1.软件工程知识的巩固. 305.2.2.visio 作图能力的提升. 315.2.3.编程能力的提升.315.2.4.团队意识的加强.325.2.5.数据库使用技巧的提高. 325.2.6.面向对象程序设计的认识的提高.32六、测试与运行记录.336.1.利用等价类划分进行身份证测试.336.2.注册账号测试用例.336.3.登录测试用例.346.4.修改密码测试用例.34七、课程设计完成结果分析.35八、附录.35山 东 科 技 大 学 课 程

4、 设 计3一、课程设计概述一、课程设计概述1.1. 目的通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,以此来完成飞机订票系统的分析、设计、编码、测试等工作。1.2. 任务通过认真阅读老师所给的课程设计的题目要求, 进行系统的需求分析、 。1.3. 开发环境:Microsoft Visual Studio 2008 + SQL Server 2005 、 Windows XP1.4. 参考资料:1. 钱永秋等,软件工程,清华大学出版社,2007 年 3 月。2. 胡荷芬等,UML 系统建模基础教程,清华大学出版社,2010 年 5 月。3

5、. 郑阿奇等,SQL Server 使用教程,电子工业出版社,2009 年 12 月。4. 金旭亮等,C#程序设计语言基础,北京理工大学出版,2008 年 10 月。二、项目的需求分析过程及需求模型二、项目的需求分析过程及需求模型2.1.2.1.系统可行性分析系统可行性分析随着互联网的普及,越来越多的人都加快了生活的步伐。同样,买票也越来越方便,现在有更多的用户已经不再排队买票,而是通过互联网,很快就可以完成自己的订票。想要退票、改签,亦可以通过网络来完成。在很大程度上节约了人们的时间,可以说互联网给用户带来了一次伟大的变革。飞机订票系统,给用户提供友好的界面,方便的操作,满足简单用户的需求。

6、使用户使用更加方便,快捷。2.2.2.2.系统需求分析系统需求分析2.2.1.2.2.1.系统目标设计系统目标设计系统开发的总目标是实现飞机订票的系统化、规范化和自动化。对航空公司旗下的所有航班(包括航班类型,航班号,时间,所属公司,始发地,目的山 东 科 技 大 学 课 程 设 计4地,仓位,起飞时间,抵达时间,剩余座位,票价) 。进行统一管理对用户的信息(包括姓名,电话,身份证号,护照号)进行统一管理。提供方便的查询方法。如:时间、始发地、目的地、票价等进行查询。提供对机票的预定功能。提供对机票的改签功能。提供对退票功能。提供对付款功能。提供添加航班功能,比如:某一个航空公司新增加了从 A

7、 地飞往 B 地的航班。提供调整航班功能。提供取消航班,对于因天气、人为、飞机等原因为不能正常起飞的航班进行取消。提供用户的注册功能。2.2.2.2.2.2.系统功能需求分析系统功能需求分析(1) 用户管理:用户的分类、注册、订票、退票、改签、付款、取票等。(2) 系统管理:管理员订票、退票、改签、添加航班、取消航班、调整航班、统计售票情况。满足以上需求的系统主要包含有一下几个子系统(1)登录和注册子系统:该系统中主要包含了用户的注册和登录等功能。(2)管理员子系统:该子系统主要包含管理员对系统的操作。(3)旅客子系统:该子系统主要包含旅客对系统的操作。(4)旅行社子系统:该子系统主要包含旅行

8、社对系统的操作。下图为该飞机订票系统的主要功能模块图:山 东 科 技 大 学 课 程 设 计5图 1:飞机订票系统功能模块图2.2.3.2.2.3.系统功能描述系统功能描述(1)订票。处理各类用户的订票业务。(2)退票。处理各类用户的退票业务。(3)改签。处理各类用户的退票业务。(4)注册。处理用户注册业务。(5)登录。对用户的登录信息进行检查。(6)查询。负责机票信息的查询。(7)添加航班。负责航班信息的添加。(8)取消航班。负责航班的取消。(9)调整航班。对航班信息进行调整。(10) 统计售票。对售票情况进行统计。(11) 取票。用户完成取票功能。(12)付款。用户对订票进行网上付款。2.

9、2.42.2.4 系统的数据流图系统的数据流图山 东 科 技 大 学 课 程 设 计6图 2:飞机订票系统的 DFD 图三、项目设计模型三、项目设计模型3.1.3.1.系统系统 UMLUML 建模设计建模设计3.1.1.UML3.1.1.UML 简介简介UML 是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的建模技术, 广泛地适用于各个应用领域。 它的各个模型可以帮助开发人员更好地理解业务流程, 建立更可靠、 更完善的系统模型。 从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性.山 东 科 技 大 学 课 程 设 计73.1.2.3.1.

10、2.系统的用例分析系统的用例分析该飞机订票系统的用况图如下:图 3:飞机订票系统的用况图从用例图中我们可以看出管理员、旅行社和旅客之间对本系统所具有的用例。管理员所包含的用例有:(1)登录系统:管理员可以通过登录该系统进行各项功能的操作(2)订票:帮助用户查询订购机票等。(3)退票:帮助用户退订机票等。(4)改签:帮助用户改签机票等。(5)增加航班:对航班的添加等。(6)调整航班:对航班信息的修改等。(7)取消航班:取消不能正常起飞的航班等。(8)统计售票信息:统计一个时间段内的售票信息等。旅客所包含的用例有:(1)登录系统:管理员可以通过登录该系统进行各项功能的操作山 东 科 技 大 学 课

11、 程 设 计8(2)订票:旅客查询订购机票等。(3)退票:旅客退订机票等。(4)改签:旅客改签机票等。(5)付款:旅客对订购的机票进行付款等。(6)取票:旅客取走自己订购的机票等。旅行社所包含的用例有:(1)登录系统:管理员可以通过登录该系统进行各项功能的操作(2)订票:旅行社查询订购机票等。(3)退票:旅行社退订机票等。(4)改签:旅行社改签机票等。(5)付款:旅行社对订购的机票进行付款等。(6)取票:旅行社取走自己订购的机票等。3.1.3.3.1.3.系统的顺序图系统的顺序图顺序图是显示对象之间交互的图, 这些对象是按时间顺序排列的。该飞机订票系统主要含有以下几个重要的顺序图,其他对象的顺

12、序图和这些也类似。本系统主要的顺序图有:1、 登录系统顺序图山 东 科 技 大 学 课 程 设 计9图 4:飞机订票系统登录顺序图【顺序图说明】(1)输入登录用户账号和密码:登录系统。(2)验证登录用户账号和密码:对用户的登录信息进行验证, 检查是否是笨系统的合法用户,并区分用户的权限。(3)登录信息有效:根据用户的不同权限进行不同的页面跳转。(4)退出系统:用户使用完系统后退出系统。登录系统时,系统自动区分不同用户的不用权限,用户以有效的身份登录后,可以在自己的权限范围内操作系统。2、 订票顺序图山 东 科 技 大 学 课 程 设 计10图 5:飞机订票系统订票顺序图【顺序图说明】(1)查询

13、:查询某个航班的信息。(2)订购: 检查订购信息无误后进行确认订购。(3)付款:为订票进行付款。(4)取票:取走自己在系统上定的票。(5)退出:退出系统。订票时,首先查询所定的票是否存在以及是否有余票。如果有余票,检验订票信息,并订购、付款以及取票。3、 退票顺序图山 东 科 技 大 学 课 程 设 计11图 6:飞机订票系统退票顺序图【顺序图说明】(1)查询:查询某个已订票的信息。(2)退订: 检查退订信息无误后进行确认退票。(3)退出:退出系统。退票时,首先查询自己的订票信息,确认退票信息后确认退订即可。4、 改签顺序图山 东 科 技 大 学 课 程 设 计12图 7:飞机订票系统改签顺序

14、图【顺序图说明】(1)查询:查询某个已订票的信息。(2)删除已订票: 检查改签信息无误后退订已订票。(3)查询要改签的余票:有余票才可以改签。(4)改签:改签机票,将新改签的机票存入订票表中。山 东 科 技 大 学 课 程 设 计13(5)退出:退出系统。改签时,首先查询自己的订票信息,首先查询要改签的机票是否有此航班并且有余票,然后退订自己已订购的机票,再订购自己想改签成的机票即可。5、 添加航班顺序图图 8:飞机订票系统添加航班顺序图【顺序图说明】(1)添加航班:查询是否已存在此航班的信息,如果没有就添加航班。(2)退出:退出系统。添加航班时,首先查询是否已存在此航班的信息,如果没有就添加

15、航班,有就提示添加有误。6、 取消航班顺序图山 东 科 技 大 学 课 程 设 计14图 9:飞机订票系统取消航班顺序图【顺序图说明】(1)查询:查询是否存在要取消的航班信息。(2)取消航班:取消航班。(3)退出:退出系统。取消航班时,首先查询是否存在要取消的航班信息,如果不存在,则提示取消有误;如果存在,则确认取消此航班。7、 调整航班顺序图图 10:飞机订票系统调整航班顺序图【顺序图说明】(1)查询要调整的航班:查询要调整的航班是否存在。(2)调整航班:输入要调整的信息,如果调整信息正确,则调整成功。(3)退出:退出系统。调整航班时,首先:查询要调整的航班是否存在,如果存在,则输入要调整的

16、信息,如果调整信息正确,则调整成功。退出系统。3.1.4.3.1.4.系统的状态图系统的状态图飞机订票系统的机票状态图如图 7 所示。【状态图说明】山 东 科 技 大 学 课 程 设 计15机票在未出售时为系统的剩余机票,可以被订购。在有剩余机票的前提下,如果机票被订购以后,系统中的相应的机票就应该减少。同时,被订购的机票可以在规定的时间之前被退订或者改签。超出退订或者改签时间的不能被退订或者改签。当用户退订机票时,机票的剩余张数应该增加。当用户改签机票时,被改签的机票的张数应该增加,改签后的机票应该减少。添加一个航班,系统中就会产生此航班的机票信息。图 11:飞机订票系统的机票状态图3.1.

17、5.3.1.5.系统的活动图系统的活动图活动图描述的是某流程中的任务的执行,活动图描述活动是如何协同工作的,当一个操作必须完成一系列事情, 而又无法确定以什么样的顺序来完成这些事情时, 活动图可以更清晰地描述这些事情。在本飞机订票系统中,我们主要描述了飞机订票系统的订票、退票、改签、增加航班、调整航班、取消航班的活动图。1.订票活动图【订票活动图说明】订票时,首先登陆系统,系统验证用户登录信息的有效性。用户查询所要定的票是否存在以及是否有余票。如果有余票,输入自己的信息(如:姓名、身份证号等信息) ,检验订票信息是否正确。如果正确就确定订票,并记录取票,及时取票。如果不正确,就核对订票信息,进

18、行改正,直到正确为止。山 东 科 技 大 学 课 程 设 计16图 12:飞机订票系统订票活动图2、退票活动图【退票活动图说明】山 东 科 技 大 学 课 程 设 计17退票时,首先登陆系统,系统验证用户登录信息的有效性。用户查询所要退订的票是否存在。如果存在,检验退票信息是否正确。如果正确就确定退票。如果不正确,就核对退票信息,进行改正,直到正确为止。图 13:飞机订票系统的退票活动图3、改签活动图【改签活动图说明】改签时,用户首先登陆系统,系统验证用户登录信息的有效性。用户查询所要改签的票是否存在。如果存在,检验退票信息是否正确。如果正确就进行改签。如果不正确,就核对改签信息,进行改正,直

19、到正确为止。然后查询要改签的机票是否有余票,如果有余票就确认改签。山 东 科 技 大 学 课 程 设 计18图 14:飞机订票系统的改签活动图4、添加航班活动图【添加航班活动图说明】添加航班时, 用户首先登陆系统, 系统验证用户登录信息的有效性 (必须是管理员身份) 。管理员查询要添加的航班是否存在。如果不存在,检验添加航班信息是否正确。如果正确就添加航班。如果不正确,就核对添加航班信息,进行改正,直到正确为止。山 东 科 技 大 学 课 程 设 计19图 15:飞机订票系统的添加航班活动图5、取消航班活动图【取消航班活动图说明】取消航班时, 用户首先登陆系统, 系统验证用户登录信息的有效性

20、(必须是管理员身份) 。管理员查询要取消的航班是否存在。如果存在,检验取消航班信息是否正确。如果正确就取消航班。如果不正确,就核对取消航班信息,进行改正,直到正确为止。山 东 科 技 大 学 课 程 设 计20图 16:飞机订票系统的取消航班活动图6、调整航班活动图【调整航班活动图说明】调整航班时, 用户首先登陆系统, 系统验证用户登录信息的有效性 (必须是管理员身份) 。管理员查询要调整的航班是否存在。如果存在,检验调整航班信息是否正确。如果正确就调整航班。如果不正确,就核对调整航班信息,进行改正,直到正确为止。山 东 科 技 大 学 课 程 设 计21图 17:飞机订票系统的调整航班活动图

21、3.1.6.3.1.6.系统的类图系统的类图【类图说明】(1)login 类是用户登录的类,它的属性有用户名、密码、权限、编号,操作有登录。(2)admin 类是管理员类,他没有属性,操作主要是订购机票、退订机票、改签机票、添加航班、取消航班、调整航班等等。(3)users 类是用户类,包括用户的姓名、身份证号等属性,同样具有订购机票、退订机票、改签机票等操作。(4)ticket 类是具体机票的类,属性包括航班类、时间、航班号、始发地、目的地、起飞时间、抵达时间、舱位、余票数、票价等属性。山 东 科 技 大 学 课 程 设 计22图 18:飞机订票系统的类图及关系3.2.3.2.系统数据库建模

22、系统数据库建模考虑到系统的推广性,本系统采用 SQL SERVER 2005 作为数据库。并且采用PowerDesigner 进行数据建模,从而自动生成 sql 脚本。3.2.1.3.2.1.数据库概念设计数据库概念设计1、数据库表设计(1)登录用户表 login_users:用户名,密码,用户编号,分组。(2)客户表 users:姓名,电话,地址,身份证号,性别,客户编号。(3)售票表 sale_ticket:时间,航班号,舱位,座号,身份证号。(4)航班表 flight:航班类,时间,航班号,所属公司,始发地,目的地,舱位,起飞时间,抵达时间,剩余票数,票价。(5)订票表 book_tic

23、ket:时间,航班号,舱位,座号,身份证号。山 东 科 技 大 学 课 程 设 计232、飞机订票系统个实体之间的 E-R 图图 12:飞机订票系统各实体之间的 ER 图3、基于 powerdesigner 的 CDM 数据库模型(1)数据库概念数据模型 CDM 对象如下图,该图显示了各实体的属性及各实体之间的关系。山 东 科 技 大 学 课 程 设 计24图 13:飞机订票系统数据库关系图3.2.2.3.2.2.数据库物理设计数据库物理设计由概念模型生成物理模型的的数据库脚本文件为 图书管理.sql 文件,代码如下:USE aircraf_booking_systemGO/* 对象:Tabl

24、e dbo.flight脚本日期: 10/30/2012 17:28:45 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.flight(航班类 varchar(10) NULL,时间 datetime NULL,航班号 varchar(10) NOT NULL,所属公司 varchar(10) NULL,始发地 varchar(10) NOT NULL,目的地 varchar(10) NOT NULL,舱位 varchar(10) NULL,起飞时间 varchar(10

25、) NOT NULL,抵达时间 varchar(10) NOT NULL,剩余票数 int NOT NULL,山 东 科 技 大 学 课 程 设 计25票价 float NULL,CONSTRAINT PK_flight PRIMARY KEY CLUSTERED(航班号 ASC)WITH (PAD_INDEX= OFF, STATISTICS_NORECOMPUTE= OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS= ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFF

26、GO/* 对象:Table dbo.login_users脚本日期: 10/30/2012 17:28:46 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.login_users(用户名 varchar(50) NOT NULL,密码 varchar(50) NOT NULL,用户编号 varchar(10) NOT NULL,分组 varchar(10) NOT NULL,CONSTRAINT PK_users PRIMARY KEY CLUSTERED(用户编号 AS

27、C)WITH (PAD_INDEX= OFF, STATISTICS_NORECOMPUTE= OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS= ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO/* 对象:Table dbo.sale_ticket脚本日期: 10/30/2012 17:28:48 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo

28、.sale_ticket(时间 datetime NOT NULL,航班号 varchar(10) NOT NULL,舱位 varchar(10) NULL,座号 int NOT NULL,身份证号 varchar(50) NOT NULL,CONSTRAINT PK_sale_ticket PRIMARY KEY CLUSTERED(航班号 ASC,身份证号 ASC)WITH (PAD_INDEX= OFF, STATISTICS_NORECOMPUTE= OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS= ON)

29、 ON PRIMARY) ON PRIMARY山 东 科 技 大 学 课 程 设 计26GOSET ANSI_PADDING OFFGO/* 对象:Table dbo.book_ticket脚本日期: 10/30/2012 17:28:40 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.book_ticket(时间 datetime NOT NULL,航班号 varchar(10) NOT NULL,舱位 varchar(10) NULL,座号 int NOT NULL,

30、身份证号 varchar(50) NOT NULL,CONSTRAINT PK_book_ticket PRIMARY KEY CLUSTERED(航班号 ASC,身份证号 ASC)WITH (PAD_INDEX= OFF, STATISTICS_NORECOMPUTE= OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS= ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO/* 对象:Table dbo.users脚本日期: 10/30/2012 17:28:51 *

31、/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.users(姓名 varchar(10) NOT NULL,电话 varchar(11) NOT NULL,地址 varchar(50) NULL,身份证号 varchar(50) NOT NULL,性别 char(2) NULL,用户编号 varchar(10) NOT NULL,CONSTRAINT PK_users_1 PRIMARY KEY CLUSTERED(用户编号 ASC)WITH (PAD_INDEX= OFF,

32、 STATISTICS_NORECOMPUTE= OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS= ON, ALLOW_PAGE_LOCKS= ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO/* 对象:ForeignKey FK_book_ticket_flight脚本日期: 10/30/201217:28:41 */山 东 科 技 大 学 课 程 设 计27ALTER TABLE dbo.book_ticketWITH CHECK ADDCONSTRAINTFK_book_ticket_flight F

33、OREIGN KEY(航班号)REFERENCES dbo.flight (航班号)GOALTER TABLE dbo.book_ticket CHECK CONSTRAINT FK_book_ticket_flightGO/* 对象:ForeignKey FK_book_ticket_users脚本日期: 10/30/201217:28:41 */ALTER TABLE dbo.book_ticketWITH CHECK ADDCONSTRAINT FK_book_ticket_usersFOREIGN KEY(身份证号)REFERENCES dbo.users (身份证号)GOALTER

34、TABLE dbo.book_ticket CHECK CONSTRAINT FK_book_ticket_usersGO/* 对象:ForeignKey FK_sale_ticket_flight脚本日期: 10/30/201217:28:49 */ALTER TABLE dbo.sale_ticketWITH CHECK ADDCONSTRAINTFK_sale_ticket_flight FOREIGN KEY(航班号)REFERENCES dbo.flight (航班号)GOALTER TABLE dbo.sale_ticket CHECK CONSTRAINT FK_sale_tic

35、ket_flightGO/* 对象:ForeignKey FK_sale_ticket_users脚本日期: 10/30/201217:28:49 */ALTER TABLE dbo.sale_ticketWITH CHECK ADDCONSTRAINT FK_sale_ticket_usersFOREIGN KEY(身份证号)REFERENCES dbo.users (身份证号)GOALTER TABLE dbo.sale_ticket CHECK CONSTRAINT FK_sale_ticket_usersGO/* 对象:ForeignKey FK_users_login_users脚本

36、日期: 10/30/201217:28:51 */ALTER TABLE dbo.usersWITH CHECK ADDCONSTRAINT FK_users_login_usersFOREIGN KEY(用户编号)REFERENCES dbo.login_users (用户编号)GOALTER TABLE dbo.users CHECK CONSTRAINT FK_users_login_usersGO四、实现项目的过程与步骤四、实现项目的过程与步骤小组成员深知在开发的初期很难得到一个完整的、 准确的需求规格说明。 这主要是由于小组成员往往不能完全准确地弄清楚系统的全面要求, 在开发过程中,

37、 很有可能会产生新的想法,导致需求的变更。预赛小组成员决定采用原型模型进行系统开发。原型就是先快速开发出预期系统的一个可执行版本,交付客户试用并收集反馈,然后对原型进行改正扩展,追加新模块后再次交付客户, 循环整个过程直至系统最终完成。 为了符合原型模型开发的需要,小组成员一致同意如下开发过程:山 东 科 技 大 学 课 程 设 计28(1).各个成员负责模块的界面:界面设计-界面的统一;(2).小组成员韩方杰负责登录/注册模块:登录功能的实现-注册功能的实现;(3).小组成员郭瑶瑶负责旅行社模块: 订票功能的实现-退票功能的实现-改签功能的实现-付款功能的实现-取票功能的实现;(4).小组成

38、员李效伦负责旅客和管理员模块: 订票功能的实现-退票功能的实现-改签功能的实现-付款功能的实现-取票功能的实现-添加航班功能的实现-调整航班功能的实现-取消航班功能的实现-统计售票信息功能的实现。在界面的统一过程中,小组成员各自设计的界面差异比较大,各有各的特点,但又有自己的不足。经过小组的讨论,小组成员都取他常 补自己的短,完成了界面的统一,使界面表现出一致的状态。登录模块的实现与其他几个模块是有紧密联系的,在登录模块中设计不同的登录权限,系统自动验证登录权限。然后,根据不同的验证结果,跳转到不同的模块中,并且将登录用户的信息以参数的形式传递给相应的模块,以便在其他模块中的使用。管理员模块、

39、旅客模块、旅行社模块有几个共同的子模块:订票、退票、改签、付款、取票。所以在实现的过程中可以相互讨论内部实现细节,使得后来的合成变的简单了很多。订票实现时, 首先要统一的就是数据库, 因为所有的票都存储在同一个数据库的同一个表中(当然,小组没有考虑分布式数据库的使用) ,必须将数据库中表的所有字段的类型、字段的长度都进行统一。订票过程中还需要验证客户输入的信息,要定的票是否存在,是否有余票以及用户的身份证信息是否正确等等。退票实现时,首先也要统一数据库,再者就是检索要退的票是否存在,以及退票用户的信息是否正确等。改签实现时,同样也要统一数据库,再者就是检索要改签的票的信息是否正确, 此外还要检

40、索要改签日期的票是否存在, 是否有余票等。添加航班实现时,需要验证添加的航班信息是否正确,是否已存在这个航班等。五、遇到的困难与获得的主要成果五、遇到的困难与获得的主要成果5.1.5.1.遇到的主要困难遇到的主要困难5.1.1.5.1.1.界面风格的统一界面风格的统一如果一个网站的界面风格五花八门, 风格不统一, 那么这些用户可能就会直接离开你的网站而不再光临。因此,网站风格统一是一项十分重要的工作,美观漂亮的界面就像一个美女,能在用户接触的第一时间吸引用户的眼光。山 东 科 技 大 学 课 程 设 计29网站界面风格整体上是否让人感到舒适以及整体风格是否一致,这点比较不容易判断,因为每个人的

41、审美观的不同,所以小组各个成员开发出来的界面的风格差距是很大的。小组成员逐项检查大家的界面,包括页面大小是否合适,布局是否合理,颜色搭配是否易于接受或者搭配不当,链接功能是否正常,字体大小是否合适,是否存在错别字的问题。这些都是需要进行详细的测试, 否则用户一旦浏览出现了页面显示异常, 就很容易失去关注网站的机会。5.1.2.5.1.2.数据库使用的统一数据库使用的统一统一的数据库对于各个小组所做模块的合成是有很大帮助的。 因为统一的数据库能够提高数据的查询效率,通过合理表结构,安排物理存储分区、增加索引等方式,提高数据的读取速度,提高查询效率。并且统一的数据库能够保证数据的准确性和一致性,通

42、过主外键、非空、限制、唯一索引等保证数据的健壮,且具有较好的扩展性,在必要时能根据需求扩展数据结构。5.1.3.5.1.3.文档的编写文档的编写小组成员遇到的一个统一的困难就是文档的编写, 因为大家都没有去认真考虑过文档在软件开发中的重要性, 所以没有去认真对待过文档的编写, 再者就是大家没有去书写过相应的文档。我们知道软件文档的编制在软件开发工作中占有突出的地位和相当的工作量。高效率、高质量地开发、分发、管理和维护文档对于转让、变更、修正、扩充和使用文档,对于充分发挥软件产品的效益有着重要意义。 需求分析旨在回答系统做什么的问题, 确保将来开发出来的软件产品颠倒符合客户需要。 概要设计将软件

43、系统需求转换为未来系统的设计, 逐步开发强壮的系统构架,使设计适合于实施环境,为提高性能而进行设计,结构应该被分解为模块和库。详细设计的目的旨在指导编码。小组成员为了进行正确的软件开发,都以严谨认真的态度去编写软件文档。5.1.4.5.1.4.高级语言嵌入高级语言嵌入 SQLSQL 语言语言小组成员之前虽然学习过结构化查询语言(Structured Query Language, SQL),但是都是在 DBMS 上进行的一些操作而已。所以大家对于嵌入式 SQL 的使用还是比较陌生的。众所周知,结构化查询语言是最普遍使用的关系数据库语言,它具有表达能力强,功能丰富,语言简洁,使用灵活等特点,在许

44、多数据库系统环境中,它作为独立语言由用户在交互环境下使用。由于 SQL 语言是一种面向集合运算的描述性语言,本身不具有过程性结构,而许多山 东 科 技 大 学 课 程 设 计30实际事物处理应用都是过程性的, 需要根据不同条件来执行不同的任务, 因此单纯用 SQL 语言在交互式环境中执行很难满足应用的需求。为了解决这一问题,将 SQL 语言嵌入到某种高级语言中使用,利用高级语言的过程性结构来弥补 SQL 语言实现复杂应用方面的不足,相辅相成,发挥各自优势。这种方式下使用的 SQL 语言称为嵌入式 SQL。大家通过相互的讨论和查阅资料都稍微明白了嵌入式 SQL 的使用方法。5.1.5.C#5.1

45、.5.C#控件的使用控件的使用在程序编写的过程中,小组成员感觉到的另外一个困难就是 C#控件的使用。控件是一种图形用户界面元素,其显示的信息排列可由用户改变。控件是一种基本的可视构件块,包含在应用程序中,控制着该程序处理的所有数据以及关于这些数据的交互操作。想要熟悉C#中的控件是一个长期的工作,在短短的一个月的时间里想弄清楚 C#中每个控件的作用绝非是一件可能是事情。 但是, 小组成员对于开发中要用到的控件都详细地分析了它们的每一个属性以及用法,使得在使用时更加方便,减少出错率,提高开发的效率。5.2.5.2.主要成果主要成果5.2.1.5.2.1.软件工程知识的巩固软件工程知识的巩固记得刚开

46、软件工程这么课的时候,大家都觉这里面大部分都是去记去背的东西。小组成员都有这么一个思想,总以为软件工程的学习就想学习马克思理论。但是,在我们做课程设计的过程中才发现我们一直对软件工程存在一些偏见或则是误解。 其实, 软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程, 成为了一个综合的一个能够解决问题的思想集合。 整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境, 接着后面的几章深入分析了软件开放过程和模式、软件项目管理、计算机工程、需求分析

47、、结构化分析建模以及基于 UML 面向对象分析建模等。 总的来说, 这门课程在一定程度上给了我们一个机会来锻炼自己在另一方面的能力, 设想一下, 一个又有技术又能够与人交流合作的人所取得的成就自然要比一个单单只会编程序的人要大得多。 其次, 这门课程教给了我们在完成一个实际项目时的一般程序及过程,这是一份非常具有实际意义的教学内容。当我们在毕业之后,这是我们实际要运用的一项非常有用的技能,而且不仅仅局限于软件工程的范畴,我们即使是从事与其它行业,不也是要从需求获取开始, 一直有条有理地到最后成品的出炉吗?应该说这就是这门课的价值山 东 科 技 大 学 课 程 设 计31所在。5.2.2.vis

48、io5.2.2.visio 作图能力的提升作图能力的提升以前作图最多是也就是一个流程图,而且大部分时候在是在 word 里随便画画,看起来极其不规范,有些线总是歪歪扭扭。老师推荐了我们几个作图软件,小组成员都各自选择了一个进行了练习, 结果作出来的图形明显好看多了, 稍微有了点专业的气氛。 小组成员深知,软件分析设计目前最主要的就是应用 UML 进行的, 特别是面向对象的分析设计。 以前传统的方式方法也有很多,但是目前最流行和通用的就是 UML 了。UML 规范的视图目前有很所中,比较常用的就是用例图,类图,状态图,活动图,序列图等。使用 UML 建模,小组成员觉得:UML 图可以很直观的反应

49、系统说要实现的功能,并且可以使用用例图、类图、时序图等显示系统的执行过程、实现功能,大大的简化了小组成员的开发步骤,使小组成员能够分模块、分步骤的对系统进行开发。5.2.3.5.2.3.编程能力的提升编程能力的提升不知不觉小组成员都是大三的学生了,做软件已经做了两年多。之前的写代码总是“东拼西凑” ,没有遵循过什么原则。通过这次软件工程课程设计,大家都学到了很多,再次总结如下:(1).多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。(2).丰富的想象力。 不要拘泥于固定的思维方式, 遇到问题的时候要多想几

50、种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。(3).最简单的是最好的。 这也许是所有科学都遵循的一条准则, 如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。(4).不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 公文通知

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁