软件体系结构课程设计文档Word格式.docx

上传人:b****5 文档编号:20578047 上传时间:2023-01-24 格式:DOCX 页数:31 大小:128.97KB
下载 相关 举报
软件体系结构课程设计文档Word格式.docx_第1页
第1页 / 共31页
软件体系结构课程设计文档Word格式.docx_第2页
第2页 / 共31页
软件体系结构课程设计文档Word格式.docx_第3页
第3页 / 共31页
软件体系结构课程设计文档Word格式.docx_第4页
第4页 / 共31页
软件体系结构课程设计文档Word格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

软件体系结构课程设计文档Word格式.docx

《软件体系结构课程设计文档Word格式.docx》由会员分享,可在线阅读,更多相关《软件体系结构课程设计文档Word格式.docx(31页珍藏版)》请在冰豆网上搜索。

软件体系结构课程设计文档Word格式.docx

7.2.活动图………………………………………………………………………5

7.3.状态图………………………………………………………………………5

7.4.交互图………………………………………………………………………5

7.4.1.时序图…………………………………………………………………5

7.4.2.协作图…………………………………………………………………5

7.5.类图………………………………………………………………………5

7.6.组件图………………………………………………………………………5

7.7.部署图………………………………………………………………………5

7.9.正向工程……………………………………………………………………5

1.项目名称

1.1.学生选课系统

随着高校教学管理的系统化和计算机的网络化,以及学分制教学改革的加快,网上选课系统已成为教学教务管理的重要部分。

当前,高等院校正逐步实施学分制,学分制允许学生在一定范围内选择适合自己需要的课程,具有分散性、时间不确定性,难于人工调配与集中管理。

另外,随着各个高校扩招程度的加快,学生人数日益增加,造成教学资源比较紧张,这无疑增加了选课管理难度和教务管理人员的工作量。

传统基于集中式管理的选课无力适应这些新的变化,建立网上选课系统势在必行。

2.项目主题,设计目的

2.1.项目主题

随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。

针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的信息查询、选课功能以及管理员对课程信息发布的管理等功能,另外也初步解决了管理员在课程信息发布管理上的权限问题。

2.2.设计目的

1.收集简单需求,利用UML和RationalRose工具对系统进行建模;

2.根据前述需求的分析,进行需求建模,绘制系统的用例图、活动图和时序图;

3.根据用例模型,进行架构建模,绘制系统的状态图,类图和交互图;

4.绘制系统中某些重要功能的对象图;

5.绘制系统的组件图和部署图;

6.对所完成的模型进行正向工程,创建系统的主要程序框架;

7.掌握UML建模工具RationalRose的使用方法;

8.给出某个简单系统的模型,能够熟练地使用Rose工具表达;

3.小组成员分工情况

交互图

(曾诚)

用例图、活动图、状态图

(陈竞)

类图、部署图

(陈雪枫)

文档

(张永尉)

学生选课系统:

1.用例图、活动图、状态图——陈竞

2.交互图(顺序图,协作图)——曾诚

3.类图、部署图、组件图、正向工程——陈雪枫

4.对象图张洪杰7.组件图8.部署图9.正向工程

4.需求分析

4.1.需求分析

4.1.1.学生选课系统的产生学生网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式——学生按照学校安排好的课程上课——已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。

随着高校人数的增多,这种弊端会越来越多的暴露出来。

因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。

从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。

作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。

以MIS系统的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。

4.2.技术可行性

以MIS技术为开发基础。

所谓MIS(管理信息系统--ManagementInformationSystem)系统,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。

以UML建模语言RationalRose工具为开发工具。

作为一种建模语言,UML的定义包括UML语义和UML表示法两部分。

其中UML语义描述了UML的精确原模型定义,是开发者能在语义上取得一致,消除因人而异的最佳表达方法所造成的影响。

UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法进行系统建模提供了标准。

Rational公司推出的RationalRose是目前最好的基于UML的CASE工具。

它把UML和谐地集成进面向对象的软件开发过程中。

不论是在系统需求阶段,还是在对象的分析与设计、软件的实现与测试阶段,它都提供了清晰的UML表达方法和完善的工具,方便建立起相应的软件模型。

它具有良好的界面,可编辑*.MNU纯文本文件,修改和定义主菜单,添加运行模块。

它可以生成各种代码和数据框架,如C++,Java,VisualBasic,IDL(Inter-faceDesignLanguage),DDL(DataDefinitionLanguage)等。

它有RoseScript,类似Office中的VBA(VisualBasicforApplication),直接调用Rose模型的对象。

对于模型中需要有特定数据结构,生成Rose不直接支持代码的程序员,可考虑用其进行模型的扩展,直接在模型中加入特定数据结构。

需补充的是,因为Rose的接口是按照Mi-crosoftCOM(CompentObjectModel)的标准制定的,所以也可在VB或VC++环境中编程,对模型进行数据添加。

它有Add-InManager,可把编写好的RoseScript和COM组件在RationalRose中添加或卸出。

5.设计过程

5.1用例图:

用例图从用户的角度而不是开发者的角度来描述对软件产品的需求,分析产品所需的功能和动态行为。

用例图常用来对需求建模

学生选课系统的参与者:

学生,管理员,数据库管理系统是另外一个活动者

学生---浏览选课界面—〉查询已选课程,选课

管理员---进入系统管理界面—〉建立课程,改动,删除课程

5.2活动图:

活动图用于描述用例的业务流程或操作的工作步骤,用于对系统进行动态建模。

添加课程事件流:

删除课程事件流和修改课程事件流与此类似

1管理员选择进入管理界面,用例开始

2系统提示输入管理员密码

3管理员输入密码

4系统验证密码

A1密码错误

5进入管理界面,系统显示目前所建立的全部课程信息

6管理员选择添加课程

7系统提示输入新课程信息

8管理员输入信息

9系统验证是否和已有课程冲突

A2有冲突

10系统添加新课程,提示课程添加成功。

11系统重新进入管理主界面,显示所有课程

12用例结束

其它事件流:

1系统提示再次输入

2用户确认

3三次错误,拒绝再次访问

4否则进入添加课程事件流第5步

1系统提示冲突,显示冲突课程信息

2用户重新输入

3继续验证直到无冲突

4进入添加课程事件流第10步

选课事件流:

1学生进入选课登录界面,用例开始

2系统提示输入学号和密码

3学生输入学号和密码

4系统验证

A1验证失败

5进入选课主界面

6学生点击选课

7系统显示所有课程信息

8学生选择课程

9系统验证课程是否可选

A2不可选

10系统提示课程选择成功,提示学生

11用例结束

错误流:

1系统体实验证失败,提示重新输入

2三次失败,拒绝访问

3成功,转选课事件流第5步

A2课程不可选

1系统提示课程不可选及原因

2学生重新选课

3重新验证直至成功

4转选课事件流第10步

5.3状态图:

状态图又称为状态机,它描述了用例、协作和方法的动态行为,也描述了类的行为。

5.4交互图:

用例的实现用交互图来指定说明。

交互图是通过表示对象间的关系和处理的消息来对系统的动态特性建模。

在UML中交互图有两种:

顺序图和协作图。

创建交互图的步骤:

1寻找对象(实体对象:

保存信息映射数据库中的表和字段;

边界对象:

接口;

控制象。

研究事件流中的名词

查阅事件流的特定实例

2寻找角色(事件流和确定过程由谁或由什么启动)

3将消息加进图中

当对象及其连接有利于理解交互时,选择协作图;

当了解序列时,选择序列图。

序列图清晰地显示了时间次序,但没有显式地指明对象间关系;

协作图清晰地显示了对象间关系,但时间次序必须从顺序号来获得。

序列图常用于场景显示,协作图更适合显示过程设计细节。

5.4.1时序图:

用户注册信息时序图.

学生选课时序图

管理员加课时序图

管理员修改选课时序图

管理员删除选课时序图

活动者、对象、消息、生命线和控制焦点组成

分析解答:

(不考虑学生登陆)

事件流:

1系统提示输入管理员密码

2管理员输入密码

3系统验证密码

4将结果返回给用户

对象:

界面、控制对象、数据库。

角色:

管理员,数据库

消息:

用户输入注册信息

界面将注册信息提交给控制对象

控制对象到数据库中查询注册信息

控制对象判断注册信息是否合法

如果合法在数据库里添加注册信息

控制对象将检查结果返回到界面对象

界面对象显示结果

选课:

1进入选课主界面

2学生点击选课

3系统显示所有课程信息

4学生选择课程

5系统验证课程是否可选

A1不可选

6系统提示课程选择成功,提示学生交费

7用例结束

在事件流中寻找

1)界面

2)课程

3)对于业务层的操作,也应该由对象来处理

4)事件流中设计的角色:

学生,数据库

1)学生通过界面发送选课命令

2)界面向控制对象请求课程信息

3)控制对象向数据库发送查询数据消息

4)数据库返回查询信息。

5)控制对象暂存数据库的查询结果

6)界面对象从控制对象中取得所有课程信息

7)在界面上显示所有的课程信息

8)学生选择课程

9)界面对象要求学生输入学号

10)学生输入学号

11)界面对象向控制对象发送消息,查询该学生是否可以选择选定的课程

12)控制对象从数据库中查询关联信息

13)控制对象判断是否可以选课

14)如果可以选课,向数据库中添加关联信息

15)向界面对象返回信息

加课:

1)界面提示用户输入新课程信息

2)界面对象创建一个课程对象

3)通过控制对象对课程信息进行合法性检查

4)控制对象从数据库中查询关联信息

5)控制对象对查询结果进行判断

6)控制对象向数据库中插入数据

7)在界面上显示结果

8)控制对象撤销建立的课程对象

修改课程:

1)界面提示用户输入要修改课程信息

6)控制对象向数据库中修改数据

删除课程:

管理员,界面,控制对象,数据库

1)管理员输入待删除的课程信息(IID)等

2)界面对象将信息发送给控制对象

3)控制对象查询课程信息是否有效

4)控制对象向界面返回信息,如果有效,提示管理员确认删除

5)管理员确认删除课程

6)界面将确认删除的信息发送给控制对象

7)控制对象将确认删除的信息发送给数据库

8)数据库实施删除,并将结果返回给控制对象

9)控制对象将结果返回到界面

5.4.2协作图:

活动者、对象、连接和消息

5.5类图:

类图来描述系统的内部结构,是对系统进行静态建模的重要技术之一。

5.6对象图:

对象图是描述系统中在某一时刻,一组对象以及它们之间关系的图形。

5.7组件图:

用于描述软件组件以及组件之间的组织和依赖关系。

5.8部署图:

用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件

5.9正向工程:

正向过程是通过到实现语言的映射而把模型转换为代码的过程。

本项目需要

Rose工具实现正向工程。

6.实验心得

在整个实验过程中,我们小组遇到不少问题,一开始,在分工、需求上就有分歧,经过激烈的讨论后,终于有了达成了一致。

在对需求和系统有一定了解后,我们以为以后的工作会一帆风顺,但当我们每个人完成自己的任务,并把各自的成果融合时,问题出来了,前面几个还好,但将类图放进去时,发生不兼容问题,一开始,我们本想借助于XX这个强大的工具,但当我们输入相关问题时,竟然没相关解决办法,如果这一步不能完成,以后的工作将无法进行。

这时,团队合作和头脑风暴的巨大量体现出来了,我们还是一起讨论,每个人是一种方法,终于,还是让我们找到了解决办法,在我们为我们合作而取得成果时,我们已经有了一种合作意识,同时,也更深入的掌握了RationalRose。

通过这次项目设计,我们总结出了属于我们小组的心得:

要想完成一个软件项目,首先,的确定适合的成员,这第一步,我们很成功地完成了。

然后,得对系统的需求有很深入的了解,这个方面,由于我们至少实验室项目,而且由于时间问题,我们不能进行用户调查,只能把自己当成用户的角色,同时,我们还借鉴了学校选课系统。

然后是对工具的选择和掌握,通过前几次实验,我们对RationalRose已经有了基本了解。

最重要的是要有一个概念,项目不是一个人能做完的,也不是几个人随便各搞各搞的能做的好的,这需要一个小组,通过讨论,交流信息,才能完成。

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

//Sourcefile:

C:

\\DocumentsandSettings\\Administrator\\Desktop\\CourseSelectSystem\\src\\Administrator.java

publicclassAdministratorextendsUser

{

privateBooleanadministrator;

privateIntegertelNo;

/**

*@roseuidC8028C

*/

publicAdministrator()

}

*@returnVoid

*@roseuid480FFE

*@returnString

*@roseuid480FF01D0199

publicStringaddCourse()

returnnull;

*@roseuid480FF2F2032C

publicStringmodifyCourse()

}

*@roseuid480FF30C00EE

publicVoiddeleteCourse()

Control.java//Sourcefile:

\\DocumentsandSettings\\Administrator\\Desktop\\CourseSelectSystem\\src\\Control.java

publicclassControl

privateStringtemporarySave;

*@roseuidD001F7

*/33/38UML课程设计------学生选课系统—————————————————————————

publicControl()

*@roseuid480FF

Course.java

\\DocumentsandSettings\\Administrator\\Desktop\\CourseSelectSystem\\src\\Course.java

publicclassCourse

privateIntegercourseID;

privateStringcourseName;

privateStringcourseTime;

privateStringteacherName;

publicAdministratortheAdministrator[];

*@roseuidD700AC

publicCourse()

*@roseuid480FF7FC02CD

*@roseuid480FFA

publicStringsetCourseID()

{34/38UML课程设计------学生选课系统—————————————————————————

publicStringgetCourseID()

*@roseuid480FF73601BA

publicStringsetCourseName()

*@roseuid480FFC

publicStringgetCourseName()

publicStringsetCourseTime()

*@roseuid480FF73B0293

publicStringgetCourseTime()

*@roseuid480FF7F1019A

publicStringsetTeacherName()35/38UML课程设计------学生选课系统—————————————————————————

*@roseuid480FF7FB025D

publicStringgetTeacherName()

Students.java

\\DocumentsandSettings\\Administrator\\Desktop\\CourseSelectSystem\\src\\Students.java

publicclassStudents

privateStringname;

privateStringsex;

privateStringclassNo;

pri

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1