系统分析与设计文档模板_第1页
系统分析与设计文档模板_第2页
系统分析与设计文档模板_第3页
系统分析与设计文档模板_第4页
系统分析与设计文档模板_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

年4月19日系统分析与设计文档文档仅供参考基于UML的机票预订管理系统的分析与设计课程名称:系统分析与设计项目名称:机票预订系统专业:软件工程年级:级小组成员:XXXXXXXXX机票预订系统项目需求文档目录一、引言 31.1问题的提出 31.2本文工作和系统开发 31.3系统功能的简介 3二、面向对象的UML建模 42.1面向对象的基本思想 42.2面向对象的软件建模 42.3UML建模语言简介 5三、机票预订系统用例建模 63.1机票预订管理系统业务流程分析 63.2业务需求用例建模阶段 103.3业务活动图 113.4系统基本功能描述 12四、机票预订系统需求用例建模 124.1各模块用例分析 12五、业务领域分析与设计 225.1类图 225.2顺序图(时序图) 225.3协作图 255.4状态图 27六、系统实现测试与配置 296.1系统实现的工具与技术 296.2系统实现方式 306.3系统实现 306.4系统单元测试 306.5系统共享与管理 31七、系统开发的思考 317.1数据库设计问题 327.2数据库访问设计问题 327.3数据库设计 327.4性能需求的考虑 34八、结语 35九、分工情况 36一、引言1.1问题的提出当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求。1.2本文工作和系统开发本文首先对系统的业务与用户的需求进行了分析,然后对系统的功能进行详细的设计,并在分析与设计的同时用UML建模语言对其建模,采用PowerDesigner工具绘制描述各种模型的图形,目的使开发者与用户更有效的实现功能与理解需求,并使程序人员能顺利的实现系统,在系统的实现阶段重点讲述设计到编码的过渡,以体现UML建模的模型对系统开发带来的好处。本文的编写结合了面向对象的软件开发方法与UML建模语言的优势与特色,同时与记账管理系统紧密结合。既体现了面向对象的软件开发思想,又包容了UML建模语言所特有的语言建模优势。在编写中我们大量的使用UML语言所提供的各种建模图形来描述记账管理系统,例如描述用户需求的用例图,类图,描述系统功能的顺序图,状态图。1.3系统功能的简介系统的功能是系统能够做的事情,在本系统中,系统的功能有:用户模块:用户注册/登录功能:订票功能:该功能为用户提供简洁的页面呈现,方便用户根据自己的需要预定机票。

退票功能:该功能为用户提供简洁的页面呈现,为用户提供退票功能。

查询票据信息功能:该功能为用户提供简洁的页面呈现,为用户提供查询票据信息。

航班预定功能:该功能为用户提供简洁的页面呈现,用户能够进行航班预定。生成订票列表功能:系统根据用户订票信息生成订票列表。

生成退票信息功能:系统根据用户退票操作生成退票信息。

处理订票功能:经过该功能,管理员能够处理用户预定的机票,根据航班信息,更改用户实际订票信息。

管理模块:添加航班信息功能:经过该功能,管理员能够将新的航班信息进行更改,以方便用户能够查询到新的航班信息。

修改航班信息功能:过该功能,管理员能够依照时时的航班情况对航班信息进行修改,更新实际航班信息,以方便用户预定机票。

查询航班信息功能:面向对象的UML建模2.1面向对象的基本思想面向对象方法是当今软件开发的主流方法,它的基本思想是从现实世界客观存在的事物或者说对象出发来构建系统,而且在构建系统时尽可能运用人类的自然思维方式。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,而且没有对应关系的其它概念来构造系统)。这能够使系统直接地映射问题域,保持问题域中事物及其相互关系的原来面貌。从世界观的角度能够认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个原来面貌来理解世界,直接经过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的原来面目。从方法学的角度能够认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。面向对象的四个基本特征有:(1)封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。(2)继承:子类拥有父类的所有数据和操作。(3)多态:一个程序中同名的不同方法共存的情况。(4)重载与重写:有两种形式的多态2.2面向对象的软件建模建模是人们在实际应用中常见而且具有重要作用的一种技术。例如,人们在建造一座大楼前,先规划出大楼的蓝图;在制造飞机前,先要画出设计图,并可能要建造一个实际模型进行风洞实验;在画一幅油画之前,先要用铅笔勾勒出画的轮廓。同样的,软件开发人员在实际开发一个复杂的项目之前,也应该先建立系统的模型。对软件系统进行建模的目的在于:1.理解应用领域中的知识,捕获用户的需求。对系统进行分析的过程就是开发者不断学习用户领域知识的过程。要想建立一个正确的模型,首要的问题就是理解用户领域的知识。当开发者能建立出一个用户满意的模型时,说明她已经理解了用户领域中的知识,至少是抓住了与将要建立的系统本质有关的知识。2.与用户沟通。用户往往不是计算机专家,而开发者往往也不熟悉用户的领域。二者的沟通就有一定的难度。经过建立一个双方都能理解的模型有利于这种沟通,能够使项目投资者、分析人员、设计人员、程序员等达成一致,从而为建立正确的软件系统打下良好的基础。3.进行系统设计。在编写代码以前,软件系统的模型能够帮助软件开发人员方便的研究软件的多科构架和设计方案,从中找出最适合的解决方案,简化实现。经过研究一个大型软件系统的模型能够提出多个实际方案并能够对它们进行相互比较。利用模型能够研究多种设计案,所花费的成本只是实现其中一种方案所花费的成本。4.使实现细节和需求分开。软件系统的模型能够从多个角度来描述系统:有些侧重于系统的外部行为和系统中与现实世界对应的有关信息;有一些则侧重于描述系统中的类以及类的内部操作。经过模型,能够将实现细节和需求分开。5.设计出有用的实际产品.经过建模,能够得到这样一些实际产品:类的声明,数据库结构,配置草案,或者还有初始的用户界面等,这些产品能够直接应用在后边的阶段中。6.经过模型能够建立系统的文档。软件系统用视图来组织信息:静态结构视图,状态机视图,交互视图,反映需求的用例视图等。经过这些视图能够组织、查找、检查以及编辑大型系统的有关信息。7.利于我们理解复杂系统。对大型复杂的系统直接理解往往有困难,经过建立模型,对系统进行抽象,抓住系统的主要方面,这样有利于理解系统。面向对象建模方法主要从面向对象程序设计领域发展而来,它经过对象对问题域进行完整的映射,对象包括了事物的数据特征和行为特征:它用结构和连接如实反映问题域中事物间的关系,比如分类、组装等;它经过封装、继承、消息通信等原则使问题域的复杂性得到控制。因此,面向对象建模方法是对问题域的完整和直接的映射,在模拟现实世界方面具有天然的优势。面向对象方法支持软件开发中从分析到设计以至实现的各个阶段,且各个阶段均采用一套概念和表示手段,它们之间没有“鸿沟”的存在,几乎不需要什么转化。面向对象方法还支持和鼓励复用,不但包括实现的复用,还包括分析、设计等建模成果的复用。2.3UML建模语言简介UML又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。UML规范用来描述建模的概念有,类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。UML语言具有以下特点:1UML已经成为面向对象建模语言的标准从理论角度讲,UML是三位很有影响的面向对象方法大师以及许多大公司井同努力的成果,Booch,Rumbaugh和Jacobson各自提出的方法及有关著作拥有不少用户和读者,而UML是她们以往研究的继续。在定义模型元素语义的基础上定义建模语言,使UML在理论上比较健全,具有表示力强、清晰和一致的特点,UML定义的各种图和各种建模元素是来自多种00方法的研究成果汇集。2UML缺乏过程指导UML并不是十全十美的东西,最重要的一点是,它只是一种建模语言而非建模方法.3UML过于复杂UML在具有丰富的表示力的同时,其复杂性也是惊人的。UML的开发者称:只要UML中20%的内容就能够表示实际应用中80%的系统。但UML中并没有给出哪些内容是必要的,哪些是可选的。这给用户的使用带来了不小的麻烦。机票预订系统用例建模3.1机票预订管理系统业务流程分析3.1.1查询机票信息流程用户进入系统,输入相应合法的机票信息点击查询,得到机票信息3.1.2预订机票流程用户登录没有账号,注册。登录成功查询机票信息点击预订,填写相应信息提交订单付款,预订成功。3.1.3取消订单流程进入系统登录账号查询订单取消订单3.1.4用户业务顺序图3.1.5系统管理员业务顺序图3.2业务需求用例建模阶段3.2.1业务角色的查找与建立根据该机票预订管理系统业务流程可知,系统涉及的业务角色有:用户、系统管理员。3.2.2角色用例图3.3业务活动图3.4系统基本功能描述机票预订系统需求用例建模4.1各模块用例分析4.1.1用户管理模块功能描述:1.第一次登录的用户,进行注册,输入用户名,密码等信息。2.修改密码等个人信息3.用户权限管理,分普通用户,管理员。4.完善用户信息。5.用户退出登录。用例图:用例编号:1.1用例名:用户注册执行者普通用户前置条件用户进入注册界面后置条件用户注册成功基本路径1.用户填写基本信息2.后台系统验证信息的有效性3.系统把用户信息存入数据库字段列表用户名、密码、性别、身份证号、联系方式等用例编号:1.2用例名:用户登录执行者普通用户前置条件用户已经注册后置条件用户已经登录基本路径1.用户填写用户名和密码2.系统验证用户名和密码是否匹配3.用户登录成功扩展1.因为用户名或密码填写失误导致登录失败字段列表用户名、密码用例编号:1.3用例名:用户修改信息执行者普通用户前置条件用户已经登录后置条件用户信息已更新基本路径1.用户进入个人信息页面2.用户修改个人信息3.系统保存信息字段列表密码、性别、身份证号、联系方式等用例编号:1.4用例名:用户退出登录执行者普通用户前置条件用户已经登录后置条件该用户名暂时不可用基本路径1.用户进入注销页面2.确认退出3.系统返回首页扩展退出以后能够再次登录。字段列表用户名用例编号:1.5用例名:管理员登录执行者管理员前置条件无后置条件管理员已经登录基本路径1.管理员输入ID和密码2.系统验证ID和密码3.管理员登陆成功字段列表管理员ID、管理员密码4.1.2机票查询模块功能描述:用户能够输入飞机始发地、目的地以及乘机日期查找相应航班信息。用例图:用例编号:2..1用例名:用户查询执行者:用户前置条件:用户登录系统后置条件:显示查询结果基本路径1.用户输入查询信息2.用户浏览查询结果字段列表始发地、目的地、出行日期4.1.3机票预订模块功能描述:1.用户选中某班次。2.用户点击预定该航班。3.用户输入乘机人信息。4.用户点击支付订单跳转到相应支付页面。用例图:用例编号:3.1用例名:用户订票执行者:用户前置条件:用户已登录后置条件:成功生成订单基本路径:1.用户登录系统2.用户选择需购买航班3.用户输入并提交乘机人信息4.跳转至支付页面5.成功生成订单字段列表乘机人姓名、身份证号、联系电话4.1.4取消订单模块功能描述:1.用户选中需退票订单。2.用户点击退票3.系统删除该订单4.后台进行相应费用的计算和支付5.用户支付相应费用6.用户查看退订信息用例图:用例编号:4.1用例名:用户取消订单执行者:普通用户前置条件:用户已登录,且为普通用户身份后置条件:退还相应费用基本路径:1.用户进入订单列表页面,并选择需要取消的订单2.用户点击退票3.后台计算相应费用字段列表:订单流水号4.1.5订单修改模块(改签)功能描述:1.用户选中需改签订单。2.用户点击改签3.系统更新该订单4.后台进行相应费用的计算和支付5.用户支付相应费用6.用户查看改签信息用例图:用例编号:5.1用例名:用户改签执行者:用户前置条件:用户选择需改签订单后置条件:跳转至支付页面基本路径:1.用户进入订单列表页面,并选择需要改签的订单2.用户点击改签3.后台计算相应费用字段列表:订单流水号用例编号:5.2用例名:用户支付执行者:普通用户前置条件:用户已选择改签,并生成相应支付信息后置条件:完成支付,成功改签基本路径:用户在相应页面完成支付操作返回订单列表页面字段列表:无4.1.6航班信息维护模块功能描述: 1.管理员添加航班,并写入航班信息2.管理员删除航班3.管理员选择需要修改的航班,并写入新的航班信息用例图:用例编号:7.1用例名:管理员添加航班执行者:管理员前置条件:管理员登录后置条件:成功添加航班基本路径:1.管理员进入航班管理列表2.管理员点击“添加航班”3.管理员输入新增航班信息4.管理员提交新增航班信息字段列表:航班号、起始地、目的地、舱位、机型等用例编号:7.2用例名:管理员删除航班信息执行者:管理员前置条件:管理员登录后置条件:成功删除航班基本路径:1.管理员进入航班管理列表2.管理员点击“删除航班”3.页面提示是否删除4.返回航班管理列表字段列表:无用例编号:7.3用例名:管理员更新航班信息执行者:管理员前置条件:管理员登录后置条件:成功更新航班基本路径:1.管理员进入航班管理列表2.管理员点击“更新航班”3.管理员输入需更新的航班信息4.管理员提交更新航班信息5.返回航班管理列表字段列表:航班号、起始地、目的地、舱位、机型等五、业务领域分析与设计5.1类图5.2顺序图(时序图)5.2.1用户登录5.2.2用户订票5.2.3管理员更新信息5.2.4用户取消订单(退票)5.3协作图5.3.1协作图概述:“顺序图”与“协作图”表述的是相似的消息。协作图(CollaborationDiagram/CommunicationDiagram,也叫合作图)是一种交互图,强调的是发送和接收消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象一般是命名或匿名的类的实例,也能够代表其它事物的实例,例如协作、组件和节点。使用协作图来说明系统的动态情况。协作图(CollaborationDiagram/CommunicationDiagram)显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。使用协作图能够显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。如果需要强调时间和序列,最好选择序列图;如果需要强调上下文相关,最好选择协作图。协作图用于显示对象之间如何进行交互以执行特定用例或用例中特定部分的行为。设计员使用协作图和序列图确定并阐明对象的角色,这些对象执行用例的特定事件流。它们是主要的信息来源,用于确定类的职责和接口。与顺序图(SequenceDiagram)不同,协作图显示了对象之间的关系。顺序图和协作图表述的是相似的信息,但表述的方式却不同。协作图显示对象之间的关系,它更有利于理解对给定对象的所有影响,也更适合过程设计。以下是系统协作图,以不同的视角表现了操作信息。5.3.2用户订票协作图5.3.3乘客账户管理协作图5.3.4管理员航班信息修改协作图5.4状态图5.4.1状态图概述状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。一般我们创立一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。关于状态图选取了另外的系统相关模块进行分析。5.4.2系统状态图5.4.3登录状态图5.4.4退票状态图六、系统实现测试与配置6.1系统实现的工具与技术6.1.1工具建模:PowerDesigner数据库:MySQLIDE:myeclipse浏览器:火狐浏览器服务器::Tomcat项目共享与管理:SVN单元测试:Junit6.1.2技术Java、jsp、Servlet、SQL6.2系统实现方式本系统基于C/S结构,运用JAVA语言、MySQL数据库开发的管理系统。系统配置图:clientcomputerclientcomputersevercomputerwan6.3系统实现6.4系统单元测试6.5系统共享与管理七、系统开发的思考7.1数据库设计问题长期以来按照传统的系统设计方法,应用程序设计与数据库设计是分别进行的,设计完成后还需要对这两项设计进行协调,因此比较麻烦。如果采用UML进行系统分析和设计,则能够把系统的应用程序设计和数据库设计统一起来,有效地提高数据库设计的效率和质量,降低开发风险,提高软件部件的可重用性,降低开发成本。7.2数据库访问设计问题上面的实体对象映射到数据库表,主要是考虑UML的静态模型到数据库的映射,我们继续讨论动态模型在数据库设计中的实现,主要是数据库存取部分设计。一般来说,数据库存取部分设计主要有以下几种策略:(1)每个对象或类自己负责数据库的访问工作.这种方法不需要专门的服务类,可是业务逻辑和数据操作逻辑都集中在业务类中,任务划分不清晰,业务类既要处理业务逻辑,又要处理数据操作,其中每一个的改动,都会影响到这个业务类。(2)利用开发环境提供的机制许多开发环境提供了初级的访问关系数据库的机制,它们是很好的一个开始。常见的方法包括Microsoft的ODBC机制(开放数据库连接—ODBC)和Java数据库连接(JDBC),绝大多数面向对象的开发环境提供了封装这些标准方法之一的类库。在本系统地开发中,我们用到了JDBC。7.3数据库设计表一:Adminstrator(管理员的表)列名数据类型允许null值AdNameVarchar(20)PasswordintNoteVarchar(500)√表二:LineInfor(飞机相关信息表)列名数据类型允许null值AirlineVarchar(50)OriginVarchar(50)DestinationVarchar(50)LeaveTimeVarchar(50)ArriveTimeVarchar(50)EconomyNumberVarchar(50)EconomyFaresVarchar(50)BusinessNumberVarchar(50)BusinessFaresVarchar(50)FirstNumberVarchar(50)FirstFaresVarchar(50)NoteVarchar(500)√表三:Reserve(用户订票信息表)列名数据结构允许null值UserNameVarchar(50)NameVarchar(50)SexVarchar(50)UserIDVarchar(50)UserTelVarchar(50)AirLineVarchar(50)OriginVarchar(50)DestinationVarchar(50)EconomyNumberVarchar(50)BusinessNumberVarchar(50)FirstNumberVarchar(50)BookingTimeVarchar(50)NoteVarchar(500)√表四:UserInfor(用户信息表)列名数据类型允许null值UserNameVarchar(50)PassWordVarchar(50)NameVarchar(50)SexVarchar(2)UserIDVarchar(50)UserTelVarchar(50)OriginVarchar(50)√DestinationVarchar(50)√AirLineVarchar(50)√NoteVarchar(500)√7.4性能需求的考虑为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预订系统应该满足以下的性能需求:1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论