企业人事管理系统 面向对象分析与设计

企业人事管理系统  面向对象分析与设计
企业人事管理系统  面向对象分析与设计

面向对象分析

一、系统基本需求

经过调研分析,确定企业人事管理系统的主要功能有企业员工的资料管理和考勤管理、员工的工资计算和业绩评定等。涉及到敏感信息的大部分数据的增、删、改等工作主要由人事部门的管理人员来完成,例如工资的计算、考勤记录的更改等操作,而且一些如确定员工的基本工资和指定部门分配等操作只有人事部门相关的管理者才能进行操作;而普通的企业员工能够在系统中通过Web 的方式对其基本资料、工资情况、考勤情况以及请假记录等以只的方式进行浏览,同时还能够在系统中提出加班和请假的申请,申请一旦通过部门领导的审批,便可被人事部门记录在案。在用户权限设置方面采用向下兼容的原则,人事部门的领导具有人事管理人员的全部权限,各部门的领导也同样具有普通员工全部的权限,而单位的领导则具有部门领导的全部访问权限。

因为企业人事管理系统所面向的主要用户是企业的全体员工,所以系统的操作越简单易用越好,同时要兼顾系统的安全运行和多用户、多任务的支持,能够允许大批量的用户同时登录系统进行访问。以上主要是对系统的基本功能进行了简要描述,我们将在后文中详细分析系统的具体功能性需求和非功能性需求。二、系统业务用例

系统的功能性需求主要通过用例(Use Case)模型来进行描述,在系统开发中,用例模型的引入有着举足轻重的意义。开发者在设计中对典型用例进行分析是其对用户需求以及相关概念进行准确快速的掌握的最为行之有效的手段,它是开发者与用户之间共同对系统功能需求进行分析的出发点。

(一)系统参与者的确定

采用用例来作为功能性需求分析中的主要描述工具时,最先要做的便是确定系统的参与者,即Actor。企业人事管理系统的基本功能相对比较统一,不存在比较特殊的业务逻辑和功能需求,因此相对来说系统的参与者也要简单一些。人事管理系统几乎涉及到企业中的所有部门,不过除了人事部门,其余所有部门的业务需求基本相同。其中人事部门的管理操作主要由人事部门的领导与人事管理人员来执行,他们可以分别通过各自的登录用户和密码对系统进行登录,并获取相应的访问权限。人事部门的领导在登录系统后主要能够执行以下权限:员工资料的修改、对考勤信息进行登记、对请假和加班信息进行核实、对员工月工资进行核算、员工基本工资的指定以及授权用户等;人事管理人员登录后可以执行的操作有:员工基本资料的修改、对考勤信息进行登录,对请假和加班信息进行核实、对员工月工资进行核算。

其它部门主要的参与者是部门领导和员工。他们都可以通过各自的用户帐户与密码登录到系统中,并能够完成相应的信息浏览、请假和加班申请、本部门请假和加班批准以及个人信息修改等操作。

通过以上分析,我们确定系统主要有五类参与者,分别是操作系统的管理员、人事

部门领导、人事部门管理人员、各部门的领导以及普通员工。

本系统的权限管理主要应用目前非常流行的基于角色的方式来管理访问权限,每一个角色都拥有自己的权限,不同的角色权限可以完全不同,也可以拥有一些相同的权限,每一个用户都隶属于某一角色,每个角色可以拥有多个用户,用户所属角色的权限既是用户的权限。上述几类参与者的主要权限及能够执行基本功能如下:

1、普通员工

普通员工即企业中的基层职工,他们在企业人事管理系统中具有最低的访问权限,在登录系统后只能进行相关信息的浏览和进行基本申请操作,他们可以在

系统中对员工的个人资料、考勤信息、工资信息等进行查看以及执行提交加班和请假的申请等操作。

2、部门经理

部门经理是企业中各部门中相关工作的主管领导。普通的部门经理在人事管理系统中只能获取普通用户的权限。部门经理的权限只是比普通员工多了可以查看本部门内所有员工的相关资料和审核本部门员工所提交的申请,其余的权限与普通用户相同。

3、人事管理人员

人事管理人员在人事部门中负责具体的人事管理。其业务工作主要包括:对员工的基本资料进行更新和修改、对考勤信息进行登记、对请假和加班信息进行核实以及负责员工月工资的计算等工作。

4)人事部门经理

人事部门经理是人事部门的主管领导,负责主管企业的所有人事工作。该角色具有人事管理人员的所有对系统的访问权限,此外还拥有人事政策的制定权限,例如员工的基本工资制定、员工部门分配等。

5)系统管理员

系统管理员具有对系统最高的访问权限。其管理职责主要包括人事管理、员工管理、维护基础数据、管理用户和角色的权限以及系统及其安全的维护工作等。该角色通常由人事部门的领导指派一个比较优秀的人事管理人员来担当。(二)普通用户用例

在企业中任何一个登记的合法员工都能够在网络上通过Web浏览器登录到人事管理系统中进行访问。登录后可以获得普通用户的权限,能够对该员工的个人基本信息、工资情况、考勤情况进行查看,并且可以对自己的个人信息进行修改,例如对密码或电话号码进行修改等,同时能够向部门领导提出加班和请假的申请以及实现个人业绩报告的填写等工作。一旦忘记登录密码,还可以通过密码

找回功能将密码找回。其用例图如下图所示:

普通员工用例

该用例的前提是普通员工的用户登录到系统中,并且获得了普通员工的权限。普通员工用户的基本操作流程如图所示:

普通员工基本流程

(三)部门经理用例

部门经理在登录系统之后能够对本部门所有的相关信息进行接收、发送、查看和删除等操作;对本部门的留言功能进行管理,可以执行发表留言、查看留言以及删除留言等操作;对本部门员工提交的加班和请假申请进行审批,并对其业绩报告进行查阅。

部门经理用例

该用例的前提是部门经理成功登录到系统中,并获得相应的权限,该用户不仅具有普通员工的全部访问权限,同时还具有申请审批和报告查阅的功能。部门

经理用例的基本操作流程如图所示。

部门经理基本流程

(四)人事管理人员用例

人事管理人员登录系统获得相应的权限后可以执行的操作包括:修改员工基本资料、登记考勤信息、核实加班请假信息、计算员工月工资。其用例图如下图所示:

人事管理人员用例图

该用例的前提是人事管理人员成功登录到系统中,并获得相应的权限。人事

管理人员用例的基本操作流程如图所示:

(五)人事部门经理用例

人事部门经理登陆系统获得相应的权限后除了可以执行人事管理人员的所有功能外,还能够进行人事政策的制定,例如制定员工的基本工资和给人事管理人员授权等操作。

人事部门经理用例图

该用例的前提是人事管部门经理成功登录到系统中,并获得相应的权限。人事部门经理用例的基本操作流程如图所示:

人事部门经理基本流程

(六)系统管理员用例

系统管理员通常由人事部门的领导指派一个比较优秀的人事管理人员来担当。它具有系统最高的权限,该角色除了具备其他所有角色具备的全部访问权限外,还具备管理用户和角色的访问权限以及系统和信息安全维护的重要职能。

当系统管理员成功登录系统,并获得相应权限后便能够对系统首页信息进行管理,同时还可以对全体企业员工、各部门经理的相关信息和权限进行管理,以及管理和维护站内信息与数据库安全。其用例图如图所示:

系统管理员用例图

三、系统功能性需求

(一)基本信息管理

该功能性需求主要是为企业的员工提供对其本人和其同事的相关资料进行查看的功能,以此增进企业中员工与员工之间的了解,增强透明度,并且员工还可以对自己的基本信息进行修改。其主要的功能有:对本人的薪资信息进行查询、对本人及其同事的考勤情况进行查询、请假申请与加班申请的提出、个人信息与登录密码的修改以及业绩报告的填写。

(二)工资的设置及管理

员工的每月工资包括月基本工资加上当月奖金(包括绩效和加班费)再减去当月惩罚金额(包括请假扣除部分和考勤扣除部分)。企业员工登录系统后可以查询个人一年内的各月份系详细工资信息以及全年工资信息总汇,人事部门经理和人事管理人员可以按相应的条件对员工一年中每月份工资和全年工资信息进行查询。

每月底系统都将自动的增加一个字段用做当月工资的存储,系统具有工资信息自动生成的功能。

(三)人事管理

员工在成功登录系统后可以通过基本信息模块完成对本人的基本信息进行浏览,能够查看考勤情况和工资情况等等操作,同时还能核对工资的历史记录进

行查询。员工也可以对自己的部分基本信息以及用户的登录密码进行修改;员工成功登录后通过请假申请模块能够完成请假申请的提交、查看或者取消等操作;同时还通过加班申请模块还能够对加班申请进行提交、查看等操作,在此模块下可以查询某一时段内的加班情况,并可以通过加班记录,计算并查看加班小时数;员工还需要进行业绩报告表的填写。

部门经理能够对本部门所有员工进行基本信息的查询和浏览操作。他能够完成普通员工可以进行的所有操作,除此之外还可以通过请假申请模块和加班申请模块对本部门员工的请假和加班申请进行审批。

人事部门经理和人事管理人员能够对企业全体员工的信息进行查看和维护,人事部门通过考核管理模块能够对企业全体员工的加班记录进行查询,再依据员工的考勤记录同加班记录进行比较,便可确认加班记录是否真实、有效。

人事部门可以通过人事异动管理模块完成员工信息资料的查询和修改工作,包括:为新就职的员工添加档案、为需要调动的员工修改档案、为离职和退职的员工删除档案、为复职的员工恢复档案等操作,并且可以实现为员工指定基本工资等操作。

(四)其他管理

1、合同管理模块:

通过该模块可以实现普通员工、各部门的经理、人事管理人员以及人事部门经理的合同签署工作,合同的签署与拟定由人事部门经理通过合同管理模块完成,由人事管理人员负责对合同内容进行记录,同时要管理合同期间的保险问题。

2、培训管理模块:

企业中所有的员工都可以参加企业的技能培训。员工通过该模块可以提出培训请求,然后由部门经理进行审批并可根据实际情况组织或取消一次培训,再由人事管理人员对培训进行记录,并纳入到考核管理的范畴中。

四、非功能性需求

非功能性需求也就是除功能性需要外的其他系统需求。它同样也是很重要的需求。经分析,本系统的主要非功能性需求有:

1、系统性能

由于本系统的使用者绝大部分是一些企业的普通员工,并没有良好的计算机专业素养,随意,系统应该尽量具备非常友好的用户界面,以及强大的可操作性,让用户能够非常直观、明了的掌握系统的使用操作,从而让企业不需要培训其员工对系统的操作上花费太大的时间和精力。由于通常情况下系统中会同时出现大量的用户进行访问,因此系统必须支持多用户、多任务操作。

2、系统的可靠性

系统要满足企业人事管理的一般性业务,能够实现每周一到周五正常运行,其他的后台服务要满足全天24 小时运行。此外,由于Internet 上时时刻刻都有危险存在,而本系统正是以上基于Web 的应用程序,所以系统必须具备安全可靠等防御能力,能够对网络中常见的攻击具有一定的抵抗能力。

3、系统的可扩展性

随着系统的投入使用,用户通常会不断的提出新的应用需求,因此系统应该具有良好的设计结构,通过较少较小的代价来解决用户不断增加的需求和新功能的增加。

面向对象设计

(一)系统设计原则

1、采用适当的技术及开发工具进行系统开发,应用较为先进的软硬件平台、数据库以及网络环境,打造技术水平较高的系统环境。

2、实现企业人事信息管理数据库的规范建立。

3、设计齐全并且实用性强的系统功能,同时还要有一定的前瞻性的考虑。

4、用面向对象的思想对编程设计进行分析,使系统实现模块化、结构化以及可视化。

5、设计操作方便、灵活的友好界面,让用户能够通过短期培训快速掌握系统的操作。

6、安全保密设置要严格,不同的用户要使用不同的登录密码,并且具备不同的访问权限。

7、利用有效的安全手段保证系统能够安全可靠的运行,并采用数据备份技术对数据库中的数据进行备份,以防数据丢失。

8、系统设计的要可靠、稳定,而且可以实现自动修复以及对数据进行纠错的功能。

9、设计中要考虑到系统的可扩展性与可维护性,让系统可以满足不断发展的业务需求。

(二)系统设计目标

企业人事管理系统设计与开发的总体目标是使企业人事管理人员能够提高工作效率、减少人事工作时间、降低管理的成本,并且通过系统的分析、统计,还能够给管理者制定企业相关政策和发展规划提供有力的依据,同时通过系统的投入使用还可以让企业的员工能够方便的对人事信息和政策进行查询。需要实现的具体目标如下:

1、系统要具有友好大方的用户界面、方便灵活的信息查询方式、安全可靠的数据存储机制和及时准确的查询结果。

2、系统用户通过键盘、鼠标可以直接方便快捷的进行操作。

3、系统具备一定的数据检验、纠错功能,严格地对用户数据进行检验,尽量减少人为的错误造成的损失。

4、系统支持劳资报表的生成,且报表要全面、实用。

5、严格控制操作权限,不同用户具有不同权限,从而加强系统的安全性。(三)结构设计

企业人事管理系统采用的是基于三层B/S结构的Web应用程序开发模式进行开发设计的,与传统的二层C/S 模式相比,三层的B/S 结构中客户机上不需要安装专门的客户端程序,因此其部署起来非常方便,但是同时它也存在一些缺点,主要在于其界面不够美观,表现力不足,而且其网络传输本身存在很大的安全隐患。因此企业人事管理系统的设计与开发中要充分考虑Web 应用程序的主要特点,要兼顾网络硬件与网络协议、网络安全等各个方面,尽量去发挥三层B/S 模式的优点,再结合相关技术,尽力去克服缺点。

本系统采用的B/S 三层结构主要包括表示层、业务逻辑层和数据访问层三个层次。

1、表示层

表示层也就是企业人事管理系统的用户界面,它是用户与系统进行沟通的一个平台。表示层中的每一个控件都被封装到类的成员变量里面。在窗口类里面不需要进行逻辑处理,他所做的只需要给业务逻辑层发送相关名利即可。本层中主要的表现形式有两种,分别是Windows Client Application 和Web page。

其中Web page 表现形式可以采用最新的AJAX 技术为用户带来非常好的界面体验,AJAX 技术尝试在Web 应用程序与桌面应用程序的相关功能与交互性之间建立桥梁。让Web 应用程序实现如桌面应用程序之中的精美控件和动态的用户界面。

2、业务逻辑层

系统中具体的业务处理的逻辑主要在业务逻辑层,在业务逻辑层中全部是对

对象进行的操纵。该层是在系统中数据处理的最高层次,它相关联于系统中的具体业务。系统在数据访问层上面建立业务逻辑层,并且抽象化表现层的业务功能,提供相应的服务给业务层。它包含两部分,分别是商业组件和企业组服务。在该层次中没有对数据库的直接操作,如果需要访问或操作数据库,该层会请求数据访问层去完成相应的操作,向数据库发出请求。

本层是中间层,起到其他两层之间纽带的作用,主要负责表示层与数据访问层之间进行的数据传输问题。系统通过该层来实现实际数据库连接的建立,它将表示层传来的用户请求转换成SQL 语句对数据库进行更新或者检索,之后再向客户端返回操作结果。该层一般的存在形式为动态链接库,并且已经在服务器的注册簿中进行了注册。它和客户端的通讯接口之间采用一些例如COM 组件等的特定组件标准。所有支持该标准的工具都可以被用做基层的开发。其实质上是.dll 控件,采用CS 或者C#编译而成。该层的主要业务逻辑有:文件的管理、员工相关信息的维护、打印管理等。

3、数据访问层

数据访问层直接与业务逻辑层和数据库相连接,由业务逻辑层向其发出请求,并将数据库返回的数据集返回给业务逻辑层。该层在数据库之上建立,是系统的最底层,它能够直接关联数据库,其访问数据库的方法是通过封装https://www.360docs.net/doc/441792690.html, 数据模型的概念实现的,同时它还要服务于业务逻辑层。通过该层应用程序可以对数据库进行访问,通常会将数据库的选择、添加、删除、更新等操作。该层同样是采用企业级分布式数据库的方案进行设计的。

本系统在这设计额外增加了一个层次,即数据访问层接口。该层建立在数据访问层之上。通过该层可以达到整个系统增强可复用性,并且使系统中各子系统间的耦合度得到了大幅度的降低。数据访问层接口提供给数据访问层访问数据库的一个抽象的接口,其并不能得到具体方法的实现,而是提供给数据访问层一个可以实例化、可继承的通用接口,每一个接口都对应某一个数据访问层的方法。如此一来便实现了本系统中的数据访问层接口。

企业人事管理系统的主要操作流程如图所示:

系统主要操作流程图

系统采用三层模式进行开发,并提供了两种客户端。本系统将Web 服务器与数据库服务器集成到同一个主服务器上来实现,用户可以通过两种方式登录系统,一种是利用浏览器对Web 服务器进行访问,进而间接的访问数据库;另一种是通过指定客户机上安装的客户端程序登录系统。浏览器的登录方式是利用Web 服务器实现中间的代理服务,将操作请求传送到中间层;而客户端方式是将操作请求通过Win Form 传送到中间层进行处理。

(四)系统功能模块划分

按照需求分析中的功能描述将系统分为基本资料管理、人事管理、工资设置、工资管理、系统管理和帮助六大功能模块,每一个功能模块又被细分为若干子模块。系统的功能模块图如下图:

系统功能模块图

各功能模块用于实现系统所需的不同功能,每个大的功能模块分别包括多个

工资信息管

过期数据处

员工奖励管

员工惩罚管

建立新月份

考勤信息管

企业人事管理系统

工资管理

人事管理 人事信息管

人事异动管

合同管

理 保险管

员工技能培

工资设置 奖惩项目设

惩罚项目设

工资设置

帮助

关于

帮助

基本资料管理

部门管

理 职务类

职称类型管

文化程度管

政治面貌管

民族管

理 培训课

程管

考核项目管

合同类型管

聘用类型管

系统管理

系统登

录 系统设

置 数据库

权限管理

用户注

功能子模块,下面具体介绍一下各模块所包含的子模块。

1、基本资料管理模块

该模块主要有:部门管理子模块、职称类型管理子模块、职务类型管理子模块、文化程度管理子模块、政治面貌管理子模块、民族管理子模块、培训课程管理子模块、考核项目管理子模块、合同类型管理子模块以及聘用类型管理子模块。其中在部门管理子模块中实现了各部门的树形结构管理模式,而且通过部门的全称便能够对部门的上下级关系进行判断。

2、人事管理模块

通过该模块可以对企业所有员工进行全面的管理,它主要有:人事信息管理子模块、新员工登记子模块、培训管理子模块、考核管理子模块、合同管理子模块、聘用管理子模块、保险管理子模块、合同到期处理子模块以及聘用到期处理子模块。

3、工资设置模块

该模块是工资计算的基本设置,主要用于计算员工的每月工资,它主要的子模块有:奖励项目设置子模块、惩罚项目设置子模块以及工资设置子模块。4、工资管理模块

通过该模块可以对企业员工的每月工资进行计算和发放,同时还能实现工资条打印、考勤信息以及奖励、惩罚的管理实现。它主要有:工资信息管理子模块、过期数据处理子模块、建立新月份工资子模块、员工奖励管理子模块、员工惩罚管理子模块和考勤信息管理子模块。

5、系统管理模块

通过该模块可以实现用户登录系统时的身份验证工作,只有具有合法身份的用户才能够登录本系统,用户成功登录后,系统会按不同的角色为用户分配相应的权限。通过本模块用户能够修改自己的登录密码,管理员登录后可以进行备份和还原数据等操作,以确保数据安全。该模块主要有:用户管理子模块、口令设置子模块、数据初始化子模块和数据备份与恢复子模块。

6、帮助模块

该模块中以目录形结构记录了系统所有功能的使用方法,以方便用户了解系统的使用方法,以及在使用系统的过程中遇到问题时获得有效的解决办法。

系统将功能模块分成两部分,分别为前台操作模块和后台操作模块,用来区别不同的用户对系统的不同权限,其中基本用户资料模块为前台操作模块,其他模块均为后台操作模块。用户也相应的分为人事部门人员和其他人员两部种,只有人

事部门的相关人员(主要有人事部门经理、人事管理人员和管理员)才能对后台操

作模块进行操作,而企业中所有的用户都可以对前台操作模块进行操作。

面向对象程序设计—文本编辑器的设计与实现

课程设计报告书 课程名称面向对象程序设计 设计题目文本编辑器的设计与实现 专业班级 学号 姓名 指导教师 年月

目录 1 设计时间 (1) 2 设计目的 (1) 3设计任务 (1) 4 设计内容 (1) 4.1需求分析 (1) 4.2概要设计 (1) 4.2.1功能结构图 (1) 4.3详细设计 (2) 4.3.1流程图 (3) 4.4系统的功能实现 (4) 4.4.1类或包的加载 (5) 4.4.2设计一个主类,变量的定义 (5) 4.4.3文件操作功能的实现 (6) 4.5运行测试 (25) 4.5.1文本编辑器界面 (25) 4.5.2各功能菜单界面 (25) 5 总结与展望 (26) 参考文献 (26) 成绩评定 (27)

1 设计时间 2011年12月19日~2011年12月25日 2 设计目的 本次设计是学习完《java6程序设计》课程后进行的一次全面的综合练习,目的是加深对本学期课程的理解,通过设计文本编辑器并实现其功能来熟练掌握java语言基础,初步掌握软件开发的基本方法与技术将理论课程中学到的知识运用到实践中,实现有一定规模的Java应用。 3设计任务 本次设计的主要任务是文本编辑器的设计与实现,要求设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。 4 设计内容 4.1需求分析 现在网络上各种文本编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed,xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的文本编辑器程序。 4.2概要设计 4.2.1功能结构图

面向对象系统的分析与设计

面向对象系统的分析与设计》学习报告 面向对象系统的分析与设计课程是本专业的一门重要的专业课。通过本课程的学习,使我在已有的计算机软硬件基础知识、程序设计知识、数据库和网络通信知识的基础上系统掌握了面向对象系统的分析与设计方法和技术,并初步具备了针对特定环境下的应用问题进行信息系统开发(包括系统分析、设计与实现)的能力。现将学习情况作以下汇报。 一、面向对象概述 在 20 世纪 60 年代以前,软件开发者构造的软件系统大多都是较小的,且相对简单。编程语言及编程环境也相对简单,随着软件复杂性的增长,为了更好地维护代码,软件开发也需要方法来进行约束。传统的方法中,结构化方法和基于建模方法是典型的软件开发方法。结构化方法是结构化分析、结构化设计和结构化编程的总称。结构化方法的思想萌发于20世纪60年代,是在70年代由TomDe Macro和 Ed Yourdon 等人被系统地进出来。其目的在于,提供一个有序的机制,通过抽象来理解待开发的系统,试图产生结构良好的软件系统。但对于较复杂的系统而言,容易导致模块的低内聚和模块间的高耦合,从面使得系统缺乏灵活性和可维护性。基于建模方法在 20 世纪 70年代末提出,即Peter Chen的实体一一关系法与Ed Codd的关系数据库理论相结合提出的一种新的软件开发方法。其强调对信息实体建模,而不是对象建模。结构化方法和基于建模方法都没有较强地描述系统的动态行为的能力。随着计算机技术的飞速发展,计算

机管理系统应用的普及,企业信息化势在必行。传统开发方法结构化开发的软件存在很多问题,其有稳定性、可修改性和可重用性都比较差,生产效率低等缺陷,这是因为传统的软件开发是面向过程的。然而,用户需求的变化大部分是针对功能的,采用面向对象方法开发可以满足用户的需求,因为面向对象有以下优点:能够比较自然地反映现实事物,可重用性、可维护性和可扩展性比较强。 什么是面向对象呢?“面向对象”本身没有任何意义。“对象” 大概是英语中最普通的一个单词。它在字典中的定义是这样的。对象:能感觉到或能够被感觉到的东西。换句话说,对象可以是任何东西! “面向”也没有任何特别的含义,它的定义是“指向” 。在这种定义下,“面向对象”被理解为形容词。因此,面向对象可以定义成这样,面向对象:指向你可以想到的任何东西。 毫无疑问,软件工业无法为“面向对象”下一个统一的定义。这种模糊性使得任何一个软件零售商都声称他们的商品是“面向对象” 的。 1 面向对象的基本概念 尽管权威人士对面向对象的概念没有达成一致的意见,但从程序设计方法的角度来看,面向对象是一种新的程序设计范型。其基本思想是使用对象、类、封装、继承、关联、聚合、消息、多态性等基本 概念来进行程序设计。 1.1 对象 (Object)

面向对象设计与分析 图书管理系统

华北电力大学科技学院 实验报告 实验名称图书馆管理系统的分析与设计课程名称面向对象技术 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:

一、图书管理系统需求描述 图书馆里有多种书目,每种书有多个副本,每个副本有唯一的编号。每本图书借阅期限为60天,超期罚款,按天计算,每天0.1元。 每个借阅者在系统中建立一个账户,并发放借阅证,账户中有用户名、证号、单位、存的现金数额,用于超期罚款,用户可以续费。 持借阅证的用户可以借书、还书,但这些操作要通过图书馆馆员来实现,每个借阅者可借10本书。每次借阅会将特定的借阅者和书籍副本联系起来。 图书管理员还负责图书的书目管理,书籍副本管理,借阅者管理。如果借阅证丢失,借阅证持有者应到图书馆前台挂失。 借阅证持有者可以预约图书,最多可预约3本(可以设定预约有效的期限),并在图书到达后得到电话通知,图书馆为其保留图书,3日内有效。还可以取消预约。 二、需求分析 系统的功能需求主要包括以下几个方面: 1.这是一个图书馆管理系统。 2.借阅者需预先建立一个账户(账户中有用户名、证号、单位、存的现金数额),并 领取借阅证,借阅者可以续费。 3.各种书目需预先注册。每种书目有多个副本且每个副本有唯一的编号。 3.借阅者能够通过图书馆馆员借书、还书(每个借阅者可借10本书),每次借阅或 归还都更新数据库信息。 4.借阅者可以通过网络查询书籍信息。 5.借阅者可以预约图书。当他所预约的图书归还或购进时,就通知预定人。图书馆为 其保留3日预约书籍。当预定某书的借书者借阅该书后,系统取消预约。 6.如果借阅者还书超过期限(60天),需扣款,按天计算,每天0.1元。 7.图书馆馆员在软件系统的支持下处理借阅者的借书和还书请求。 8.系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加和删除书 籍,增加、删除和更新借阅者帐户,挂失借阅证等。 7.系统能够运行在流行的技术环境中,并应有一个良好的人机交互图形用户界面。 8.系统容易扩展新功能。 系统将通过计算机来处理图书、副本、借阅者和借书。借阅者要求借书,出示借阅证,查询该借阅者提供的借阅证是否满足借书要求。如果满足,给出要借图书的名称,系统查找所借的图书是否存在副本,如果有,则办理借书手续(登记借阅信息)。 图书是存放在图书馆中的书的名称,副本是一个图书的具体实例。一个图书可能有多个副本,一个副本一定会对应一个图书。一次借阅必须记录一个图书的副本和一个借阅证信息。一个副本可以被借阅,也可以不被借阅。一个借阅证可以借多本书,也可以

UML面向对象分析与设计

UML面向对象分析与设计 大作业 前言 “UML面向对象分析与设计”是计算机专业和软件工程等相关专业的一门重要课程,也是其他理工科专业的热门选修课程。“程序设计语言”、“计算机网络”、“数据库原理”和“数据机构”等是它的前导课程,学好本课程对学生毕业后从事软件开发有着极为重要的作用。 要学好这门课,仅仅通过课堂教学或自学掌握理论知识是远远不够的,还必须加强实践。特在学期末引入uml的综合分析与设计,从实际项目出发,使学生学会运用软件工程基本理论知识,UML建模语言和rose建模环境,去解决软件开发中的实际问题,达到学以致用的目的。

面向对象软件开发技术 项目的引入及需求 简易教学管理系统的分析、设计与实现 一、设计的目的 1.初步了解UML语言的概念、结构、语义与表示方法; 2.掌握UML建模工具Rational Rose的使用方法; 3.给出某个简单系统的模型,能够熟练地使用Rose工具表达; 二、设计理论基础 1. 面向对象的程序设计C++或JAVA程序设计课程; 2.数据结构或算法课程 2.SQLServer或mysql数据库系统; 3. 熟悉传统软件工程以及软件测试技术。 三、设计内容与步骤 需求陈述:简易教学管理系统主要提供两个方面的服务: 选课管理,负责新学期的课程选课注册。 成绩管理,负责学生成绩管理。 (1)简易教学管理系统---选课管理应提供的服务如下: 1.录入与生成新学期课程表 教学管理人员在新学期开学前录入新学期的课程,打印将开设的课程目录表,供师 生参考选择。如果某门课实际选课的学生少于10人,则停开该课程,把该课程从 课程表中删除;如某课程选课学生多于60人,则停止选课。 2.学生选课注册 新学期开始前一周为学生选课注册时间,在此期间学生可以选课注册,并且允许改 变或取消注册申请。 每个学生选课可不允许超过4门,每门课最多允许60名学生选课注册。 3.查询 可以查询课程信息、学生选课信息和学生、教师信息。

面向对象分析与及设计习题及答案

面向对象分析与及设计习题及答案 一、单项选择题 1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的 形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A. Simula67语言 B. Smalltalk语言 C. Java语言 D. 统一建模语言(UML)的标准 2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。 A. Smalltalk B. Eiffel C. C++ D. Java 3.下列不属于面向对象技术的基本特征的是(B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与(C) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C)。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6. (D)是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 7. (C) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统 中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 10. 使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 11.一个设计得好的OO系统具有(B) A. 低内聚、低耦合的特征 B. 高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D. 低内聚、高耦合的特征 12.下面()不是UML的基本构成元素。(A) A. 控制语言 B. 基本构造块 C. 规则 D. 公共机制

面向对象分析与设计简答题

1、什么面向对象? 面向对象不仅是以些具体的软件开发技术与策略,而且以一套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。 2、软件开发方法学的基本方法有哪些? 1)软件工程和瀑布方法学2)新方法学:螺旋式、迭代式、递增式、合并式3)面向对象方法学:UML、RUP、XP 3、为什么需要OOA、OOD。 OOA就是运用面向对象的方法进行需求分析,OOA加强了对问题域和系统责任的理解,有利于人员之间的交流,对需求变化的适应性较强,很好的支持软件复用。 OOD就是运用面向对象的方法进行系统设计,OOD.符合人们习惯的思维方法,便于分解大型的复杂多变的问题;易于软件的维护和功能的增减;可重用性好;与可视化技术相结合,改善了工作界面。 4、从概念层次、规格层次、实现层次三个角度如何理解对象的概念? 从概念层次来看,一个对象就是一系列的责任; 从规格层次来看,一个对象是一系列可以被其他对象或该对象自己调用的方法;从实现层次来看,一个对象是一些代码和数据。 5、如何绘制类图和对象图?简述其步骤。 类图绘制:1发现类,找到备选类,确定候选类2关联分析,确定关联关系,多重性分析3职责分析4限定与修改,导航性分析,约束,限定符; 对象图绘制:1发现类和对象2对其细化,分析,确定关系。 6、简述重定义方法与重载的区别。 重定义:1参数列表必须完全与被重写的方法相同2返回类型必须一直域被重写的方法的类型相同3访问修饰符的限制一定要大于被重写方法的访问修饰符4重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查性异常:重载:1必须有不同参数列表2可以有不同的返回类型,只要参数列表不同即可3可有不同访问修饰符4可抛出不同的异常。 7.简述抽象方法与虚方法的联系与区别 虚方法有一个实现部分可以为子类实现有共同的方法,并为派生提供了覆盖该方法的选,抽象方法只是强制派生覆盖方法;抽象方法只能在抽象类中声明,而虚方法不是;抽象方法不能声明方法实体,虚方法可以;包含抽象方法的类不能实例化,但虚方法可以。 8、简述使用继承的规则。 1)、不要过度使用;2)、子类应是超类的一个类型;3)、子类应是超类的扩展; 4)、尽量少从具体类继承,最好继承接或抽象类。

面向对象的分析设计实现--图书管理系统

实验报告面向对象的分析设计实现—图书管理系统 一.需求分析 1.1系统需求描述 一般图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。 一般图书馆管理系统主要包括用户登录子系统、用户管理子系统、图书管理子系统、图书借阅与归还、图书和用户信息查询子系统四个部分,各部分主要功能如下: 用户登录子系统:用于数据库的连接,主界面的设计和不同身份用户的登录管理。 用户管理子系统:用于用户信息的管理,如用户添加、用户信息修改、用户删除。 图书管理子系统:用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。 图书借阅与归还子系统:用于用户借阅和归还图书。 图书和用户信息查询:图书和用户信息的查询。 1.2系统功能结构图

图 1.1 图书管理系统分析系统流程图 1.3 系统解决方案 以上述一般的图书管理系统分析为构思原型。为简化系统,忽略掉其他复杂琐碎的功能需求,仅保留图书信息的录入、修改和读者借、续借、还的功能。读者与管理员通过界面对象调用控制类对象,控制对象进行各种操作并把信息写入数据库。 二.系统设计 2.1 系统E-R图 图 1.2 用户实体图

图1.3 书籍实体图 图 1.4 实体属性图 2.2数据库表结构 表2.1 图书信息表

表2.2 用户借阅表 表2.3用户信息表 2.3用例文档 本系统共设置四个活动者。分别是TT_People、TT_Registrar、TT_Reader 和TT_Database。其中TT_People泛指与系统发生关系的人;TT_Registrar为系统管理员,负责添加、修改图书信息;TT_Reader为所有读者,读者可能发生借书、续借、还书的行为;TT_Database为存储各种信息的数据库对象。另:考虑到现实图书馆中还存在“图书馆管理员”这一角色,但其所起的作用仅为代替读者完成各种系统操作,故没有设置此活动者。 系统中共有五个用例。TT_Addinfo、TT_Modifyinfo、TT_Borrow、TT_Renew 和TT_Return。TT_Addinfo表示管理员添加图书信息;TT_Modifyinfo表示修改图书信息;TT_Borrow表示读者借阅图书;TT_Renew表示读者续借图书;TT_Return表示读者归还图书。

最新面向对象分析与设计课程总结

面向对象分析与设计 课程总结 0923010208 指导老师:庄育飞 这学期学院开设了面向对象分析与设计(UML)这门课,通过老师的讲解,自己一些相关书籍的阅读和实践作业的完成,逐步对课程有了由浅及深的认识。我觉得学习这门课还是受益匪浅的。 面向对象(Object Oriented,OO)是一门以实践为主课程,课程中可以分开两块OOA(面向对象系统分析)和OOD(面向对象系统设计)。 OOA(面向对象系统分析)主要内容: 研究问题域和用户需求,运用面向对象的观点和原则发现问题域中与系统责任有关的对象,以及对象的特征和相互关系.OOA不涉及针对具体实现采取的设计决策和有关细节,独立于具体实现的系统模型。是一个完整确切反映问题域和用户需求的系统模型。OOA的优势:复

用、可扩展、可维护性、弹性。 OOD(面向对象系统设计):以OOA模型为基础,按照实现的要求进行设计决策,包括全局性的决策和局部细节的设计,与具体的实现条件相关。OOD的步骤:细化重组类→细化和实现类之间的关系,明确其可见性→增加属性,指定属性的类型和可见性→分配职责,定义执行每个职责的方法→对消息驱动的系统,明确消息传递的方式→利用设计模式进行局部设计→画出详细的类图和时序图。 面向对象的分析与设计方法将致力于解决传统软件研发过程中由于软件模块化结构化程度不高带来的软件重用性差、软件可维护性差、开发出的软件不能满足用户需要等方面问题。面向对象的概念包括:对象、对象的状态和行为、类、类的结构、消息和方法。对象概念将包含对象唯一性、抽象性、继承性、多态性的重要特征。面向对象的要素包含:抽象、封装性、共享性三方面。 在设计模式的研究过程中,我们组选择的是迭代器(Iterator)的设计模式研究。完成设计研究后,我对迭代器的设计模式有了更为深刻的理解。迭代器(Iterator)提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。并了解到迭代器设计模式一般在以下三类场合使用较多。 ●访问一个聚合对象的内容而无需暴露它的内部表示。 ●支持对聚合对象的多种遍历。因为遍历状态是保存在每一个迭代器对象 中的。

(完整版)面向对象程序设计与面向过程程序设计的区别(2)

面向过程程序设计和面向对象程序设计的区别 面向过程程序设计我个人的理解简单来说,他考虑问题的方式是面向流程的,一个程序的设计思路就是解决一个问题的流程。就好比游戏先登入界面,再输入密码,然后选择角色,在然后进入游戏玩耍,结束... .... 这把这些步样就是面向过程。面向过程就是分析出解决问题所需要的步骤,然后用函数骤一步调用就可以了一步实现,使用的时候一个一个依次。可以看出面向过程化程序设计是先确定算法,再确定数据结构。而面向对象程序设计是面向问题中的各种独立个体的,程序的析设分计过程就是将程序分解成不同对象(不同概念体)之间的交互的过程。这就好比在针对某个工程或游戏设计程序时先不考虑,游戏是怎么玩的,工作是怎么做的,而先会去找,游戏或工程中有哪些人或事物参与(一般选择:用户,玩家,角色等等),然后再看他们都有什么用,都干了些什么,针对这个区设计方法。最后在通过这些千丝万缕的联系把他们分门别类的,组装在一起。可以看出面向过程化程序设计是先确定数据结构再确定算法。 从上面很容易看出,面向过程的程序上一步和下一步环环相扣,他只考虑实现客户的需求不考虑以后扩展,如果以后客户的需求有变化那代码量要改变非常大耗费的时间也相当多。从本质上说,面向过程基本上是一种状态机,不利于修改,当新状态出现的时候,甚至可能需要重设每一个状态解决实现。所以说面向过

程是一种直接的编程方法,它是按照编程语言的思路考虑问题。尤其是想C语言这种过程式语言,它就是通过顺序执行一组语句来实现一个功能,这些语句的执行过程就是整个程序。不同的语言解决同一个问题的过程是不一样的。 而面向对象的程序设计很多东西都是独立的,每个对象都可以重复使用。而面向对象程序设计强调“封装”,“继承“和“多态”。数据和与数据相关的操作被包装成对象(严格的说是“类”),每一种对象是相对完整和独立的。对象可以有派生的类型,派生的类型可以覆盖(或重载)原本已有的操作。所有的这些,是为了达成更好的内聚性,即一种对象做好一件(或者一类相关的)事情,对象内部的细节外面世界不关心也看不到;以及降低耦合性,即不同种类的对象之间相互的依赖尽可能降低。而所有的这些,都有助于达成一个崇高的目标,就是可复用性。 下面举个例子来说明面向过程的程序和面向对象的程序设计的区别: 用面向过程的思想去考虑它应该是这样的:如何启动汽车、如何起步、加速、刹车、熄火等一个个操作。面向过程是把所有的功能全部在一个大的类里定义出来,当系统庞大时,功能多了,各种操作之间的调用关系也很复杂,当需要修改一个功能时就可能引发一连串的改动,使修改和维护成本增加,而不利于修改。 而面向对象则以汽车为对象,一切由汽车开始,以上的可用操

面向对象分析与设计

面向对象提纲 需求分析:了解用户的需求,对现实问题进行分析,确定用户需求 一、用例模型:业务用例、业务场景、系统用例、用例规约(用例描述) 根据不同的情况,用例描述可以有三个级别:1)简单描述2)中间描述3)完全展开描述系统分析:将需求分析的结果确定系统的范围和主要功能。 二、分析模型 1)静态视图(类图) 2)动态视图(系统顺序图) 1.1建立静态视图(问题域建模) 定义这些系统需求而建立的类图称为域模型类图或简称域模型 类之间的关系:依赖、泛化、关联(聚合、组合) 2.1动态视图(系统顺序图)

三、OO模型的集成 OO需求模型中的关系 依赖性通常从顶部流到底部,双向箭头表示在两个方向都产生影响。 四、面向对象分析步骤: 第一步域模型 A、分析域模型得到静态视图(类图) B、画出实体对应的类及其之间的关系,注意此阶段强调的是静态关系 第二步基于用例的需求分析 通过对需求的调查,业务用例的构建和活动图的绘制,最终得到系统用例图 在用例图的下方,应附上每个用例的用例描述 第三步输入和输出:系统顺序图 域模型类图:

用例图:系统顺序图: 从分析到设计

五、面向对象设计 OO程序是由一系列协同完成某一任务的程序对象组成 OO设计目标:识别并确定所有对象,并生成每个用例,比如用户界面对象、问题域对象及DB访问对象 六、OO设计过程和模型 设计步骤:⑴创建设计类图的基础版本,或初步模型 ⑵开发交互图 ⑶根据开发交互图时得到的信息,返回设计类图并开发方法名称 ⑷用包图将设计类图分割成相关的功能 输入的模型: 交互图:用例图、用例描述、活动图、系统顺序图、设计类图 设计类图:域模型类图、交互图 包图:设计类图 七、设计类和设计类图 7.1 设计类图符号:1. 构造型 2. 标准的构造型 构造型:按照模型元素的特征进行归类的一种方式,用《》符号描述 2. 标准的构造型 (0)设计模型中的标准构造型 ⑴实体类 ⑵边界类 ⑶控制类 ⑷数据访问类 设计模型中的标准构造型:

面向对象分析与设计试题及其答案

面向对象分析与设计试题B卷 一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2 分,共20 分) 1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的 形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A. Simula67语言 B. Smalltalk语言 C. Java语言 D. 统一建模语言(UML)的标准 2. 面向对象的运动产生了多种面向对象的语言, 其中()是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。 A. Smalltalk B. Eiffel C. C++ D. Java 3.下列不属于面向对象技术的基本特征的是()。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是()。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6. ()是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 7. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 8.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 9.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统 中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 10. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 二、填空题( 每空1 分,共20 分) 1. 面向对象开发方法一改过去传统的以___功能分析___为基础的__面向过程__的结 构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为

面向对象三维图形引擎的设计与实现

第39卷 第1期 电 子 科 技 大 学 学 报 V ol.39 No.1 2010年1月 Journal of University of Electronic Science and Technology of China Jan. 2010 面向对象三维图形引擎的设计与实现 邱 航,陈雷霆 (电子科技大学计算机科学与工程学院 成都 610054) 【摘要】提出并实现了一种面向对象的三维图形渲染引擎Gingko ,对引擎的体系结构、各模块之间的关系以及关键技术进行了分析说明。该引擎提供可扩展的软件体系结构、高效的场景处理方法、方便易用的应用程序接口,为三维图形应用的快速开发和高效运行提供了支撑。实验证明,该引擎具有运行稳定、渲染速度快的特点,对于大规模室外场景的渲染速度能保持在20 fps 以上。 关 键 词 图形引擎; 插件; 实时渲染; 真实感渲染 中图分类号 TP391.41 文献标识码 A doi:10.3969/j.issn.1001-0548.2010.01.028 Design and Implementation of Object-Oriented 3D Graphics Engine QIU Hang and CHEN Lei-ting (School of Computer Science and Engineering, University of Electronic Science and Technology of China Chengdu 610054) Abstract An object-oriented 3D graphics engine is presented and implemented. The general architecture, the relationships of every module, and the key techniques of the engine are discussed. This engine can support extendable software architectures, and provide high efficient scene rendering method and convenient application programming interfaces. It can greatly accelerate the development of 3D graphics and provide supports for its efficient running. Experimental results show that this engine has high stability and high rendering speed, for rendering large-scale out-door scene, the speed is still above 20 fps. Key words graphics engine; plug-in; real time rendering; realistic rendering 收稿日期:2008 ? 06 ? 25; 修回日期:2009 ? 04 ? 28 基金项目:国家863高技术研究发展计划项目(2006AA01Z335);总装“十一五”预研项目 作者简介:邱 航(1978 ? ),男,在职博士生,讲师,主要从事计算机图形学、数字媒体技术方面的研究. 实时真实感图形生成是计算机科学技术的重要 研究方向,目标是使计算机可以产生与真实世界相 同或高度近似的视觉环境,从而使用户获得身临其 境的视觉感受[1-2],其应用范围覆盖大众娱乐、视景 仿真、城市规划及文化教育等诸多领域。 近年来,随着计算机图形软、硬件的不断发展, 人们对实时真实感渲染以及场景复杂度提出了更高 的要求。传统的直接使用底层图形接口如OpenGL 、 DirectX 开发图形应用的模式越来越暴露出开发复 杂性大、周期长、维护困难的缺陷。鉴于以上原因, 三维图形引擎相关技术受到了广泛的关注。目前, 国外已有众多商用或开源三维图形引擎,如 OGRE [3]、OSG [4]等。 OGRE(object-oriented graphics rendering engine) 是一种用C++实现的跨平台开源三维图形引擎。该 引擎底层对DirectX 、OpenGL 进行完全封装,采用 了基于插件的体系结构,方便用户使用和功能扩展。 但OGRE 过于庞大和复杂,使用户感觉掌握困难。此外,由于底层对DirectX 和OpenGL 的完全封装,用户无法对基本图形API 进行直接操作。 OSG(open scene graph)是一款著名的3D 图形引擎,主要用于虚拟现实、仿真和游戏等领域。OSG 底层只提供了对OpenGL 的封装,与其他图形引擎一样,拥有诸如场景管理、地形管理和底层API 封装等功能。但OSG 的渲染管理比较特殊,它不是采用渲染队列进行渲染管理,而是采用渲染树,更为高效。 Irrlicht 引擎是一款开源、跨平台的3D 引擎,底层封装了DirectX 和OpenGL ,并提供基于GLSL 和HLSL 的可编程渲染管道。该引擎结构简单、速度快。但Irrlicht 以牺牲渲染质量达到高速的目的,在光照等真实感方面比较薄弱。 纵观目前国内外三维图形引擎的发展格局,开发具有自主知识产权、融入新方法、新技术的三维图形引擎是我国在信息技术领域的一项重要目标。 本文提出并实现了一种面向对象的三维图形引擎Gingko ,该引擎不仅能提高用户的开发速度,而

面向对象分析与设计试题A卷及答案

面向对象分析与设计试题A卷及答案 一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 20 分 ) 1. 到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( D )的 出现和广泛使用,使面向对象方法成为了软件开发的主流方法。 A. OMT B. OOSE C. C++ D. UML 2.( D )为编程人员提供了重复利用程序资源的一种途径,使编程人员可以扩充和完善旧的程序以适用新的需求。 A. 封装机制 B. 抽象机制 C. 多态机制 D. 继承机制 3. 面向对象程序设计中用( C ) 来描述具有相同属性和行为的对象集合。 A. 实体 B. 对象 C. 类 D. 类模板 4. 下列语言中, ( D ) 是一种混合型面向对象编程语言。 A. C语言 B. Java语言 C. Basic语言 D. C++语言 5. 下列不属于类的成员函数的是 (D )。 A. 构造函数 B. 析构函数 C. 缺省构造函数 D. 友元函数 6. 多态机制的作用是 ( B )。 A. 信息隐藏 B. 实现“一种接口,多种方法” C. 派生新类 D. 数据抽象 7. 合理地利用( B ), 既可以实现部分成员隐蔽,又能方便部分成员的继承,实现代 码的高效重用和扩充。 A.公有继承 B.保护继承 C.友员函数 D.私有继承 8. ( C )经过实例化而生成具体的类。 A.抽象类 B.函数模板 C.类模板 D.对象 9. 类的析构造函数是在 ( C ) 时调用的。 A.不自动调用 B.创建对象 C.删除对象 D.创建派生类对象 10.在公有继承的情况下,基类的( C)成员无法继承到派生类中。 A. 公有成员 B. 保护成员 C. 私有成员 D. 静态成员

面向对象分析与设计(UML)课程设计报告范文1

面向对象分析与设计(UML) 课程设计报告 题目: 学号: 姓名: 班级:

【课程设计名称】网络教学系统-使用UML进行系统的分析和设计 【课程设计目的】1.掌握UML建模的基础知识和其应用; 2.熟悉Rational Rose环境及功能,能够设计出完整系统。 【课程设计要求】1.对系统功能进行必要的描述; 2.绘制系统的主要模型图; 3.模型图要有说明性文字解释。 【课程设计内容】1.网络教学系统的需求分析; 2.网络教学系统UML建模。 【课程设计步骤】 一: 网络教学系统的需求分析 1、系统功能需求 (1)学生可以登陆网站浏览和查找各种信息以及下载文件。 (2)教师可以登陆网站给出课程见解、发布、修改和更新消息以及上传课件。 (3)系统管理员可以对页面进行维护和批准用户的注册申请。 满足上述需求的系统主要包括下面几个模块 (1)数据库管理模块:提供使用者录入、修改并维护数据的途径。 (2)基本业务模块:教师可以上传文件、发布消息、修改和更新消息;学生可以下载文件;管理员可以维护页面,批准注册等。 (3)信息浏览、查询模块:主要用于对网站的信息进行浏览、搜索查询。 图 1.1系统功能需求 2、数据库管理模块 图 1.2数据库管理模块 (1)教师信息管理:负责教师信息的管理。 (2)课程简介信息管理:负责课程简介信息的管理。 (3)文件上传信息管理:负责文件上传信息的管理。

3、基本业务模块 图 1.3基本业务模块 (1)文件上传:教师可以使用此模块将课程的数据上传到网站服务器。 (2)文件下载:学生可以使用此模块从网站上下载课件及其他资料。 (3)消息发布:教师可以通过此模块发布学习方法、课程重点等和教学相关的文章,以及和课程相关的通知等。 (4)消息修改和更新:教师可以通过此模块对自己发布的信息进行修改和更新。 (5)页面维护:网站管理员可以使用此模块对网站的页面进行维护。 (6)用户注册批准:网站管理员可以使用此模块批准用户注册。 4、信息浏览、查询模块 图 1.4信息查询模块功能 (1)网页信息浏览:用户浏览网站信息。 (2)文章信息搜索:用户根据关键字搜索文章。 二: 系统的UML建模 1、系统的用例图 创建用例图之前首先需要确定参与者。 ①在网络教学系统中,需要学生和教师的参与。学生可以浏览课程简介,教学计划,学习方法等教 师发布的文章,并可以根据关键字查询文章。此外,学生可以从网站上下载课件。教师作为教学的主导者,使用此网站可以发布学习方法,课程重点等和教学相关的文章,以及和课程相关的通知等,还可以将某一门课程的课件上传。 ②网站需要一个专门的管理者进行日常维护与管理,所以需要有系统管理员的参与。 (1)系统用户参与的总的用例图 教师和学生都可以从“网站用户”这个参与者泛化而来,网站用户是指网站的注册用户,注册用户可以登录系统完成相应的操作。 系统用户参与的总的用例图如图所示。从图中可以清楚地看到泛化关系与各个参与者所参与的用例。

面向对象分析与设计实验报告

面向对象分析与设计实验报告 题目:宿舍管理系统 学号:200*********** 姓名:****** 班级:09软件*****04 完成时间:2011.11.09

目录 1 系统功能需求 (3) 1.1管理系统模块 (3) 1.2查询学生模块 (3) 1.3学生管理模块 (4) 1.4资料修改模块 (5) 1.5楼栋管理模块 (6) 1.6出入登陆模块 (6) 2 建立需求模型 (7) 2.1 划分子系统 (7) 2.2 识别参与者 (8) 2.3 识别用况 (8) 2.4 对需求进行捕获与描述 (9) 3 系统分析 (11) 3.1 寻找类 (11) 3.2 建立状态机图 (12) 3.3 建立类图 (12) 3.4 建立顺序图 (13) 4 系统设计......................................................................................... 1错误!未定义书签。 4.1 问题域部分设计 (14) 4.2 人机界面部分设计 (14) 5 总结 (16)

参考文献 (17)

1.系统的功能需求 我校学生公寓现为手工管理,效率低、易出错、手续繁琐,而且耗费大量的人力,物力,财力。故设计一个学生公寓管理系统,管理学生住宿情况,员工情况,处理学生离校,管理人员来访情况等功能。通过此系统,后勤人员可以对学生公寓的各项情况实行电脑化管理,以提高工作效率,也使得公寓管理所需的各项信息能方便快速进行录入,查询,删除和更新。 面对学生公寓管理工作的特点以及该管理工作的具体问题, 本系统可以解决以下问题: (1)录入公寓各学生的基本情况。 (2)全面查询学生的基本情况。 (3)对学生离校进行处理。 (4)每学期对学生住宿进行注册。 (5)对来访人员进行出入管理。 (6)对学生的财务进行登记管理。 (7)对楼栋物资和楼栋的管理。 (8)对各项情况进行修改,删除,更新。 (9)友好的操作界面, 以及简单快速的操作. (10)多种查询方式。 本系统针对学生公寓管理日常的工作程式, 对学生公寓的各项情况例如:学生信息,学生个人财产信息,来访人员信息等进行有效管理,并能通过各方法进行快速方便的查询。 使学生公寓管理工作运作简明、清晰,各状况一目了然,使学生公寓管理工作更加科学化、规范化。 1.1管理系统模块:实现用户退出功能。 1.2查询学生模块:该模块包括五个子模块

UML面向对象设计与分析课后习题答案

分析了UML的几个重要图看看是否可以? 第2章用例图 1.一台自动售货机能提供6种不同的饮料,售货机上有6个不同的按钮,分别对应这6种不同的饮料,顾客通过这些按钮选择不同的饮料。售货机有一个硬币槽和找零槽,分别用来收钱和找钱。现在为这个系统设计一个用例图? 顾客 2.现有一个产品销售系统,其总体需求如下: 系统允许管理员生成存货清单报告。 管理员可以更新存货清单。 销售员记录正常的销售情况。 交易可以使用信用卡或支标,系统需要对其进行验证。 每次交易后都需要更新存货清单。 分析其总体需求,并绘制出其用例图? 3.绘制用例图,为如下的每个事件显示酒店管理系统中的用例,并描述各用例的基本操作流程。 客人预订房间。 客人登记。 客人的承担服务费用。 生成最终账单 客人结账 客人支付账单

第3章类图、对象图和包图 1.创建一个类图。下面给出创建类图所需的信息。 ●学生(student)可以是在校生(undergraduate)或者毕业生(graduate)。 ●在校生可以是助教(tutor)。 ●一名助教指导一名学生。 ●教师和教授属于不同级别的教员。 ●一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助理,一名 教授可以有5名教师助理。 ●教师助理是毕业生。 创建类图的步骤如下: (1)将学生可以是在校生或者毕业生建模为3个类:Student、UnderGraduate和Graduate,其中,后两个类是Student类的子类。 (2)为“在校生可以是助教的一种”建立模型,即建立UnderGraduate类的另一个超类Tutor。 (3)通过创建从Tutor到Student的关联(名为tutors),建立一名助教指导一名学生的模型。 (4)将“教师和教授属于不同级别的教员”建模为3个类:Instructor、Teacher和Professor,其中,后两个类是Instructor类的子类。 (5)建立“一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助理,一名教授可以有5名教师助理”的模型。创建TeacherAssistant类,并使其与Teacher 类和Professor类都建立关联。 (6)将TeacherAssistant类建模为Graduate类的派生类。

2016面向对象分析与设计复习题

2016面向对象分析与设计复习题 一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 2 分,共20 分) 1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的 形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A. Simula67语言 B. Smalltalk语言 C. Java语言 D. 统一建模语言(UML)的标准 2. 面向对象的运动产生了多种面向对象的语言, 其中()是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。 A. Smalltalk B. Eiffel C. C++ D. Java 3.下列不属于面向对象技术的基本特征的是()。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是()。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6. ()是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 7. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 8.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 9.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统 中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 10. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 五. 试用UML对教学管理系统及相关的数据库系统进行分析和设计。学生选课系统一般包括(1)选课管理功能;(2) 成绩管理功能。试完成下列工作: (1)建立系统静态结构模型—画出系统用例图和类图;(10分) (2) 建立系统动态结构模型—画出系统序列图和协作图;(10分) (3)建立关系数据库逻辑模型。(10分) 【答案: (1) 系统用例图如下

相关文档
最新文档