UML统一建模语言实验报告实验名称:学生选课系统UML部署系(院):计算机科学学院专业班级:软工11402姓名:靳生栋学号:201404621指导教师:陈应霞实验时间:2017.10.15—2017.10.21实验地点:12教一楼B区机房一.需求分析网上选课系统是一个高等院校用来进行对学生选修课程管理的管理信息系统(MIS)。该信息系统能够为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。网上选课系统的功能性需求包括以下内容:(1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。(2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。满足上述需求的系统主要包括以下几个小的系统模块:(1)基本业务处理模块。基本业务处理模块主要用于实现学生通过合法认证登录到该系统中进行网上课程的选择和确定。(2)信息查询模块。信息查询模块主要用于实现学生对选课信息的查询和自身信息的查询。(3)系统维护模块。系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括学生信息、课程信息等信息的维护。数据库的维护包括数据库的备份、恢复等数据库管理操作。二.创建系统用例模型1.学生用例能够通过该系统进行如下活动:(1)查询选课信息。学生可以在查询界面了解可供自己选择的各门课程的详细信息。(2)登录选课系统。学生能够根据自己的学号和密码登录选课系统,如果身份验证失败,不得进行下一步操作。如果通过身份验证才能进入下一个操作界面。(3)选择所修课程。在选择课程的界面选择自己要选修的课程并确认提交。(4)查询个人信息。可以通过查询界面查询本人的基本信息。2.系统管理员用例能够通过该系统进行如下活动:(1)登录选课系统。系统管理员使用账号和登录密码登陆系统进行本系统的管理和维护工作。(2)添加学生信息。将新入校的新生的个人基本信息录入到本系统,在数据库中保存。(3)修改学生信息。对于个人基本信息发生变化的学生,修改数据库中相关学生的个人基本信息并保存。(4)删除学生信息。将不需要再保存的学生个人基本信息从数据库中删除。(5)查询学生信息。根据学生的学号和姓名对在校学生的个人基本信息进行相关的查询。(6)添加选修课程。将新的课程添加到选课系统并保存到数据库。(7)修改选修课程。对数据库中原有的课程信息进行修改并保存到数据库中。(8)删除选修课程。将不再开设的选修课程从数据库中删除。三.创建系统静态模型根据系统需求,创建静态系统类图。我们可以识别系统中存在的主要实体类:系统管理员,学生,课程。界面类:Form。1.学生登录选课系统的工作流程(1)学生希望通过网上选课系统进行某一项操作。(2)学生登录系统,在登录页面LoginFrame输入自己的用户名和密码并提交。(3)系统将学生提交的用户名和密码传递到的Control类中检查用户合法身份的方法中。该方法将用户信息与数据库中的用户信息进行比较,检查用户信息中是否存在此学生的信息。(5)检查完毕后将验证结果返回到登录界面显示。(6)学生在登录界面获得验证结果。2.学生查询选修课的流程(1)学生进入查询课程界面Form,发送查询选修课程的请求。(2)界面Form向控制对象Control请求课程信息,控制对象到数据库查询课程信息。(3)选课界面对象从控制对象中取得所查询得到的课程对象信息Course。并返回到选课界面上显示所有的课程信息。(4)学生从Form中获得课程信息。3.学生选课用例工作流程(1)学生进入选择选修课程界面SelectFom,并在界面中确定选修的课程并提交请求。(2)选修课程界面SelectFom将学生所选课程的信息传递到控制对象Control,控制对象将课程信息与数据库中的课程信息比较,判断是否可以选课。(3)如果可以,执行选课操作,将选课结果保存到数据库中。(4)控制对象返回选课成功信息到选课界面SelectFormo。(5)学生从界面得到选课成功的信息。4.学生查询个人信息(1)学生进入查询个人信息界面QueryForm,并在界面中提交查询请求。(2)界面QueryFom将学生查询的信息传递到控制对象Control。(3)控制对象从数据库中得到所查询的个人信息。(4)控制对象Control将得到的信息返回到界面QueryForm并显示。(5)学生从QueryForm获得自己想要的个人信息5.系统管理员登录选课系统的工作流程(1)系统管理员希望通过网上选课系统进行某一项操作。(2)系统管理员登录系统,在登录页面LoginFrame输入自己的用户名和密码并提交。(3)系统将系统管理员提交的用户名和密码传递到的Control类中检查用户合法身份。将用户信息与数据库中的用户信息进行比较,检查用户信息中是否存在此管理员的信息。(5)检查完毕后将验证结果返回到登录界面显示。(6)系统管理员在登录界面获得验证结果。如果身份验证未通过,重新登录或退出。否则,继续选择下一步的操作。6.系统管理员添加选修课工作流程(1)系统管理员进入添加课程界面AddForm,并在界面中提交添加课程的信息。(2)界面AddForm将管理员提交的课程信息传递给控制对象Control.(3)控制对象向数据库查询课程相关信息并对查询结果进行判断。(4)控制对象Control.向数据库中插入新选修课程的数据。(5)控制对象将添加课程成功的信息返回界面AddForm。(6)系统管理员在界面AddForm获得添加课程成功的信息。7.系统管理员修改选修课工作流程(1)系统管理员进入添加课程界面ModifyForm,并在界面中提交修改课程的信息。(2)界面ModifyForm将管理员提交的课程信息传递给控制对象Control(3)控制对象向数据库查询课程相关信息并对查询结果进行判断。(4)控制对象Control.向数据库中插入修改后课程的数据。(5)控制对象将修改课程成功的信息返回界面AddForm。(6)系统管理员在界面AddForm获得修改课程成功的信息。8.系统管理员删除选修课工作流程(1)系统管理员进入删除课程界面DeleteForm,并在界面中提交删除课程的信息。(2)界面DeleteForm将管理员提交的课程信息传递给控制对象Control(3)控制对象向数据库查询课程相关信息并对查询结果进行判断。(4)控制对象Control向数据库中执行删除课程的数据。(5)控制对象将修改课程成功的信息返回界面DeleteForm。(6)系统管理员在界面DeleteForm获得修改课程成功的信息。9.系统管理员查询学生信息工作流程(1)系统管理员进入添加学生信息界面AddInfoForm,并在界面中提交查询学生的信息。(2)界面AddInfoForm将查询的信息传递到控制对象Control。(3)控制对象到数据库中查询的该学生信息对象是否已存在并判断是否可以添加。(4)控制对象Control将新学生的信息添加到数据库并保存。(4)控制对象将添加成功信息返回到界面AddInfoForm并显示。(5)系统管理员从AddInfoForm界面获得添加成功的信息。10.系统管理员添加学生信息工作流程(1)系统管理员进入添加学生信息界面AddInfoForm,并在界面中提交查询学生的信息。(2)界面AddInfoForm将查询的信息传递到控制对象Control。(3)控制对象到数据库中查询的该学生信息对象是否已存在并判断是否可以添加。(4)控制对象Control将新学生的信息添加到数据库并保存。(4)控制对象将添加成功信息返回到界面AddInfoForm并显示。(5)系统管理员从AddInfoForm界面获得添加成功的信息。11.系统管理员修改学生信息工作流程(1)系统管理员进入修改学生信息界面ModifyInfoForm,并在界面中提交修改学生的信息。(2)界面ModifyInfoForm将查询的信息传递到控制对象Control。(3)控制对象到数据库中查询的该学生信息对象是否并判断是否可以修改。(4)控制对象Control将该学生的信息进行修改并保存。(4)控制对象将修改成功的信息返回到界面ModifyInfoForm并显示。(5)系统管理员从ModifyInfoForm界面获得修改成功的信息。12.统管理员删除学生信息工作流程(1)系统管理员进入删除学生信息界面DeleteInfoForm,并在界面中提交删除学生的信息。(2)界面DeleteInfoForm将查询的信息传递到控制对象Control。(3)控制对象到数据库中查询的该学生信息对象是否并判断是否可以删除。(4)控制对象Control将该学生的信息进行删除。(4)控制对象将删除成功的信息返回到界面DeleteInfoForm并显示。(5)系统管理员从DeleteInfoForm界面获得删除成功的信息。13.课程的状态图课程包含以下三种状态:被添加的课程、被修改课程、被删除的课程。它们之间的转化规则是:(1)系统管理员添加新的选修课程,能够被学生来选择。(2)当原有的课程需要做修改时,由系统管理员负责修改课程的内容。(3)当原有的课程不再开课时,由系统管理员将该课程进行删除。14.学生对象的的状态图(1)学生在查询课程的界面输入课程的信息。(2)界面将信息传递到控制业务逻辑的对象Control进行对课程的验证,然后到数据库中去查询所查询的课程。(3)Control获得课程信息后通过界面显示课程详细信息。15.学生选课活动图(1)学生在选择课程的界面输入选择的课程的信息。(2)界面将信息传递到控制业务逻辑的对象Control进行对课程的验证,到数据库中去查询该课程是否已存在。(3)Control根据查询结果判断课程是存在。如果不存在,将提示信息返回选择课程的界面予以显示。如果合法则将选择课程的信息添加到数据库保存。(4)业务逻辑的对象Control根据返回的选课结果,判断选课是否成功。如成功在选课界面显示选课成功的信息。如果未成功,则显示选课失败的信息。16.系统管理员添加选项课活动图(1)系统管理员在添加课程的界面输入要添加的课程的信息。(2)界面将信息传递到控制业务逻辑的对象Control进行对课程的验证,到数据库中去查询该课程是否已存在。(3)Control根据查询结果判断添加课程是否存在。如果不存在,将提示信息返回添加课程的界面予以显示。如果存在就将课程信息添加到数据库保存。(4)业务逻辑的对象Control根据返回的添加结果,判断添加课程是否成功。如成功在添加课程的界面显示添加成功的信息。如果未成功,则显示添加失败的信息。17.系统管理员修改选修课活动图(1)系统管理员在修改课程的界面输入要修改的课程信息。(2)界面将信息传递到控制业务逻辑的对象Control进行对课程的验证,到数据库中去查询该课程是否已存在。(3)Control根据查询结果判断修改课程是否存在。如果不存在,将提示信息返回修改课程的界面予以显示。如果存在,则将原课程信息予以修改并保存。(4)业务逻辑的对象Control根据返回的修改结果,判断修改课程是否成功。如成功,在修改课程的界面显示修改成功的信息。如果未成功,则显示修改失败的信息。四.创建系统的部署模型1.系统构建图网上选课系统中,我们可以对系统的主要参与者和主要的业务实体类分别创建对应的构件进行映射。我们前面在类图中创建Student类、SystemMananger类、Control类、Form类和Course类,所以可以映射出相同的这些构件,包括学生构件、系统管理员构件、业务逻辑构件、页面构件和课程构件。除此之外,我们必须有一个主程序构件。2.系统部署图网上选课系统中,系统包括四种节点,分别是:数据库节点,由一台数据库服务器负责数据的存储,处理等;系统服务器节点,用于处理系统的业务逻辑。客户端浏览器节点:用户通过客户端登录系统进行操作。打印机节点:用于打印数据报表。五.实验总结通