百度文库 - 让每个人平等地提升自我
软件工程实训
前 言
“软件工程”是计算机专业和软件工程等相关专业的一门重要课程,也是其他理工科专业的热门选修课程。“程序设计语言”、“计算机网络”、“数据库原理”和“数据机构”等是它的前导课程,学好本课程对学生毕业后从事软件开发有着极为重要的作用。
要学好“软件工程”,仅仅通过课堂教学或自学掌握理论知识是远远不够的,还必须加强实践。为此编写了《软件工程实训指导书》,以帮助学生进行软件工程实训,从实际项目出发,以便学生学会运用软件工程基本理论知识去解决软件开发中的实际问题,达到学以致用的目的。
2008年8月
1
百度文库 - 让每个人平等地提升自我
第一部分 面向对象软件开发技术
项目的引入及需求
简易教学管理系统的分析、设计与实现
一、设计的目的
1.初步了解UML语言的概念、结构、语义与表示方法; 2.掌握UML建模工具Rational Rose的使用方法;
3.给出某个简单系统的模型,能够熟练地使用Rose工具表达;
二、设计理论基础
1. 面向对象的程序设计C++或JAVA程序设计课程; 2.数据结构或算法课程
2.SQLServer或mysql数据库系统; 3. 熟悉传统软件工程以及软件测试技术。
三、设计内容与步骤
需求陈述:简易教学管理系统主要提供两个方面的服务: (1) (2)
选课管理,负责新学期的课程选课注册。 成绩管理,负责学生成绩管理。
简易教学管理系统---选课管理应提供的服务如下: 1. 录入与生成新学期课程表
教学管理人员在新学期开学前录入新学期的课程,打印将开设的课程目录表,供师生参考选择。如果某门课实际选课的学生少于10人,则停开该课程,把该课程从课程表中删除;如某课程选课学生多于60人,则停止选课。 2. 学生选课注册
新学期开始前一周为学生选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请。
每个学生选课可不允许超过4门,每门课最多允许60名学生选课注册。 3. 查询
可以查询课程信息、学生选课信息和学生、教师信息。
2
百度文库 - 让每个人平等地提升自我
学生、教师、教学管理人员可以查询课程表,获得课程信息。查询关键字可以是:课程名、授课的教师名、学分。
学生、教师、教学管理人员可以查询学生的选课情况。查询的关键字可以是:学生名、教师名、课程名。学生只允许查询自己的选课信息,不允许查询别人的选课信息。
学生、教师、教学管理人员可以插叙学生或教师的信息。查询的关键词可以是:学生名、教师名、性别、班级、职称。 4. 选课注册信息的统计与报表的生成
教学管理人员对学生的选课注册信息进行统计(按课程、学生,按班级等),打印汇总统计报表。
5. 把学生选课注册信息传送给财务系统,以便计算学生应缴纳的费用。 简易教学管理系统---成绩管理应提供的服务如下: 1. 成绩录入
教学管理人员录入学生的考试成绩 2. 成绩查询
教师、教学管理人员可以查询学生的考试成绩。查询的关键字可以是:学生名、课程名、授课教师名、学分。学生只能查询自己的考试成绩,不能查询别人的考试成绩。
3. 成绩统计与报表生成
教学管理人员进行成绩统计(按课程、学生、按班级),打印成绩汇总统计报表。
附注:
1.简易教学管理系统的直接用户为学生、教师和教学管理人员。其职责如下: 教师负责:查询课程表,获得课程信息,也可查询学生选课情况,也可查询学生与
老师的信息。只允许对自己有关的信息进行添加、删除及更新的操作。
学生负责:开学一周选课注册,同时允许改变或取消申请; 可查询课程信息;可查询学生、教师基本情况信息;只允许对自己有关的信息进行添加、删除及更新的操作。
教学管理员负责:新学期录入新学期课程,打印新开设的课程目录表,少于10人停开该课程,并从课程目录表中删除;若多于60人,则不能让其他学生继续选课;选课结束后,打印选课注册名单和开课通知书,送有关部门和教师;对学生选课注册进行统计,打印汇总统计报表;查询课程表,获得课程信息,也可查询学生选课情况,也可查询学生与老师的信息。教师、学生、课程信息的维护;录入学生考试成绩;查询学生考试成绩;成绩统计,打印成绩汇总统计报表。
2.为保存数据,可建立教学管理的数据库,包括:学生表、教师表、课程表、选课表、任课表、成绩表等。
3
百度文库 - 让每个人平等地提升自我
3.与之相关的财务系统可简单模拟处理,不需要财务系统反馈信息给学生。 4.系统的实现最好用b/s模式实现,开发工具不限。
附:简易教学管理系统的部分模型图如下
1. 定义出顶层Use Case图、选课管理的Use Case图、成绩管理的Use Case图。要求学生通过分析,更加明确系统功能以及对象之间的联系;
4
百度文库 - 让每个人平等地提升自我
3. 对主要的Use Case图作交互行为的分析,并绘制出交互行为图~顺序图;
5
软件学院软件工程实训题目



