软件工程概论实践大作业.doc

上传人:good****022 文档编号:116444966 上传时间:2022-07-05 格式:DOC 页数:17 大小:576.50KB
返回 下载 相关 举报
软件工程概论实践大作业.doc_第1页
第1页 / 共17页
软件工程概论实践大作业.doc_第2页
第2页 / 共17页
软件工程概论实践大作业.doc_第3页
第3页 / 共17页
点击查看更多>>
资源描述
软件工程实践项目设计报告( 2011 - 2012 年度 第一学期)课程名称: 软件工程概论 题 目: 学生选课系统 院 系: 计算机科学与技术系 班 级: 计算2班 组 长: 王源龙 学 号: 1091000205 组 员:梅梦云、时红岩、穆琳琳、黎安娜 学生选课系统一、 目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的基本知识;2. 熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;3. 进一步加强和提高软件工程文档的编写能力;4. 培养协作能力和团队精神。二、 主要内容1 课题题目:学生选课系统,本系统要实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。2 完成系统的需求分析与设计。3 系统要实现四个模块功能:教师模块、学生模块、管理员模块和公用模块。4 初步建立系统原型,实现关键的功能,并对系统进行测试。5 编写需求分析设计报告。6三、 进度计划序号设计内容名称完成时间1确定题目2011.11.232初步的需求分析与设计建模2011.11.2311.283详细的需求分析与设计建模2011.11.2812.54关键模块的实现与测试2011.12.512.125编写编写软件工程课程设计报告2011.12.1212.176验收检查及评定成绩2011.12.17四、 设计要求 1.建立需求描述 2.建立用例模型 3.建立对象模型 4.建立动态模型 5.建立功能模型 6.编写设计文档本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、维护学生信息、管理成绩、添加教师、维护教师信息和管理选修课程等。需求分析建立需求描述1 需求概述1.1课题题目:学生选课系统1.2系统的主要目标:本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 用户类的特征 最终的用户是学生,教师,管理员。1.4 选课系统的开发环境及运行环境:操作系统: Windows XP SP3 / windows7建模工具: Rational Rose 2003数据库系统:SQL Server2000开发工具: Visual Studio 2005Web服务器:IIS+ASP.NET 2.0平台2 功能需求分析2.1 确定执行者学生选课系统的执行者主要是学生,教师,管理员,应至少满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户。(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。建立用例模型2.2 确定用例图图2-2 学生选课系统用例图用例图说明:(1)系统的外部角色有:学生用户、教师用户和管理员。(2)系统主要用例的文档描述:学生管理用例:学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。教师管理用例:教师用户可见的功能,包含了查看学生选课和提交成绩两个用例功能。信息管理用例:管理员可见的功能,这个用例进一步分为三个用例:学生信息管理用例、教师信息管理用例和课程信息管理用例。学生信息管理用例:信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。教师信息管理用例:信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和删除教师三个用例。课程信息管理用例:信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课程、修改课程信息和删除课程三个用例。修改密码用例:所有用户都可见的功能,用于修改用户的密码信息。(3)系统用例之间的关系:学生管理用例与选课、查看选课、退课三用例之间是包含关系。教师管理用例与查看学生选课、提交成绩两用例之间是包含关系。信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包含关系。学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。(4)系统关键用例描述表2-2 修改密码用例描述用例名称修改密码参与者管理员、教师、学生描述管理员、教师、学生用户进行密码修改启动单击“修改密码”链接前置条件用户成功登录基本事件流用户系统1.进入用户修改密码界面,输入旧密码一次 ,新密码两次2.系统检查密码格式是否相符3.系统检查旧密码是否正确4.如果正确,进行密码修改,转入密码修改成功界面备选事件流异常流密码检查未通过系统返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码异常用户旧密码错误表2-2 提交成绩用例的描述用例名称提交成绩用例参与者教师用户描述提交选自己开设课程的学生的成绩启动进入提交成绩界面前置条件用户成功登录后置条件尚未提交过成绩基本事件流用户系统1.单击提交成绩2.系统提交成绩页面3.填写学生成绩,单击提交成绩 5.更新学生成绩,提示提交成功备选事件流异常流用户已经提交过该门课程成绩系统提示该课程成绩已提交,不能再次提交详细设计建立对象模型3.1类图图3-1 学生选课系统类图类图说明:(1)BaseUser类是一个系统角色用户的基类,主要方法有两个:modifyPWD() 用于修改用户的密码;loginCheck() 用于用户登录验证。(2)Admin类继承自BaseUser类。(3)Student类继承自BaseUser类,主要方法有:studentAdd() 用于添加学生;studentDel() 用于删除学生;studentUpdate() 用于更新学生信息;getStudents() 用于获取学生列表。(4)Teacher类继承自BaseUser类,主要方法有:teacherAdd() 用于添加教师;teacherDel() 用于删除教师;teacherUpdate() 用于更新教师信息;getTeachers() 用于获取教师列表。(5)Course类是一个课程类,主要方法有:courseAdd() 用于添加课程;courseDel() 用于删除课程;courseUpdate() 用于修改课程信息;getCourses() 用于获取课程列表。(6)Elect类是一个选课表类,主要方法有:elect() 选修课程;electDel() 退选课程;getElectInfo() 获取选课信息;haveSubmit() 检测是否已提交过成绩;submitScore() 提交成绩。建立动态模型4.1顺序图(1) 管理员修改课程信息顺序图图4-1-1 管理员修改课程信息顺序图(2) 学生用户退选课的顺序图图4-1-2 学生用户退选课的顺序图(3) 教师提交成绩顺序图图4-1-3 教师提交成绩顺序图4.2 协作图(1) 学生用户选课协作图图4-2-1 学生用户选课协作图(2) 教师提交成绩协作图图4-2-2 教师提交成绩协作图建立功能模型5.1 设计问题域子系统学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。以下为学生选课系统总体设计图和各功能模块说明:(1)总体设计图学生选课系统前台模块后台模块学生登录模块教师登录模块学生处理模块教师处理模块管理员处理模块公共模块管理员登录模块图5-1学生选课系统总体设计图(2)各模块功能表3-1 学生选课系统功能模块表功能模块包含子功能模块功能管理员模块学生管理子模块对学生信息的添加、修改,删除操作教师管理子模块对教师的添加,修改,删除,查询操作课程管理子模块对课程的添加,添加时为其分配任课教师,上课时间和地点,实现对课程的修改,删除,查看某个课程的详细信息等教师模块实现查看自己所教授的课程,课程有哪些学生选修,以及利用本系统提交学生的成绩学生模块实现学生选课,查看所选课程,修改自己的选课信息公有模块实现用户的身份验证,密码修改,退出系统等功能5.2 设计数据管理子系统(1)数据库表表5-2 数据库表序号数据库表数据表存储的内容1Student存储学生的信息2Teacher存储教师的信息3Users存储管理员的信息4Elect存储选课的信息5Cource存储课程的信息6Depart存储学校系院信息(2)数据表值属性以及之间的关系图5-2 数据表之间的关系图5.3 设计人机交互子系统(1)用户分类本系统的用户可分为三类:管理员用户;教师用户;学生用户。(2)用户描述管理员用户的描述:管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。教师用户的描述:教师用户在本系统中具有管理选修了自己开设的课程的学生的权限,查看选修了自己开设课程的学生信息有及提交学生成绩。学生用户的描述:选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。(3)设计命令层次系统的人机交互子系统的内容和准则:本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:主系统界面学生用户界面教师用户界面管理员用户界面图5-3-1 系统配置图5.4 系统用户登录活动图5.5 用户密码修改活动图5.6教师提交成绩活动图5.7 管理员添加课程活动图5.8 学生选修课程流程图部分功能代码实现看代码请点击遇到的问题以及解决方案: 对学生选课系统的设计而言,其中最难着手的是程序与数据库的连接问题,读取,修该,更新数据库的问题。因为我们之前不是很熟悉,所以在这上面花了很多时间,以至于后来感觉时间不够仓促结束。在系统测试中,我们首先对各个子模块进行单元测试,即把每一个模块作为一个单独的实体来测试,保证每个模块作为一个单元能正确运行。然后在完成所有模块后,我们将各子模块集成起来,再对它进行系统测试,找出系统设计或编码上的错误,以及验证系统是否实现了指定的功能。最后找几个其他的同学再对系统进行黑盒子测试,验证系统是否满足用户的功能需求。在测试的过程,特别是在集成测试之后,发现了许多问题及功能缺陷,最后经过修改调试后都解决了。比如,有一个问题是,在删除教师用户之后,系统里还剩有许多与该教师有关的冗余记录,造成系统混乱。在进行了分析之后,发现是因为在删除教师用户时,没有对与他所关联的记录进行删除造成的,在添加了对其关联记录的级联删除之后,问题得到了解决。五、软件工程设计总结或结论通过这次软件工程实践项目的学习,一方面学到了很多新的知识和技能,比如面向对象的分析设计方法,学会了使用rational rose来作图,学会了团队间的分工与合作,在与小组的讨论中,我善于汲取每个人的长处,合理分工,在与他们合作的一个多月里,我作为组长收获很多,我想他们应该也是吧!
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!