UML成绩管理系统Word文档下载推荐.docx
《UML成绩管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《UML成绩管理系统Word文档下载推荐.docx(32页珍藏版)》请在冰点文库上搜索。
4.5概念模型.............................................................................................
4.6概念模型作用.....................................................................................
4.7类图.....................................................................................................
4.8类的三个层次.....................................................................................
4.9如何建立关联.....................................................................................
4.10系统行为..........................................................................................
4.11图......................................................................................................
4.12契约...................................................................................................
4.13协作图...............................................................................................
4.14三层结构的优势................................................................................
5.面向对象分析与设计...................................................................................7
5.1用例图………………………………….............................................
5.2概念模型………………………….............................................…
5.3系统类..................................................................................................
5.4契约.....................................................................................................
5.6系统类图...............................................................................................
5.7状态图.................................................................................................
5.8系统组件图.............................................................................................
6.双向工程........................................................................................................
7.总结...............................................................................................................23
8.参考资料…………………………………….....................................................23
1.设计目的和任务
成绩管理系统以计算机为工具,通过成绩管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有有更多的精力来从事成绩管理的研究工作,从而全面提高教学质量。
1.1设计目的
要求本系统具有以下功能:
1)为每个使用系统的人员设置权限。
只有通过权限验证的人才能使用系统。
2)学生可以使用该系统查询所学课程的成绩。
3)教师使用该系统完成学生成绩的录入、修改、显示和打印。
4)管理员使用系统输入学生信息、教师信息、班级信息和课程信息。
1.2设计任务
在明确系统功能点后,按授课要求,请用面向对象分析设计的方法设计系统,参考RUP的流程,依次得出系统的参与者、用例图、概念模型、系统类并定义系统类操作的契约、协作图(请考虑三层架构的设计方式)、得出系统的类图、数据库表,对得出的各种UML图需要进行文字描叙。
2.开发环境
1.1硬件环境
计算机。
1.2软件环境
RathionalRose。
3.设计题目
3.1题目名称
成绩管理系统
3.2题目详细描述
成绩管理系统是一个基于成绩查询的系统,不同类型的用户在系统中有不同的权限。
主要有三种用户:
学生:
可以查询成绩。
教师:
主要负责成绩的录入和查询。
管理员:
主要负责将成绩信息增加,修改,删除,并导入数据库。
3.3功能要求
(1)系统总体的功能需求
学生成绩管理系统主要完成对学生在校成绩信息的管理,并能够将所需要的数据按照表格形式导出。
该系统可以完成对学生
成绩的录入、查询,也可以实现学生成绩的统计及打印等功能。
通过对系统的分析,可得出系统功能图(如图)。
(2)系统边界分析
该系统供学校教师与学生使用,教师可以录入成绩,管理并维护数据;
学生没有管理数据的权限,只能进行查询。
(3)系统功能性需求分析
对于教师(管理员),具有以下几种功能:
1学生个人信息管理
查询、添加、修改、删除、打印学生个人信息
2学生成绩管理
查询、添加、修改、删除、打印学生考试成绩
对于学生,具有以下几种功能:
查询个人信息,查询、打印、报错个人成绩
(4)系统功能性需求分析
性能需求:
开发系统性能稳定,不应出现操作上的失误而引起的系统关闭等。
安全性需求:
不同权限的操作人员只能操作某些功能,不可越权操作
人机交互需求:
操作人性化,用户比较舒适的使用系统,不可难于理解和复杂;
系统观感:
要求界面颜色搭配合理,不能单调或者过于绚丽;
经济效益:
要求开发周期不能超过半年,合理管理开发过程,不得造成浪费.
4.相关技术及知识点
4.1用例建模
用例建模是需求工程的一种形式,是抽取和文档化需求的补充方法
相对于“传统”SRS方法
用例是Jacobson在面向对象的软件工程中提出的,但它实际上是独立于面向对象的。
典型用例建模方法:
找出系统边界。
找出参与者。
找出用例(包括说明用例,创建场景)
4.2用例的定义
定义:
由系统执行的一个动作序列,并能产生可观测的结果值给特定的角色。
如:
从ATM机提取现金;
定购一个商品;
从学校选课系统注册选课;
从文本编辑器中检查一个文档的拼写错误;
用例命名:
(状语+)动词+(定语+)宾语
4.3构造用例图的步骤
1.确定系统的上下文:
1.1确定参与者与它们的责任;
1.2确定用例,即确定带有某种目的或产生特定结果的系统行为。
2.对参与者和用例进行权衡,以便精化模型,例如拆分和合并定义。
3.衡量用例以找出包含关系。
4.衡量用例以找出扩展关系。
5.对参与者和用例进行研究,查找是否存在泛化关系。
4.4RUP的核心工作流
(1)6个核心工程工作流:
需求工作流
分析和设计工作流
实现工作流
测试工作流
分发工作流
(2)3个核心支持工作流:
项目管理工作流
配置和变更控制工作流
环境工作流
4.5概念模型
概念模型:
展现了问题域中有意义的概念,是OOA中要得到的最重要的制品。
是真实世界中各个事物的代表,而不是软件中各个构件的代表。
概念模型包括:
1、一组概念;
2、概念之间的关联;
3、概念的属性;
4.6概念模型作用
概念模型的作用:
将问题域空间分解成小的单元(概念);
帮助澄清领域中的术语和词汇(有哪些重要术语、以及术语之间的关系如何)。
4.7类图
类图描述了系统中的类及其相互之间的各种关系。
类之间的关系表示了对象之间的通信能力。
类之间有三种关系:
-关联(包括聚合和组合)
-继承
-依赖
4.8类的三个层次
-Conceptual:
概念层。
描述问题域中的概念,不考虑或很少考虑实现上的细节-NoSoftware。
只考虑属性,在分析阶段使用。
-Specification:
说明层。
LookingintoSoftware,butonlyinterfaceofthesoftware,nottheimplementation.Onlytype,notclass。
增加操作定义,在设计阶段使用。
-Implementation:
实现层。
只有当使用某一具体技术进行设计时使用。
在设计阶段使用。
4.9如何建立关联
添加关联应细到什么程度
1、在建立概念模型时主要时间花费在识别问题域概念上,而不是识别关联上。
2、关联太多不仅不能有效展示概念模型,反而会使模型混乱。
3、概念模型概念间的关联是从纯分析角度声明有意义的概念间的联系,不需要考虑如何实现关联。
4、分析阶段得到的关联可能在设计阶段发现是无用的;
设计阶段有可能发现分析阶段遗漏了有些概念间的关联。
4.10系统行为
在进行系统逻辑设计之前,必须先调查系统的行为,即将系统看作一个黑盒子,描述系统要“做什么”,而不是“怎么做”。
定义系统行为的两种手段:
系统顺序图和契约。
4.11图
展示了一个特殊的用例场景中外部参与者发起的事件以及事件的顺序。
在顺序图中,所有的系统都被当成黑盒子对待,顺序图的重点是参与者发起的跨越系统边界的事件。
建立系统顺序图要依赖于前面已经建立起来的用例描述。
4.12契约
契约是一个文档,描述系统操作对系统状态的影响,属于系统行为建模的一部分。
契约强调发生了什么而不是怎么发生。
流程:
用例描述-》系统顺序图-》系统操作-》契约
契约文本描述中强调操作的职责和后置条件
实用的契约后置条件分为以下三类:
1、实例的创建和销毁。
2、属性的修改。
3、关联的形成和破裂。
后置条件的表达要符合概念模型的语境,通过后置条件能发现概念模型遗漏的概念、属性或关联,从而进行补充。
4.13协作图
1、每一个系统操作建立一张协作图,其中每个系统操作作为这张单独的图的起始消息。
2、若所绘出的图太复杂,那么可以将这个大图分成若干小图。
3、使用操作契约和契约的后置条件以及用例描述文档作为起点来设计系统。
识别对象、给对象分配职责、利用GRASP和系统模式来优化设计。
4.14三层结构的优势
1.便于统一安装和维护,客户端几乎零维护。
2.表示层、应用逻辑层、存储层比较独立,可以分别进行修改和升级。
3.便于组件共享和升级。
4.方便对应用逻辑单独进行升级和修改。
5.可以采用中间件技术,实现负载平衡。
6.在复杂情况下具有很高的运行效率和稳定性。
7.完整的事物处理能力和简单的编程接口。
8.简化应用逻辑的编程,不关心存储的细节。
5.面向对象分析与设计
5.1用例图
该系统共有三个用户,学生、教师与管理员,其用例模型如下图所示:
图5.1用例图
5.2概念模型
图5.2概念模型
5.3系统类
图5.3系统类
5.4系统协作图
在对系统分析与设计中,对分析阶段的模型进行扩展和细化,对分析阶段定义的类进一步扩充,通过定义新的类来处理技术方面的问题,并形成最后的UML模型。
进行详细设计的方法是对每个用例进行动态建模,动态建模是描述系统的行为,用来反映系统对象之间的动态关系。
描述如何通过类图中的对象协作实现用例中的功能。
前面建立的类往往随着动态建模
的深入,发现存在缺陷或不够完整,需要对分析中得到的域类图进行不断修正和调整,扩展形成业务逻辑包。
同时,随着对用户界面、数据库访问等技术实现的深入建模,不断建立新的用户界面类(如窗体、控件)和数据访问类,形成用户界面包和数据访问包。
用UML的动态建模主要是建立系统交互图和行为图。
其中交互图包括顺序图和协作图;
行为图则包括状态图和活动图。
关于用户界面包的类图比较简单,主要是通过界面设计,设计出窗体及控件等界面元素,并根据动态建模时需要涉及的用户界面访问动作,定义所引起的相关事件,这些方面都在窗体类中进行定义,并组成用户界面包类中进行定义。
动态建模通常采用的方法是使用UML中的顺序图描述用例,一个顺序图针对某个用例中的一个“场景”进行分析。
所谓“场景”
是指一个用例中事件发展的一条路线。
根据活动参与者的不同输入或行为,通常一个用例会有多个“场景”,也就需要分析出多个顺序图。
通过顺序图描述一个场景中各个对象之间所进行的通信,同时可以分析出系统中相应的类需要具备的操作,从而不断扩充和细化类的设计。
如果需要进一步描述类的状态变化情况和操作流程,可以使用UML中的状态图和活动图。
图4所示的是学生成绩管理系统中用户界面包用户登录的顺序图,图中是以时间为序表示了用户界面包登录的全部过程。
图5则是学生成绩管理系统中用户界面包用户登录的协作图。
图5.4.1教师添加学生个人信息时序图
图5.4.2教师修改学生个人信息协作图
5.5系统类图
根据需求建立系统的静态模型,构造系统的静态结构。
主要包括建立类图、对象图、包图、组件图和展开图等。
其中最主要的是建立系统的类图。
类图是用来描述系统中类的静态结构,它不仅定义类之间的联系,如关联、依赖、聚合等,还包括类的内部结构,如类的属性和操作等。
经过仔细分析,首先得到系统主要有以下的类:
管理员类、用户信息类、学生类、学生工作人员类、课程管理类、成绩管理类、用户管理类、课程选择类、录入类、查询类、统计类、发布信息类等。
学生成绩管理系统的主要类的属性描述为:
类“管理员”的属性有:
管理员代号、密码、备注等,以管理员代号为对象标识符。
类“用户信息”的属性有:
用户代号、密码、信箱、备注等,以用户代号为对象标识符。
类“学生”的属性有:
学号、姓名、性别、班级号、年级号、备注等,以学号为对象标识符。
类“学生工作人员”的属性有:
教师编号、姓名、性别、单位、单位编号等。
以教师编号和单位编号为对象标识符。
类“课程管理”的属性有:
课程号、课程名、主要内容、适用专业、先修课程、教研室编号、备注等,以课程号和教研室编号为对象标识符。
类“成绩管理”的属性有:
课程号、课程成绩、班级号、学年、学期号、课程名、教师名、总学时、学分、备注等,以班级号、学年、学期号和课程号为对象标识符。
类“课程选择”的属性有:
课程号、专业方向、学期号、课程类别、考试类别、考试方式、学分、总学时、讲课学时、上机学时、实验学时、课程设计周数、课程设计上机学时、生产实习周数、教学实习周数、毕业设计周数、备注等,以专业、学期号和课程号为对象标识符。
类“录入”的属性有:
课程名称、课程号、学年、学期号、成绩、备注等,以学年、学期号、班级号和课程名称为对象标识符。
类“查询”的属性有:
课程名称、课程号、学年、学期号、班级名称、学号、成绩、备注等,以学年、学期号、班级名称、学号和课程名称为对象标识符。
类“统计”的属性有:
课程名称、课程号、学年、学期号、班级名称、成绩、总分、平均分、等级、备注等,以学年、学期号、班级名称、学号和课程名称为对象标识符。
类“发布信息”的属性有:
通知编号、通知标题、通知分类、通知时间、通知内容、备注等,以通知编号为对象标识符。
在分析过程中详细地列举了系统中关键的类,为了进行类分析,需要充分理解用例模型,然后确定类的属性和操作。
最后确定系统的类与类之间的关系,并最终分析出学生成绩管理的静态类图(如图上图所示)。
5.6状态图
图5.6状态图
5.7系统组件图
图5.7系统组件图
5.8部署图
图5.8部署图
6.双向工程
1、实体类CStudentInfo
classCStudentInfo
{
private:
CStringStu_ID;
CStringStu_Name;
CStringStu_Sex;
CStringStu_Birthday;
CStringStu_Address;
public:
CStudentInfo();
virtual~CStudentInfo();
//获取对象属性
CStringGetStu_ID();
CStringGetStu_Name();
CStringGetStu_Sex();
CStringGetStu_Birthday();
CStringGetStu_Address();
//设置对象属性
voidSetStu_ID(CStringtemp);
voidSetStu_Name(CStringtemp);
voidSetStu_Sex(CStringtemp);
voidSetStu_Birthday(CStringtemp);
voidSetStu_Address(CStringtemp);
//若定义了某实例化对象,以下是对其进行数据库操作
voidDB_Insert();
//将该对象实例存储至数据库
voidDB_Delete();
//从数据库中删除该对象实例
intDB_Search();
//从数据库中查询该对象实例
};
CStudentInfo:
:
DB_Insert()向数据库中插入学生个人信息记录
voidCStudentInfo:
DB_Insert()
CDBConnectadoDB;
adoDB.OnInitDBConnect();
CStringstrSQL;
strSQL.Format("
INSERTINTOstudentinfo(学号,姓名,性别,出生日期,家庭住址)VALUES('
%s'
'
)"
Stu_ID,Stu_Name,Stu_Sex,Stu_Birthday,Stu_Address);
adoDB.ExecuteSQL(strSQL);
adoDB.ExitDBConnect();
}
DB_Delete()从数据库中删除学生个人信息记录
DB_Delete()
CDBConnecta