软件工程——实验1:面向对象需求分析方法

本文介绍了实验如何使用Visio/RationalRose进行面向对象的需求分析,包括安装工具、绘制用例图、类图和活动图,以及基于《简单的学生选课管理系统》进行的具体步骤。作者还详细阐述了系统角色分析、建模思路和类间关系,强调了模型与用户需求的一致性和面向对象设计的重要性。
摘要由CSDN通过智能技术生成

实验一 面向对象需求分析方法

一、实验目的

  1. 掌握Visio(或Rational Rose)的特点、运行环境及获取方法;
  2. 掌握Visio(或Rational Rose)基本使用方法;
  3. 掌握使用Visio(或Rational Rose)绘制用例图、类图及活动图的步骤。

二、实验环境与设备

  1. 硬件环境:微机1台。
  2. 软件环境:操作系统:Windows 10;建模工具:Visio或Rose;数据库:MySQL(可选);开发工具包:JDK(可选);开发环境:MyEclipse(可选);Web服务器:Tomcat(可选);浏览器:IE(可选)。硬件环境:微机1台。

三、实验内容

  1. 安装建模工具并熟悉其操作与使用,包括用例建模的基本元素、用例建模技术等。
  2. 根据附件1给出的《简单的学生选课管理系统》,采用面向对象分析方法,给出系统的用例图、课程注册用例活动图、分析类图。
  3. 分析对比功能模块和用户需求。
  4. 完成实验报告。

四、建模思路

4.1 系统角色分析

4.1.1 学生角色
  1. 学生可以查询新学期将开设的课程;
  2. 学生可以查询讲课教师情况;
  3. 学生可以选择自己要学习的课程进行“课程注册”;
  4. 学生可以查询成绩单;
  5. 使用系统需经过登录。
4.1.2 教师角色
  1. 教师可以查询新学期将开设的课程;
  2. 教师可以查询选课学生情况;
  3. 教师可以登记成绩单。
  4. 使用系统需经过登录。
4.1.3 教务管理员角色
  1. 教务管理员可以进行教师信息、学生信息和课程信息的维护;
  2. 教务管理员可以开启和关闭“课程注册”;
  3. 使用系统需经过登录。

4.2 课程注册用例分析

在教务管理员开启“课程注册”后,学生经登录进入“课程注册”用例来完成选课。进入后首先获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如课程名、学时、学分、基本信息、开课教师、开课院系和选课条件等。每个学生可以从开课列表中选择不超过3门的选修课,每门课程最多不能超过30人,最少不能低于5人,低于5人的课程将被取消。在选课期间允许学生试听并改变已注册课程,开学两周后教务管理员关闭“课程注册”。

4.3 整体系统服务分析

系统一共面向学生、教师、教务管理员三类用户,均需通过输入账号、密码登录系统。若没有账号,需完成注册后登录。为便于管理,我设置了用户类,并且学生、教师、管理员三个类对它进行继承。

学生可以通过课程目录表查询新学期开设的课程和讲课教师情况,内容包括:课程名、学时、学分、基本信息、开课教师、开课院系和选课条件等;可以从课程目录中选择1-3门选修课和若干必修课进行“课程注册”;可以通过对成绩表的查看查询成绩。教师可以通过课程目录表查询新学期开设的课程;可以通过课程注册查看选课学生情况;可以通过对成绩表的修改登记成绩。教务管理员可以进行教师信息、学生信息和课程信息的维护;可以开启和关闭“课程注册”。

对于课程,我设计了必修课类、选修课类、课程类、课程目录表、课程注册类五类。其中必修课和选修课继承于课程类;课程目录表与课程类存在聚合关系;课程注册类与必修课类存在1对多的关系,与选修课类存在1对1-3的关系。对于成绩,我设计了成绩表类,它依赖于课程注册类。

五、建立模型

5.1 角色用例图

5.2 课程注册用例活动图

5.3 类图

六、结果分析

6.1 功能模型和用户需求的对照比较

学生选课管理系统的功能模型可以分成四大模块,分别是登录模块、学生管理模块、教师管理模块和教务管理员管理模块。

登录模块:使用系统的所有用户都需经过登录。

学生管理模块:用户为学生,下分课程查询、选课、成绩查询三部分。对应学生用户的需求为:学生使用该系统可以查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行“课程注册”,并可以查询成绩单。

教师管理模块:用户为教师,下分课程查询、选课情况查询、成绩登记三部分。对应教师用户的需求为:教师使用该系统可以查询新学期将开设的课程和选课学生情况,并可以登记成绩单。

教务管理员管理模块:用户为教务管理员,下分信息维护、开启和关闭课程注册两部分。对应管理员用户的需求为:教务管理员使用该系统可以进行教师信息、学生信息和课程信息的维护,开启和关闭“课程注册”。

上述所构建的用例模型较好地对接了系统中用户的各个功能需求,有比较匹配的一致型。并且运用面向对象的思想,对用户需求进行了抽象提取与封装。

七、心得体会

这是软件工程的第一次实验课,主要是针对课本第四章的内容进行了巩固与实践。通过对学生选课系统进行面向对象的需求分析,设计用例图、活动图和类图,我的实验工具主要使用了EdrawMax和Visio软件。

第一个实验内容围绕系统的用例图展开。通过对系统的用户角色进行分析,我绘制了以学生、教师、教务管理员为用户的用例图;并且根据两周的时间限制,设置了定时器(Timer)作为执行者。

第二个实验内容围绕课程注册用例的活动图展开。通过对课程注册这一用例的详细描述,我设置了三个泳道,分别由教务管理员、学生、课程设计管理三个对象负责。

第三个实验内容围绕系统的类图展开。通过对系统整体服务的分析,我设计了用户、学生、教师、教务管理员、课程、课程目录表、必修课、选修课、课程注册、成绩表十个类,并且分析了各类之间存在的关系,最终得出类图。

由于我参加了服务外包竞赛团队,画这些工程图是我们前期写文档时需要进行的工作,所以对于这几种工程图原先就有所了解,并且也使用过像EdrawMax这样的绘图软件,整个实验过程还是蛮顺利的。不过在实验中,我也有几点心得体会:一,各种图之间其实有着密切的联系。比如我在系统的用例图中添加了检测课程冲突用例,那么在活动图中也需要进行修改,否则容易产生工程上需求分析的误解。二,要考虑实际应用时的情况,运用面向对象的设计思想,如果不能在前期做好合理分析,后期很容易造成设计困难。

本次实验,我掌握了基本的需求获取与分析方法;掌握了用例图、活动图、类图的画法,分别在三个题目中得到了实践;进一步熟练操作EdrawMax绘图软件,并且初步了解了Visio软件的基本使用。

  • 31
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阮阮的阮阮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值