ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:357.54KB ,
资源ID:1164578      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1164578.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(UML成绩管理系统.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

UML成绩管理系统.docx

1、UML成绩管理系统软件系统建模与UML课程设计报告设计题目:成绩管理系统院系:专业:班级:学号:姓名:指导教师:设计地点:开课时间:常熟理工学院计算机科学与工程学院制学生姓名成绩评语:指导教师(签名)年月日目录1. 设计目的和任务.22. 开发环境.22.1 硬件环境.22.2 软件环境.33.设计题目.33.1 题目名称.33.2 题目详细描述.33.3 功能要求.34. 相关技术及知识点.44.1 用例建模.4.2 用例的定义.4.3构造用例图的步骤.4.4 RUP的核心工作流. 4.5概念模型. 4.6概念模型作用. 4.7类图. 4.8类的三个层次. 4.9如何建立关联. 4.10系统

2、行为. 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. 总结.238. 参考资料.23成绩管理系统1.设计目的和任务成绩管理系统以计算机为工具,通过成绩管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有有更多的精力来从事成绩管理的研究工作,从而全面提高教学质量。1.1设计目的要求本系统具有以下功能:1)为每个使用系统的人员设置权限。只有通过权限验证的人才能使用系统。2)学生可以使

3、用该系统查询所学课程的成绩。3)教师使用该系统完成学生成绩的录入、修改、显示和打印。4)管理员使用系统输入学生信息、教师信息、班级信息和课程信息。1.2设计任务 在明确系统功能点后,按授课要求,请用面向对象分析设计的方法设计系统,参考RUP的流程,依次得出系统的参与者、用例图、概念模型、系统类并定义系统类操作的契约、协作图(请考虑三层架构的设计方式)、得出系统的类图、数据库表,对得出的各种UML图需要进行文字描叙。2.开发环境1.1 硬件环境计算机。1.2 软件环境RathionalRose。3.设计题目3.1 题目名称 成绩管理系统3.2 题目详细描述成绩管理系统是一个基于成绩查询的系统,不

4、同类型的用户在系统中有不同的权限。主要有三种用户: 学生:可以查询成绩。 教师:主要负责成绩的录入和查询。 管理员:主要负责将成绩信息增加,修改,删除,并导入数据库。3.3 功能要求 (1)系统总体的功能需求学生成绩管理系统主要完成对学生在校成绩信息的管理, 并能够将所需要的数据按照表格形式导出。该系统可以完成对学生成绩的录入、查询, 也可以实现学生成绩的统计及打印等功能。通过对系统的分析, 可得出系统功能图( 如图) 。 (2)系统边界分析 该系统供学校教师与学生使用,教师可以录入成绩,管理并维护数据;学生没有管理数据的权限,只能进行查询。 (3)系统功能性需求分析对于教师(管理员),具有以

5、下几种功能:1 学生个人信息管理查询、添加、修改、删除、打印学生个人信息2 学生成绩管理查询、添加、修改、删除、打印学生考试成绩对于学生,具有以下几种功能:查询个人信息,查询、打印、报错个人成绩 (4)系统功能性需求分析性能需求:开发系统性能稳定,不应出现操作上的失误而引起的系统关闭等。安全性需求:不同权限的操作人员只能操作某些功能,不可越权操作人机交互需求:操作人性化,用户比较舒适的使用系统,不可难于理解和复杂;系统观感:要求界面颜色搭配合理,不能单调或者过于绚丽;经济效益:要求开发周期不能超过半年,合理管理开发过程,不得造成浪费. 4. 相关技术及知识点4.1 用例建模用例建模是需求工程的

6、一种形式,是抽取和文档化需求的补充方法相对于“传统”SRS方法用例是Jacobson在面向对象的软件工程中提出的,但它实际上是独立于面向对象的。典型用例建模方法:找出系统边界。找出参与者。找出用例(包括说明用例,创建场景)4.2 用例的定义 定义:由系统执行的一个动作序列,并能产生可观测的结果值给特定的角色。如: 从ATM机提取现金; 定购一个商品; 从学校选课系统注册选课; 从文本编辑器中检查一个文档的拼写错误;用例命名:(状语)动词(定语)宾语4.3构造用例图的步骤1.确定系统的上下文: 1.1 确定参与者与它们的责任; 1.2 确定用例,即确定带有某种目的或产生特定结果的系统行为。2.对

7、参与者和用例进行权衡,以便精化模型,例如拆分和合并定义。3.衡量用例以找出包含关系。4.衡量用例以找出扩展关系。5.对参与者和用例进行研究,查找是否存在泛化关系。4.4 RUP的核心工作流 (1)6个核心工程工作流: 需求工作流 分析和设计工作流 实现工作流 测试工作流 分发工作流 (2)3个核心支持工作流: 项目管理工作流 配置和变更控制工作流 环境工作流4.5概念模型 概念模型:展现了问题域中有意义的概念,是OOA中要得到的最重要的制品。是真实世界中各个事物的代表,而不是软件中各个构件的代表。概念模型包括:1、一组概念;2、概念之间的关联;3、概念的属性;4.6概念模型作用 概念模型的作用

8、:将问题域空间分解成小的单元(概念);帮助澄清领域中的术语和词汇(有哪些重要术语、以及术语之间的关系如何)。4.7类图 类图描述了系统中的类及其相互之间的各种关系。类之间的关系表示了对象之间的通信能力。类之间有三种关系: 关联(包括聚合和组合) 继承 依赖4.8类的三个层次 Conceptual:概念层。描述问题域中的概念,不考虑或很少考虑实现上的细节No Software。只考虑属性,在分析阶段使用。 Specification:说明层。Looking into Software,but only interface of the software, not the implementati

9、on. Only type, not class。增加操作定义,在设计阶段使用。 Implementation: 实现层。只有当使用某一具体技术进行设计时使用。在设计阶段使用。4.9如何建立关联 添加关联应细到什么程度 1、在建立概念模型时主要时间花费在识别问题域概念上,而不是识别关联上。 2、关联太多不仅不能有效展示概念模型,反而会使模型混乱。 3、概念模型概念间的关联是从纯分析角度声明有意义的概念间的联系,不需要考虑如何实现关联。 4、分析阶段得到的关联可能在设计阶段发现是无用的;设计阶段有可能发现分析阶段遗漏了有些概念间的关联。4.10系统行为 在进行系统逻辑设计之前,必须先调查系统的行

10、为,即将系统看作一个黑盒子,描述系统要“做什么”,而不是“怎么做”。定义系统行为的两种手段:系统顺序图和契约。4.11图展示了一个特殊的用例场景中外部参与者发起的事件以及事件的顺序。在顺序图中,所有的系统都被当成黑盒子对待,顺序图的重点是参与者发起的跨越系统边界的事件。建立系统顺序图要依赖于前面已经建立起来的用例描述。4.12契约 契约是一个文档,描述系统操作对系统状态的影响,属于系统行为建模的一部分。契约强调发生了什么而不是怎么发生。 流程: 用例描述系统顺序图系统操作契约 契约文本描述中强调操作的职责和后置条件实用的契约后置条件分为以下三类: 1、实例的创建和销毁。 2、属性的修改。 3、

11、关联的形成和破裂。后置条件的表达要符合概念模型的语境,通过后置条件能发现概念模型遗漏的概念、属性或关联,从而进行补充。4.13协作图1、每一个系统操作建立一张协作图,其中每个系统操作作为这张单独的图的起始消息。2、若所绘出的图太复杂,那么可以将这个大图分成若干小图。3、使用操作契约和契约的后置条件以及用例描述文档作为起点来设计系统。识别对象、给对象分配职责、利用GRASP和系统模式来优化设计。4.14三层结构的优势 1便于统一安装和维护,客户端几乎零维护。 2表示层、应用逻辑层、存储层比较独立,可以 分别进行修改和升级。 3便于组件共享和升级。 4方便对应用逻辑单独进行升级和修改。 5可以采用

12、中间件技术,实现负载平衡。 6在复杂情况下具有很高的运行效率和稳定性。 7完整的事物处理能力和简单的编程接口。 8简化应用逻辑的编程,不关心存储的细节。5. 面向对象分析与设计 5.1 用例图该系统共有三个用户,学生、教师与管理员,其用例模型如下图所示:图5.1 用例图5.2 概念模型图5.2 概念模型5.3 系统类图5.3 系统类5.4 系统协作图在对系统分析与设计中, 对分析阶段的模型进行扩展和细化, 对分析阶段定义的类进一步扩充, 通过定义新的类来处理技术方面的问题, 并形成最后的UML 模型。进行详细设计的方法是对每个用例进行动态建模, 动态建模是描述系统的行为, 用来反映系统对象之间

13、的动态关系。描述如何通过类图中的对象协作实现用例中的功能。前面建立的类往往随着动态建模的深入, 发现存在缺陷或不够完整, 需要对分析中得到的域类图进行不断修正和调整, 扩展形成业务逻辑包。同时, 随着对用户界面、数据库访问等技术实现的深入建模, 不断建立新的用户界面类( 如窗体、控件) 和数据访问类, 形成用户界面包和数据访问包。用UML 的动态建模主要是建立系统交互图和行为图。其中交互图包括顺序图和协作图; 行为图则包括状态图和活动图。关于用户界面包的类图比较简单, 主要是通过界面设计, 设计出窗体及控件等界面元素, 并根据动态建模时需要涉及的用户界面访问动作, 定义所引起的相关事件, 这些

14、方面都在窗体类中进行定义, 并组成用户界面包类中进行定义。动态建模通常采用的方法是使用UML 中的顺序图描述用例, 一个顺序图针对某个用例中的一个“场景”进行分析。所谓“场景”是指一个用例中事件发展的一条路线。根据活动参与者的不同输入或行为, 通常一个用例会有多个“场景”, 也就需要分析出多个顺序图。通过顺序图描述一个场景中各个对象之间所进行的通信, 同时可以分析出系统中相应的类需要具备的操作, 从而不断扩充和细化类的设计。如果需要进一步描述类的状态变化情况和操作流程, 可以使用UML 中的状态图和活动图。图4 所示的是学生成绩管理系统中用户界面包用户登录的顺序图, 图中是以时间为序表示了用户

15、界面包登录的全部过程。图5 则是学生成绩管理系统中用户界面包用户登录的协作图。图5.4.1教师添加学生个人信息时序图 图5.4.2教师修改学生个人信息协作图5.5 系统类图根据需求建立系统的静态模型, 构造系统的静态结构。主要包括建立类图、对象图、包图、组件图和展开图等。其中最主要的是建立系统的类图。类图是用来描述系统中类的静态结构, 它不仅定义类之间的联系, 如关联、依赖、聚合等, 还包括类的内部结构, 如类的属性和操作等。经过仔细分析,首先得到系统主要有以下的类: 管理员类、用户信息类、学生类、学生工作人员类、课程管理类、成绩管理类、用户管理类、课程选择类、录入类、查询类、统计类、发布信息

16、类等。学生成绩管理系统的主要类的属性描述为:类“管理员”的属性有: 管理员代号、密码、备注等, 以管理员代号为对象标识符。类“用户信息”的属性有: 用户代号、密码、信箱、备注等, 以用户代号为对象标识符。类“学生”的属性有: 学号、姓名、性别、班级号、年级号、备注等, 以学号为对象标识符。类“学生工作人员”的属性有: 教师编号、姓名、性别、单位、单位编号等。以教师编号和单位编号为对象标识符。类“课程管理”的属性有: 课程号、课程名、主要内容、适用专业、先修课程、教研室编号、备注等, 以课程号和教研室编号为对象标识符。类“成绩管理”的属性有: 课程号、课程成绩、班级号、学年、学期号、课程名、教师

17、名、总学时、学分、备注等, 以班级号、学年、学期号和课程号为对象标识符。类“课程选择”的属性有: 课程号、专业方向、学期号、课程类别、考试类别、考试方式、学分、总学时、讲课学时、上机学时、实验学时、课程设计周数、课程设计上机学时、生产实习周数、教学实习周数、毕业设计周数、备注等, 以专业、学期号和课程号为对象标识符。类“录入”的属性有: 课程名称、课程号、学年、学期号、成绩、备注等, 以学年、学期号、班级号和课程名称为对象标识符。类“查询”的属性有: 课程名称、课程号、学年、学期号、班级名称、学号、成绩、备注等, 以学年、学期号、班级名称、学号和课程名称为对象标识符。类“统计”的属性有: 课程

18、名称、课程号、学年、学期号、班级名称、成绩、总分、平均分、等级、备注等, 以学年、学期号、班级名称、学号和课程名称为对象标识符。类“发布信息”的属性有: 通知编号、通知标题、通知分类、通知时间、通知内容、备注等, 以通知编号为对象标识符。在分析过程中详细地列举了系统中关键的类, 为了进行类分析, 需要充分理解用例模型, 然后确定类的属性和操作。最后确定系统的类与类之间的关系, 并最终分析出学生成绩管理的静态类图( 如图上图所示) 。5.6 状态图图5.6 状态图5.7 系统组件图图5.7 系统组件图5.8部署图图5.8 部署图6. 双向工程1、实体类CStudentInfoclassCStud

19、entInfoprivate: 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(CStr

20、ing temp); voidSetStu_Name(CString temp); voidSetStu_Sex(CString temp); voidSetStu_Birthday(CString temp); voidSetStu_Address(CString temp); /若定义了某实例化对象,以下是对其进行数据库操作 void DB_Insert();/将该对象实例存储至数据库 void DB_Delete();/从数据库中删除该对象实例 intDB_Search();/从数据库中查询该对象实例;CStudentInfo:DB_Insert() 向数据库中插入学生个人信息记录voi

21、dCStudentInfo:DB_Insert() CDBConnectadoDB; adoDB.OnInitDBConnect(); CStringstrSQL; strSQL.Format(INSERT INTO studentinfo(学号,姓名,性别,出生日期,家庭住址) VALUES(%s,%s,%s,%s,%s), Stu_ID,Stu_Name,Stu_Sex,Stu_Birthday,Stu_Address); adoDB.ExecuteSQL(strSQL); adoDB.ExitDBConnect();CStudentInfo:DB_Delete()从数据库中删除学生个人信息记录voidCStudentInfo:DB_Delete() CDBConnecta

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2