软件体系结构课程设计_第1页
软件体系结构课程设计_第2页
软件体系结构课程设计_第3页
软件体系结构课程设计_第4页
软件体系结构课程设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件体系结构课程设计项目名称:学生选课系统小组成员:陈雪枫、张永尉、陈竟、曾诚开始日期:2010年12月15日截止日期:2010年2日18日目录1.项目名称 3 32.项目主题、设计目的 3 3 33.分工情况 4 3 4 55.设计过程 35.1.用例图 5 5 5 5 55.6.对象图 55.7.组件图 5 5 5 3 3 57.2.活动图 57.3.状态图 5 5 5 5 57.6.组件图 57.7.部署图 5 51.项目名称1.1.学生选课系统随着高校教学管理的系统化和计算机的网络化以及学分制教学改革的加快,网上选课系统已成为教学教务管理的不确定性难于人工调配与集中管理。另外无疑增加了选课管理难度和教务管理人员的工作量。传统基于集中式管理的选课无力适应这些新的变化,建立网上选课2.项目主题,设计目的2.1.项目主题随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的信息查询、选课功能以及管理员对课程信息发布的管理等功能,另外也初步解决了管理员在课程信息发布管理上的权限问题。2.2.设计目的2.根据前述需求的分析,进行需求建模,绘制系统的用例图、活动图和时序图;3.根据用例模型,进行架构建模,绘制系统的状态图,类图和交互图;4.绘制系统中某些重要功能的对象图;5.绘制系统的组件图和部署图;6.对所完成的模型进行正向工程,创建系统的主要程序框架;3.小组成员分工情况学生选课系统交互图(曾诚)图(陈竞)学生选课系统2.交互图(顺序图,协作图)——曾诚4.对象图张洪杰7.组件图8.部署图9.正向工程4.1.1.学生选课系统的产生学生网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式——学生按照学校安排好的课程上浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网可维护性相结合,安全性以及规范化原则。4.2.技术可行性所谓MIS(管理信息系统-ManagementInformationSystem)系统,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。以UML建模语言RationalRose工具为开发工具。的精确原模型定义是开发者具使用这些图形符号和文本语法进行系统建模提供了标准。程中。不论是在系缰求阶段还是在对象的分析与设计、软件的实现与测试阶段它都提供了清晰的UML表达方法和完善的工具方便建立起相应的软件模型。它具有良好的界面,可编辑*.DefinitionLanguage)等。它有RoseScript,类似Office中的VBA(VisualBasiforApplication),直接调用Ras入特定数据结构。需补充的是,因为Rose的接口是按照Mi-crosoftCOM(CompentObjectModel)的标准制定的所以也可在中添加或卸出。5.1用例图:用例图从用户的角度而不是开发者的角度来描述对软件产品的需求,分析产品所需的功能和动态行为。用例图常用来对需求建模学生选课系统的参与者:学生,管理员,数据库管理系统是另外一个活动者学生---浏览选课界面→查询已选课程,选课管理员---进入系统管理界面—〉建立课程,改动,删除课程5.2活动图:活动图用于描述用例的业务流程或操作的工作步骤,用于对系统进行动态建模添加课程事件流:删除课程事件流和修改课程事件流与此类似1管理员选择进入管理界面,用例开始2系统提示输入管理员密码3管理员输入密码4系统验证密码5进入管理界面,系统显示目前所建立的全部课程信息6管理员选择添加课程7系统提示输入新课程信息8管理员输入信息9系统验证是否和已有课程冲突10系统添加新课程,提示课程添加成功。11系统重新进入管理主界面,显示所有课程其它事件流:1系统提示再次输入3三次错误,拒绝再次访问4否则进入添加课程事件流第5步1系统提示冲突,显示冲突课程信息2用户重新输入3继续验证直到无冲突4进入添加课程事件流第10步选课事件流:1学生进入选课登录界面,用例开始2系统提示输入学号和密码3学生输入学号和密码4系统验证5进入选课主界面6学生点击选课7系统显示所有课程信息8学生选择课程9系统验证课程是否可选10系统提示课程选择成功,提示学生11用例结束1系统体实验证失败,提示重新输入2三次失败,拒绝访问3成功,转选课事件流第5步1系统提示课程不可选及原因2学生重新选课3重新验证直至成功4转选课事件流第10步状态图又称为状态机,它描述了用例、协作和方法的动态行为,也描述了类的行为。5.4交互图:用例的实现用交互图来指定说明。交互图是通过表示对象间的关系和处理的消息来对系统的动态特性建模。在研究事件流中的名词2寻找角色(事件流和确定过程由谁或由什么启动)3将消息加进图中当对象及其连接有利于理解交互时,选择协作图;当了解序列时,选择序列图序列图清晰地显示了时间次序,但没有显式地指明对象间关系;协作图清晰地显示了对象间关系,但时间次序必须从顺用户注册信息时序图.学生选课时序图管理员加课时序图管理员修改选课时序图管理员删除选课时序图活动者、对象、消息、生命线和控制焦点组成1系统提示输入管理员密码2管理员输入密码3系统验证密码4将结果返回给用户用户输入注册信息控制对象到数据库中查询注册信息控制对象判断注册信息是否合法如果合法在数据库里添加注册信息控制对象将检查结果返回到界面对象界面对象显示结果1进入选课主界面2学生点击选课3系统显示所有课程信息4学生选择课程6系统提示课程选择成功,提示学生交费对象:在事件流中寻找4)事件流中设计的角色:学生,数据库1)学生通过界面发送选课命令2)界面向控制对象请求课程信息3)控制对象向数据库发送查询数据消息4)数据库返回查询信息。6)界面对象从控制对象中取得所有课程信息7)在界面上显示所有的课程信息8)学生选择课程9)界面对象要求学生输入学号10)学生输入学号11)界面对象向控制对象发送消息,查询该学生是否可以选择选定的课程13)控制对象判断是否可以选课14)如果可以选课,向数据库中添加关联信息15)向界面对象返回信息1)界面提示用户输入新课程信息2)界面对象创建一个课程对象4)控制对象从数据库中查询关联信息5)控制对象对查询结果进行判断6)控制对象向数据库中插入数据7)在界面上显示结果8)控制对象撤销建立的课程对象1)界面提示用户输入要修改课程信息2)界面对象创建一个课程对象3)通过控制对象对课程信息进行合法性检查4)控制对象从数据库中查询关联信息5)控制对象对查询结果进行判断6)控制对象向数据库中修改数据7)在界面上显示结果8)控制对象撤销建立的课程对象1)管理员输入待删除的课程信息(IID)等2)界面对象将信息发送给控制对象3)控制对象查询课程信息是否有效5)管理员确认删除课程6)界面将确认删除的信息发送给控制对象7)控制对象将确认删除的信息发送给数据库8)数据库实施删除,并将结果返回给控制对象9)控制对象将结果返回到界面活动者、对象、连接和消息类图来描述系统的内部约,是对系统进行静态建模的重要技术之一。对象图是描述系统中在某一时刻,一组对象以及它们之间关系的图形。用于描述软件组件以及组件之间的组织和依赖关系。用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件5.9正向工程:正向过程是通过到实现语言的映射而把模型转换为代码的过程。本项目需要强大的工具,但当我们输入相关问题时,竟然没相关解决办法,如果这一步不能完成,以后的工作将无法进行。这时,团队合作和头脑风暴的巨大量体现出来了,我们还是一起讨论,每个人是一种方法,终于,还是让我们找到了解决办法,在我们为我们合作而取得成果时,我们已经有了一种合作意识,同时,也更深入的掌握了RationalRose。通过这次项目设计,我们总结出了属于我们小组的心得:要想完成一个软件项目,首先,的确定适合的成员,这第一步,我们很成功地完成了。然后,得对系统的需求有很深入的了解,这个方面,由于我们至少实验室项目,而且由于时间问题,我们不能进行用户调查,只能把自己当成用户的角色,同时,我们还借鉴了学校选课系统。然后是对工具的选择和掌握,通过前几次实验,我们对RationalRose已经有了基本了解。最重要的是要有一个概念,项目不是一个人能做完的,也不是几个人随便各搞各搞的能做的好的,这需要一个小组,通过讨论,交流信息,才能完成。7.1.用例图AdministratorAdministratorDeleteCoursesStudentsStudentsSelectCourses7.2.活动图SendAdministratorControlestimateintodatabaseStudentEnterSelectionRefuseinterfaceenterSuccessStudentselectSelectionStudentselectAddStartEntermanageinterfaceSysPromptinputinfoInputinfoagaininfoinfocollisionoccursVRefuseaccessingagaincollisionAdminAddSysvalidateifacollisionexistNoCollisionAddEndEntermanageinterfaceinputinfoinfoagainDisplayallCoursesinfoElseWronghreetimesRefuseaccessingagainCourseSucceedAdmindeletetheinfoRentermanageanddisplayallinterfacecoursesEntermanageinterfaceUserAffirmUserAffirmSysprompotthecollisionVCoursesinfoWrongThreetimesRefuseaccessingagainNoCollisionAdminCourseSysCheck7.3.状态图courseavaliableselectedmodifieddeletedcontroldatabasesucesssucessSelectWindowestimaterequestvalidatiencontrolapplydataondatabaseselectdeleteWindowdeletesucess1:sendcommand()<<6:accquireallcourseinfo()<8:selectcourse()>11:queryifstudentcanselectcourseorno(String)13:estimateifcanselectthecours<<><6:adddata()<4:queryrelatinginfo()<6:modifydata()7:returnresult()<1:providecourseinfo()>2:sendreceviedinfo()remind><4:returninfo()<7:sendvalidation7:sendvalidationinfo(<9:returnresult()<7.4.2.协作图4:4:checkifregisterinfoislegal()>2:submitregisterinfo()><6:retun3:queryregisterinfo()se>5:addregisterinfo()Windowresult()7:displyallcourseinfo()5:temporarilysaveresultofqueryinfo()>11:estimateifcanselectthecourseorno()>1:sendselectingcoursecommand()>8:selectcourse():student9:askstudenttotypeID()10:studenttypehisID()><VA4:returnqueryinfo():Database>:AddCourseW2:creatcourse()>下>L78:removecourseobject()5:adddata()∠L7:queryrelatinginfo():Datebase>:Control6:modifydata()1:sendcourseinfo()V4:retumresult()3:requestexamineWindow>2:creatcourseobject()VVV≤≤<NsetPassword()getPassword()AdministratortelNo:IntegeraddCourse()modifyCourse()courselD:IntegerStudentssex:Stringgrade:StringselectCourse()setName()getName()Students()Control*setCourselD()setCourseName()getCourseName()setCourseTime()getCourseTime()setTeacherName()getTeacherName()Course()7.6.组件图7.7.部署图X//Sourcefile:C:DocumentsandSettingsAdministrator\lDesktopllCourseSelectSystem\lsrc\lAdministrator.javapublicclassAdministratorextenprivateIntegertelNo;/***@roseuid481007C8028CpublicAdministrator()*@retumVoid*@roseuid480FF319036E(*@retumString*@roseuid480FF01D0199*@roseuid480FF2F2032CpublicStringmodifyCourse()returnnull;*@retumVoid*@roseuid480FF30C00EEpublicVoiddeleteCourse()returnnull;Control.java//Sourcefile:C:\DocumentsandSettings\Administrator\\DesktopllCourseSelectSysteml\srcllControl.javapublicclassControlprivateStringtemporarySave;*@roseuid481007D001F7课程设计------学生选课系统publicControl)}*@retumVoidpublicControl)//Sourcefile:C:\DocumentsandSettingsVAdministrator\DesktopllCourseSelectSystem\lsrcl\Course.javapublicclassCourseprivateIntegercoureID;privateStringcourseName;privateStringcourseTime;privateStringteacherName;publicAdministratortheAdministrator[];*roseuid481007D700ACpublicCourse()*@roseuid480FF7FC02CDpublicCourse)课程设计------学生选课系统returnnull;*@retumString*@roseuid480FF7350136publicStringgetCourseID()returnnull;*@retumString*@roseuid480FF73601BApublicStringsetCourseName()returnnull;*@retumString*@roseuid480FF738002CpublicStringgetCourseName()returnnull;*@retumString*@roseuid480FF7390114publicStringsetCourseTime()returnnull;@retumString*@roseuid480FF73B0293public

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论