面向对象的分析和设计
第一篇:面向对象的分析和设计
面向对象的设计与分析(网上商城的建模设计)
第4章江西师范大学“网上商城”建模实例
本文所要进行建模分析的系统是学校小型电子商务系统,以欲构建的江西师范大学的便利店和生活超市“网上商城”为例,是满足校园客户(主要在校学生)网购要求的综合性的应用系统,本文以Rational rose 2003为建模工具,并应用第三章提出的基于UML的电子商务系统建模过程,完成该系统的详细分析和设计。对系统进行需求分析,建立系统需求模型、静态结构视图、动态结构视图、数据库模型、物理模型。
4.1系统的需求分析 4.1.1系统的设计背景
江西师范大学瑶湖校区江西师范大学新校区,地处南昌市昌东镇,在校学生3万余人,由于学校占地面积很大,离市区比较远,周围设施还不是很齐全,该校区为解决师生日常生活需要,建设了商业街并且每个宿舍区都有便利超市,这些店是一个小型的生活用品采购区,在校学生平时的大部分消费都是在这些地方,包便利店和小型超市等生活服务的实体商店,满足了师生不出校门就能买到自己想要的东西。近些年,随着高校的扩招,该校区学生和老师的数量也不断增加,新的问题也随之而来,高校学生由于社会发展带来的的巨大压力,生活节奏也日益加快,空闲时间也越来越少。所以如果他们每次生活消费都要到实体店购买,就给他们的生活带来不便,因而如果能够网上购物就解决了这个矛盾。另外,据数据显示,该校学生80%是网民,该群体的素质较高,接受新事物速度快,而且他们的消费兴趣和倾向也有高度的相似性。该校区学生居住地也比较集中,大都住在学校统一安排的公寓或者学校周围的小区,使物流配送更加方便和及时。 目前学校的实体商店很多,但是大多数商店还没有自己的电子商务系统,所以如果通过一个统一的网上购物平台,商店将这些商品都发布在网上商城上,师生就可以足不出户选购商品,非常方便。只要授予他们可以在平台上销售自己的商品,提高了商店的知名度,也提高了他们的服务能力和影响力。该网上商城具有一般网上购物系统的功能: 1.师生可以通过该网上商城注册为商城用户,浏览商品订购商品放入购物车;客户可以通过该商城发布评论信息;客户可以查看自己订单;客户可以支付商品货款。
2.商户可以通过该商城发布自己的商品信息、供师生购买;可以通过该商城管理自己的商品信息和员工信息;可以进行订单处理。 3.系统管理员对商户申请信息进行审核;对评论信息管理:对系统日常的维护和数据备份;对用户信息管理。
除了以上三个一般购物系统的功能商城的系统管理员可以通过对历史订单信息进行数据挖掘,找出顾客购买商品间的关联关系,建议商户对其营销策略进行调整或者绑定销售一些商品,以提高商户的销售利润,达到在线交易和实体店双重赢利。该功能模块的设计将在第五章详细说明。 4.1.2系统的模块设计
根据以上背景,本文欲构建一个具有上述功能的江西师范大学“网上商城”。该商城可以满足师生网上购物的要求,注册该商城用户都可以直接登录到该商城。该商城为校园的客户提供了一个统一的网上交易平台,该网上商城的业务流程图,如图4.1所示。
通过以上背景分析和业务流程的设计,根据一般网上购物系统的功能,并结合该“网上商城”的特殊功能需求,根据商城所涉及到的主要参与者将该商城主要功能描述如下: 1,商城维护:管理员可以对商城日常维护和数据备份。 2.商户信息管理:管理员对申请加盟的商户等级管理和商户信息修改,添加等操作。
3.商城用户信息管理:对商城注册用户信息的管理,以及其应用权限
4.评论管理:管理员可以对评论信息进行处理,对于不符合要求的评论可以删除。
5.收集数据:系统管理员可以根据数据库中一段时间的订单历史记录查询分析,收集到分析数据。
6.订单分析:管理员可以对收集到的数据进行分析,得出商品之间的关联性。建议商户调整销售策略,从而提高商店利润。
7.商城注册:非家园网或非商城用户的客户可以注册为商城用户。 8.修改个人资料:注册用户可以修改自己的注册资料。包括地址,电话等基本信息。
9.商城登录:系统管理员、用户、商户都可以登录商城相应的模块在相应权限内操作。
IO.查看商品信息:进入商城的师生都可以浏览商品信息,该商品信息包括商品的基本信息和商品的库存。
11.购物:如果商品有库存则客户可以购买,如果缺货则不能购买,客户将商品放入购物车,进行购物。客户可以对购物车里的商品随时修改,删除,添加和清空。
12.下订单:客户将商品加入购物车后,可以填写订单,对于订单,在未处理之前,客户也可以随时登录系统修改并提交。
13.支付:订单提交以后,客户可选择支付方式,如选择货到付款则订单完成,如选择网上支付,则客户要登录网上银行支付,支付完成则该订单完成。
14.订单查看:客户可以随时登录系统查看自己的历史订单信息,可以删除历史订单,可以查看订单状态,订单在未处理之前都可以修改然后再提交,也可以对取消未处理的订单。
15.评论:收到商品以后客户对商品和商户的服务是否满意可以对此订单进行评论。
16.申请加盟商城:商户申请加盟商城,资格审核通过后可以在商城建立自己的网上商店,拥有该商店的管理权限,可以进行网上交易。 17.商品信息维护:商户可以随时添加、修改、删除商品的信息。 18.配送员信息管理:商户可以对商店里的配送员信息进行添加、修改、删除,以更好的管理商店的配送工作。
19.订单处理:客户提交订单以后,商户接收订单并与客户确认订单以后对订单进行处理,根据订单所购买的商品,商户查询库存,确认库存中有该商品,对订单进行审批,审批完了后则打印配送订单,安排送货。
20.派遣配送员:商户点击相关功能,将输出配送员编号,商户把送货单和商品交予该配送员负责,配送员把商品送到客户指定的地点,如果无人收货,则在订单回执中填写“无人接货”,如果收货成功,则填写“收货成功”,如收货人推迟收货则填写“推迟收货”。并将订单回执交予商户。
21.库存管理:商户可以对商品库存进行定期清点,并修改商品信息中的库存信息。
22.配送订单管理:对已经处理的订单,商户打印出配送订单,并安排配送员配送,对配送订单的完成情况进行管理。
23.查看商品销售记录:商户可以对本商店的商品信息随时查看。 24.查询分析结果:商户可以登录商城查询商品的关联分析结果,通过结果设置相应的销售捆绑包或交叉销售。
25.设置销售捆绑包:对分析到的关联商品,通过后台输入设置到捆绑包中。
满足上述需求的系统主要包括以下几个模块: 系统管理模块:该模块是系统提供给系统管理员的接口模块。主要包括对校园商户的加盟审核,对商店申请信息的管理,根据商户等级和信誉来决定删除和添加商户,另外对网站用户信息的管理。该模块可以对系统日常维护和数据备份,并且通过对订单信息进行数据分析,以帮助商户制定营销策略,赢得更大的利润。
用户接口模块:该模块为想购买该网站商品的学生提供的了入口,所有校园的师生都可以通过浏览器浏览该网站商品,可以注册为该系统用户并登录该系统订购自己喜爱的商品。
商户操作模块:该模块是“网上商城”的核心模块。主要包括接受客户完成的订单需求,指派特定的配送员,配送员根据订单所需提货,配送员送货上门,客户签收商品并生成回执单,商户可以查看最近一段时间某商品的销售记录,根据查看的商品订单分析结果制定相应的捆绑销售或者交叉销售策略。
4.2需求建模
该系统需求建模描述系统用户使用一个系统的方式,描述系统应该具备什么功能,是系统用户或者另一个系统与系统之间的一次交互过程,是系统分析和设一计的第一步,以系统全局的功能作为参考,把系统所涉及的参与者和他们从外部观察到的系统的功能描述出来,而并不描述这些功能在系统功能的实现形式。这个过程使用UML建立系统的用例图,分离出系统执行者和用例,以及用例之间的关系。 4.2.1系统参与者
参与者是系统外部的一个实体,可以是系统用户、与所建造的系统交互的其他系统或者是一些可以运行的进程。第一,在每一个系统中,几乎都存在着最常用的参与者一真实的人(用户);第二,需要建立联系的其他外部应用程序,即其他系统;第三,一些可运行的进程,如时一间;通过上面对该系统的功能分析和系统功能模块的设计,系统参与者主要有:系统管理员、客户、商户和支付系统。 4.2.2识别用例
确定用例最常用的方法是从分析系统参与者开始,把每个系统参与者如何使用系统的行为都考虑进来。根据上一节系统的需求分析功能模块,可以确定系统参与者有系统管理员、客户、商户和支付系统。根据上一小节的功能模块分析,得出系统的顶层用例图,如图4.2 0
下面分别对三个用例细化,系统管理所涉及到的用例有:商城登录,商户信息管理,用户信自、管理,评论管理,商城日常维护和订单分析。涉及到的参与者是系统管理员,系统管理的用例图如4.3所示。
用户接口用例细化有:商城注册,商城登录,查看商品信息,修改个人资料,购物,下订单,支付,评论,订单查看。用户接口的用例图如图4.4所示。
其中“购物”用例细化的用例有:清空购物车,修改购物车商品,添加商品到购物车,查看购物车信息,删除购物车中的商品。细化后的用例图如图4.5
“订单查看”用例细化的用例有:修改订单,提交订单.,删除订单,查看历史订单,订单状态查询,取消订单。细化后用例图如图4.6所示。
商户操作的细化用例有:申请加盟商城,商城登录,商品信息维护,配送信息管理,订单处理,配送订单管理,派遣配送员,查看商品销售记录,库存管理,查看订单分析结果,设置商品销售捆绑包。商户操作用例细化图,如图4.7所示。
商品信息维护的细化的用例有:增加商品信息,删除商品信息,修改商品信息。细化后的用例图如图4.8所示。
订单处理的细化用例有:确认订单,接收发货,查询商品库存。如图4.9
支付系统用例有:支付,网上支付,货到支付。支付系统的用例图,如图4.10所示。
根据以上对系统参与者的用例图分析与建模,得出系统的完整的用例图,如图4.11所示。
4.3静态结构建模
静态结构模型是对有关系统实现内部和应用领域的概念进行建模,本文通过分析上述需求建模中的用例和问题域,抽取相关的类,并将这些类之间的关系表示出来,以及类的内部结构,最后完成类图,反应了系统的一种静态关系。 (1)抽取系统中的类
系统中存在三种类,一种是系统与外界的交界处,包括各种窗体和接口(与报表、打印机和扫描仪等硬件的接口或者与其他系统的接口);另一种是负责协调其他类工作的控制类,是控制使用事件的顺序的类;第三种是保存放入永久存储体的数据信息类,即实体类。本文将以“下订单”举例说明分析类的整个流程。
下订单用例的主要功能是:客户登录商品信息查看页面,系统验证客户注册信息,系统打开下订单页面,填写订单并提交订单信息,根据以上描述,该用例涉及到的类如下: 边界类:商品信息查看页面,填写订单页面。
控制类:下订单。
实体类:客户信息类,商品详细信息类,订单信息类。
据以上方法分析系统其它用例并经过整理合并,得出网上商城的类如下: 1.边界类:用户注册界面,用户登录界面,商品详细信息界面,商品查看界面,下订单界面,评论界面,支付界面,个人资料修改界面,订单查看界面,商品信息维护界面,查看订单分析结果界面,派遣配送员界面,设置商品销售捆绑包界面,订单处理界面,配送订单管理界面,配送员信息管理界面,库存管理界面,查看商品销售记录界面,商户信息管理界面,用户信息管理界面,商城维护界面,审核界面,评论管理界面,收集数据界面,订单分析界面。
2.控制类:用户注册,用户登录,浏览商品,下订单,评论,支付,个人资料修改,订单查看,商品管理,配送员管理,查看订单分析结果,派遣配送员,设置商品销售捆绑包,订单处理,配送订单管理,库存管理,查看商品销售记录,用户管理,商户管理,商城维护审核,评论管理,收集数据,订单分析。
3.实体类:用户信息类,商品信息,订单信息,配送员信息类,购物车信息类,配送订单信息类,商户信息类,商品销售记录信息类,评论信息类。管理员和客户都属于系统的非商业用户,所以将它们统称为用户信息类。电子商务配送系统在Internet中使用,所以为了安全起见,在分析实体类中,将经常使用的类所涉及操作和基本信息分别设计一个类。例如,客户信息类,客户涉及到的信息设计到客户信息类中,而客户所涉及到的方法操作则归为客户信息操作类。这样体现了而向对象的封装性和安全性,能更好的满足系统运作要求。
(2)生成类图
通过上述类的分析,要生成类图还需要弄清楚类与类之间的关系,并且要确定类的属性和方法。上文分析了与“下订单”用例相关的类,下面接着讨论类的属性和方法,并生成相关类图。
边界类:商品详细信息界面(GoodsDetailslnterface )填写订单页面(OrdersInterface ),主要是打开新的界面。
控制类:下订单C Order )。协作类之间的工作,起到“中介”的作用。
实体类:用户信息类(ClientInformations ),商品信息类(GoodsInformations)订单信息类(OrderInformations),用户信息操作类(ClientOP ),商品信息操作类(GoodsOP),订单信息操作类(OrderOP ) 。ClientInfornlations类的重要属性有:用户ID号,用户名,注册日期,登录密码,电子邮件;ClientOP类的主要操作有:系统注册,系统登录,查看商品,订购商品,支付;GoodsInformations类主要属性有:商品ID号,商品名称,商品描述,商品价格,商品库存,商品类别;GoodsOP类的主要操作有:获取商品ID号、商品名称和价格;OrderInformations类主要属性有:订单ID号,商品ID号,商户ID号,用户ID号,客户姓名,订购日期,订购者地址,商品数量,商品价格;OrderOP类涉及的操作有:搜索订单,查看订单,处理订单,添加订单,删除订单。
根据以上分析,下订单的类图如图4.12。实线箭头表示的是关联关系,虚线箭头表示的是依赖关系。
由于电子商务配送系统涉及到类图比较庞大,而分析类图的过程可以通过上述方法一一得出用例的类图,本文只对系统中的实体类图进行建模。运用上文方法分析实体类所涉及到的信息类,实体类图4.13a
4.4动态结构建模
用例图和类图描述了系统的静态结构,接下来建立系统的动态行为模型,动态行为模型主要是建立系统的顺序图和活动图,川页序图主要来表示对一象之间的关系和对象之间传送消息的时间顺序。活动图则是描述活动的顺序的一种流程图,是从一个活动到另一个活动的控制流。
(1)顺序图
该商城系统涉及到的顺序图有很多,比如用户登录顺序图,下订单顺序图,删除订单顺序图,增加订单顺序图,订单处理顺序图。本文将通过“系统登录”顺序图和“下订单”顺序图建模为例来说明系统动态结构建模。
“商城登录”用例涉及到参与者是用户,包括管理员和其他用户,这里以客户登录系统为例,涉及到的对象有“登录界面”,“服务器”和“数据中心”,根据ROSE中的顺序图的建模方法,本文得到“商城登录”用例的顺序图如图4.14。
根据上文分析的“下订单”用例类图,“下订单”用例的顺序图参与者是客户,所涉及到的对象有“登录界面(login)”“商品信息查看界面(GoodsDetailsInterface ) "“下订单界面(OrdersInterface“
“订单信息操作(OrderOP)”,用ROSE建模得出的“下订单”顺序图如图4.15所示。
(2)活动图
活动图表示一个事件正在运行的状态,事件是系统中某个对象的一个操作,主要表现一个活动到另一个活动控制流,是系统内部的驱动流程。一个系统涉及到的活动图很多,本文提到的系统活动图有:客户下订单的活动图,商城用户登录活动图,派遣配送员的活动图等,本文将以“下订单”活动图为例。 根据活动图的组成元素,“下订单”包括很多活动状态,比如:查看商品,提交订单,订单处理等一系列状态,“下订单”就是从一个活动状态转换为另一个活动状态,直至完成该动作,活动图中涉及两个对象,客户和商户,根据以上描述,在ROSE中建模的“下订单”活动图如图4.16所示。
4.5数据库建模
在以上小节本文成功建立了江西师范大学网上商城的业务流程图、需求模型、静态模型和动态模型,接下来就要介绍如何通过已建立L1ML静态结构模型中的类图转换为数据库模型。在类图转换为数据库模型,控制类和边界类不需要转换为系统数据库模型,这些类是为了实现用例的流程而产生的类,所以只有那些持久存储信息的实体类需要转换为数据库模型。转换过程由于篇幅问题不再一一叙述,如图4.17系统实体类图转换的数据库模型图。
系统的数据库模型图建立之后,将模型图映射为数据表,此处数据库模型中的属性映射为数据表的列,系统的数据结构表如下表所示。 4.6物理建模
完成系统的逻辑设计后,下一步要定义设计的物理实现,为了将逻辑设计图转化成实际的事物,面向对一象系统的物理建模有两种图:组件图和配置图。组件图是系统实现视图的图形表示,描述了系统的各种组件和组件之间的依赖关系。配置图是系统执行过程中资源元素的配置情况以及软件到这些资源元素的映射,描述了系统中硬件和软件的物理结构。 (1)组件图
组件是表示将类、接口等打包而形成的物理模块。组件图是用来描述代码的物理模块之间的关系,显示了代码的结构。组件图能够帮助客户和系统开发人员理解最终的系统结构。根据上文对江西师范大学“网上商城”的逻辑视图的分析,在ROSE中得到系统的组件图,图4.18所示,组件图中只有用虚线表示的依赖关系。
2.配置图
配置图用来表示系统的运行结构或者系统软件和硬件组织之间的关系,由节点和节点之间的联系构成,配置建模就是将软件系统在互联网上的运作方式模式化,南昌大学“网上商城”是一个基于其数据库和校园网的应用系统,根据第三章中电子商务系统多层B/S体系结构,“网上商城”的系统配置图如图4.19。
4.7小结
电子商务系统是一个结构复杂、规模庞大的系统,根据本文提出的基于UML的系统建模过程,本章以江西师范大学“网上商城”为实例,对其进行了系统的需求分析,建立了系统的需求模型、系统的静态结构模型、系统的动态结构模型、系统的数据库模型、系统的物理模型。确立了系统的功能模块,分别建立了业务流程图、用例图、类图、顺序图和活动图、数据库模型和数据表、组件图和配置图。
第5章基于数据挖掘的商品订单分析
电子商务的迅速发展使其规模越来越复杂,客户获得有效商品信息的难度也在增加,因此如何增加商品信息的针对性,提高网站的可用性成为了现今电子商务研究的热点。国内对该热点的研究很少,但是也有了一些研究成果,比如王兆红((2005)利用关联规则提出了商品的最佳打包组合:金伟健,金文进(2010)从理论上提出了基于关联规则的商品推荐模型;章杰鑫,张烈平(2009)提出了时序关联规则挖掘算法,并通过模拟超市数据预测了顾客在时间单位内的商品关联规则,使企业更好的了解客户需求。本文应用数据挖掘的关联规则对商城的“订单分析”功能进行了分析和设计。首先对商城历史订单进行数据预处理,然后应用关联规则挖掘客户购买商品的关联关系,这样商户可以掌握客户的购物兴趣,设置相应的捆绑或交叉销售,使商户在降低成本的同时为广大师生提供更好的生活服务,增加现有客户的满意度。 5.1数据挖掘技术 5.1.1数据挖掘的概念
1997年SAS研究所将数据挖掘定义为将大量相关数据进行探索,最后建立相关模型的方法;1999年Bhavani将数据挖掘定义为一个过程,即利用数学,统计和模式识别技术,在大量的数据中发现新的趋势、新关系和模式的过程;最后一种是最具有影响力且至今被广泛采用的Usama M. Fayyad等给出的,即数据挖掘( Data Mining)是从大量的、有噪声、模糊的、不完全的、随机的数据中挖掘出隐含的、未知的、用户可能感兴趣的但又有潜在价值的知识和信息的过程。 5.1.2数据挖掘的功能一可以挖掘什么类型的模式
数据挖掘的目标从大量的数据中发现隐含的、有意义的知识并对现有数据记录进行分析,预测未来趋势和行为,做出基于知识的决策,主要有以下功能。
1.描述功能:将数据库中的对象通过数据分类、聚类分析、数据汇总与归纳、概括等过程最终获得数据简明、准确的描述。
第二篇:面向对象分析与设计实验报告
实 实
验
报
告
课程名称
面向东西阐发与设计
专业班级
_ _ ___
__ __
学
号
__
___
姓
名
___
__ __
同组成员
实验日期
_
成
绩
____________ ___________
人为治理系统 1.1 系统的成果需求
人为治理系统包罗员工治理、人为治理、销售奖金治理、保险用度治理等。
1.人为治理 在取得授权的情况下,有关人员要进行如下事情。
(1)人为录入
人为治理员录入员工的人为,修改录入的堕落(维护),形成人为表。
(2)销售奖金录入 人为治理员录入员工的销售奖金,修改录入的堕落(维护),形成销售奖金表。
(3)保险用度的录入 人为治理员录入员工的若干保险用度,修改录入的堕落(维护),形成保险用度统计表。
(4)盘算人为 人为治理员按事情证号码来进行人为的盘算统计,然后生成报表再上报给财务部。
(5)盘算销售奖金 人为治理员凭据事情证号码进行人为销售奖金的盘算统计,然后生成报表上报给财务部。
(6)盘算若干保险的扣除用度 人为治理员凭据事情证号码进行若干保险的盘算统计,然后生成报表上报给财务部、(7)人为或销售奖金、保险用度查询 公司员工可以凭据自己的事情证号码查询自己的人为或销售奖金及保险用度。
人为治理的主要业务流程:
此处给出以上 7 个业务之间的流程图(用运动图描述)
1.2 创建需求模型
对人为治理系统先分别子系统,然后再通过创建用况模型,对需求进行捕获与描述。
1.2.1
分别子系统
限定人为治理系统的成果为:人为治理、统计部分、财务系统、员工治理。对上述的每个成果,用一个子系统来实现。下图给出了这些子系统以及它们之间的依赖。
人为治理系统中子系统以及它们之间的依赖:
此处给出子系统的摆设图如下
上图中的子系“财务系统”要分别使用子系统“员工治理”、“人为治理”中的员工号码、员工姓名、员工人为。子系统“人为治理”要分别使用子系统“统计部分”和“员工治理”中的员工信息和统计的人为信息。子系统“统计部分”要使用子系统“员工治理”中的员工信息。
1.2.2 识别 参加者
子系统“人为治理”的人员用户有人为治理员和员工。与子系统“人为治理”有关的子系统有“统计部分”、“员工治理”和“财务系统”,这些子系统是“人为治理”的参加者。
1.2.3 识别用况
对 1.1 节的中的用况需求,现归纳整理如下。
1.人为治理
(1)录入与维护人为、销售奖金及保险用度 人为治理员需录入员工的人为、销售奖金及若干保险用度信息做出人为表、销售奖金表及保险用度表。
(2)盘算人为或销售奖金及保险用度 人为治理员按事情证号码进行盘算做出人为报表、销售奖金报表及保
险用度表。
(3)查询人为、销售奖金或保险用度
员工查询自己的人为、销售奖金及保险用度。
(4)登录 人为治理员和员工进入该子系统都需要登录。
1.2.4 对需求进行捕获与描述
通过到目前为止掌握的需求,开端了解了系统所要完成的成果。下面进一步创建参加者与用况之间的干系,并对用况进行详细的描述。
图 1.3 为子系统“人为治理”的用况图。
首先,使用系统的员工和人为治理员都先要进行登录。参加者“人为治理员”通过用况“录入与维护人为、销售奖金及保险用度”来录入、修改,形成人为表、销售奖金表及保险用度表;再通过用况“盘算人为、销售奖金及保险用度”生成人为报表、销售奖金报表及保险用度表并予以宣布。所宣布的人为报表、销售奖金报表及保险用度表供参加者“员工”、“财务系统”和“人为治理员”使用。员工要通过用况“查询人为、销售奖金及保险用度”来得知自己的人为、销售奖金及保险用度。
此处要求给出各个用况的相关运动图 如下是对上述各用况的描述。
用况:录入与维护人为、销售奖金及保险用度 【前置条件:人为治理员已经登录乐成】
人为治理员选择人为录入与维护、销售奖金录入与维护、保险用度的录入与维护。
系统出现出供录入和修改人为、销售奖金及保险用度的界面 人为治理员处理惩罚完数据(录入、修改)后,发控制命令
若为生存,系统进行存储,并通知结果治理员是否乐成
若为取消,退出本成果
用况:盘算人为、销售奖金及保险用度 【前置条件:人为治理员已经登录乐成】
人为治理员发出进行人为、销售奖金及保险用度盘算的请求
按事情证号生成人为、销售奖金及保险用度报表,并发送到子系统“财务系统”中 用况:查询人为、销售奖金及保险用度 【前置条件:员工已经登录乐成】
交互内容见表 1.1 中编号为 1 的那栏的输入/输出部分。
3 1.3 系统阐发
在掌握了上述的需求后,下面开始使用面向东西要领进行系统阐发。
1.3.1 寻找类
人为治理 在子系统“人为治理”中,也要设立两个类“员工”和“人为治理员”,用它们分别模拟相应的参加者。
人为治理中的东西是人为和销售奖金及保险用度,因而设立类“人为组成”、“销售奖金表”及“保险用度表”。种种人为组成许多,需要设立类“人为表”,它与类“人为组成”形成组合干系。
子系统“人为治理”需要从人为治理部分获取信息,需要设立需接口“人为治理”。子系统“人为治理”要向财务系统提供数据,需要设立供接口“财务系统”。
1.3.2 创建状态机图
对付上述所找到的类,现在凭据上述的阐发能理解它们的职责了。现针对子系统“人为治理”中的类“人为表”绘制一个状态机图。
凭据问题域,可为类“人为表”的东西设立了 5 个状态,分别为:初始、初始化、查询、封闭和终止。
施加在人为表上的时间有:宣布、查询和封闭。这些事情都是针对人为表所发消息的响应。
下图展示的是针对人为表的状态机图。
图 人为表的状态机图 1.3.3
创建类图
对在 1.3.1 节中找到的各个类进行考察,分别界说它们的属性和操纵,考虑它们之间的干系,绘制出类图。
(1)类“员工”
该类中属性有“姓名”、“事情证号”、“密码”和“职务”,操纵有“登入”、“查询”、“修改密码”、“查询人为”和“查询年终奖金”。
(2)类“人为” 该类中有属性“事情证号”和“人为”。
(3)类“人为表”
该类中有属性“姓名”、“事情证号”、“时间”和“人为额”。它与类“人为”组成组合干系,在其中要设立操纵“生成人为组成”、“查询人为组成”。它另有一个操纵“查询人为”,供员工查询人为之用。
(4)类“销售奖金表” 该类中有属性“姓名”、“事情证号”、“时间”和“销售奖金额”。它与类“人为”组成组合干系,在其中要设立操纵“生成销售奖金组成”、“查询销售奖金组成”。它另有一个操纵“查询销售奖金额”,供员工查询销售奖金之用。
(5)类“保险用度表” 该类中有属性“姓名”、“事情证号”、“时间”和“保险用度”。它与类“人为”组成组合干系,在其中要设立操纵“生成年保险用度组成”、“查询保险用度组成”。它另有一个操纵“查询保险用度”,供员工查询保险用度。
(6)类“人为治理员” 该类中有属性“姓名”、“事情证号”和“密码”;属性有“登入”、“录入与维护人为”、“修改密码”、“生成人为表”、“生成销售奖金表”、“生成保险用度表”、“盘算人为”、“盘算销售奖金”、“盘算保险用度”、“向财务部发人为表”、“向财务部发销售奖金表”及“向财务部发保险用度表”。
上述的六个类及其间的干系如下图所示。
图 人为治理部分分类图 人为治理员按事情证号输入与维护人为组成,为此在类“人为治理员”与类“人为表”之间设立一个关联“录入与维护人为表”。人为治理员还要生成人为报表,因此在类”人为治理员与类“人为表”间设立一个关联“盘算”。
员工要查询人为情况,因而在类“员工”和“人为表”间设立关联“查询人为”。
类“销售奖金表”及类“保险用度表”和类“人为治理员”、类“员工”之间的关联创建与上述类似。
1.3.4
创建顺序图
在上一节中,以文字的形式说明了类之间的关联作用。这种说明往往不能清楚的描述事物间的交互情况,这就需要使用交互图来予以准确的表达。对付员工查询人为来讲,下图给出针对员工以及员工人为查询有关的东西创建的顺序图
图
员工以及与员工查询人为有关的东西之间的交互情况(一)
图
员工以及与员工查询人为有关的东西之间的交互情况(二)
1.4
系统设计
1.4.1
问题域部分设计
人为查询子系统通过数据库与其他子系统互换数据,即,通过需接口从数据库中获取数据,通过供接口向数据库写入数据。故需要凭据供需双方配合约定的借口规约设计相应的数据库表的结构,并在接口相关的类操纵中结构 SQL 语句即可。
1.4.2
界面部分设计
应该针对表 1-1 中的内容进行界面设计,凭据第 8 章的要求设计出全部界面。
下图 所示的是用户登入界面,该界面也适用于员工。
下二图 是在登入乐成后,系统给出的选择时间界面。
图 登入界面
图 选择时间界面
在选择时间并确定后,出现下图所示的界面。
图 1-10
人为
1.4.3
数据治理部分设计
类“人为”和“人为表”组成了组合干系,对他们分别设立两张表,并在与类“人为”对应的表中用外键隐含它与类“人为报表”的关联。对付类“员工”和类“人为治理员”也分别设立一张表,用于存储相应的东西。
下面给出了类“人为”和类“人为表”所对应的数据库表的结构。
表 表
类“人为”所对应的数据库表的结构
本表的主要害字为事情证号
表 表
类“人为表”所对应的数据库 表的结构
本表的主要害字为事情证号+时间,外键为事情证号。
表 表
类“销售奖金”所对应的数据库表的结构
本表的主要害字为事情证号+时间,外键为事情证号
表 表
类“保险用度”所对应的数据库表的结构
本表的主要害字为事情证号+时间,外键为事情证号
第三篇:探究统一建模语言在面向对象分析与设计中的应用论文
一、UM L 与R a t io n a l r o s e 的特点
u M L 是编制软件的标准语言, 拥有着强大的功能和良好的定义, 主要特点有统一性、非过程性和面向对象性等。R at io n al or s e 是由美国软件公司R at i on al 所研发出来的, 它目前对面向对象分析, 设计和建模市场有着重要的主导作用, 是重要的可视化软件研发工具。它的主要特点包括支持面向对象建模分析u M L、支持上升螺旋式研发开发过程、支持往返研发工程、支持多种语言设计程序和团队的研发开发。行为用例的划分, 从而产生交互时间及动态的用例顺序图。其次在此基础上, 将系统的类抽象化, 弄清各模块的中间联系, 从而画出适当的类图, 再在分析完后形成构建图,这些步骤都不需要去考虑具体实践的过程, 使用者会用自己的眼光分析和建立起完整的模型, 形成编码时所需的大概框架。
二、统一建模语言U M L 概述
2.1 u M L 的主要内容和建模机制。
u M L 吸取了目前许多的新技术, 是建模语言的可视化标准, 并且在面向对象分析上还吸取和发展了非面向对象分析的优势, 提出了建模机制, 在实际应用中对系统大量的可视化图形进行了阐述进而使开发人员和使用客户全方面准确的认识系统, 防止开发过程中的描述不明确的情况发生11 1 , 从而满足客户的真正的需求。u M L 和具体的过程并没有什么直接的关系,而是一个独立的过程, 因此可以运用在各个开发过程和软件系统中。规范U M L 面向对象分析的设计与开发的过程和方法, 提供面向对象分析中的高级概念的条件支持, 强调软件开发框架和组建的重要性。u M L 主要重视满足客户的需求, 以客户的需求作为开发过程中的核心与关键, 自始至终都保持着系统与客户需求的一致, 准确表达和适用客户所需, 从而提高系统效率, 简化思路和规范方法来指导软件的来发, 用统一的方法分析系统的静动态的各关系中的逻辑关系。它可以被用于U S e Cas e 的驱动开发也可以适用在其它的软件开发中, 建立起系统的模型。
2 2 U M L 的表示法。
通过运用各式各样的模型图来描述系统, 充分表现出u M L 可见化建模语言的特点。一组元素的图形代表着图, 将图画变成顶点和弧的组合连通图, 从不同角度来画图将系统变成可视化的投影。在理论基础上,任何事物和它们的关系都可以组成要素形成一副图, 但在现实中, 只存在一些少量的常见图和组合。
2.3 运用u M L 进行系统软件建模的过程。
在运用u M L进行描述系统软件建设的总体需求的过程中, 搭建起用例模型及静态模型的系统结构体系。依照面向对象的基本原则运用高级试图用例视图, 以功能区分的角度实现系统.
三、统一建模语言在面向对象分析与设计中的应用
3.1 u M L 及其与面向对象分析的集成。
u M L 是包含多方面的通用标准可视化的面向对象建模语言, 是计算机技术领域中的非常重要的成果, 极其强调结构模型中的系统对象的操作属性和类的关系, 及其行为模型中的交互作用和合作性历史状态的对象12 1。身为一种可视化系统建模语言工具, 是一种独立的开发过程, 可以适用于各个阶段的过程。面向对象的设计与分析中最关键和最基本的活动便是建模,它是面向对象分析与设计的开始和关键。按照不同阶段的要求和行为来选择不同形态的行为模型。
3 2 u M L 面向对象分析过程。
首先, 通过利用u M L 的模型用例图来确定出系统边界和活动功能, 识别出系统的准确需求。然后运用用例模型的分析和描述识别出问题的本质类和对象。再通过U M L 的图揭示它们之间的关系和结构组成。
3.3 在实际系统中的应用。
u M L 面向对象分析的方法在上述中已经有了大概的介绍,u M L 主要是图形化符号的建模语言, 运用好的工具来获得好的最终结果。接下来以自动售货机作为例子进行介绍, 因为自动售卖机是顾客自己投人硬币进行购物的无人售货系统, 同时系统也可以自己进行对于纸币的真假辨别, 会根据顾客所付硬币及所选产品进行找零及出货的整个过程, 当顾客取消购买也可自动将货币退回。自动售卖机的系统主要是先识别出角色再识别出系统的用例模型, 系统需要识别出各种的角色, 分析出正确的用例。
第四篇:面向对象系统分析与设计试卷与答案1
请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
面向对象分析与设计试题B卷
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 20 分 ) 3.下列不属于面向对象技术的基本特征的是(
)。
A. 封装性
B. 模块性
C. 多态性
D. 继承性
4. 面向对象程序设计将描述事物的数据与 ( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息
B. 数据隐藏
C. 对数据的操作
D. 数据抽象
5. 关于面向对象方法的优点,下列不正确的叙述是 (
)。
A. 与人类习惯的思维方法比较一致
B. 可重用性好
C. 以数据操作为中心
D.可维护性好 8. 下列不属于类的成员函数的是 ( )。
A. 构造函数
B. 析构函数
C. 友元函数
D. 拷贝构造函数
9. 继承机制的作用是 ( )。
A. 信息隐藏
B. 数据封装
C. 派生新类
D. 数据抽象
14. (
)是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图
B. 对象图
C. 序列图
D. 用例图
15. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图
B. 组件图
C. 类图
D. 配置图
16.(
)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图
B. 协作图
C. 状态图
D. 序列图
17.(
)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A. 组件图
B. 协作图
C. 状态图
D. 配置图
18. 在用UML进行数据库的分析与设计过程中,( ) 就是进行数据库的需求分析,使用用例图、类图、顺序图、活动图等建立业务模型。
A. 逻辑数据模型设计
B 业务Use Case模型设计
C. 物理数据模型设计
D. 物理实现设计
19. 使用UML进行关系数据库的(
)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
第 1 页 共 7 页
请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品” 请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
A. 业务Use Case模型设计
B. 逻辑数据模型设计 C. 物理数据模型设计
C. 物理实现设计 20. UML的动态建模表示包含(
)种图。
A. 9
B. 5
C. 4
D. 2
二、填空题 ( 每空 1 分,共 20 分 ) 1. 面向对象开发方法一改过去传统的以_______________为基础的______________的结构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列_______的集合,其______________又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的______,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与____________在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的________、________、_________等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服____________。因此,它已成为成熟的广为采用的软件开发方法。
2. 对象是客观实体的抽象表示,是由__________________________和________________________两部分组成。而______是对具有相同属性和行为的一组对象的抽象描述。因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的___________。通过________关系又可形成一种类层次结构。
3. UML中用于描述系统的静态建模的视图称为静态视图,包括________、 _________、_________、__________和__________。
四. 简答题(每空4分,共 20 分) 1. 简述面向对象软件开发方法的优点。 2. 简述面向对象技术的三大机制。 3. 简述OOA模型的层次结构。
4. 简述OOD模型的总体结构,并画图表示。
5. 应用UML进行系统分析和设计所需建立视图有那几种?
第 2 页 共 7 页 请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品” 请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
五. 试用UML对教学管理系统及相关的数据库系统进行分析和设计。学生选课系统一般包括(1)选课管理功能;(2) 成绩管理功能。试完成下列工作: (1)建立系统静态结构模型—画出系统用例图和类图;(10分) (2) 建立系统动态结构模型—画出系统序列图和协作图;(10分) (3)建立关系数据库逻辑模型。(10分)
面向对象分析与设计试题参考答案
一、单项选择题 ( 每小题 1 分,共 20 分 )
1.D
2.C
3.B
4.C
5.C 6.D
7.D
8.C
9.C
10.D 11.B 12.B 13.B
14.D
15.C 16.D 17.D 18.B
19.B
20.C
二、填空题 ( 每空 1 分,共 20 分 )
1.功能分析, 面向过程, 对象,面向对象的设计, 概念,解空间,封装, 继承, 多态, 软件危机 2.描述对象属性的数据,
四. 简答题
1. 简述面向对象技术发展的动因。
答:为了超越程序复杂性障碍,克服软件危机,人们提出了面向对象软件开发方法。面向对象开发方法一改过去传统的以功能分析为基础的面向过程的结构化分析与设计方法,面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列对象的集合,其面向对象的设计又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的封装、继承、多态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服软件危机。因此,它已成为成熟的广为采用的软件开发方法。请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
2. 简述面向对象技术的三大机制。 答:(1)封装性(encapsulation)
第 3 页 共 7 页
请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
, 类, 实例,继承
3.用例图、类图、对象图、包图、构件图、配置图 请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。 (2)继承性
如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。前一个类称为父类,新产生的类叫做子类。通过继承关系可形成一种类层次结构,叫做继承结构。 (3)多态性
在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。 3. 简述OOA模型的层次结构。
答:OOA模型采用五层次结构,它们分别是: (1)对象-类层
划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。 (2)属性层
定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中。标识对象类必需的属性并放在合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。 (3)服务层
表示对象的服务或行为,即是要定义类上的操作。 (4)结构层
标识现实世界中对象之间的关系。当一个对象是另一个对象的一部分时,用"整体-部分"关系表示;当一个类属于另一个类时,用类之间继承关系表示。 (5)主题层
可将相关类或对象划分为一个主题。 4. 简述OOD模型的总体结构,并画图表示。 OOD体系结构的各个部分内容: (1)问题论域部分,在OOA模型的基础上,细化分析结果,设计一组构成底层应用模型的类和对象。
(2)人机交互部分:设计用户界面模型,该用户界面模型中的类和对象提供实现人机交互操作的接口函数。用户界面设计包括 菜单设计、窗口设计、输入/输出界面设计等等。 第 4 页 共 7 页
请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品” 请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
(3)任务管理部分:建立一些类,用以负责处理操作系统级的并发问题、中断、调度以及其它与特定平台有关的问题。
(4)数据管理部分:提供数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。数据管理设计包括:
— 数据存放设计:数据存放设计选择数据存放的方式(文件存放、关系数据库表格存放或面向对象的数据库存放)。
— 设计相应的操作。为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述。
class & object layer(类及对象层)attribute layer(类及对象层)service layer(服务层)问题论域部分人机交互部分任务管理部分数据管理部分类边界实例边界实例连接属性消息服务struct layer(结构层)subject layer(主题层)主题图1.5 OOD模型的总体结构5.(1) 系统用例图如下
第 5 页 共 7 页
请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品” 请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
查询课程信息老师老师查询学生成绩选课注册学生学生查询课程成绩管理老师信息学生成绩管理管理学生信息管理员管理课程信息管理开设课程管理员成绩统计(b)成绩管理的用例图(a)选课管理的用例图
对象类图如下:
教师编号姓名地址电话1..*0..*课程课程名描述学时加入课程()1..*0..*学生编号姓名地址电话开设课程课程名授课日期授课时间地点指定老师()学生满否()选修课程学生名课程名学期增加记录()选课统计()(a)选课对象类图开设课程课程名授课日期授课时间地点指定老师()学生满否()学生成绩登记学生名学期课程名成绩加入成绩()打印()(b)成绩管理对象类图成绩统计学期课程名成绩按课程统计()按学生统计()打印()
第 6 页 共 7 页
请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品” 请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
(2)把需要持久存储的数据实体类及其联系,映射成为如下关系数据库表:
学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注) 教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注) 课程(课程号、课程名、描述、学分、学时、性质、备注)
开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注)
第 7 页 共 7 页 请大家帮忙把这句话设为QQ签名,“淘热门 http:// , 精选淘宝热门商品”
第五篇:《面向对象的程序设计基础》课程总结
2014~2015学年第一学期基本结束,“面向对象的程序设计基础”课程的教学任务圆满完成。下面对本学期教学情况进行总结。
1.授课班级为14软件一班、14软件二班两个班级,平均每班授课学时96,两个班总课时量为192。
2.两个班级整体良好。积极努力、勤于思考,学习气氛比较浓厚;上课过程均未出现迟到早退现象。课堂秩序良好,和教师积极互动,发言踊跃,课堂气氛较活跃。
3.本学期两个班施行“翻转课堂”的教学模式,以任务链为载体,同学们通过完任务而掌握相关的知识点,该教学模式可以充分的锻炼同学们自主学习和结对学习的能力,教学效果很明显,教学质量得到了提高。整个学期的学习过程中,通过教师参与检查,学习内容及进度基本按照学期授课计划进行,作业按照作业计划基本完成,完成情况良好,而且部分同学的进度超前。期中考试以测试同学们的一些经典例题的基本程序思想为主,由于大部分题目同学们练习过,所以基本所有同学基本到达测试目的。
4. 期末考试以测试同学们的基本知识和经典程序的设计为目的,因为面向对象的程序编写需要编译和运行,采用上机考试。考试成绩偏低,分析原因可能是因为同学们的注意力在解决问题上,对于问题相关的知识点没有系统的掌握,在以后的教学中一定要加强。
5. 总评成绩的评定:出勤情况占5%,课堂表现占10%,平时作业占20%,阶段测试占20%,期末考试成绩占45%的比例完成。结果符合要求:85分以上占27%,84~75分占33%,74~60分占33%,60分以下占7%。
6. 存在的问题:班风还有待进一步建立和加强。
李志芳
2015年1月13日