昆明学院信息技术学院软件设计与体系结构 课程设计指导书二○一三年六月一、课程设计的目的及要求通过课程设计实践,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发实际软件项目和探索未知领域的能力和自信心。
具体体现在以下方面:1)要求学生掌握查阅相关手册资料和文献的学习、应用能力;2)要求学生熟练使用UML;3)要求学生掌握软件系统体系结构设计的基本能力;4)要求学生熟练使用任意一种面向对象编程语言实现几种常见的设计模式;5)要求学生理解每一种设计模式的模式动机,掌握模式结构,并学会分析这些模式的使用效果;6)要求学生熟悉常见的设计模式并能应用于实际的项目开发中。
二、课程设计的内容以下设计项目,以小组为单位,每组学生(4~5人)可选作一题,或由教师指定项目。
项目一:排课系统1.系统简介每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。
假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。
2.限定条件(1) 每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。
(2) 学院中层干部的主讲课时不能超过4学时/周。
(3) 本学期出现严重教学事故的教师不能承担下各学期的主讲任务。
(4) 本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件。
(5) 本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。
项目二:学校教材定购系统1.系统简介本系统可以细化为两个子系统:销售系统和采购系统。
销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生可以到书库领书。
采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。
以上功能要求在计算机上实现。
2.技术要求和限制条件(1) 当书库中的各种书籍数量发生变化(包括进书和出书)时,都应修改相关的书库记录,如库存表或进/出库表。
(2) 在实现上述销售和采购的工作过程时,需考虑有关的合法性验证。
(3) 系统的外部项至少包括:教师、学生和教材工作人员。
(4) 系统的相关数据存储至少包括:购书表、库存表、缺书登记表、待购教材表、进库表和出库表。
项目三:机票预定系统1.系统简介航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。
各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。
此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。
2.技术要求和限制条件(1) 在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。
(2) 对于本系统还应补充一下功能:1.旅客延误了取票时间的处理2.航班取消后的处理3.旅客临时更改航班的处理(3) 系统的外部输入项至少包括:旅客、旅行社和航空公司。
项目四:工资管理系统1.系统简介假设学校共有教职工约1000人,10个行政部门和8个系。
每个月20日前各个部门(包括系和部门)要将出勤情况上报人事处,23日前人事处将出勤工资、奖金及扣款清单送到财务处。
财务处于每个月月底将教职工的工资表做好并将数据送银行。
每个月3日将工资条发给每个单位。
若由员工调入或调出、校内调动、离退休变化,则由人事处通知相关部门和财务处。
要求:管理职工工资收入,可打印出各部门职工工资清单与发给职工的工资条,并打印出所有部门的工资汇总表。
要考虑职工调进、调出、内部调动的操作方便以及工资项目的易变性,可增加在工资表中自动计扣上月个人所得税的功能(需要记录职工的身份证号码)以及由银行代发工资的功能(需要记录职工的工资卡号)2.技术要求和限制条件1)本系统的数据存储至少包括:工资表、部门汇总表、扣税款表、银行发放表等。
2)除人事处、财务处外,其他职能部门和系名称可以简化表示。
3)工资、奖金、扣款细节由学生自定义。
项目五:实验室设备管理系统1.系统简介每学年要对实验室项目经理设备使用情况进行统计、更新。
其中:(1) 对于已彻底损坏的做报废处理,同时详细记录有关信息。
(2) 对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。
(3) 对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。
新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。
(4) 随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等查询。
2.技术要求及限制条件(1) 所有工作由专门人员负责完成,其他人不得任意使用。
(2) 每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。
(3) 本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。
(4) 本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。
(5) 本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表。
项目六:汽车面板显示控制模拟在面板上设置三个功能按扭,驾驶员通过按动按扭选择不同的功能。
①点火按扭及一排数字键,只有密码对上才可启动;②显示行程计算器结果;③启动行程计算器数据输入;④清除上一键。
所有传感器的输入均由键盘或鼠标模拟。
项目七:库存成本核算系统某商厦有其内部的仓库存储中西餐厅或超级市场所需的货物,仓库有多个,如百货仓、烟酒仓等。
货物采购人员入库时填写入库单,记录入库数量与金额;各部门领料时填写出库单,根据领料数量采用先进先出法计算其成本。
每月需要掌握各种货物的入库与出库总额以及结余库存数,以及各部门领料的总成本数。
系统可扩充性可考虑采用不同的成本计算方法(如移动平均、后进先出等)项目八:资料室管理与资料检索系统包括两方面:一是流通管理,二是资料检索。
资料室的流通管理,包括借书证发放、书卡管理、借还记录等。
资料检索则提供多种检索途径供师生使用。
注意期刊与书的属性有差别。
项目九:学生成绩、学籍管理与查询系统1.系统简介对学生的学籍以及成绩进行基本的管理,并实现查询功能。
包括:学生基本信息和学科成绩的输入、存储、修改、查询、删除。
学生可以网上查询自己的信息和成绩,教师可以网上查询学生的信息和成绩。
2. 技术要求和限制条件(1)学生基本信息包括:学号、姓名、出生年月、籍贯、性别、专业、班级、家庭住址、个人联系电话、家庭联系电话。
(2)成绩信息包括:学号、课号、课名、成绩、教师号。
(3)系统的外部项至少包括:学生、老师和教学管理人员。
(4)需考虑有关的合法性验证(即操作权限和数据安全性)。
项目十:幼儿教育系统家长通过浏览器来使用该系统,在注册并验证通过后,可以向其中输入幼儿的信息,幼儿信息需管理员审核,审核通过后,家长可以查询或修改幼儿信息。
家长可以通过该系统管理小孩的教育过程,例如不同的年月学会了什么(说话,走路,英语,参加了某种班)。
家长也可以通过下载并安装一个客户端来使用系统,功能与浏览器方式相同。
管理员通过专门的客户端使用系统,管理员不能删除信息,其工作主要是验证家长的注册信息和家长录入的幼儿信息。
设计人员可以自行添加更多的需求,越完善,得到的分数越高。
项目十一:自拟题目三、课程设计具体要求1.成立项目小组并选定项目经理;2.项目经理召集小组成员选择开发项目、进行任务分解与任务分配,确定完成项目的环境和工具;3.由项目经理召集小组成员共同完成项目的总体设计任务,确定系统采用的体系结构;4.由项目经理召集小组成员共同确定系统采用的设计模式;5.按照项目任务分配结果,任务承担人绘制设计模式的结构类图,并实现设计模式的代码编写。
四、课程设计进度安排时间 完成内容0.5天 分组、选定设计项目,调研、检索资料,任务分配2天 软件项目总体设计及体系结构设计2天 软件项目详细设计及设计模式实现0.5天 编写课程设计报告五、课程设计的成绩评定本课程设计必须提交正式的针对特定项目的完整的设计文档和报告书。
每个项目小组及其成员的成绩由三部分构成:1)项目小组基本任务完成情况,包括文档完成情况,占70%,由教师评定,不完成者不得分,迟交或少交者,酌情处理;2)小组成员承担任务的情况占30%,由项目经理评定;3)项目经理的成绩由教师根据其履行的职责和全组完成任务情况可做加分处理,但在100分以内且不得超过总分的10%,由教师评定。
课程设计最终成绩分为“优秀”、“良好”、“中等”、“及格”、“不及格”五级。
其中,“优秀”为100分到90分,“良好”为89分到80分,“中等”为79分到70分,“及格”为69分到60分,“不及格”为60分以下。
六、课程设计报告撰写要求1.书面材料(1)个人报告:每个学生提交个人课程设计报告交给项目经理。
(2)小组报告:课程设计小组报告由项目经理整理、汇总小组成员的报告,按时打印交给老师。
报告大纲由项目经理起草,报告要经过全组讨论,由各个成员提供素材。
(3)小组项目开发记录本(a.小组进行课程设计的活动日志与会议记录;b.项目经理及组员共同给出各组员的评语和成绩)。
2.软件与电子文档每个组提交所有该项目书面材料的电子文档(可运行程序、源代码及相关文档等)。
参考案例HeroAndEnemy小游戏说明:1.本文档是以HeroAndEnemy小游戏为例,进行设计分析。
2.本文档所有类图都是采用UML的Class Diagram(在Rotional Rose2003下绘制)3.代码都是用C#编写。
一、需求分析1.游戏概述HeroAndEnemy是一个角色扮演类游戏,该游戏实现的具体功能是设计两种类型的人物,分别为被玩家所控制的玩家人物(Hero)和由系统所控制的外部人物(Enemy),游戏中的主要情节就是Hero与Enemy之间的战斗,双方互相发射子弹击打对方。