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

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上软件体系结构课程设计项目名称:学生选课系统小组成员:陈雪枫、张永尉、陈竟、曾诚指导教师:尤川川开始日期:2010年12月15日截止日期:2010年12日18日湖北经济学院计算机学院软件Q0841目录1.项目名称 .31.1.学生选课系统 32.项目主题、设计目的. 3 2.1. 项目主题3 2.2. 设计目的33.分工情况.44.需求分析 3 4.1. 学生选课系统的产生 4 4.2. 技术可行性55.设计过程.3 5.1. 用例图 5 5.2. 活动图 5 5.3. 状态图 5 5.4. 交互图 5 5.5. 类 图 5 5.6. 对象图 5 5.7. 组件图 5

2、5.8. 部署图 5 5.9. 正向工程 56.实验心得.37.附 录.3 7.1. 用例图 5 7.2. 活动图 5 7.3. 状态图 5 7.4. 交互图 57.4.1时序图 57.4.2协作图 5 7.5. 类 图 5 7.6. 组件图 5 7.7. 部署图 5 7.9. 正向工程 51. 项目名称1.1. 学生选课系统 随着高校教学管理的系统化和计算机的网络化,以及学分制教学改革的加快,网上选课系统已成为教学教务管理的重要部分。当前,高等院校正逐步实施学分制,学分制允许学生在一定范围内选择适合自己需要的课程,具有分散性、时间不确定性,难于人工调配与集中管理。另外,随着各个高校扩招程度的

3、加快,学生人数日益增加,造成教学资源比较紧张,这无疑增加了选课管理难度和教务管理人员的工作量。传统基于集中式管理的选课无力适应这些新的变化,建立网上选课系统势在必行。 2. 项目主题,设计目的2.1. 项目主题随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的信息查询、选课功能以及管理员对课程信息发布的管理等功能,另外也初步解决了管理员在课程信息发布管理上的权限问题。 2.2. 设计目的1. 收集简单需求,利用UML和Rational Rose工具对系统进行建模 ; 2. 根据前述需

4、求的分析,进行需求建模,绘制系统的用例图、活动图和时序图 ; 3. 根据用例模型,进行架构建模,绘制系统的状态图,类图和交互图 ; 4. 绘制系统中某些重要功能的对象图 ; 5. 绘制系统的组件图和部署图 ; 6. 对所完成的模型进行正向工程,创建系统的主要程序框架; 7.掌握UML建模工具Rational Rose的使用方法; 8.给出某个简单系统的模型,能够熟练地使用Rose工具表达; 3. 小组成员分工情况学生选课系统学生选课系统学生选课系统学生选课系统学生选课系统学生选课系统交互图(曾诚)用例图、活动图、状态图(陈竞)类图、部署图(陈雪枫)文档(张永尉)学生选课系统: 1用例图、活动图

5、、状态图陈竞2交互图(顺序图, 协作图)曾诚3类图、部署图、组件图、正向工程陈雪枫4对象图张洪杰 7组件图8部署图9正向工程4. 需求分析4.1. 需求分析4.1.1. 学生选课系统的产生学生网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式学生按照学校安排好的课程上课已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算

6、机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。以MIS系统的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。4.2. 技术可行性以MIS技术为开发基础。所谓MIS(管理信息系统-Management Information System)系统,是一个由人、计算机及其他外围设备等组成的能进

7、行信息的收集、传递、存贮、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。以UML建模语言Rational Rose工具为开发工具。作为一种建模语言,UML的定义包括UML语义和UML表示法两部分。其中UML语义描述了UML的精确原模型定义,是开发者能在语义上取得一致,消除因人而异的最佳表达方法所造成的影响。UML表示法定义UML符号的表示法,为开发者或

8、开发工具使用这些图形符号和文本语法进行系统建模提供了标准。Rational公司推出的Rational Rose是目前最好的基于UML的CASE工具。它把UML和谐地集成进面向对象的软件开发过程中。不论是在系统需求阶段,还是在对象的分析与设计、软件的实现与测试阶段,它都提供了清晰的UML表达方法和完善的工具,方便建立起相应的软件模型。它具有良好的界面,可编辑*.MNU纯文本文件,修改和定义主菜单,添加运行模块。它可以生成各种代码和数据框架,如C+,Java,Visual Basic,IDL(Inter-face Design Language),DDL(Data Definition Langu

9、age)等。它有Rose Script,类似Office中的VBA(Visual BasicforApplication),直接调用Rose模型的对象。对于模型中需要有特定数据结构,生成Rose不直接支持代码的程序员,可考虑用其进行模型的扩展,直接在模型中加入特定数据结构。需补充的是,因为Rose的接口是按照Mi-crosoft COM(Compent ObjectModel)的标准制定的,所以也可在VB或VC+环境中编程,对模型进行数据添加。它有Add-InManager,可把编写好的Rose Script和COM组件在Rational Rose中添加或卸出。5. 设计过程 5.1用例图:用

10、例图从用户的角度而不是开发者的角度来描述对软件产品的需求,分析产品所需的功能和动态行为。用例图常用来对需求建模学生选课系统的参与者:学生,管理员,数据库管理系统是另外一个活动者 学生-浏览选课界面查询已选课程,选课管理员-进入系统管理界面建立课程,改动,删除课程5.2活动图:活动图用于描述用例的业务流程或操作的工作步骤,用于对系统进行动态建模。添加课程事件流:删除课程事件流和修改课程事件流与此类似1 管理员选择进入管理界面,用例开始2 系统提示输入管理员密码3 管理员输入密码4 系统验证密码A1 密码错误5 进入管理界面,系统显示目前所建立的全部课程信息6 管理员选择添加课程7 系统提示输入新

11、课程信息8 管理员输入信息9 系统验证是否和已有课程冲突 A2 有冲突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

12、 系统验证课程是否可选 A2 不可选10 系统提示课程选择成功,提示学生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系统提示输入管理员

14、密码2 管理员输入密码3 系统验证密码4 将结果返回给用户对象:界面、控制对象、数据库。角色:管理员,数据库 消息: 用户输入注册信息 界面将注册信息提交给控制对象 控制对象到数据库中查询注册信息 控制对象判断注册信息是否合法 如果合法在数据库里添加注册信息 控制对象将检查结果返回到界面对象 界面对象显示结果 选课: 1 进入选课主界面2 学生点击选课3 系统显示所有课程信息4 学生选择课程5 系统验证课程是否可选 A1 不可选6 系统提示课程选择成功,提示学生交费7 用例结束对象:在事件流中寻找 1) 界面 2) 课程 3) 对于业务层的操作,也应该由对象来处理 4) 事件流中设计的角色:学

15、生,数据库 消息: 1) 学生通过界面发送选课命令 2) 界面向控制对象请求课程信息 3) 控制对象向数据库发送查询数据消息 4) 数据库返回查询信息。 5) 控制对象暂存数据库的查询结果 6) 界面对象从控制对象中取得所有课程信息 7) 在界面上显示所有的课程信息 8) 学生选择课程 9) 界面对象要求学生输入学号 10) 学生输入学号 11) 界面对象向控制对象发送消息,查询该学生是否可以选择选定的课程 12) 控制对象从数据库中查询关联信息 13) 控制对象判断是否可以选课 14) 如果可以选课,向数据库中添加关联信息 15) 向界面对象返回信息 加课: 消息: 1) 界面提示用户输入新

16、课程信息2) 界面对象创建一个课程对象 3) 通过控制对象对课程信息进行合法性检查 4) 控制对象从数据库中查询关联信息 5) 控制对象对查询结果进行判断 6) 控制对象向数据库中插入数据 7) 在界面上显示结果 8) 控制对象撤销建立的课程对象 修改课程: 消息:1) 界面提示用户输入要修改课程信息 2) 界面对象创建一个课程对象 3) 通过控制对象对课程信息进行合法性检查 4) 控制对象从数据库中查询关联信息 5) 控制对象对查询结果进行判断 6) 控制对象向数据库中修改数据 7) 在界面上显示结果 8) 控制对象撤销建立的课程对象 删除课程: 对象:管理员,界面,控制对象,数据库 消息:

17、 1) 管理员输入待删除的课程信息(IID)等2) 界面对象将信息发送给控制对象 3) 控制对象查询课程信息是否有效 4) 控制对象向界面返回信息,如果有效,提示管理员确认删除 5) 管理员确认删除课程 6) 界面将确认删除的信息发送给控制对象 7) 控制对象将确认删除的信息发送给数据库 8) 数据库实施删除,并将结果返回给控制对象 9) 控制对象将结果返回到界面 5.4.2协作图:活动者、对象、连接和消息5.5类图:类图来描述系统的内部结构,是对系统进行静态建模的重要技术之一。5.6对象图:对象图是描述系统中在某一时刻,一组对象以及它们之间关系的图形。 5.7组件图:用于描述软件组件以及组件

18、之间的组织和依赖关系。5.8部署图:用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件5.9正向工程:正向过程是通过到实现语言的映射而把模型转换为代码的过程。本项目需要Rose工具实现正向工程。6. 实验心得在整个实验过程中,我们小组遇到不少问题,一开始,在分工、需求上就有分歧,经过激烈的讨论后,终于有了达成了一致。在对需求和系统有一定了解后,我们以为以后的工作会一帆风顺,但当我们每个人完成自己的任务,并把各自的成果融合时,问题出来了,前面几个还好,但将类图放进去时,发生不兼容问题,一开始,我们本想借助于百度这个强大的工具,但当我们输入相关问题时,竟然没相关解决办法,如果这一步不能完成,以

19、后的工作将无法进行。这时,团队合作和头脑风暴的巨大量体现出来了,我们还是一起讨论,每个人是一种方法,终于,还是让我们找到了解决办法,在我们为我们合作而取得成果时,我们已经有了一种合作意识,同时,也更深入的掌握了Rational Rose。通过这次项目设计,我们总结出了属于我们小组的心得:要想完成一个软件项目,首先,的确定适合的成员,这第一步,我们很成功地完成了。然后,得对系统的需求有很深入的了解,这个方面,由于我们至少实验室项目,而且由于时间问题,我们不能进行用户调查,只能把自己当成用户的角色,同时,我们还借鉴了学校选课系统。然后是对工具的选择和掌握,通过前几次实验,我们对Rational R

20、ose已经有了基本了解。最重要的是要有一个概念,项目不是一个人能做完的,也不是几个人随便各搞各搞的能做的好的,这需要一个小组,通过讨论,交流信息,才能完成。7. 附 录 7.1. 用例图 7.2. 活动图 7.3. 状态图 7.4. 交互图7.4.1时序图7.4.2协作图 7.5. 类 图 7.6. 组件图 7.7. 部署图7.8. 正向工程Administrator.java /Source file: C:Documents and SettingsAdministratorDesktopCourseSelectSystemsrcAdministrator.java public clas

21、s Administrator extends User private Boolean administrator; private Integer telNo; /* * roseuid C8028C */ public Administrator() /* * return Void * roseuid 480FFE */ public Administrator() /* * return String * roseuid 480FF01D0199 */ public String addCourse() return null; /* * return String * roseui

22、d 480FF2F2032C */ public String modifyCourse() return null; /* * return Void * roseuid 480FF30C00EE */ public Void deleteCourse() return null; Control.java /Source file: C:Documents and SettingsAdministratorDesktopCourseSelectSystemsrcControl.java public class Control private String temporarySave; /

23、* * roseuid D001F7 */ 33/38 UML 课程设计-学生选课系统 public Control() /* * return Void * roseuid 480FF */ public Control() Course.java /Source file: C:Documents and SettingsAdministratorDesktopCourseSelectSystemsrcCourse.java public class Course private Integer courseID; private String courseName; private St

24、ring courseTime; private String teacherName; public Administrator theAdministrator; /* * roseuid D700AC */ public Course() /* * return Void * roseuid 480FF7FC02CD */ public Course() /* * return String * roseuid 480FFA */ public String setCourseID() 34/38 UML 课程设计-学生选课系统 return null; /* * return Stri

25、ng * roseuid 480FF */ public String getCourseID() return null; /* * return String * roseuid 480FF73601BA */ public String setCourseName() return null; /* * return String * roseuid 480FFC */ public String getCourseName() return null; /* * return String * roseuid 480FF */ public String setCourseTime()

26、 return null; /* * return String * roseuid 480FF73B0293 */ public String getCourseTime() return null; /* * return String * roseuid 480FF7F1019A */ public String setTeacherName() 35/38 UML 课程设计-学生选课系统 return null; 专心-专注-专业/* * return String * roseuid 480FF7FB025D */ public String getTeacherName() return null; Students.java /Source file: C:Documents and SettingsAdministratorDesktopCourseSelectSystemsrcStudents.java public class Students private String name; private String sex; private String classNo; private String grade; /* * roseuid DE003E */ public Students() /* * r

温馨提示

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

评论

0/150

提交评论