面向对象程序分析与设计30
面向对象程序设计之设计原则与方法

面向对象程序设计之设计原则与方法面向对象程序设计是一种先进的程序设计范式,关键在于建立一个具有自主行为和自我描述能力的程序体系结构,它可以非常自然的模拟现实世界中的对象和关系,提升程序的可读性、可扩展性和可维护性,其重要性不言而喻。
在面向对象的程序设计中,设计原则和设计方法是非常重要的,以下是我对其的理解和分析。
一、设计原则设计原则是设计过程中最重要的指导方针。
它可以帮助开发人员做出更好的设计决策,确保程序具有高内聚性和低耦合性,以此提高程序的可扩展性、可维护性和可重用性。
下面是一些常用的面向对象设计原则:1. 单一职责原则(Single Responsibility Principle,SRP)单一职责原则是指一个类、模块或者函数只负责一项任务。
这样做可以降低类的复杂度,提高代码的可读性,方便代码的维护和修改。
2. 开放-封闭原则(Open-Closed Principle,OCP)开放-封闭原则是指一个软件实体(类、模块或函数等)应该对扩展开放,对修改关闭。
也就是说,在不修改现有代码的情况下,可以通过增加新的代码来扩展软件的功能。
3. 里氏替换原则(Liskov Substitution Principle,LSP)里氏替换原则是指如果一个软件实体使用了另一个软件实体,那么它们应该是可以互换的。
也就是说,子类可以替换父类出现在程序中的任何地方,并保证程序的功能正确性。
4. 依赖倒置原则(Dependency Inversion Principle,DIP)依赖倒置原则是指高层模块不应该依赖低层模块,二者都应该依赖抽象。
同时,抽象不应该依赖细节,细节应该依赖抽象。
这样做可以降低模块之间的耦合度,提高代码的可维护性和可重用性。
5. 接口隔离原则(Interface Segregation Principle,ISP)接口隔离原则是指一个类不应该依赖一个它不需要的接口。
也就是说,一个接口应该只提供它的客户端需要的方法,而不应该强迫它们实现它们不需要的方法。
面向对象分析与设计练习题及参考答案

《面向对象分析与设计》练习题及参考答案一、思考题:1. How many phases are included in system development? (brief description)2. Describe a system and the components of a system model.3. What two key components distinguish an information system from an automated information system?4. What is systems analysis and design?5. Who are the six stakeholder groups in information systems?6. What are a system designer’s and system builder’s roles in information systems development?7. What is the system analyst role in systems development as it related to the other stakeholders?8. List the six steps of the general problem-solving approach.9. List two types of quality certification applicable to information systems.10. What are legacy systems? Name two types of problems encountered in legacy systems.11. What is ERP? What is electronic commerce?12. Differentiate between management information systems and decision support systems.13. What role dose a data warehouse play in a decision support system?14. List three focuses for an information systems.15. What is the role of the network in information systems?16. 面向过程的系统分析与设计存在的问题是什么?通过什么OO技术来解决?17. 请画图说明面向对象系统的基本构造。
面向对象分析与设计-模拟题

面向对象分析与设计模拟题一、单选题1.下面描述中()不是使用软件模型的目的.A.可以更好地理解问题B.可以更早地发现错误或疏漏的地方C.可以为最后代码的生成提供依据D.在开发过程中使用面向对象方法[答案]:D2.关于参与者的说法中错误的是().A.参与者是与目标系统交互的人或物B.参与者可以是实际的人,也可以是外部设备,外部系统等C.参与者是用例图的重要组成部分,因此它是目标系统的组成部分D.参与者之间可以存在一定的关系[答案]:C3.状态图中不能表示的概念有().A.动作B.类C.转移D.事件[答案]:B4.计算机(Computer)由中央处理器,内存,软盘,硬盘,显示器,键盘,鼠标等组成.那么Computer类和其它类(CPU,RAM,FloppyDrive,HardDisk,Monitor,Keyboard,Mouse)之间的关系是().A.泛化关系(Generalization)B.实现关系(Realization)C.包含关系(Inclusion)D.聚集关系(Aggregation)[答案]:D5.()是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图,协作图和其他图的基础.A.对象图B.组件图C.类图D.配置图[答案]:C6.继承反映了类间的一种层次关系,而()反映了一种整体与部分的关系.A.继承B.组合C.封装D.多态[答案]:B7.不属于UML结构物件的是().A.交互B.类C.用例D.组件[答案]:A8.内聚表示一个模块()的程度.A.可以被更加细化B.能够适时地完成其功能C.仅关注在一件事情上D.联接其他模块和外部世界[答案]:C9.需求规格说明描述().A.基于计算机系统的功能,性能和约束B.每个子系统的实现C.软件体系结构元素D.系统使用说明[答案]:A10.以下对UML的描述中,正确的是().A.UML是一种软件过程方法B.UML是一种面向对象分析和设计方法C.UML是一种面向对象设计原则D.UML是一种标准化建模语言[答案]:D11.在顺序图中,第一个消息往往由()发出.A.边界对象B.参与者C.实体对象D.生命周期对象[答案]:B12.描述系统架构的建模元素不包括().A.类B.包C.子系统D.包间的依赖关系[答案]:A13.对下图的描述中,错误的是().A.image.java实现了ImageObserver接口B.image.java请求了ImageObserver接口ponent.java实现了ImageObserver接口D.image.java只能通过ImageObserver接口访问component.java [答案]:A14.()对系统的业务数据和业务逻辑进行封装.A.控制对象B.边界对象C.实体对象D.生命周期对象[答案]:C15.不属于敏捷过程特征的是().A.迭代性B.自适应C.过程化开发D.轻量级[答案]:C16.下列事物中一般不是目标系统的外部参与者的是().A.人B.外部设备C.外部系统D.数据存储[答案]:D17.根据下面的代码,可以确定类A与类B之间存在()关系. public class A {private B theB;public void aMethod(){ theB.doSomthing(); }}A.关联B.泛化C.实现D.包含[答案]:A18.面向对象的特点主要概括为().A.可分解性,可组合性,可分类性B.继承性,封装性,多态性C.抽象性,继承性,封装性,多态性D.封装性,易维护性,可扩展性,可重用性[答案]:C19.下面那个图符表示UML中的实现关系?().A.B.C.D.[答案]:C20.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构.A.组件图B.协作图C.状态图D.配置图[答案]:D21.关于用例与类的对比中()是错误的.A.都属于模型结构元素B.都存在继承关系C.类描述系统的部分静态视图,用例描述系统动态的行为视图D.类描述的是系统的内部构成,用例也可以描述系统的内部构成[答案]:D22.描述对象之间静态联系的是().A.一般-特殊结构B.整体-部分结构C.实例链接D.消息连接[答案]:C23.()可以帮助人们简单方便地复用已经成功的设计或体系结构.A.商业组件B.逆向工程C.设计模式D.需求规格说明[答案]:C24.一个设计得好的面向对象系统具有()特征.A.低内聚,低耦合B.高内聚,低耦合C.高内聚,高耦合D.低内聚,高耦合[答案]:B25.耦合表示一个模块()的程度.A.可以被更加细化B.能够适时地完成其功能C.仅关注在一件事情上D.联接其他模块和外部世界[答案]: D26.在一个课程注册系统中,定义了类CourseSchedule和类Course,其中类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则这两个类之间的关系是().A.泛化关系B.组合关系C.依赖关系D.包含关系[答案]: C27.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存,不可分割的整体来处理.A.信息B.数据隐藏C.对数据的操作D.数据抽象[答案]:C28.()是从用户使用系统的角度描述系统功能的图形表达方法.A.类图B.对象图C.序列图D.用例图[答案]:D29.采用面向对象技术开发的应用系统的特点是().A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂[答案]:A30.多态性出现在具有()结构的类之间.A.整体-部分B.一般-特殊C.实例链接D.消息连接[答案]:B。
面向对象程序设计完整版

Object- Oriented ProgrammingC++主讲成长生东华大学计算机科学与技术学院第一章概述§1.1 面向对象程序设计的基本思想C++是基于C语言发展的, 又冲破C语言局限的面向对象的程序设计语言。
它与Java语言都作为当前计算机科学的主流语言, 越来越受到用户的欢迎。
要弄清楚什么是面向对象的程序设计, 首先了解和回顾传统的( Pascal( 或C) ) 结构化程序设计方法及其设计思想、程序结构及特点。
SP(Structure Programming)是60年代诞生的针对当时爆发的所谓”软件危机”, 为此发展形成了现代软件工程学的基础。
SP的总的设计思想是:.自顶向下、层次化.逐步求精、精细化程序结构是按功能划分基本模块的树型结构, 使模块间的关系尽可能简单独立。
因此SP的程序的基本特点是:.按层次组织模块( 战略上划分战役).每一模块只有一个入口, 一个出口.代码和数据分离( 程序=数据结构+算法)归纳得到: SP把数据和过程( 代码、函数) 分离为相互独立的实体, 用数据代表问题空间中的客体借以表示实际问题中的信息; 程序代码则用来处理加工这些数据。
程序员在编程时, 必须时刻考虑所要处理的数据结构和类型。
对不同的数据格式即使要作同样的处理计算, 或者要对相同的数据格式作不同的处理都必须编写不同的程序( 如两个整型数和两个浮点数相加) 。
这样的编程方法, 即传统的SP方法设计出来的程序或系统其可重用的成分很少。
其次把数据和代码作为不同的分离实体时, 总存在着用错误的数据调用正确的程序模块, 或用正确的数据调用错误的程序模块的危险, 从而使数据与程序始终保持兼容, 已成为程序员的一个沉重的负担。
在开发一个大型软件课题中, 当工程进入到后期若用户改变了方案要求, 很容易使技术人员的前期工作受到摧毁性的打击, 使其前功尽弃。
为克服以上的弊端或者该SP方法难以控制处理的矛盾而产生了面向对象程序设计方法, 即Object -Oriented Programming――OOP。
面向对象程序设计步骤

面向对象程序设计步骤面向对象程序设计(Object-Oriented Programming,简称OOP)是一种程序设计方法论,它以对象(实例)为中心,通过封装、继承和多态等特性,使得程序的设计更加模块化、可维护、可复用。
下面将介绍面向对象程序设计的步骤。
1. 分析需求面向对象程序设计的第一步是分析问题,并明确程序的需求。
这可以通过与客户或用户交流,深入了解问题的本质和功能需求,从而为后续的设计提供参考。
2. 定义类与对象在面向对象程序设计中,类是创建对象的模板。
程序的下一步是定义类,包括类名、属性和方法等。
类的属性是描述对象特征的变量,方法是描述对象行为的函数。
3. 建立关系面向对象程序设计的核心是建立类与类之间的关系。
关系包括继承、组合和关联等。
继承是指一个类可以继承另一个类的属性和方法,从而实现代码的复用。
组合是指一个类包含其他类的对象作为属性。
关联是指一个类与另一个类有某种关系,可以通过对象间的引用进行交互。
4. 设计方法在定义类的过程中,需要设计类的方法。
方法是描述对象行为的函数,可以通过方法来操作类的属性,实现对对象的控制和交互。
5. 编写代码在设计完类和方法后,开始编写程序的代码。
代码的编写需要按照语言的语法规则和设计模式来,同时要注意代码的规范性和可读性,以便后续的测试和维护。
6. 测试与调试编写完代码后,需要进行测试与调试。
测试可以通过创建多个对象,调用类的方法,验证程序的正确性和运行效果。
如果发现问题,需要进行调试,逐步排查错误并进行修复。
7. 优化与重构在测试和调试的过程中,可能会发现程序存在性能问题或代码不够优雅的情况。
这时需要进行优化和重构。
优化是指通过改进算法或结构,提升程序的性能和效率。
重构是指通过修改代码结构和逻辑,提高代码的可读性和可维护性。
8. 文档撰写最后一步是撰写程序的文档。
文档可以包括需求分析、设计思路、类和方法的说明等。
文档的撰写有助于后续的团队协作和项目维护。
面向对象程序设计课程描述

面向对象程序设计课程描述一、课程概述面向对象程序设计是计算机科学中的一个重要分支,它是一种编程范式,通过把数据和操作封装在对象中,实现程序的模块化和复用。
本课程旨在帮助学生掌握面向对象程序设计的基本概念、原则和技术,并能够运用所学知识设计、实现和维护高质量的面向对象程序。
二、课程内容1. 面向对象基础介绍面向对象编程的基本概念,包括类、对象、继承、多态等。
讲解如何使用类定义数据类型,并通过封装、继承和多态等机制来实现代码复用和灵活性。
2. 面向对象设计原则介绍常见的面向对象设计原则,包括单一职责原则、开放封闭原则、里氏替换原则等。
讲解如何根据这些原则进行系统架构设计和代码编写。
3. 面向对象分析与设计介绍面向对象分析与设计方法,包括UML建模语言和常用建模工具。
讲解如何使用UML图形化表示系统需求和结构,并通过UML类图来描述系统组成部分及其相互关系。
4. 面向对象编程语言介绍面向对象编程语言的特点和常见语言的使用,包括Java、C++、Python等。
讲解如何使用这些语言实现面向对象程序设计,并介绍常用的开发工具和框架。
5. 面向对象设计模式介绍常见的面向对象设计模式,包括工厂模式、单例模式、观察者模式等。
讲解如何根据不同场景选择合适的设计模式,并通过实例演示如何应用。
三、教学方法1. 理论讲授老师将通过课堂讲解和PPT展示,系统全面地介绍课程内容和案例分析,帮助学生理解相关概念和原理。
2. 实践操作课程中将安排一定量的编程实践环节,帮助学生巩固所学知识并提高编程能力。
实践环节将涉及到面向对象程序设计的各个方面,包括类定义、封装、继承、多态等。
3. 课程项目本课程将安排一个小型项目作为期末考核,要求学生运用所学知识完成一个具有一定规模和复杂度的面向对象程序,并在最后一次课堂上进行演示和评分。
四、评分方式1. 平时成绩包括课堂出勤、作业完成情况、实验报告等,占总成绩的30%。
2. 期中考试考察学生对课程内容的掌握程度,占总成绩的30%。
《面向对象程序设计》知识点

《面向对象程序设计》知识点《面向对象程序设计》是计算机科学中的重要概念,它是一种软件开发方法,将软件模型作为一个系统的集合来设计、分析和实现。
本文将重点介绍面向对象程序设计中的关键知识点,包括面向对象的基本概念、类与对象、继承与多态、封装和抽象等内容,以便读者全面了解和掌握面向对象程序设计的核心概念和方法。
一、面向对象的基本概念1. 面向对象编程的起源:面向对象编程(Object-Oriented Programming,简称OOP)起源于20世纪60年代,是一种基于对象的软件开发范式,它将数据和操作数据的方法组合到一个对象中,以及通过对象之间的交互来完成程序的设计。
2. 面向对象的特征:面向对象的程序设计具有封装、继承和多态的特征。
封装指的是将数据和处理数据的方法封装在对象中,继承指的是子类可以继承父类的属性和方法,多态指的是同一操作作用于不同对象上时可以有不同的行为。
3. 面向对象的优势:面向对象的程序设计具有代码复用性高、可维护性强、扩展性好、可靠性高等优势,可以提高程序的设计效率和质量。
二、类与对象1. 类的定义:类是一种抽象数据类型,用来描述具有相同属性和行为的对象的集合。
类用来创建对象的模板,包含数据成员和成员函数。
2. 对象的创建:对象是类的一个实例,是具体的数据和行为的封装体。
通过类实例化,可以创建多个对象来表示真实世界的实体。
3. 类的成员:类包含数据成员和成员函数。
数据成员表示对象的属性,成员函数表示对象的行为,可以进行数据的操作和处理。
三、继承与多态1. 继承:继承是指一个新类从现有类中派生出来,并且拥有现有类的属性和行为。
继承可以实现代码的复用,并且可以建立类之间的关系。
2. 多态:多态是指同一操作作用于不同对象上时可以有不同的行为。
多态通过虚函数和动态绑定实现,可以使程序具有更好的灵活性和扩展性。
四、封装和抽象1. 封装:封装是指将数据和数据的操作封装在类的内部,外部无法直接访问和修改类的数据。
UML面向对象分析与设计教程教学设计

UML面向对象分析与设计教程教学设计一、教学目标本课程主要围绕UML(Unified Modeling Language)面向对象分析与设计进行讲解,旨在通过理论与实践相结合的方式,帮助学生掌握UML的基础知识与应用技能。
具体教学目标如下:1.理解UML的基本概念与模型图。
2.掌握UML的常用建模技术和表示方法。
3.熟悉在实际项目中使用UML进行分析和设计的流程。
4.能够设计并完成一个以UML为基础的面向对象程序。
二、教学内容本课程的教学内容主要为以下几个方面:1. UML基础知识介绍介绍UML的历史和起源、UML的基本概念、UML的模型图和UML的标准化等内容,使学生能够全面了解UML的相关知识体系和构成。
2. UML的常用建模技术和表示方法包括以下内容:(1) 用例图介绍用例图的概念、组成和绘制方法;让学生掌握如何使用用例图来描述系统的功能和特色。
(2) 类图介绍类图的概念、组成和绘制方法;让学生掌握如何使用类图来描述系统的类和类之间的关系。
(3) 时序图介绍时序图的概念、组成和绘制方法;让学生掌握如何使用时序图来描述系统的行为和交互。
(4) 活动图介绍活动图的概念、组成和绘制方法;让学生掌握如何使用活动图来描述系统的过程和流程。
3. UML的应用实例分析选取一个实际项目,通过分析和设计,让学生深入了解UML在实际项目中的应用。
具体内容包括:(1) 需求分析让学生了解需求分析的过程和UML在需求分析中的应用,帮助学生掌握如何通过UML建立系统的用例图和用户需求。
(2) 设计分析介绍UML在设计分析中的应用,包括类图、时序图和活动图,并让学生通过实例进行练习,掌握如何使用UML来表达系统的结构和行为。
4. UML程序设计实战让学生根据上述所学知识,设计一个以UML为基础的面向对象程序,并进行程序的编写和调试;让学生通过实践,深入理解UML在程序设计中的应用,提高实践能力。
三、教学方法本课程的教学方法主要分为以下几种:1. 课堂讲授通过课堂讲授方式,对UML的基础知识进行介绍和解释,解析每种建模技术的原理、方法和应用,让学生掌握理论知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前置条件:考试者登录到考试系统
后置条件:存储学生考试信息
包含用例:选择科目、登录系统
2)查看答案的用例描述
用例名称:查看答案
用例描述:当学生查看考试过的试题的答案的时候这个用例开始。它主要返回学生考试试题的答案,当学生结束查看的时候这个用例就结束了。
参与者:考试者
前置条件:考试者登录到考试系统并且进行了考试
在线考试系统类图如下:
图7:类图
通过这一周的课程设计,我收获了很多。在动手做之前我上网找了些资料,
虽然没发现相同的东西,只找到了需求分析。不过就这些也给了我许多帮助,它给了我设计思路和灵感。在实际画图过程中,我发现了许多问题,有些是没遇到过的,有些是遗忘了的,不过通过和同学交流以及请教老师,都及时的克服了。这次的课程设计部仅锻炼了我的实际操作能力,还使我回顾了理论知识。所以,总的来说,这次课程设计还是很有收获的。
对管理员来说,包括试卷管理、题库管理、成绩管理。
1)试卷管理:管理员可以从课程,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则,。同时,管理员还可以对库中已有的试卷进行修改和删除,添加新试卷等。
2)题库管理:管理员可以对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括判断题、填空题、选择题;对于每种类型的试题,教师可以设置题干、答案等属性。
软件学院
课程设计报告书
课程名称面向对象程序分析与设计
设计题目在线考试系统
专业班级
学号
姓名
指导教师
2013年6月
目录
1设计时间2
2设计目的2
3设计任务2
4设计内容2
4.1设计内容概述2
4.1.1组织机构介绍3
4.1.2业务流程3
4.2需求分析4
4.2.1用例图6
4.2.2用例描述7
4.3软件设计8
4.3.1用例实化8
针对在线考试系统的活动图如图所示:
图1:活动图
本系统的用户可分为管理员和普通用户两类。
本系统共分成两个界面:一个界面用于管理员登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;另外一个界面用于普通用户登录,主要负责在线考试、查询以往考试成绩留言和在线交流等。
从总体上考虑,系统应该实现下列功能:
国内教育相关单位与学校目前正积极致力于发展网络教学的平台,将教学内容数字化,提供学生多种学习渠道和提升教学质量。然而网络教学相关的软件,特别是在线考试或练习的软件仍不多见。为了辅助网络教学与衡量学习的成效,本文设计一个在线考试系统,让老师能利用此系统进行在线测验,并可管理和制定试卷,以及计算和查询考试成绩,以考察学生的学习成效,并降低举办考试所需的时间与成本。
现阶段在线考试己成为各单位研究与开发的热点,且市场上出售的网上考试系统种类繁多。但国内外已有的网上考试系统主要面向某一单科标准化试题的考核,没有真正通用的集自动组卷、在线答卷、自动评卷、成绩管理与统计分析、科目管理、题库管理、用户管理、记录查询于一体的综合考试系统。在线考试利用计算机对建成的试题库按照组卷算法抽取试题,并组成符合要求的试卷,是实现考试规范化和科学化的有效手段引。
2.3)题库管理:题型包括单选题,多选题,判断题,简答题,设计题6种,每种题型包括对试题的添加和维护。
2.4)用户管理:添加用户,对用户信息的维护等。
2.5)成绩管理:查看学生成绩,把成绩导出到Excel等。
2.6)试卷管理:设置参数由系统自动生成试卷,试卷的维护,设置试卷是否可用,设置考试时间等功能。
包含用例:登录系统
3)添加考试题目的用例描述
用例名称:添加考试题目
用例描述:当老师需要往某个科目天骄考试题目的时候这个用例开始。它主要处理老师了。
参与者:管理者
前置条件:管理者登录到管理系统
包含用例:选择考试题目类型
和合作图、活动图一样,UML顺序图( Rumbaugh、Jacobson、和booch, 1999)是一种动态建模方法。UML顺序图一般用于:确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分,或是一条备选线路;一个贯穿单个用例的完整流程,例如动作基本过程的逻辑描述,或是动作的基本过程的一部分再加上一个或多个的备用情境的逻辑描述。研究你的设计,因为它们为你提供了一种方式,你可以使用这种方式来可视化的调用类定义的操作。检测面向对象的设计中的瓶颈。通过观察什么消息被发送给一个对象,以及通过概略的观察运行被调用的方法需要花费多长时间,你很快就能了解那里的设计需要变化,以达到在系统内部平衡负荷的目的。
本课程设计以为待开发系统建立系统模型为基础,以下给出若干系统的描述,请根据给出的系统的基本需求,经过详细需求分析和系统地总体设计与详细设计,画出以下几种模型图:用例图,类图,活动图,顺序图,状态图。
在线考试系统
在线考试方式利用网络进行无软盘,无纸化的在线考试,大大提高考试的可靠性,有效行,降低考试成本,提高工作效率。
[1]王少峰.UML面向对象技术[M].第1版,北京:清华大学出版社,2012
[2] UML初学者指南(美)Maksimchuk,人民邮电出版社。
[3] UML精粹:标准对象语言简明指南(美)Martin Fowler,清华大学出版社。
[4] UML2.0实战--项目开发指地南(瑞士)Grassle,P等著。
将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类。
用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
在线考试用例图如下:
图3:考试者用例图
图4:管理员用例图
1)考试用例的用例描述
用例名称:考试
用例描述:当学生在线考试的时候这个用例开始。它处理学生的考试,做题答案,当学生提交答案的时候这个用例就结束了。
在线考试系统的顺序图如下
图5:顺序图
在线考试系统的协作图:
图6:协作图
类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。
类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。
[5] UML系统分析设计--印度优秀IT职业教育教学用书,高等教育出版社。
出勤
情况
缺勤次数:
课程
设计
评估
设计成绩
教师签字
4.3.2业务逻辑类图10
5总结与展望11
参考文献12
课程设计成绩评定12
2013年6月8日-2013年6月14日
本课程设计是学生学习完《面向对象程序分析与设计》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握UML建模原理及实现方法,加深对UML建模基础理论的理解,加强学生的动手能力。
活动图(activity diagram,动态图)是阐明了业务用例实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。
系统基本需求:
1)考试者:
1.1)系统登录
1.2)选择不同科目进行考试
1.3)进行在线考试
1.4)考试结束得到自己成绩
1.5)查看试卷答案
1.6)自身账户管理(所做过的所有试卷及成绩,修改密码等)
2)管理员:
2.1)管理员登录:管理员维护系统的入口。
2.2)考试科目的管理:添加考试科目,修改,删除考试科目。
图2:系统功能层次图
用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。
3)成绩管理:管理员可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。
4)学生管理:管理员可以对用户的资料进行查询、删除。
对考试者来说,包括在线考试、查询以往考试成绩、留言和在线交流等。
1)在线考试:学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。
2)查询以往考试成绩:学生可以在线查询以前参加过的每门课程的考试相关信息。
3)留言板:学生提交对系统的留言信息。
4)聊天室:学生相互交流学习心得和研究疑难问题。
线考试系统大致可分为登录模块,用户管理模块,题库管理模块和成绩统计模块,系统管理四个主要模块。其中,用户管理模块和成绩管理模块是系统后台数据库的重点。系统功能层次图如下: