1软件工程课程设计指导书一、课程设计教学目的《软件工程课程设计》是为计算机专业本科《软件工程》课程配套设置的,是《软件工程》课程的后继教学环节,是一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件总体设计、软件详细设计、软件测试等阶段的方法和技术。通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培养。二、课程设计内容及要求本课程设计要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。具体要求如下:1.每个班级按项目小组进行分组,每组不得超过4人;2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目。项目经理负责制定“项目开发计划”、管理项目并根据项目进展情况对项目开发计划进行调整;3.项目开发计划必须由粗到细通过GANTT图给出,每项任务要落实到人且规定该任务的起止日期和时间;明确每个阶段提交文档的日期和时间;每个项目小组必须明确指定文档的审查小组和审查人员以及审查结果的返回日期;审查小组和审查人员不得是完成被审查内容的完成者;审查结果至少包括:存在的问题、出现问题的所在文档的位置及页码、具体建议等;4.每个项目小组必须按照给定的文档规范标准提供下列文档,文档中必须注明执笔者、完成者(签名)和完成日期,其中完成需求分析和设计工作的人员不能相同,完成编码和审查/测试的人员不能相同;文档包括:编码清单(部分或全部)、详细设计规格说明、概要设计规格说明、需求分析规格说明、项目开发计划(包括调整的项目开发计划)、测试报告等。5.每个项目小组可以选择完成编码、测试等阶段的部分任务。6.根据合理的进度安排,一步一步、踏踏实实地开展课程设计活动,按时完成每部分工作。课程设计过程中,坚持独立完成,分成小组进行的要有明确的分工,并在报告中给以说明。课程设计内容主要包括:1.项目可行性研究1)成立项目小组并选定项目经理或项目小组长2)项目经理召集小组成员选择开发项目3)项目经理召集小组成员开展项目可行性研究4)按照《软件文档编写概要》的格式要求,由项目经理执笔完成《项目可行性研究报告》。2.制定项目开发计划1)项目经理召集小组成员针对所选项目讨论开发计划,进一步明确项目的大小、范围、复杂程度等。22)项目经理召集小组成员进行任务分解与任务分配3)确定任务进度4)确定完成项目的环境和工具5)按照《软件文档编写概要》的格式要求,项目经理执笔完成《项目开发计划书》3.需求分析1)按照项目任务分配结果和项目进度要求,由任务承担人开展项目的需求分析的主要工作,不得超越前述项目的大小、范围、复杂程度等2)项目小组的其他成员配合任务承担人,完成项目的需求分析3)按照《软件文档编写概要》的格式要求,由任务承担人执笔完成《项目需求分析规格说明书》4)由评审人员完成对《项目需求分析规格说明书》的评审工作,并给出评审意见4.总体设计1)按照项目任务分配结果和项目进度要求,并依据《项目需求分析规格说明》,由任务承担人完成项目的初步设计任务,项目小组的其他成员配合任务承担人,完成项目的初步设计任务2)按照《软件文档编写概要》的格式要求,由任务承担人执笔完成《项目初步设计规格说明书》3)由评审人员完成对《项目初步设计规格说明书》的评审工作,并给出评审意见5.详细设计1)按照项目任务分配结果和项目进度要求,并依据由任务承担人完成项目的详细设计任务2)项目小组的其他成员配合任务承担人,完成项目的详细设计任务。按照《软件文档编写概要》的格式要求,由任务承担人执笔完成《项目详细设计规格说明书》3)由评审人员完成对《项目详细设计规格说明书》的评审工作,并给出评审意见6.实现1)按照项目任务分配结果和项目进度要求,并依据《项目初步设计规格说明书》和《项目详细设计规格说明书》由任务承担人完成项目的具体实现任务2)由任务承担人给出实现的源程序清单(打印或磁盘)7.测试1)按照项目任务分配结果和项目进度要求,并依据《项目需求分析规格说明书》、《项目总体设计规格说明书》和《项目详细设计规格说明书》,由任务承担人完成对已实现部分的软件或模块的测试任务2)按照《软件文档编写概要》的格式要求,由任务承担人执笔完成《项目测试报告》。三、课程设计时间及进度安排设计内容学时课设选题,查阅资料,进行任务分配,确定项目计划2获取系统的需求,并由任务承担人执笔完成《项目需求分析规格说明书》12进行系统总体设计,并由任务承担人执笔完成《项目总体设计规格说明书》123进行系统详细设计,由任务承担人执笔完成《项目详细设计规格说明书》12按照项目任务分配结果和项目进度要求,并依据《项目需求分析规格说明书》、《项目总体设计规格说明书》和《项目详细设计规格说明书》,由任务承担人完成对已实现部分的软件或模块的测试任务8完善编码,编制《软件测试计划书》。6验收2四、课程设计的成绩评定本课程设计必须提交正式的针对特定项目的完整的设计文档和报告书。每个项目小组及其成员的成绩由三部分构成:1)项目小组基本任务完成情况,包括文档完成情况,占70%,由教师评定,不完成者不得分,迟交或少交者,酌情处理;2)小组成员承担任务的情况占30%,由项目经理评定;3)项目经理的成绩由教师根据其履行的职责和全组完成任务情况可做加分处理,但不得超过总分的10%,由教师评定;4)课程设计的成绩单独记分,还将参照各项目组提交的开发计划进行核定。五、课程设计报告撰写要求本课程设计必须提交的上述第二部分所列的文档(报告),每份报告需在封面注明报告课题名称、班级、课题组成员姓名、学号及课程设计日期、地点。报告撰写的要求:关于各部分文档提交的方式每个参加课程设计的学生,必须以小组方式提交最后文档。文档必须是打印稿,要求:正文篇幅应不少于3000字,撰写规范及模版参见《河北大学本科生毕业论文(设计)撰写规范》、《河北大学本科生毕业论文(设计)模版》、《河北大学学年论文》要求。六、参考的软件项目可参考的项目名称如下:题目一:排课系统1.系统简介每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。2.限定条件4(1)每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。(2)学院中层干部的主讲课时不能超过4学时/周。(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。(4)本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件。(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。题目二:“学校教材定购系统”1.系统简介本系统可以细化为两个子系统:销售系统和采购系统。销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生可以到书库领书。采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。以上功能要求在计算机上实现。2.技术要求和限制条件(1)当书库中的各种书籍数量发生变化(包括进书和出书)时,都应修改相关的书库记录,如库存表或进/出库表。(2)在实现上述销售和采购的工作过程时,需考虑有关的合法性验证。(3)系统的外部项至少包括:教师、学生和教材工作人员。(4)系统的相关数据存储至少包括:购书表、库存表、缺书登记表、待购教材表、进库表和出库表。题目三:“机票预定系统”1.系统简介航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。2.技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。(2)对于本系统还应补充一下功能:A.旅客延误了取票时间的处理B.航班取消后的处理C.旅客临时更改航班的处理(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。题目四:出卷系统1)系统支持人工辅助出卷和自动出卷。自动出卷是指能够根据教师的出卷要求,自动合理地抽取题目,得到一份比较合理的试卷。人工辅助出卷是指能够根据教师要求,自动提取符合要求的题目,供教师选择。出卷要求包括总分,总难度及其比例,总题型及其比例,总知识点5及其比例。2)系统应能够进行题库管理,包括试题录入、修改、删除等。题库至少有1000道不同类型的题目。题库应能容纳足够多的试题,试题应包含有内容、答案、题型、难度、知识点和抽取时间、图形(若有的话)等信息。3)系统能够进行试卷管理,应完成试卷修改、删除和打印等。试卷能够按照给定的样式进行输入。4)系统能够在所有流行的技术环境下允许,还应该有一个非常好的图形用户界面。5)试卷符合要求的96%以上即可结束,允许教师调整。6)应能进行试卷分析。题目五:成人教务管理系统1.系统简介系统的用户是成人教学主管教师、脱产成人学生、任课教师。主管教师能够使用系统导入学生名单,能够对学生信息进行基本的添加、删除、修改功能,还可以按照特定格式打印学生成绩单并维护所开课程,分配每学期的成人课程。任课教师能够察看并打印学生名单。期末考试结束,任课教师可以通过该系统网上录入成绩。学生可以查看课表、成绩以及给任课教师提出改进意见。2.要求(1)学生基本信息的查询和修改。(2)学生本学期课表的查询和打印(3)学生本学期和历史成绩单的查询和打印(4)任课教师本学期课表查询、所授课程信息查询;本学期所授课程的成绩录入。(5)主管教师对本学期所有任课信息的添加、修改、删除和备份;对所有学生基本信息的添加、修改、删除和备份,并能打印。(6)主管教师对教务公告的发布、修改和删除。6软件需求说明书的编写提示1引言1.1编写目的说明编写这份软件需求说明书的目的,指出预期的读者。1.2背景说明:a.待开发的软件系统的名称;b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;c.该软件系统同其他系统或其他机构的基本的相互来往关系。1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.4参考资料列出用得着的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2任务概述2.1目标叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果