《软件体系结构课程设计解读》由会员分享,可在线阅读,更多相关《软件体系结构课程设计解读(19页珍藏版)》请在金锄头文库上搜索。
1、软件体系结构课程设计项目名称:学生选课系统小组成员:王光利 (201105*) 王玉元 (201105*) 张宪伟 (201105132)指导教师:小小刚开始日期:2014年12月15日兰州交通大学信息与计算科学1101班目录1.需求规格说明书11.1. 需求分析11.2. 技术可行性12.主要的用例图22.1用例图:22.2. 用例图23.系统及子系统概念体系结构34.时序图34.1时序图44.2时序图64.3组件图94.4组件图95.活动图95.1活动图95.2. 活动图116.类(设计)图(逻辑视图)126.1类图136.2类图137.开发视图148.部署图158.1部署图158.2部署
2、图159.系统层次结构图1510.驱动架构设计的关键质量属性场景描述1611.ATAM评估161.需求规格说明书1.1. 需求分析4.1.1. 学生选课系统的产生学生网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式学生按照学校安排好的课程上课已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息
3、即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。以MIS系统的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。1.2. 技术可行性以MIS技术为开发基础。所谓MIS(管理信息系统-Management Information System)系统,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、
4、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。以UML建模语言Rational Rose工具为开发工具。作为一种建模语言,UML的定义包括UML语义和UML表示法两部分。其中UML语义描述了UML的精确原模型定义,是开发者能在语义上取得一致,消除因人而异的最佳表达方法所造成的影响。UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和
5、文本语法进行系统建模提供了标准。Rational公司推出的Rational Rose是目前最好的基于UML的CASE工具。它把UML和谐地集成进面向对象的软件开发过程中。不论是在系统需求阶段,还是在对象的分析与设计、软件的实现与测试阶段,它都提供了清晰的UML表达方法和完善的工具,方便建立起相应的软件模型。它具有良好的界面,可编辑*.MNU纯文本文件,修改和定义主菜单,添加运行模块。它可以生成各种代码和数据框架,如C+,Java,Visual Basic,IDL(Inter-face Design Language),DDL(Data Definition Language)等。它有Rose
6、Script,类似Office中的VBA(Visual BasicforApplication),直接调用Rose模型的对象。对于模型中需要有特定数据结构,生成Rose不直接支持代码的程序员,可考虑用其进行模型的扩展,直接在模型中加入特定数据结构。需补充的是,因为Rose的接口是按照Mi-crosoft COM(Compent ObjectModel)的标准制定的,所以也可在VB或VC+环境中编程,对模型进行数据添加。它有Add-InManager,可把编写好的Rose Script和COM组件在Rational Rose中添加或卸出。2.主要的用例图2.1用例图:用例图从用户的角度而不是开发
7、者的角度来描述对软件产品的需求,分析产品所需的功能和动态行为。用例图常用来对需求建模学生选课系统的参与者:学生,管理员,数据库管理系统是另外一个活动者 学生-浏览选课界面查询已选课程,选课管理员-进入系统管理界面建立课程,改动,删除课程 2.2. 用例图 3.系统及子系统概念体系结构4.时序图(系统级别交互视图,如子系统和子系统之间的交互、模块与模块或组件与组件之间的交互,层与层交互等等)4.1时序图用户注册信息时序图 .学生选课时序图管理员加课时序图 管理员修改选课时序图 管理员删除选课时序图 活动者、对象、消息、生命线和控制焦点组成 分析解答:(不考虑学生登陆)事件流:1系统提示输入管理员
8、密码2 管理员输入密码3 系统验证密码4 将结果返回给用户对象:界面、控制对象、数据库。角色:管理员,数据库 消息: 用户输入注册信息 界面将注册信息提交给控制对象 控制对象到数据库中查询注册信息 控制对象判断注册信息是否合法 如果合法在数据库里添加注册信息 控制对象将检查结果返回到界面对象 界面对象显示结果 选课: 1 进入选课主界面2 学生点击选课3 系统显示所有课程信息4 学生选择课程5 系统验证课程是否可选 A1 不可选6 系统提示课程选择成功,提示学生交费7 用例结束对象:在事件流中寻找 1) 界面 2) 课程 3) 对于业务层的操作,也应该由对象来处理 4) 事件流中设计的角色:学
9、生,数据库 消息: 1) 学生通过界面发送选课命令 2) 界面向控制对象请求课程信息 3) 控制对象向数据库发送查询数据消息 4) 数据库返回查询信息。 5) 控制对象暂存数据库的查询结果 6) 界面对象从控制对象中取得所有课程信息 7) 在界面上显示所有的课程信息 8) 学生选择课程 9) 界面对象要求学生输入学号 10) 学生输入学号 11) 界面对象向控制对象发送消息,查询该学生是否可以选择选定的课程 12) 控制对象从数据库中查询关联信息 13) 控制对象判断是否可以选课 14) 如果可以选课,向数据库中添加关联信息 15) 向界面对象返回信息 加课: 消息: 1) 界面提示用户输入新
10、课程信息2) 界面对象创建一个课程对象 3) 通过控制对象对课程信息进行合法性检查 4) 控制对象从数据库中查询关联信息 5) 控制对象对查询结果进行判断 6) 控制对象向数据库中插入数据 7) 在界面上显示结果 8) 控制对象撤销建立的课程对象 修改课程: 消息:1) 界面提示用户输入要修改课程信息 2) 界面对象创建一个课程对象 3) 通过控制对象对课程信息进行合法性检查 4) 控制对象从数据库中查询关联信息 5) 控制对象对查询结果进行判断 6) 控制对象向数据库中修改数据 7) 在界面上显示结果 8) 控制对象撤销建立的课程对象 删除课程: 对象:管理员,界面,控制对象,数据库 消息:
11、 1) 管理员输入待删除的课程信息(IID)等2) 界面对象将信息发送给控制对象 3) 控制对象查询课程信息是否有效 4) 控制对象向界面返回信息,如果有效,提示管理员确认删除 5) 管理员确认删除课程 6) 界面将确认删除的信息发送给控制对象 7) 控制对象将确认删除的信息发送给数据库 8) 数据库实施删除,并将结果返回给控制对象 9) 控制对象将结果返回到界面 4.2时序图4.3组件图用于描述软件组件以及组件之间的组织和依赖关系。4.4组件图5.活动图(系统级别的流程)5.1活动图活动图用于描述用例的业务流程或操作的工作步骤,用于对系统进行动态建模。添加课程事件流:删除课程事件流和修改课程
12、事件流与此类似1 管理员选择进入管理界面,用例开始2 系统提示输入管理员密码3 管理员输入密码4 系统验证密码A1 密码错误5 进入管理界面,系统显示目前所建立的全部课程信息6 管理员选择添加课程7 系统提示输入新课程信息8 管理员输入信息9 系统验证是否和已有课程冲突 A2 有冲突10 系统添加新课程,提示课程添加成功。11 系统重新进入管理主界面,显示所有课程12 用例结束其它事件流: A1 密码错误1 系统提示再次输入2 用户确认3 三次错误,拒绝再次访问4 否则进入添加课程事件流第5步A2 有冲突1 系统提示冲突,显示冲突课程信息2 用户重新输入3 继续验证直到无冲突4 进入添加课程事
13、件流第10步选课事件流: 1 学生进入选课登录界面,用例开始2 系统提示输入学号和密码3 学生输入学号和密码4 系统验证 A1 验证失败5 进入选课主界面6 学生点击选课 7 系统显示所有课程信息8 学生选择课程9 系统验证课程是否可选 A2 不可选10 系统提示课程选择成功,提示学生11 用例结束错误流: A1 验证失败1 系统体实验证失败,提示重新输入2 三次失败,拒绝访问3 成功,转选课事件流第5步A2 课程不可选1 系统提示课程不可选及原因2 学生重新选课3 重新验证直至成功4 转选课事件流第10步5.2. 活动图 6.类(设计)图(逻辑视图)6.1类图类图来描述系统的内部结构,是对系
14、统进行静态建模的重要技术之一。6.2类图7.开发视图(调用的框架、库、自己编写的文件互相的关系)8.部署图(模块或组件)8.1部署图用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件8.2部署图9.系统层次结构图10.驱动架构设计的关键质量属性场景描述11.ATAM评估(效用树、有风险和无风险点、敏感点、权衡点等)16 读书的好处1、行万里路,读万卷书。2、书山有路勤为径,学海无涯苦作舟。3、读书破万卷,下笔如有神。4、我所学到的任何有价值的知识都是由自学中得来的。达尔文5、少壮不努力,老大徒悲伤。6、黑发不知勤学早,白首方悔读书迟。颜真卿7、宝剑锋从磨砺出,梅花香自苦寒来。8、读书要三到:心到、眼到、口到9、玉不琢、不成器,人不学、不知义。10、一日无书,百事荒废。陈寿11、书是