暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

软件工程高效学 | 实战案例:在线选修课程管理系统设计

351

软件工程是计算机领域的一门专业基础课,它对于培养学生的软件素质、提高学生的软件开发能力与软件项目管理能力具有重要意义。本篇介绍了利用Rational Rose进行“在线选修课程管理系统”面向对象的设计案例。


01

实战案例——在线选修课程管理系统设计

本文以“在线选修课程管理系统”案例为示例,利用Rational Rose进行面向对象设计实战。该系统的需求描述如下。

  • 教师选择本学期要教授的课程。

  • 教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。

  • 学生填写课程选修表。

  • 学生按最终的课程表到财务处办理收费手续(Billing System)。

  • 教师可查询所教课程的学生花名册(Roster)。

  • 教务管理人员维护学生、教师和课程的信息。


构建用例模型

① “在线选修课程管理系统”中的执行者(Actors)。

  • 注册选修课程的学生。

  • 教授选修课程的教师。

  • 教务管理人员必须汇总选修课程情况,制作课程表。

  • 教务管理人员必须维护关于课程、教师和学生的所有信息。

  • 财务管理系统从本系统中取出收费信息。

创建用例与主用例图

扫码观看视频讲解(限免3天)


② “在线选修课程管理系统”中的用例(Use Case)。

步骤1: 使用Rational Rose创建执行者(Actors)。

首先右击浏览器窗口中的Use Case View包,弹出快捷菜单后,选择New→Actor项,并输入执行者的名字(如果输入错误,可用Rename命令更改);如果文档窗口不可见,选择菜单和工具栏中的View→Documentation菜单,然后在浏览器窗口中选中所需执行者,输入相应文档。创建结果如图4-15所示。

■ 图4-15执行者创建结果

步骤2: 使用Rational Rose创建用例(Use Case)。

首先右击浏览器窗口中的Use Case View包,弹出快捷菜单后,选择New→Use Case项并输入用例的名字;然后在浏览器窗口中选中所需用例;将光标置于文档框中,输入相应文档。创建结果如图4-16所示。

■ 图4-16用例创建结果

步骤3:使用Rational Rose创建主用例图(Main Use Case Diagram)。

首先双击浏览器窗口的Use Case View包中的Main条目,打开主用例图;然后单击选中浏览器窗口中的“执行者”,将其拖到主用例图中;随后单击选中浏览器窗口中的“用例”,并将其拖到主用例图中;最后,在工具栏中选择“单向关联”(Unidirectional Association)图标,单击一个“执行者”,并拖到相应的用例上;或单击一个“用例”,并拖到相应的执行者上。创建结果如图4-17和图4-18所示。

■ 图4-17主用例图创建结果(1)

■ 图4-18主用例图创建结果(2)


实践案例介绍与创建执行者

扫码观看视频讲解(限免3天)


构建活动图模型

本部分主要介绍建立选修课程目录表的步骤。

步骤1: 使用Rational Rose创建活动图(Activity Diagram)。

首先右击浏览器窗口中的Use Case View包,弹出快捷菜单后选择New→Activity Diagram项,然后输入活动图的名字;双击浏览器窗口中的Activity Diagram选项,打开该图。创建结果如图4-19所示。

■ 图4-19活动图创建结果

步骤2: 使用Rational Rose创建活动(Activity)。

首先在工具栏中选择Activity 图标,在活动图(Activity Diagram)中单击要放置“活动”(Activity)的位置,输入活动名字;然后在工具栏中选择State Transition图标,单击一个“活动”,并将其拖到相应的活动上。创建结果如图4-20所示。

■ 图4-20活动创建结果

步骤3: 使用Rational Rose创建决策点(Decision Points)。

首先,在工具栏中选择Decision图标,在活动图(Activity Diagram)中单击要放置决策点的位置,并输入决策的名字;其次,在工具栏中选择State Transition图标,单击一个“活动”,并将其拖到相应的决策点上;然后,在工具栏中选择State Transition图标,单击一个“决策点”选项,拖至拐角处单击左键,再将其拖到相应的活动上;随后,双击此条“转换线”,打开规格设定框,单击Detail 标签,在Guard Condition框中输入条件No,单击OK按钮,关闭规格设定框;最后,在此条转换线上单击左键,选中此条“转换线”,单击菜单和工具栏中的Format→Line Style→Rectilinear 选项,使其变得美观,调整过程如图4-21所示,调整完成后,创建结果如图4-22所示。

■ 图4-21创建决策点调整过程

■ 图4-22决策点创建结果

步骤4:使用Rational Rose创建同步条(Synchronization Bar)。

首先在工具栏中选择Horizontal Synchronization图标;然后在活动图(Activity Diagram) 中单击要放置同步条的位置;最后在工具栏中选择State Transition图标;创建结果如图4-23所示。

■ 图4-23同步条创建结果

步骤5:使用Rational Rose创建泳道(Swim lanes)。

首先在工具栏中选择Swim lanes图标,在活动图(Activity Diagram)中单击要放置泳道的位置;然后双击泳道,打开规格说明框,在Name框中输入泳道的名字,单击OK按钮,关闭规格设定框;最后对泳道的大小位置进行调整,将所需的活动和变换线拖至新泳道中。创建结果如图4-24所示。

■ 图4-24泳道创建结果

步骤6: 使用Rational Rose创建起始活动和终止活动。

首先在工具栏中选择“起始活动”或“终止活动”图标,在活动图(Activity Diagram)中单击要放置“起始活动”或“终止活动”的位置;然后在工具栏中选择State Transition图标,单击“起始活动”图标,拖到相应的活动上;最后单击一个“活动”图标,拖至“终止活动”图标上。创建结果如图4-25所示。

■ 图4-25创建起始活动和终止活动


构建相关的包和类以及简单类图

步骤1: 在Rational Rose的浏览器窗口中创建类(Class)。

首先右击浏览器窗口中的Logical View,弹出快捷菜单后,选择New→Class项,输入类的名字;然后在所建类上单击右键,弹出快捷菜单,选择Open Specification项,单击General标签;最后在Stereotype框中选择entity类;单击OK按钮关闭规格说明框。规格说明框的设置过程如图4-26所示。

■ 图4-26规格说明框设置过程

表4-3列出了边界类、控制类、实体类各自的功能。


■ 表4-3边界类、控制类、实体类功能


步骤2: 在Rational Rose的浏览器窗口中创建包(Packages)。

首先右击浏览器窗口中的Logical View选项,弹出快捷菜单后,选择New→Package选项,输入包的名字;然后新建相关类并设置其相应的类别,其中设置边界类和控制类的过程如图4-27和图4-28所示;最后单击浏览器窗口中的“类”选项,将其拖至相应的包中。

■ 图4-27设置边界类过程示意图

■ 图4-28设置控制类过程示意图

在Package项中,PeopleInfo包用来存放与人员有关的内容,Interfaces包用来存放与界面有关的内容,UniversityArtifacts包用来存放与学校工件有关的内容。

步骤3: 在Rational Rose中创建主类图(Main Class Diagram)。

首先双击浏览器窗口中Logical View中的Main类图,打开它;然后单击浏览器窗口中的包,将其拖到Main类图上;重复以上步骤后,创建结果如图4-29所示。

■ 图4-29主类图创建结果

步骤4: 在Rational Rose中创建包中的主类图(Package Main Class Diagram)。

首先双击Main 类图中的University Artifacts包,打开这个包,并创建这个包的主类图(Package Main Class Diagram);然后,单击浏览器窗口中的“类”图标,将其拖到类图上;重复以上步骤,最后创建结果如图4-30所示。

■ 图4-30包中的主类图创建结果

(4) 构建用例实现图(Use Case Realization Diagram)。

使用Rational Rose创建逻辑视图中的用例图(Use Case Diagram)。

首先,右击浏览器窗口中的Logical View选项,弹出快捷菜单后,选择New→Use Case Diagram选项,输入用例图的名字“Realizations”;其次,右击浏览器窗口中的Logical View选项,弹出快捷菜单后,选择New→ Use Case选项,输入用例的名字;然后双击新建的“用例”选项,打开用例的规格设定框,单击Stereotype框,选择use-case realization选项,规格设定过程如图4-31所示。重复以上过程,用例的创建结果如图4-32所示。最后,打开实现用例图,将新建的“实现用例”拖入图中,创建结果如图4-33所示。

■ 图4-31用例规格设定过程

■ 图4-32用例创建结果

■ 图4-33用例实现图创建结果


构建顺序图(Sequence Diagram)与协作图(Collaboration Diagram)

步骤1: 使用Rational Rose创建顺序图(Sequence Diagram)。

首先,右击Logical View中的Maintain course information实现用例,弹出快捷菜单后,选择New→Sequence Diagram选项,然后输入顺序图的名字“Create a course”;创建结果如图4-34所示。

■ 图4-34顺序图创建结果图

步骤2:在顺序图中创建对象和分配类。

首先,双击顺序图名称,打开顺序图,将浏览器窗口中Use Case View包中的执行者Registrar拖入图中;其次,选择工具栏中的Object图标,单击图中放置对象的位置,并输入相应的名字,重复以上步骤;然后,选择工具栏中的Object Message图标,从信息发出者拖至信息接收者,并输入信息的名字,重复以上步骤,创建对象完成后结果如图4-35所示;最后,单击选中浏览器窗口中所需的类,将此类拖至顺序图相应的对象上,对象分配类后,结果如图4-36所示。

■ 图4-35创建对象结果

■ 图4-36对象分配类结果

步骤3:将顺序图转换为协作图。

首先,双击顺序图名称,打开顺序图;然后选择屏幕上方的菜单Browser→Create Collaboration Diagram选项,或者按F5键;最后调整图中的对象和信息,使其美观。创建结果如图4-37所示。

■ 图4-37顺序图转换为协作图创建结果


构建状态图(Statechart Diagram)

步骤1:使用Rational Rose创建状态图(Statechart Diagrams)。

首先,右击浏览器窗口中的CourseOffering类,弹出快捷菜单后,选择New→Statechart Diagrams选项;然后,输入状态图的名字“CourseOffering States”,创建结果如图4-38所示。

■ 图4-38状态图创建结果

步骤2: 使用Rational Rose创建状态(States)。

首先,在工具栏中选择State图标,在状态图中单击要放置状态的位置;然后,输入状态的名字。创建结果如图4-39所示。

■ 图4-39状态创建结果

步骤3: 使用Rational Rose创建状态转换(State Transitions)。

首先,在工具栏中选择State Transitions图标,单击“起始状态”,并拖至下一个状态;然后,输入状态转换的名字。创建结果如图4-40所示。

■ 图4-40状态转换创建结果

步骤4:使用Rational Rose创建起始、结束状态。

首先,在工具栏中选择Start图标,在状态图中单击要放置起始状态的位置;然后,用状态转换线进行连接。起始状态创建结果如图4-41所示。

■ 图4-41起始状态创建结果

同样地,在工具栏中选择Stop图标,在状态图中单击要放置结束状态的位置,用状态转换线进行连接,结束状态的创建结果如图4-42所示。

■ 图4-42结束状态创建结果

步骤5: 使用Rational Rose增加状态转换的细节部分。

首先,双击某条转换线,打开规格设定框,单击Detail标签;然后,在相应的框中输入action(/后的内容)、guard condition([ ]里的内容)以及发出的event(^后的内容);最后,单击OK 按钮,关闭规格设定框。创建结果如图4-43所示。

■ 图4-43状态转换规格设定结果

步骤6: 使用Rational Rose增加状态的Actions部分。

首先,双击某个状态,打开规格设定框,单击Actions标签;然后,右击Actions框中的任一位置,弹出快捷菜单后,选择Insert选项,将创建一个类型为Entry的action,规格设定过程如图4-44所示;

■ 图4-44状态的Actions设定过程

双击这个action,弹出action的规格设定框后,在when框中设定相应的类型,在type框中设定action或者send event(用^表示),输入action的名字或event的信息;单击OK按钮,关闭Actions规格设定框。创建结果如图4-45所示。

■ 图4-45状态的Actions设定结果


构建构件图(Component Diagram)

步骤1: 使用Rational Rose创建Main构件图(Component Diagram)。

首先,在浏览器窗口中的Component View中创建图中的各个构件包,双击浏览器窗口中的Component View中的Main 构件图;然后,将浏览器窗口中的Component View中的构件包拖入图中;最后创建包之间的依赖线。创建结果如图4-46所示。

■ 图4-46Main构件图创建结果

步骤2: 创建University构件包中的构件。

首先,双击Main构件图中的University包,打开图形;然后,在工具栏中选择Component图标;最后,单击图中某一位置,放置构件,输入构件名称。创建结果如图4-47所示。

■ 图4-47University构件包中的构件创建结果

步骤3: 将类映射到构件上。

首先,右击浏览器窗口中的CourseOffering构件,弹出快捷菜单后,选择Open Specification项,单击Realizes标签;然后,右击所需的类,弹出快捷菜单,选择Assign项;最后,单击OK按钮,关闭规格设定框。创建过程如图4-48所示。

■ 图4-48将类映射到构件上


构建部署图(Deployment Diagram)

使用Rational Rose创建部署图(Deployment Diagram)。

首先,双击浏览窗口中的“部署图”(Deployment Diagram)选项,选择工具栏中的Processor图标,并单击图中某一位置,输入结点的名字;然后,选择工具栏中的Connection图标,单击某一结点,拖至另一结点;最后,选择工具栏中的Text 图标,在相应结点下写上文字。创建结果如图4-49所示。

■ 图4-49部署图创建结果



实例讲解

软件工程导论与项目案例教程

(微课视频版)

精彩回顾

软件工程

1. 软件的内涵与危机

2. 软件工程基础

3. 软件项目的生存周期

4. 软件项目的开发模型

可行性分析

5. 实践工具:KittenMicrosoft Office Visio

6. 实践工具:Kitten
7. 实战案例:编写浏览器开发可行性研究报告



下期预告

UI设计

  9. 实战案例:利用Kitten设计交互案例

软件实现

10.实战案例:用海龟编辑器实现人脸识别

软件测试

11. 实战案例:Selenium单元测试实战

12. 自动化网页资料单选实战

项目管理

13. 实战案例:Excel绘制甘特图

14. 实战案例:TAPD进行需求管理

15. 实战案例:禅道进行Bug管理



02

参考书籍


软件工程导论与项目案例教程(微课视频版)

ISBN:9787302614616

作者:吴彦文

定价:59.90元

扫码优惠购书





内容简介

本书共分为11章,设计体系遵循教育部“新工科”工程技术人才“实基础、精专业、强实践、重创新、懂管理”的育人理念。全书涵盖软件工程基础知识、软件分析与设计、软件实现、软件测试、软件项目管理、软件开发实践和应用工具拓展等方面的内容。

第1章绪论,涵盖了软件工程概述、软件工程学习者阶段性知识与能力框架和全书实践任务预览。

第2章可行性分析,介绍了可行性研究,包括项目立项、可行性研究的方法与工具。以Visio软件为例,详解了流程图的绘制过程。

第3章需求分析,描述了需求分析的步骤和结构化分析方法。以机票预订系统需求分析报告为例,从数据、功能、性能三个维度展示了需求文档的书写流程与规范。

第4章软件设计,介绍了软件设计的步骤、面向对象的软件设计方法——UML和UML的主要建模工具RationalRose。借助在线选修课程管理系统设计案例,展现了用例模型和UML图的构建方法。

第5章UI设计,总结了界面的设计原则和交互设计的操作技巧。采用基于Axure的高保真Web原型图设计案例和基于Kitten的交互设计案例进行讲解,带领读者快速入门交互设计。

第6章软件数据库设计,介绍了数据库系统、关系数据库管理系统、MySQL和结构化查询语言SQL。此外,介绍了数据库管理工具Navicatfor MySQL的基本操作。

第7章软件实现,介绍了软件实现、编码技术和开发实践过程。基于此,设计了应用海龟编辑器的人脸识别算法实战案例和应用微信开发者工具的记事本小程序开发实战案例,辅助读者快速上手开发实践。

第8章软件测试,归纳了软件测试常用的方法和工具,重点介绍了自动化测试工具Selenium。基于此,设计了单元测试实战和自动化网页资料单选实战,帮助读者快速熟练使用测试工具。

第9章项目管理,介绍了项目管理的相关概念及应用,设计了多个实践案例,模拟了项目管理中的关键步骤,以帮助读者快速理解项目管理的基本流程和技术应用。

第10章软件工程实践,引导读者以案例贯穿软件工程开发全流程的方式,实践了“湖北省青少年运动员竞赛注册管理信息系统”项目和“疫情地图小程序”项目,从而驱动读者自主探索软件开发的工具和过程。

第11章软件工程中的“黑科技”工具,拓展了一些科技狂潮下应用于软件工程实践的“黑科技”工具,激发读者欣赏科技之美,追求创造科技之美。





    文章转载自清华计算机学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论