搜档网
当前位置:搜档网 › 企业人事管理系统 面向对象分析与设计

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

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

面向对象分析

一、系统基本需求

经过调研分析,确定企业人事管理系统的主要功能有企业员工的资料管理和考勤管理、员工的工资计算和业绩评定等。涉及到敏感信息的大部分数据的增、删、改等工作主要由人事部门的管理人员来完成,例如工资的计算、考勤记录的更改等操作,而且一些如确定员工的基本工资和指定部门分配等操作只有人事部门相关的管理者才能进行操作;而普通的企业员工能够在系统中通过 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、数据访问层

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

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

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

系统主要操作流程图

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

(四)系统功能模块划分

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

系统功能模块图

各功能模块用于实现系统所需的不同功能,每个大的功能模块分别包括多个功能子模块,下面具体介绍一下各模块所包含的子模块。 1、基本资料管理模块

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

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

3、工资设置模块

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

工资信息管

理 过期数据处

理 员工奖励管

理 员工惩罚管

理 建立新月份工资

考勤信息管

企业人事管理系统

工资管理

人事管理 人事信息管

理 人事异动管

理 合同管

理 保险管

员工技能培训管理

工资设置 奖惩项目设

置 惩罚项目设

工资设置

帮助

关于

帮助

基本资料管理 部门管

理 职务类型管

理 职称类型管

理 文化程度管

理 政治面貌管

理 民族管理 培训课程管

理 考核项目管理

合同类型管

理 聘用类型管

理 系统管理 系统登

录 系统设

置 数据库备

份恢复

权限管理

用户注

4、工资管理模块

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

5、系统管理模块

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

6、帮助模块

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

系统将功能模块分成两部分,分别为前台操作模块和后台操作模块,用来区别不同的用户对系统的不同权限,其中基本用户资料模块为前台操作模块,其他模块均为后台操作模块。用户也相应的分为人事部门人员和其他人员两部种,只有人事部门的相关人员(主要有人事部门经理、人事管理人员和管理员)才能对后台操作模块进行操作,而企业中所有的用户都可以对前台操作模块进行操作。

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

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)、尽量少从具体类继承,最好继承接或抽象类。

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

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

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

面向对象系统分析与设计试卷与答案

面向对象分析与设计试题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)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 .

uml《面向对象的分析与设计》考题与答案

《面向对象的分析与设计》练习题 一、选择题 1.UML 语言不支持的建模方式有(D )。 A. 静态建模 B.动态建模 C. 模块化建模 D. 功能建模 2.一个设计得好的OO系统具有( B )。 A. 低内聚、低耦合的特征 B.高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D.低内聚、高耦合的特征 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.顺序图中不包括以下哪种元素?(A) A.用例 B. 对象 C. 生命线 D. 消息 8. 用例图中不包括以下哪种元素?(B) A. 用例 B. 类 C. 参与者 D. 关联 9. 继承机制的作用是( C )。 A. 信息隐藏 B. 数据封装 C. 派生新类 D. 数据抽象 10. 面向对象方法学中,对象之间仅能通过(C)相联系。 A. 类 B.抽象 C. 消息 D. 封装 11. 脚本与用例之间的关系类似与(A)之间的关系。

A. 对象与类 B. 参与者与用例 C. 顺序图和抽象类 D. 消息和对象 12. 下列元素中,(D )不属于消息的组成。 A. 提供服务的对象 B. 服务 C. 输入信息 D. 事件 13. (D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 顺序图 14. (D)是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 15. ( C ) 是表达系统的类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 二、简答题 1.简答控制软件复杂性的基本方法,面向对象技术如何体现这些方法的。 基本方法:分解,抽象,模块化,信息隐蔽。面向对象的软件开放方法在描述和理解问题域时采用的方法是:对问题域进行自然分割,以更接近人类的思维方式建立问题域模型,从而使设计出的软件尽可能直接地描述现实世界,具有更好的可维护性,能适应用户需求的变化。 2.举例说明类中覆盖和重载的区别。 public class A{ String name; public String getValue();{ return”getValue is”+name;} } public class B extend A { String address; public String getValue();{

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

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

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

面向对象分析与设计

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

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

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

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

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

面向对象分析与及设计习题及答案 一、单项选择题 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. 公共机制

面向对象的分析与设计大作业文档

面向对象的分析与设计课程结课大作业 学号______________ 学生姓名___________ 专业______________ 班级______________ 塔里木大学教务处制

《面向对象的分析与设计》课程结课作业\ 题 分\号 值\—— 一 二三四五六七总结总分 总分5 020100 得分 提示:1、请将答案写在此文档的相应位置,图形需在Rational Rose下绘制,大小可以根据个人需求定制(宽不超过页面1/3);2、请将相关的文档,包括程序的相关文档进行压缩,并将压缩文档上传到“大作业电子版文档”文件夹下命名为“班级-学号-姓名”,纸质版于2015年6月12日上午10:00 —13:00交到逸夫楼109。 一、选题(此题5分) 请根据你抽中的题号,请将其所对应的题目写到下方,并将你要描述的界面进行截图。 题目:照相(即手机的“相机”软件) XPERIA Z系列手机的自带相机软件。图中第五行第 该相机软件为SONY 二列 的软件。 相机

用例图用到的界面:A D E F 类图用到的界面:B C D E F 序列图和协作图用到的界面:A C 状态图用到的界面:A C 活动图用到的界面:AB C D E F 部署图用到的界面:A DEF ./ * 1SVf 九—X IJ .鈕 EuH o StiilE 拍 untflimhwiiBMiiriifn Qi -A 1 i a口X nt^tt帕.9* 自怕 笑Kt*n 关闻寸慎毛连拍JI 人■注册 O Q ? O■□Q :9 c口X 快走总谕 填理杯记? ?D 将害?瞳用朴 isn^g C? 内序科11诬? 4k a C3 Q)gv> W BF \j o Q ! A ◎ a o X 白拘Jt 笑隘快门(鞭牆)X nn-:? nt窒恙 (>o ■ U K>Qi A B 手动 创息啟 JR

面向对象分析与设计_期末复习_2017-2018-2

《面向对象分析与设计》期末复习 2017-2018学年-第2学期 1、题型介绍: 选择题20 * 1分= 20分 填空题5* 2分= 10分 简答题 4 * 7分= 28分 建模分析论述题4题(第1题10分,第2题8分,第3题8分,第4题16分,共42分)= 40分 2、选择题 1、()不是对象具有的特性。 A.标识 B.继承 C.顺序 D.多态性 2、封装是把对象的()结合在一起,组成一个独立的对象。 A.属性和操作 B.信息流 C.消息和事件 D.数据的集合 3、()不是面向对象的典型方法。 A.Coad& Yourdon 方法 B.维也纳方法 C.OMT方法 D.Booch方法 4、UML中有4种关系,分别是依赖、泛化、关联和() A.集成 B.合作 C.实现 D 抽象 5、下列关于状态图的说法中,正确的是() A.状态图是UML中对系统的静态方面进行建模的5种图之一。 B.状态图是活动图的一个特例,状态图中的多数状态是活动状态。 C.状态图是对一个对象的生命周期进行建模,描述对象在其生存期间的动态行为。 D.状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模。 6、UML的()模型图由类图、对象图、包图、组件图、和部署图组成。 A.用例 B.静态 C.动态 D.系统。 7、UML的()模型图活动图、顺序图、状态图、写协作图组成。 A.用例 B.静态 C.动态 D.系统。 8、UML的最终产物就是最后提交的可执行的软件系统和() A.用户手册 B.类图 C.动态图 D.相应的软件文档资料

9、在UML的需求分析建模中,()模型图必须与用户反复交流并加以确认。 A.配置 B.用例 C.包 D.动态 10、下面不是用例之间主要关系的是() A.扩展 B.包含 C.依赖 D.泛化 11、对于一个电子商务网站而言,以下不适合作为用例的选项是() A.登录 B.预定商品 C.购物车 D.结账 12、UML的客户需求分析模型包括()模型、类图、对象图和活动图。 A.用例 B.静态 C.动态 D.系统 13、UML客户需求分析产生的用例模型描述了系统的() A.状态 B.体系结构 C.静态模型 D.功能要求 14、在UML的需求分析模型中,用例建模必须与()反复交流并加以确认。 A.软件生产商 B.用户 C.软件开发人员 D.问题领域的专家 15、在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用() A.活动图 B.状态图 C.配置图 D.组件图 16、类图应该画在Rational Rose的()视图中。 A、Use Case View B、Login View C、Component View D、Deployment View 17、类通常可以分为实体类、()和边界类。 A 、父类B、子类C、控制类D、祖先类 18、对象特征的要素是()。 A、状态 B、行为 C、标识 D、属性 19、下列关于接口的关系说法不正确的是()。 A、接口是一种特殊的类 B、所有接口都是有构造型<>的类 C、一个类可以通过实现接口从而支持接口所指定的行为 D、在程序运行的时候,其他对象不仅需要依赖于此接口,还需要知道该类对接口实现的其他信息 20、下列关于类方法的声明,不正确的是()。 A、方法定义了类所许可的行动 B、从一个类创建的所有对象可以使用同一组属性和方法 C、每个方法应该有一个参数 D、如果在同一个类中定义了类似的操作,则它们的行为应该是类似的 21、UML的系统分析进一步要确立的3个系统模型是()、对象动态模型和系统功能模型。 A、数据模型 B、对象静态模型 C、对象关系模型 D、体系结构模型 22、UML的客户需求分析、系统分析和系统设计阶段产生的模型,其描述图符()。 A、完全相同 B、完全不同 C、不可以通用 D、稍有差异 23、类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必有()。 A、正负号 B、动作 C、具体值 D、私有成员 24、UML系统设计的一般步骤包括系统对象设计、系统体系结构设计和系统设计的()和审查等 A、建模 B、完善 C、优化 D、迭代 25、顺序图和协作图主要用于对用例图中()的建模,用它们来描述用例图的行为。

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

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

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

面向对象分析设计小结

?1、面向对象方法的基本观点: ?Coad-Y ourdon认为:面向对象=对象+类+继承+通信。 ?2、面向对象方法的特点包括: ?(1)、符合人们对客观世界的认识规律; ?(2)、对需求变化具有很强的适应性; ?(3)、支持软件复用; ?(4)、可维护性好。 ?3、对象、类、封装、继承、消息、多态性的基本概念。 对象是客观世界中具有可区分性的、能够唯一标识的逻辑单元,是现实世界中的一个事物(站在计算机技术角度,即对事物的模拟)。 类是一组具有相同属性和相同操作的对象的集合。 封装是把对象的属性和操作结合在一起,组成一个独立的单元。 继承是指子类(派生类、特化类)自动拥有其父类(基类、泛化类、超类)的全部属性和操作,即一个类可以定义为另一个更一般的类的特殊情况。 消息是对象之间采用消息传递来发生相互作用—互相联系、互发消息、响应消息、协同工作,进而实现系统的各项服务功能。 多态性是一种方法,使在多个类中可以定义同一个操作或属性名,并在每一个类中有不同的实现。 ?4、面向对象系统开发过程。 ?5、运用名词词组法来定义类(对象): ?例:音像商店出租/出售业务信息系统中的类的确定。 ?总目标:?A.提供及时培训。?B.实施的系统必须友好,易学易用。?C.实施的系统必须考虑安全问题。

?具体目标: ?1.1.1 提供一个自动系统协助顾客出售/出租结帐。 ?2.1.1 提供和维护一个自动的会员数据库。?a. 按要求提供最新会员信息。? b. 有添加、改变、删除会员信息的能力。 2.1.2 提供会员信息报表(但不限于)?a. 最少光顾的会员。?b. 最经常光顾的会员。?c. 有问题会员(欠钱,出租过期)? 4.1.1 提供、维护出售和出租项的库存数据库。?a. 按要求提供最新库存信息?b. 有添加、改变、删除库存信息(出售和出租)的能力 4.1.2 提供库存信息报表(但不限于)?a. 最不受欢迎的出租项?b. 最受欢迎的出租项?c. 过期的出租项?d. 出售和出租项的“订购”产品(采购报表) 5.1.1 提供出售报表(但不限于)?a. 用产品码表示的一段时间(天、星期、月)内销售情况?b. 用产品码表示的一段时间(天、星期、月)内出租情况相应的侯选对象清单为:安全问题、自动系统、顾客出售/出租结帐、会员数据库、会员信息、会员信息报表、库存数据库、出售和出租项、库存信息、库存信息报表、采购报表、出售报表。 ?6、对多值属性的处理方法:用部分-整体方法。 例:发票/发票行 第2章统一建模语言UML 1、UML描述的软件基本模型:用例视图、逻辑视图、构件视图、进程视图、 部署视图 2、UML的基本符号。 3、RUP项目开发过程的特征:用例驱动的系统、以体系结构为中心、螺旋 上升式的开发过程、以质量控制和风险管理为保障措施。

uml面向对象的分析与设计考题与答案

u m l面向对象的分析与设计考题与答案 集团文件版本号:(M928-T898-M248-WU2669-I2896-

《面向对象的分析与设计》练习题 一、选择题 1.UML 语言不支持的建模方式有(D )。 A. 静态建模 B.动态建模 C. 模块化建模 D. 功能建模 2.一个设计得好的OO系统具有( B )。 A. 低内聚、低耦合的特征 B.高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D.低内聚、高耦合的特征 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.顺序图中不包括以下哪种元素?(A) A.用例 B. 对象 C. 生命线 D. 消息

8. 用例图中不包括以下哪种元素?(B) A. 用例 B. 类 C. 参与者 D. 关联 9. 继承机制的作用是 ( C )。 A. 信息隐藏 B. 数据封装 C. 派生新类 D. 数据抽象 10. 面向对象方法学中,对象之间仅能通过(C )相联系。 A. 类 B.抽象 C. 消息 D. 封装 11. 脚本与用例之间的关系类似与(A)之间的关系。 A. 对象与类 B. 参与者与用例 C. 顺序图和抽象类 D. 消息和对象 12. 下列元素中,(D )不属于消息的组成。 A. 提供服务的对象 B. 服务 C. 输入信息 D. 事件 13. ( D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 顺序图 14. ( D)是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 15. ( C ) 是表达系统的类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。

面向对象的分析过程

面向对象的分析过程 摘要 分析了面向对象技术应用于仿真领域的种种优点,亦即我们选择采用面向对 象的方法进行改造的原因。一些面向对象方法存在的不足。 关键词:仿真,面向对象,岸边集装箱起重机,训练器 面向对象的开发方法是以对象作为最基本的元素,它是分析问题、解决问题的核心。 面向对象=对象(Object) +分类(classification) +继承(inheritance) +通过消息的通信(communication with messages) 从下图中我们可以看出,面向对象的开发方法明显不同。 面向对象的仿真为仿真人员提供了开发模块化可重用的仿真模型的工具,它把系统看成由相互作用的对象所组成,而对象则往往表示现实系统中的真实实体。从而提高了仿真模型的可理解性、可扩充性和模块性,并且便于实现仿真与计算机图形和人工智能的结合。采用面向对象的方法,原因如下: 1.可理解性 面向对象仿真对设计者、实现者,以及最终用户来说都改进了仿真的可理解性。因为仿真系统中的对象往往直接表示现实系统中的真实实体,这些实体在面向对象的仿真系统中可以用外观上类似于人们熟悉的实际系统的对象的图形或图像来表示,用户可以通过图形界面与仿真模型进行交互,利用图形或图像来直接建立仿真模型,这对于熟悉实际系统的用户来说是很容易理解的。 2.可重用性和可扩充性 在面向对象的仿真中,可以建立起一个模型库用以保存以前建立的模型,模型库中的模型可以作为建立新模型的可重用构件,通过面向对象技术内在的继承机制可以容易地和系统地修改现有的对象(类)以创建新的对象。并且可以加入现有的类库中。类库提供了仿真建模所需要的一般设施。通过修改现有的类,可以建立各种应用中所需要的特殊对象。 3.模块性 面向对象的仿真是模块化,特殊的过程来寻找相应的信息,不会影响其它的对象。 4.图形用户界面

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

华南农业大学期末考试试卷(A卷)-答案 2007学年第1学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟 学号姓名年级专业 一、判断题(每题1分,共10分。对的标“T”,错的标“F”,将答案写入下表) 1. 一个状态图最多只能由一个初态和一个终态。(F) 2. 协作图中的消息必须要有消息顺序号。(T)

3. 两个参与者(actor)之间可以有包含(include)关系、扩展(extend)关系或泛化(generalization)关系,而包含关系和扩展关系是依赖(dependency)关系的版型。(F) 4. 参与者(actor)和用例(use case)之间的关系是关联(association)关系。(T) 5. 类A和类B之间的关系如图1所示,则称类B中的getName()方法是对类A中的 getName()方法的重载(overload)。(F) 图2 活动图 图1 getName()方法之间的关 系 6. 如图2所示,活动Gesture和Stream audio可以并发进行。(T) 7. 一个软件系统,如果只有源代码,缺乏其他相应的辅助文档,如缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。(F) 8. CMM描述了五个级别的软件过程成熟度,即初始级、可重复级、

已定义、已管理级、优化级。(T) 9. UML由用例视图、物理视图、组件视图、进度视图和配置视图组成。(F) 10. 在设计类图时,可以不用对类图中的每个关联进行命名,但如果需要命名的话,最好用一个“动词”给关联命名。(T) 二、单项选择题(每题2分,共30分。将正确答案填入下表) 1. 一个设计得好的OO系统具有(B) A. 低内聚、低耦合的特征 B. 高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D. 低内聚、高耦合的特征 2.下面()不是UML的基本构成元素。(A) A. 控制语言 B. 基本构造块 C. 规则 D. 公共机制 3. 面向对象的特点主要概括为(C)。 A. 可分解性、可组合性、可分类性 B. 继承性、封装性、多 态性

第07章 面向对象的分析和设计

软件工程 第7章面向对象的分析和设计

内容摘要 ?面向对象的基本概念 ?面向对象的分析和设计过程?UML概述 ?用例建模 ?静态建模 ?动态建模 ?物理体系结构建模

面向对象方法 ?面向对象软件开发方法(Object-Oriented Software Development)即OOSD,它是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。?其组成部分如下: –面向对象分析(OOA) –面向对象设计(OOD) –面向对象程序设计(OOP) 即:OOSD = OOA + OOD + OOP。

Peter Coad和Edward Yourdon提出用下列等式识认面向对象方法: 面向对象=对象(object) +分类(classification) +继承(inheritance) +通过消息的通信(communication with messages) 可以说,采用这四个概念开发的软件系统是面向对象的

?面向对象并非是一个新的概念,实际上它已有30多年的历史。寻其根源可追溯到60年代的挪威,当时挪威计算中心的Kristen Nygaard和Ole-Johan Dahl开发了一种称作Simula67的语言。Simula67首次引入了类、协同程序、子类(虽然 没有继承)和虚过程等概念,这很象今天的面向对象语言。 ?70年代中期,Xerox Palo Alto研究中心的研究人员Alan Kay团队设计了Smalltalk语言,该语言的每个元素都被当作一个对象来实现,其程序设计环境及相关的各个方面都是面向对象的。

面向对象分析与设计(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查询学生模块:该模块包括五个子模块

面向对象分析与设计(1)_答案

华南农业大学期末考试试卷(A卷)-答案学年第学期考试科目:面向对象分析与设计 考试类型:(闭卷)考试时间:120 分钟 学号姓名年级专业 一、选择题(24分) 说明:每题只有1个正确答案,请将正确答案填写在下面表格中。 二、判断题(10分) 判断下列类之间的相互关系,把相应编号填写在括号中。 A 整体-部分, B 一般-特殊, C 实例联接, D 都不是 ( A )1.大学–学院 ( C )2.学生–课程 ( B )3.学生–大一新生 ( A )4.汽车–车门 ( B )5.货车–交通工具 ( C )6.公共汽车–车站 ( A )7.工具条–按钮 ( D )8.汽车发动机–汽车车体 ( A )9.员工–公司 ( D )10.本科生–研究生

1.分析下面的类图,画出新的类图,将原图中的M:N(多对多)关系转换为1:M(一对多)关系。 2.问题描述:一个简单的下棋游戏,游戏双方称为黑方和白方。白方首先走第一步,然后黑白双方轮流走棋。如果有一方不能继续走棋,则另一方获得胜利,游戏结束;如果比方同意平局,则游戏结束。请画出该问题的状态图。 3.问题描述:某商店采用会员制管理,会员购买产品时,向收银员提供自己的会员卡和所购买的商品,收银员验证会员卡合法(通过在会员档案中查找会员卡号)后,将商品记录到商品销售表中,并将总金额作为会员积分记入会员档案中。请画出该问题的数据流图。

下列3种使用继承的类图中均存在错误,请给出正确的类图。1.关于飞机构成的设计: 2.关于学校教师的设计 3.关于队列的实现设计

考虑一个“通讯录管理系统”,通讯录包含若干条目,每个条目包括:姓名、电话、邮编、通信地址4个内容。对通讯录要求的操作包括:查找条目、增加条目、删除条目。对条目的要求是能够设置和获取其中的4个属性。系统要求对通讯录操作通过一个图形用户界面进行,该界面应该能名显示一个条目,进行编辑后将条目的属性写回到条目对象中。 1.经过初步分析,找到如下类,请用类图描述类之间的关系。 通讯录(TXL)、通讯录条目(TXLItem)、界面(UI) 2.如果要求在通讯录中不允许有姓名相同的条目,请画出“增加一个新的条目”功能的流程图。 没有标准答案,视学生分析问题情况给分。

相关主题