版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件体系结构课程设计项目名称:学生选课系统 小组成员:陈雪枫、张永尉、陈竟、曾诚 指导教师:尤川川开始日期: 2010 年 12 月 15 日截止日期: 2010 年 12 日 18 日湖北经济学院计算机学院软件 Q0841 目录1. 项目名称 31.1. 学生选课系统32. 项目主题、设计目的 .32.1. 项目主题 32.2. 设计目的 33. 分工情况 44. 需求分析 34.1. 学生选课系统的产生 442技术可行性 55. 设计过程 35.1. 用例图55.2. 活动图 55.3. 状态图55.4. 交互图55.5. 类图55.6. 对象图 55.7. 组件图55.8. 部署图55.
2、9. 正向工程 56. 实验心得 37. 附录 37.1. 用例图57.2. 活动图 57.3. 状态图57.4. 交互图57.4.1 时序图57.4.2 .协作图57.5. 类图57.6. 组件图57.7. 部署图57.9. 正向工程 51. 项目名称1.1. 学生选课系统随着高校教学管理的系统化和计算机的网络化 , 以及学分制教学改革的加快 , 网上选课系统已成为教学教务管理的 重要部分。 当前,高等院校正逐步实施学分制 , 学分制允许学生在一定范围内选择适合自己需要的课程 , 具有分散性、 时间 不确定性 ,难于人工调配与集中管理。另外 , 随着各个高校扩招程度的加快 ,学生人数日益增加
3、 ,造成教学资源比较紧张 , 这无疑增加了选课管理难度和教务管理人员的工作量。 传统基于集中式管理的选课无力适应这些新的变化 , 建立网上选课 系统势在必行。2. 项目主题,设计目的2.1. 项目主题随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。针对学生选课这一环节,本系统从学生网上自 主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的信息查询、选课功能以及管理员对课程信息发布 的管理等功能,另外也初步解决了管理员在课程信息发布管理上的权限问题。2.2. 设计目的1. 收集简单需求,利用 UM和 Rational Rose工具对系统进行建模2. 根据前述需求的分析,进
4、行需求建模,绘制系统的用例图、活动图和时序图3. 根据用例模型,进行架构建模,绘制系统的状态图,类图和交互图4. 绘制系统中某些重要功能的对象图 ;5. 绘制系统的组件图和部署图 ;6. 对所完成的模型进行正向工程,创建系统的主要程序框架;7. 掌握UM建模工具Rational Rose 的使用方法;8. 给出某个简单系统的模型,能够熟练地使用Rose工具表达;3. 小组成员分工情况学生选课系统类图、部署图文档(陈雪枫)(张永尉)学生选课系统:1用例图、活动图、状态图一一陈竞2交互图(顺序图,协作图)一一曾诚3类图、部署图、组件图、正向工程一一陈雪枫4对象图张洪杰7 组件图8部署图9 正向工程
5、4. 需求分析4.1. 需求分析4.1.1. 学生选课系统的产生学生网上选课系统是针对在校学生和教师使用, 从学生的角度来说, 由于学校教学制度 的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式学生按照学校安排好的课程上课 已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪 费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。 因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同 样是节省了大量的工作量,由于教师提出代
6、课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行 课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。以MIS系统的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。4.2. 技术可行性以MIS技术为开发基础。所谓MIS (管理信息系统-Ma nageme nt In formation System)系统,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度的利用现代计
7、 算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立 正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和 经济效益。以UM建模语言Rational Rose工具为开发工具。作为一种建模语言,UML的定义包括UM语义和UM表示法两部分。 其中UM语义描述了 UML勺精确原模型定义,是开发者 能在语义上取得一致,消除因人而异的最佳表达方法所造成的影响。UM表示法定义UM符号的表示法,为开发者或开发工具使用这些图形符号和文本语法进行系统建模提供了标准。Rational公司推出的Rational
8、 Rose是目前最好的基于 UM的 CAS工具。它把UMI和谐地集成进面向对象的软件开发过 程中。不论是在系统需求阶段,还是在对象的分析与设计、软件的实现与测试阶段,它都提供了清晰的UM表达方法和完善 的工具,方便建立起相应的软件模型。它具有良好的界面,可编辑*.MNU纯文本文件,修改和定义主菜单,添加运行模块。它可以生成各种代码和数据框架,如 C+,Java,Visual Basic,IDL(lnter-face Design Language),DDL(Data DefinitionLanguage)等。它有 Rose Script, 类似 Office 中的 VBA(Visual Bas
9、icforApplication),直接调用 Rose模型的对象。对于模型中需要有特定数据结构,生成Rose不直接支持代码的程序员,可考虑用其进行模型的扩展,直接在模型中加入特定数据 结构。需补充的是,因为Rose的接口是按照 Mi-crosoft COM(Compent ObjectModel) 的标准制定的,所以也可在 VB或VC+ 环境中编程,对模型进行数据添加。它有 Add-InManager,可把编写好的Rose Script和CO组件在Rational Rose中添加或 卸出。5. 设计过程5.1 用例图:用例图从用户的角度而不是开发者的角度来描述对软件产品的需求,分析产品所需的功
10、能和动态行为。 用例图常用来对需求建模学生选课系统的参与者:学生,管理员,数据库管理系统是另外一个活动者学生 - 浏览选课界面查询已选课程,选课 管理员 - 进入系统管理界面建立课程,改动,删除课程5.2 活动图:活动图用于描述用例的业务流程或操作的工作步骤,用于对系统进行动态建模。添加课程事件流:删除课程事件流和修改课程事件流与此类似1 管理员选择进入管理界面,用例开始2 系统提示输入管理员密码3 管理员输入密码4 系统验证密码A1 密码错误5 进入管理界面,系统显示目前所建立的全部课程信息6 管理员选择添加课程7 系统提示输入新课程信息8 管理员输入信息9 系统验证是否和已有课程冲突A2
11、有冲突10 系统添加新课程,提示课程添加成功。11 系统重新进入管理主界面,显示所有课程12 用例结束其它事件流:A1 密码错误1 系统提示再次输入2 用户确认3 三次错误,拒绝再次访问4 否则进入添加课程事件流第 5 步A2 有冲突1 系统提示冲突,显示冲突课程信息2 用户重新输入3 继续验证直到无冲突4 进入添加课程事件流第 10 步选课事件流:1 学生进入选课登录界面,用例开始2 系统提示输入学号和密码3 学生输入学号和密码4 系统验证A1 验证失败5 进入选课主界面6 学生点击选课7 系统显示所有课程信息8 学生选择课程9 系统验证课程是否可选A2 不可选10 系统提示课程选择成功,提
12、示学生11 用例结束错误流:A1 验证失败1 系统体实验证失败,提示重新输入2 三次失败,拒绝访问3 成功,转选课事件流第 5 步A2 课程不可选1 系统提示课程不可选及原因2 学生重新选课3 重新验证直至成功4 转选课事件流第 10 步5.3 状态图:状态图又称为状态机,它描述了用例、协作和方法的动态行为,也描述了类的行为。5.4 交互图:UML用例的实现用交互图来指定说明。交互图是通过表示对象间的关系和处理的消息来对系统的动态特性建模。在 中交互图有两种:顺序图和协作图。创建交互图的步骤:1 寻找对象(实体对象:保存信息映射数据库中的表和字段;边界对象:接口;控制象。研究事件流中的名词查阅
13、事件流的特定实例2 寻找角色(事件流和确定过程由谁或由什么启动)3 将消息加进图中 当对象及其连接有利于理解交互时,选择协作图;当了解序列时,选择序列图。序列图清晰地显示了时间次序,但没有显式地指明对象间关系;协作图清晰地显示了对象间关系,但时间次序必须从顺 序号来获得。序列图常用于场景显示,协作图更适合显示过程设计细节。5.4.1 时序图: 用户注册信息时序图 . 学生选课时序图 管理员加课时序图 管理员修改选课时序图 管理员删除选课时序图 活动者、对象、消息、生命线和控制焦点组成 分析解答:(不考虑学生登陆) 事件流:1 系统提示输入管理员密码2 管理员输入密码3 系统验证密码4 将结果返
14、回给用户对象:界面、控制对象、数据库。角色:管理员,数据库 消息:用户输入注册信息 界面将注册信息提交给控制对象 控制对象到数据库中查询注册信息 控制对象判断注册信息是否合法 如果合法在数据库里添加注册信息 控制对象将检查结果返回到界面对象 界面对象显示结果 选课:1 进入选课主界面2 学生点击选课3 系统显示所有课程信息4 学生选择课程5 系统验证课程是否可选A1 不可选6 系统提示课程选择成功,提示学生交费7 用例结束 对象:在事件流中寻找1) 界面2) 课程3) 对于业务层的操作,也应该由对象来处理4) 事件流中设计的角色:学生,数据库 消息:1) 学生通过界面发送选课命令2) 界面向控
15、制对象请求课程信息3) 控制对象向数据库发送查询数据消息4) 数据库返回查询信息。5) 控制对象暂存数据库的查询结果6) 界面对象从控制对象中取得所有课程信息7) 在界面上显示所有的课程信息8) 学生选择课程9) 界面对象要求学生输入学号10) 学生输入学号11) 界面对象向控制对象发送消息,查询该学生是否可以选择选定的课程12) 控制对象从数据库中查询关联信息13) 控制对象判断是否可以选课14) 如果可以选课,向数据库中添加关联信息15) 向界面对象返回信息加课:消息:1) 界面提示用户输入新课程信息2) 界面对象创建一个课程对象3) 通过控制对象对课程信息进行合法性检查4) 控制对象从数
16、据库中查询关联信息5) 控制对象对查询结果进行判断6) 控制对象向数据库中插入数据7) 在界面上显示结果8) 控制对象撤销建立的课程对象修改课程:消息:1) 界面提示用户输入要修改课程信息2) 界面对象创建一个课程对象3) 通过控制对象对课程信息进行合法性检查4) 控制对象从数据库中查询关联信息5) 控制对象对查询结果进行判断6) 控制对象向数据库中修改数据7) 在界面上显示结果8) 控制对象撤销建立的课程对象删除课程: 对象:管理员,界面,控制对象,数据库 消息:1) 管理员输入待删除的课程信息( IID )等2) 界面对象将信息发送给控制对象3) 控制对象查询课程信息是否有效4) 控制对象
17、向界面返回信息,如果有效,提示管理员确认删除5) 管理员确认删除课程6) 界面将确认删除的信息发送给控制对象7) 控制对象将确认删除的信息发送给数据库8) 数据库实施删除,并将结果返回给控制对象9) 控制对象将结果返回到界面5.4.2 协作图:活动者、对象、连接和消息5.5 类图:类图来描述系统的内部结构,是对系统进行静态建模的重要技术之一。5.6 对象图:对象图是描述系统中在某一时刻,一组对象以及它们之间关系的图形。5.7 组件图:用于描述软件组件以及组件之间的组织和依赖关系。5.8 部署图:用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件5.9正向工程:正向过程是通过到实现语言的映射
18、而把模型转换为代码的过程。本项目需要 Rose工具实现正向工程。6.实验心得在整个实验过程中,我们小组遇到不少问题,一开始,在分工、需求上就有分歧,经过激烈的讨论后,终于有了达 成了一致。在对需求和系统有一定了解后,我们以为以后的工作会一帆风顺,但当我们每个人完成自己的任务,并把各 自的成果融合时,问题出来了,前面几个还好,但将类图放进去时,发生不兼容问题,一开始,我们本想借助于百度这 个强大的工具,但当我们输入相关问题时,竟然没相关解决办法,如果这一步不能完成,以后的工作将无法进行。这时, 团队合作和头脑风暴的巨大量体现出来了,我们还是一起讨论,每个人是一种方法,终于,还是让我们找到了解决办
19、法, 在我们为我们合作而取得成果时,我们已经有了一种合作意识,同时,也更深入的掌握了Ratio nal Rose 。通过这次项目设计,我们总结出了属于我们小组的心得:要想完成一个软件项目,首先,的确定适合的成员,这第 一步,我们很成功地完成了。然后,得对系统的需求有很深入的了解,这个方面,由于我们至少实验室项目,而且由于 时间问题,我们不能进行用户调查,只能把自己当成用户的角色,同时,我们还借鉴了学校选课系统。然后是对工具的 选择和掌握,通过前几次实验,我们对Rati onal Rose 已经有了基本了解。最重要的是要有一个概念,项目不是一个人能做完的,也不是几个人随便各搞各搞的能做的好的,这
20、需要一个小组,通过讨论,交流信息,才能完成。7.附录7.1. 用例图UsersRegister to be a userRegister to be adm ini stratorModify CoirscsCheck CoursesStude ntsLog on to System7.2.活动图Select CoursesIn putRegister infoVSe ndregister infoAdd Register infointo databaseEn ter Selecti on in terfaceRefuse to en terFailedree timesJrz_.1 .St
21、ude ntSys Promptin put infoin put aga inFfSys validateSuccessSys pormpt input acco unt infoSuccessacco unt infoAvailableSelecti onsuccessStude nt click course selectionCheck until success4Un availableSys prompt the course is un availableStude nt select aga inEn ter the mainin terfaceSys display allc
22、oursesStude nt selectSys validate if thecoursescourse is availableAddStartEnter manageinterface Input info A againElse色UserAffirm infoISys Promptinput infoInput admininfoCorre)ct infoElselWrong Three times*Display allRefuseCourses info accessing again.11Admin AddSys prompt inputAdminCourse infoJnew
23、course info-: input infooSys validate if a collision existValidate untill nocollision occursAdmin inputinfo againSys prompt thecollisionElseNo CollisionAdding NewCourse SucceedEnter manage interfaceSys Prompt input infoInput infoagainInput AdmininfoCorrect info ifDisplay allCourses info1VAdmin delet
24、eCourse infoElseUser Affirminfolse Wrong Three timesRefuseaccessing againSys Check the infoIn put infoagai nElseUser AffirminfoElseRenter manage interfaceand display all coursesCorrect info V Display all Courses infoWrong Three timesSys prompot the collisi onElseNc Collisi onModify newCourse Succeed
25、Admin modifySys CheckCourse infothe infoSys validate if acollisi on existRen ter man age in terfaceand display all courses73 状态图selectedInputURLhome page74 交互图741 .时序图new courseavaliabledeletedmodifiedcontrolapply data on databaseapply data ondatabaseRegisterLoginWindow:Con trol:Database:User1: type
26、 register info()2: submit register info()3: query register info()_4: check if register info is legal() 1I 5: add register info()6: return result()7: display the result():student:SelectCourseWindow:Control:Database1: send command()2: request course info()T3: send query data info()4: return query info
27、()i5: temporarily save result of query info()6: accquire all course info()U7: disply all course info()8: select course()9: ask student to type ID()o(String)10: student type his ID(int)11: query if student can select course or rU 12: query relating info()n13: estimate ifcan select theh3: request vali
28、dity:Control5: add data()7: query relating info()8: remove course object():Datebase:Admi nistrator5: estimate for result of query。7: query relati ng info() 6: modify data()1: send course info()4: retur n result。3: request exam ine8: remove course object。、4.:ModifyCourseWin dow:Course |:Adminstrator1
29、: provide course info()5: validate removing course()3: check if course is effective()2: send recevied info() 6: send validation info()8: remove course and return result()7: send validation info() I V7.5. 类图User(from Logical View) 気ID : Integer Password : String*setlD()*getlD()setPassword() *getPassw
30、ord() User()telNo : Integer*addCQiirse() *deleteCourse() *irodifyCourse() Vd mini strato r()Course (from Logical View) courseID : Integer courseName : String 5/courseIlme : String teacherName : String*setCourselD() *getCourselD() *setCourseName() *getCourseName() *setCourseTime() getCourseTime() *se
31、tTea che rNameQ getTeacherNamej) Course ()Control(from Logical View)QtemporarySave : String*Control()7.6. 组件图Stude nts1 1 .1f一一con trolj - = -*SystemDB1Courser7.7. 部署图iRMI7.8.正向工程Admini strator.java/Source file: C:Docume nts andSetti ngsAdmi nistratorDesktopCourseSelectSystemsrcAdmi nistrator.java p
32、ublic class Admini strator exte nds Userprivate Boolea n adm ini strator;private In teger telNo;/* roseuid 481007C8028C*/public Admi nistrator()/* * return Void* roseuid 480FF319036E*/ public Administrator()/* return String* roseuid 480FF01D0199*/ public String addCourse() return null; * return Stri
33、ng* roseuid 480FF2F2032C*/ public String modifyCourse() return null; * return Void* roseuid 480FF30C00EE */ public Void deleteCourse() return null;Control.java /Source file: C:Documents andSettingsAdministratorDesktopCourseSelectSystemsrcControl.java public class Controlprivate String temporarySave;
34、* roseuid 481007D001F7学生选课系统*/ 33/38 UML 课程设计public Control()/* return Void* roseuid 480FF6690237*/public Control()Course.java/Source file: C:Documents andSettingsAdministratorDesktopCourseSelectSystemsrcCourse.java public class Courseprivate Integer courseID; private String courseName;private Strin
35、g courseTime; private String teacherName;public Administrator theAdministrator;/* roseuid 481007D700AC*/public Course()/* return Void* roseuid 480FF7FC02CD*/public Course()/* return String* roseuid 480FF734003A*/学生选课系统public String setCourseID() 34/38 UML 课程设计 return null; * return String* roseuid 4
36、80FF7350136 */public String getCourseID()return null; * return String* roseuid 480FF73601BA*/ public String setCourseName() return null; * return String* roseuid 480FF738002C*/public String getCourseName()return null; * return String* roseuid 480FF7390114*/ public String setCourseTime() return null; * return String* roseuid 480FF73B0293*/public String getCourseTime()return null; * return String* roseuid 480FF7F1019A */return null;/* return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐园门店商品代销合同模板二篇
- 汽车销售工程师汽车销售绩效评定表
- 业务拓展团队KPI达成情况考核表
- 市场推广费用重分配协商函(7篇)
- 铁路货运站设备维护手册
- 销售目标分解与执行手册
- 美容化妆品行业销售经理绩效考评表
- 云计算服务器宕机恢复指导书
- 快递员末端派送效率绩效衡量表
- (正式版)DB14∕T 748-2013 《无公害苹果生产技术规程》
- 2026危险化学品行业安全隐患排查对标手册
- Unit4 A better me Speed up教学课件2026-2027外研版五上英语
- 2026语文新教材 六年级上册第3课 古诗词三首 教学课件
- 河南农商行审计考试试题及答案
- 排污许可管理办法
- GB/T 9535.1-2025地面用光伏组件设计鉴定和定型第1部分:测试要求
- 银行营业厅保洁服务标准及流程
- JG/T 245-2009混凝土试验用振动台
- 手术患者手术风险评估制度
- 2024年中国水运报社有限公司招聘笔试参考题库附带答案详解
- (正式版)HGT 20593-2024 钢制化工设备焊接与检验工程技术规范
评论
0/150
提交评论