收藏 分享(赏)

系统分析与设计文档.doc

上传人:精品资料 文档编号:10801600 上传时间:2020-01-10 格式:DOC 页数:37 大小:931KB
下载 相关 举报
系统分析与设计文档.doc_第1页
第1页 / 共37页
系统分析与设计文档.doc_第2页
第2页 / 共37页
系统分析与设计文档.doc_第3页
第3页 / 共37页
系统分析与设计文档.doc_第4页
第4页 / 共37页
系统分析与设计文档.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、1基于 UML的机票预订管理系统的分析与设计课程名称:系统分析与设计项目名称:机票预订系统专业:软件工程年级:2015 级小组成员:XXXXXXXXX1机票预订系统项目需求文档目录一、引言 31.1 问题的提出 31.2 本文工作和系统开发 31.3 系统功能的简介 3二、面向对象的 UML 建模 42.1 面向对象的基本思想 42.2 面向对象的软件建模 42.3 UML 建模语言简介 .5三、机票预订系统用例建模 63.1 机票预订管理系统业务流程分析 .63.2 业务需求用例建模阶段 103.3 业务活动图 113.4 系统基本功能描述 12四、机票预订系统需求用例建模 .124.1 各

2、模块用例分析 .12五、业务领域分析与设计 .225.1 类图 .225.2 顺序图(时序图) .225.3 协作图 .255.4 状态图 .27六、系统实现测试与配置 .296.1 系统实现的工具与技术 .296.2 系统实现方式 .30基于 UML的机票预订管理系统26.3 系统实现 .306.4 系统单元测试 .306.5 系统共享与管理 .31七、系统开发的思考 .317.1 数据库设计问题 .327.2 数据库访问设计问题 .327.3 数据库设计 .327.4 性能需求的考虑 .34八、结语 .35九、分工情况 .36基于 UML的机票预订管理系统3一、引言1.1 问题的提出当今世

3、界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论

4、方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求。1.2 本文工作和系统开发本文首先对系统的业务与用户的需求进行了分析,然后对系统的功能进行详细的设计,并在分析与设计的同时用 UML 建模语言对其建模,采用 PowerDesigner 工具绘制描述各种模型的图形,目的使开发者与用户更有效的实现功能与理解需求,并使程序人员能顺利的实现系统,在系统的实现阶段重点讲述设计到编码的过渡,以体现 UML 建模的模型对系统开发带来

5、的好处。本文的编写结合了面向对象的软件开发方法与 UML 建模语言的优势与特色,同时与记账管理系统紧密结合。既体现了面向对象的软件开发思想 ,又包容了 UML 建模语言所特有的语言建模优势。在编写中我们大量的使用 UML 语言所提供的各种建模图形来描述记账管理系统,例如描述用户需求的用例图,类图,描述系统功能的顺序图,状态图。1.3 系统功能的简介系统的功能是系统能够做的事情,在本系统中,系统的功能有:用户模块:1. 用户注册/登录功能:2. 订票功能:该功能为用户提供简洁的页面呈现,方便用户根据自己的需要预定机票。3. 退票功能:该功能为用户提供简洁的页面呈现,为用户提供退票功能。 4. 查

6、询票据信息功能:该功能为用户提供简洁的页面呈现,为用户提供查询票据信息。5. 航班预定功能:该功能为用户提供简洁的页面呈现,用户能够进行航班预定。6. 生成订票列表功能:系统根据用户订票信息生成订票列表。 7. 生成退票信息功能:系统根据用户退票操作生成退票信息。 8. 处理订票功能:通过该功能,管理员可以处理用户预定的机票,根据航班信息,更改用户实际订票信息。 基于 UML的机票预订管理系统4管理模块:1. 添加航班信息功能:通过该功能,管理员可以将新的航班信息进行更改,以方便用户能够查询到新的航班信息。 2. 修改航班信息功能:过该功能,管理员可以依照时时的航班情况对航班信息进行修改,更新

7、实际航班信息,以方便用户预定机票。 3. 查询航班信息功能:2、面向对象的 UML 建模2.1 面向对象的基本思想面向对象方法是当今软件开发的主流方法,它的基本思想是从现实世界客观存在的事物或者说对象出发来构建系统,并且在构建系统时尽可能运用人类的自然思维方式。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系

8、统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。面向对象的四个基本特征有:(1)封装:用抽象的数据类型将数据

9、和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。(2)继承:子类拥有父类的所有数据和操作。(3)多态:一个程序中同名的不同方法共存的情况。(4)重载与重写:有两种形式的多态2.2 面向对象的软件建模建模是人们在实际应用中常用而且具有重要作用的一种技术。例如,人们在建造一座大楼前,先规划出大楼的蓝图;在制造飞机前,先要画出设计图,并可能要建造一个实际模型进行风洞实验;在画一幅油画之前,先要用铅笔勾勒出画的轮廓。同样的,软件开发人员在实际开发一个复杂的项目之前,也应该先建立系统的模型。对软件系统进行建模的目的在于:1.理解应用领域中的知识,捕获用户的需求。对系统进行分析的过程就是开发者不

10、断学习用户领域知识的过程。要想建立一个正确的模型,首要的问题就是理解用户领域的知识。当开发者能建立出一个用户满意的模型时,说明他已经理解了用户领域中的知识,至少是抓住了与将要建立的系统本质有关的知识。基于 UML的机票预订管理系统52.与用户沟通。用户往往不是计算机专家,而开发者往往也不熟悉用户的领域。二者的沟通就有一定的难度。通过建立一个双方都能理解的模型有利于这种沟通,可以使项目投资者、分析人员、设计人员、程序员等达成一致,从而为建立正确的软件系统打下良好的基础。3.进行系统设计。在编写代码以前,软件系统的模型可以帮助软件开发人员方便的研究软件的多科构架和设计方案,从中找出最适合的解决方案

11、,简化实现。通过研究一个大型软件系统的模型可以提出多个实际方案并可以对它们进行相互比较。利用模型可以研究多种设计案,所花费的成本只是实现其中一种方案所花费的成本。4.使实现细节和需求分开。软件系统的模型可以从多个角度来描述系统:有些侧重于系统的外部行为和系统中与现实世界对应的有关信息;有一些则侧重于描述系统中的类以及类的内部操作。通过模型,可以将实现细节和需求分开。5.设计出有用的实际产品.通过建模,可以得到这样一些实际产品:类的声明,数据库结构,配置草案,或者还有初始的用户界面等,这些产品可以直接应用在后边的阶段中。6.通过模型可以建立系统的文档。软件系统用视图来组织信息:静态结构视图,状态

12、机视图,交互视图,反映需求的用例视图等。通过这些视图可以组织、查找、检查以及编辑大型系统的有关信息。7.利于我们理解复杂系统。对大型复杂的系统直接理解往往有困难,通过建立模型,对系统进行抽象,抓住系统的主要方面,这样有利于理解系统。面向对象建模方法主要从面向对象程序设计领域发展而来,它通过对象对问题域进行完整的映射,对象包括了事物的数据特征和行为特征:它用结构和连接如实反映问题域中事物间的关系,比如分类、组装等;它通过封装、继承、消息通信等原则使问题域的复杂性得到控制。所以,面向对象建模方法是对问题域的完整和直接的映射,在模拟现实世界方面具有天然的优势。面向对象方法支持软件开发中从分析到设计以

13、至实现的各个阶段,且各个阶段均采用一套概念和表达手段,它们之间没有“鸿沟”的存在,几乎不需要什么转化。面向对象方法还支持和鼓励复用,不仅包括实现的复用,还包括分析、设计等建模成果的复用。2.3 UML 建模语言简介UML 又称统一建模语言或标准建模语言,是始于 1997 年一个 OMG 标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。UML 规范用来描述建模的概念有,类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。UML 语言具有以下特点:1 UML 已经成为面向对象建模语言的标准从

14、理论角度讲,UML 是三位很有影响的面向对象方法大师以及许多大公司井同努力的成果,Booch, Rumbaugh 和 Jacobson 各自提出的方法及有关著作拥有不少用户和读者,而UML 是他们以往研究的继续。在定义模型元素语义的基础上定义建模语言,使 UML 在理论基于 UML的机票预订管理系统6上比较健全,具有表达力强、清晰和一致的特点,UML 定义的各种图和各种建模元素是来自多种 00 方法的研究成果汇集。2 UML 缺乏过程指导UML 并不是十全十美的东西,最重要的一点是,它只是一种建模语言而非建模方法.3 UML 过于复杂UML 在具有丰富的表达力的同时,其复杂性也是惊人的。UML

15、 的开发者称:只要 UML 中20%的内容就可以表达实际应用中 80%的系统。但 UML 中并没有给出哪些内容是必要的,哪些是可选的。这给用户的使用带来了不小的麻烦。3、机票预订系统用例建模3.1 机票预订管理系统业务流程分析3.1.1 查询机票信息流程1. 用户进入系统,输入相应合法的机票信息2. 点击查询,得到机票信息3.1.2 预订机票流程1.用户登录2.没有账号,注册。3.登录成功4.查询机票信息基于 UML的机票预订管理系统75.点击预订,填写相应信息6.提交订单7.付款,预订成功。3.1.3 取消订单流程1.进入系统2.登录账号3.查询订单4.取消订单基于 UML的机票预订管理系统

16、83.1.4 用户业务顺序图基于 UML的机票预订管理系统9:users Order OrderControl TicketInfoCtrl AirTicket1: 中中中2: 中中中5: 中中 3: 中中中4: 中中中6: 中中中7: 中中 8: 中中 9: 中中中10: 中中 1: 中中中12: 中中中3.1.5 系统管理员业务顺序图基于 UML的机票预订管理系统10: system admin TicketManger TicketControl Ticket1: 中中 2: 中中3: 中中4: 中中中5: 中中中6: 中中中 7: 中中 8: 中中10: 中中 1: 中中 12: 中中

17、9: 中中13: 中中3.2 业务需求用例建模阶段3.2.1 业务角色的查找与建立根据该机票预订管理系统业务流程可知,系统涉及的业务角色有:用户、系统管理员。3.2.2 角色用例图基于 UML的机票预订管理系统113.3 业务活动图基于 UML的机票预订管理系统123.4 系统基本功能描述4、机票预订系统需求用例建模4.1 各模块用例分析4.1.1 用户管理模块功能描述:1第一次登录的用户,进行注册,输入用户名,密码等信息。2修改密码等个人信息3用户权限管理,分普通用户,管理员。4完善用户信息。5. 用户退出登录。用例图:基于 UML的机票预订管理系统13用例编号:1.1 用例名:用户注册执行

18、者普通用户前置条件用户进入注册界面后置条件用户注册成功基本路径 1.用户填写基本信息2.后台系统验证信息的有效性3.系统把用户信息存入数据库字段列表用户名、密码、性别、身份证号、联系方式等基于 UML的机票预订管理系统14用例编号:1.2 用例名:用户登录执行者普通用户前置条件用户已经注册后置条件用户已经登录基本路径1用户填写用户名和密码2系统验证用户名和密码是否匹配3用户登录成功扩展1因为用户名或密码填写失误导致登录失败字段列表用户名、密码用例编号:1.3 用例名:用户修改信息执行者普通用户前置条件用户已经登录后置条件用户信息已更新基于 UML的机票预订管理系统15基本路径 1用户进入个人信

19、息页面2用户修改个人信息3系统保存信息字段列表密码、性别、身份证号、联系方式等用例编号:1.4 用例名:用户退出登录执行者 普通用户前置条件用户已经登录后置条件该用户名暂时不可用基本路径 1用户进入注销页面2确认退出3系统返回首页扩展退出以后可以再次登录。字段列表用户名用例编号:1.5 用例名:管理员登录执行者 管理员基于 UML的机票预订管理系统16前置条件无后置条件管理员已经登录基本路径 1管理员输入ID和密码2系统验证ID和密码3管理员登陆成功字段列表管理员ID、管理员密码4.1.2 机票查询模块功能描述:用户可以输入飞机始发地、目的地以及乘机日期查找相应航班信息。用例图:用例编号:21

20、 用例名:用户查询执行者:用户前置条件:用户登录系统后置条件:基于 UML的机票预订管理系统17显示查询结果基本路径1. 用户输入查询信息2.用户浏览查询结果字段列表始发地、目的地、出行日期4.1.3 机票预订模块功能描述:1.用户选中某班次。2.用户点击预定该航班。3.用户输入乘机人信息。4.用户点击支付订单跳转到相应支付页面。用例图:用例编号:3.1 用例名:用户订票执行者:用户前置条件:用户已登录后置条件:成功生成订单基本路径:1.用户登录系统2.用户选择需购买航班基于 UML的机票预订管理系统183.用户输入并提交乘机人信息4.跳转至支付页面5.成功生成订单字段列表乘机人姓名、身份证号

21、、联系电话4.1.4 取消订单模块功能描述:1.用户选中需退票订单。2.用户点击退票3.系统删除该订单4.后台进行相应费用的计算和支付5.用户支付相应费用6.用户查看退订信息用例图:用例编号:4.1 用例名:用户取消订单执行者:普通用户前置条件:用户已登录,且为普通用户身份后置条件:退还相应费用基本路径:1. 用户进入订单列表页面,并选择需要取消的订单2. 用户点击退票基于 UML的机票预订管理系统193. 后台计算相应费用字段列表:订单流水号4.1.5 订单修改模块(改签)功能描述:1.用户选中需改签订单。2.用户点击改签3.系统更新该订单4.后台进行相应费用的计算和支付5.用户支付相应费用

22、6.用户查看改签信息用例图:用例编号:5.1 用例名: 用户改签执行者:用户前置条件:用户选择需改签订单后置条件:跳转至支付页面基本路径:1. 用户进入订单列表页面,并选择需要改签的订单2. 用户点击改签3. 后台计算相应费用字段列表:订单流水号基于 UML的机票预订管理系统20用例编号:5.2 用例名:用户支付执行者:普通用户前置条件:用户已选择改签,并生成相应支付信息后置条件:完成支付,成功改签基本路径:1 用户在相应页面完成支付操作2 返回订单列表页面字段列表:无4.1.6 航班信息维护模块功能描述:1.管理员添加航班,并写入航班信息2.管理员删除航班3.管理员选择需要修改的航班,并写入

23、新的航班信息用例图:用例编号:7.1 用例名: 管理员添加航班执行者:管理员前置条件:基于 UML的机票预订管理系统21管理员登录后置条件:成功添加航班基本路径:1. 管理员进入航班管理列表2. 管理员点击“添加航班”3. 管理员输入新增航班信息4. 管理员提交新增航班信息字段列表:航班号、起始地、目的地、舱位、机型等用例编号:7.2 用例名:管理员删除航班信息执行者:管理员前置条件:管理员登录后置条件:成功删除航班基本路径:1. 管理员进入航班管理列表2. 管理员点击“删除航班”3. 页面提示是否删除4. 返回航班管理列表字段列表:无用例编号:7.3 用例名:管理员更新航班信息执行者:基于

24、UML的机票预订管理系统22管理员前置条件:管理员登录后置条件:成功更新航班基本路径:1. 管理员进入航班管理列表2. 管理员点击“更新航班”3. 管理员输入需更新的航班信息4. 管理员提交更新航班信息5. 返回航班管理列表字段列表:航班号、起始地、目的地、舱位、机型等五、业务领域分析与设计5.1 类图5.2 顺序图(时序图)基于 UML的机票预订管理系统235.2.1 用户登录: users createDialog MainWindow1: runSystem3: Login 2: createDialog4: Vaidate5: sucesfulcreateWindow6: failed

25、LoginFailed5.2.2 用户订票:users Order OrderControl TicketInfoCtrl AirTicket1: 中中中2: 中中中5: 中中 3: 中中中4: 中中中6: 中中中7: 中中 8: 中中 9: 中中中10: 中中 1: 中中中12: 中中中基于 UML的机票预订管理系统245.2.3 管理员更新信息: system admin TicketManger TicketControl Ticket1: 中中 2: 中中3: 中中4: 中中中5: 中中中6: 中中中 7: 中中 8: 中中10: 中中 1: 中中 12: 中中9: 中中13: 中中5

26、.2.4 用户取消订单(退票):users Return TicketInfoCtrl TicketControl Ticket TicketInfo1: 中中 2: 中中 3: 中中4: 中中5: 中中6: 中中7: 中中中 8: 中中中9: 中中10: 中中中基于 UML的机票预订管理系统255.3 协作图5.3.1 协作图概述:“顺序图”与“协作图”表述的是相似的消息。协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是一种交互图,强调的是发送和接收消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及

27、对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。使用协作图来说明系统的动态情况。协作图(Collaboration Diagram /Communication Diagram)显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。如果需要强调时间和序列,最好选择序列图;如果需要强调上下文相关,最好选择协作图。 协作图用于显示对象之间如何进行交互以执行特定用例或用例中特定部分的行为。设计员使用协作图和序列图确定并阐明对象

28、的角色,这些对象执行用例的特定事件流。它们是主要的信息来源,用于确定类的职责和接口。 与顺序图(Sequence Diagram)不同,协作图显示了对象之间的关系。顺序图和协作图表述的是相似的信息,但表述的方式却不同。协作图显示对象之间的关系,它更有利于理解对给定对象的所有影响,也更适合过程设计。以下是系统协作图,以不同的视角表现了操作信息。5.3.2 用户订票协作图中中中中中中中中中中中中中中中中中 中中中中中1: 中中中中中 2: 中中中中中中3: 中中中中中中中中4: 中中中中5: 中中中中6: 中中7: 中中中中8: 中中9: 中中中中中10: 中中中中1: 中中中中中12: 中中中中

29、中中基于 UML的机票预订管理系统265.3.3 乘客账户管理协作图中中中中 中中中中中: 中中1: 中中中中2: 中中中中3: 中中中中中中4: 中中中中中中5: 中中中中6: 中中中中中中7: 中中中中中中8: 中中中中9: 中中10: 中中中中中中中中1: 中中12: 中中中中13: 中中中中14: 中中15: 中中中中中中中中5.3.4 管理员航班信息修改协作图中中中中中 中中中中中中中中中中中1: 中中中中中中2: 中中中中中中中中中3: 中中中中4: 中中中中中中5: 中中6: 中中中中中中中7: 中中8: 中中中中中中中中中中基于 UML的机票预订管理系统275.4 状态图5.4

30、.1 状态图概述状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。通常我们创建一个 UML 状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。关于状态图选取了另外的系统相关模块进行分析。5.4.2 系统状态图waitng display informtionTo be paidto be cnfirmto be Evalu.display part of rderSold outsucesed loginhad

31、evlutionto be Aprvalsucesed retrn ticktpay ofconfirmchoseorder order returnlogin searchevalutioncloseaply for eturn ticketclosereturn ticket5.4.3 登录状态图基于 UML的机票预订管理系统28login promptentry/ ShowLoginScrenexit/ hideLogincrenevnt Undefined/ ClearDat check out userSucesed loginLogin failedlogincheck outcheck outtry again5.4.4 退票状态图基于 UML的机票预订管理系统29中中中中中中中 中中中中中中中中中中六、系统实现测试与配置6.1 系统实现的工具与技术6.1.1 工具建模:PowerDesigner数据库:MySQLIDE:my eclipse浏览器:火狐浏览器服务器:Tomcat项目共享与管理:SVN

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报