软件工程课程设计指导书11.教学目的本课程设计是为软件工程课程配套设置的.其目的是使学生能够针对具体软件工程项目进一步掌握在软件工程管理、软件需求分析、软件概要设计、软件详细设计和软件测试等阶段的方法、工具和技能,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,从而提高学生分析问题、解决问题的能力,使学生具备初步的软件项目管理的能力。2.教学要求2.1每个班级按项目小组进行分组,每组不能超过5人。每个小组需要完成从项目可行性分析――项目开发计划――项目需求分析――项目概要设计――项目详细设计――测试――系统手册――项目总结报告。每个阶段都必须有完整的开发文档支持。开发文档包括:1)可行性分析报告;2)项目开发计划;3)需求分析规格说明;4)概要设计规格说明;5)详细设计规格说明;6)测试计划;7)测试记录;8)项目审查记录;9)用户手册、系统手册;10)项目总结报告。同时,还应该进行相应的配置管理与质量管理。2.2每个项目小组选出项目负责人一名。项目负责人的职责:召集项目成员、组织成员讨论、选定开发项目、拟定“可行性研究报告”、“项目开发计划”、执行项目管理并根据项目进展情况对项目开发计划进行调整;对于调整的项目开发计划必须存档。软件工程课程设计指导书22.3开发文档的具体要求见:软件开发文档撰写。2.4开发小组成员每个人针对自己所做内容撰写小论文一篇,字数在3000字以内。小论文的内容包括,摘要,关键词,绪论,论文主体,结论,参考文献等内容。任务分工姓名学号任务备注******详细设计说明、…组长******总体设计说明书、…组员******软件需求说明书、…******可行性分析报告、…******项目开发计划、…2.5课程设计题目从以下内容选取,为了避免相互抄袭依照分组安排每个班级第一组选同一个题目,以此类推每个班对应分组选择同一个题目,一个题目最多只能有两组分组做。1)高校教职员工工资管理系统;2)高校科研管理项目管理系统;3)高校教学改革项目管理系统;(指定分组实现)4)高校公寓管理系统;5)高校教务管理系统;6)高校毕业设计管理系统;7)高校固定值产管理系统;8)高校图书馆图书管理系统;9)高校实验室管理系统;10)高校公共选课管理系统;3.课程设计内容课程设计任务包括:1)熟悉至少一种建模工具;软件工程课程设计指导书32)完成可行性分析;3)完成需求分析;4)完成概要设计;5)完成详细设计;6)完成测试用例和测试工作;7)完成各阶段的审查工作;8)完成项目管理工作。时间进度安排序号阶段日期计划完成内容备注112月27日查阅资料,充分解读题目内容,小组分工,确定每个人的具体任务。212月28日小组讨论确定系统的各阶段的分析。312月29日明确各阶段的分析结果,进行本部分设计,开始撰写设计报告目录。412月30日根据相关资料和设计分析结果,进行本部分设计报告的撰写,并进行整理。512月31日检查组内设计的一致性、成果验收。4.课程设计参考资料1)软件工程导论(教材);2)软件开发文档格式(参见附件1);5.验收要求对课程设计的全过程进行分析及整理,写成文字材料,用A4纸、4号字打印。要求不少于25页。报告要求1)上交文件:1)报告文件电子档。2)报告结构、内容及要求软件工程课程设计指导书41)封面;2)目录;3)课程设计项目简介、小组成员分工、所承担任务说明及工作量比例;4)项目开发可行性;5)系统需求规格说明书;6)概要设计说明书;7)详细设计说明书;8)测试计划方案;9)用户使用说明书;10)项目总结报告。11)参考文献:不要求数量,必须是在完成该项目过程中真正阅读过或使用过的资料,包括:图书、手册、文章、网上资料等。附件1:软件开发文档参格式附件2:课程设计报告要求附件3:软件工程课程设计验收表附件1:2008本科《软件工程课程设计》报告项目题目:班级:项目组长:项目组成员:姓名学号指导教师:开始日期:完成日期:经济管理学院软件工程课程设计指导书1目录软件工程课程设计指导书2一可行性研究和计划1.可行性研究目标:确定软件要完成的范围、所需的资源、开发成本和项目进度关键子过程1)确定系统的高层逻辑模型2)确定系统的解法3)确定开发计划4)成本分析需要提交的文档包括:(1)项目计划书(必须提交):指出本项目的实施计划,质量保证计划,配置管理计划,以及需要的支持条件。由项目负责人提交。(2)工作说明书(可选):指出在本项目实施过程中,项目组成员的责任分配。由项目负责人提交(3)项目公告(可选):指明本项目的项目管理制度,文档管理制度,开发环境以及软件工程制度。由项目负责人提交。项目一旦立项后,需要做的工作包括:(1)指定项目负责人,对本项目的进度,质量进行控制。(2)确定参与项目的小组成员以及每个成员的工作内容。(3)指定配置管理人员。(配置管理由专人负责)在开发的过程中,可能会涉及到计划的变更,这要求提交正式的“计划变更说明书”,以确认计划的变更。“计划变更说明书”由项目负责人提交。同时,在项目一开始,就应该对项目的进度进行跟踪,对应的就是“项目进度跟踪表”,由项目负责人提交。可行性研究的评审条目1)系统流程图是否涵盖所有系统要求的功能2)数据流图是否准确、完整地反映了系统的逻辑模型3)数据字典对数据的定义是否是准确的、无歧意的4)系统解法是否合理5)开发计划是否合理6)成本分析是否合理软件工程课程设计指导书3二软件需求分析项目成功的一个重要因素是对客户需求的充分理解和挖掘,以达到客户的预期目标或是超前客户的目标。在对客户的需求的充分理解之下,将客户的需求完整清晰的表达出来,是这一阶段的重要任务。目标:详细、准备地描述软件实现的功能要求和性能要求关键子过程1)确定对系统的综合要求:A。系统的功能要求(划分出系统必须完成的所有功能)B。系统性能要求(指出系统性能的特殊要求)C。运行环境要求(指出系统对运行环境的要求)D。将来可能提出的需要2)分析系统的数据要求:建立系统的概念数据模型3)确定系统的逻辑模型4)修正开发计划5)确定验证测试准则:采用验证测试需要的测试用例这阶段需要做的工作包括1)需求调研:深入了解客户的需求,完整且准确理解客户的需求2)用户的相关报表文件等客户资料的收集整理。3)需求分析:将需求调研的结果整理成文这阶段的工作任务应该是占整个项目时间的1/4左右。需要提交的文档包括:1)需求规格说明书:详细准确的描述客户的需求(包括功能性需求和非功能性需求)。由系统分析人员提交。2)报表文件一揽表。由需求调研人员提交。在任一阶段,若需对需求进行更改,需要填写“需求变更说明书”以确认需求的变更。“需求变更说明书”由提出需求变更的人员提交,需经项目负责人确认并同意。软件需求分析评审条目1)对功能要求、性能要求、运行要求、将来可能提出的要求的描述是否准确,无歧义。2)是否准确地反映了系统的概念模型软件工程课程设计指导书43)数据流图的每一层细化是否等价于其上层功能4)数据流图的底层细化功能是否已达到了元素级5)测试用例是否涵盖了所有的数据流三概要设计目标从软件的需求规格说明书出发,设计系统的总体功能结构,定义系统模块之间的接口,定义系统与外部环境的接口。但是所有的这些都不要求设计模块内部过程的细节。关键子过程1)确定系统功能模块:确定整个系统的功能结构图;确定每个模块的功能;确定功能模块的关联关系以及接口;确定系统主要的数据构成。2)确定系统外部接口:列出系统涉及的主要外部实体或设备;与外界系统的数据交换;系统总体接口和界面设计;系统总体运行设计3)数据库设计:确定数据库管理系统;根据数据流图和E-R图给出数据库逻辑模型;转换为数据库物理模型;创建数据库此阶段需要提交的文档有:(1)概要设计说明书:指出系统架构,系统功能,系统流程以及数据库的设计。概要设计说明书由系统架构设计师提交。建议使用UML来做。(2)数据字典:数据字典说明书。建议使用POWERDESINGER工具来做。四详细设计目标着重描述每一模块是怎样实现的,包括实现的算法、逻辑流程等关键子过程1)确定模块的程序流程图、处理过程、算法以及相关的数据结构2)确定模块的输入输出3)确定用户界面的设计此阶段需要提交的文档详细设计说明书软件工程课程设计指导书5详细设计评审条目1)2)五测试测试分为两个阶段:首先进行单元测试,然后进行系统测试。测试人员原则上由非本项目的编码人员组成。单元测试主要对功能和性能以及故障和异常情况进行测试。系统测试是基于系统的功能,性能,可用性,兼容性,安全性等方面进行测试。目标寻找软件与需求、设计等方面的不一致性关键子过程首先拟订测试计划;进行测试,测试的过程中,需要进行测试记录;测试完毕需要进行测试总结。此阶段需要提交的文档有:(1)测试计划:详细指出测试计划,测试管理,测试评价以及测试用例。由测试组组长提交。(2)测试记录:准确详实的记录测试过程中的现象和状态。由测试组提交。(3)测试报告:对测试结果和出现的问题进行总结分析,以及相关的处理建议。由测试组组长提交(4)测试用例说明书:详细列出功能测试用例,性能测试用例,故障和异常测试用例。此说明书由测试组提交。交。六项目总结系统在试运行并经过客户认可后,客户验收并同意接受系统,此时,需要做的工作就是将相关的文档资料提交给客户。作为部门内部,需要做相关的总结与经验提取,以利于本部门的经验的学习和积累。此阶段需要提交的文档包括:(1)项目文档交付清单:指明交付给客户的文档资料。由文档助理提交。(2)项目验收报告:指明项目验收情况。由项目负责人和事业部的项目负责人共同提交。软件工程课程设计指导书6(3)项目负责人总结:由项目负责人提交(4)项目总结报告:对项目的进度,质量以及未尽事宜做总结描述。由项目负责人提交(5)项目组成员总结:由项目组的每个成员提交。总结成员自己在本项目中的工作以及学习情况。附录2:课程设计报告要求序号报告名称目的要求1项目需求分析根据师给定的的题目或自选题目进行需求分析工作;进行业务需求分析、用户需求、功能需求、非功能需求分析得出需求规格说明书(含数据流图)2项目概要设计建立初始结构图对初始结构构图进行改进、优化得出概要设计说明书3项目详细设计进行详细设计工作得出详细设计说明书4项目复审制定项目复审计划进行项目复审工作得出项目复审结论和报告5项目测试进行黑盒、白盒测试试用例设计形成测试用例表进行黑盒测试,得出测试记录进行白盒测试,得出测试记录形成测试报告附录3:软件工程课程设计验收表课题名:班级:验收日期:小组名:成员姓名:1234.文档数量文档质量文档与系统的创新性总体(10分)(20分)一致性(5分)(5分)(40分)齐全缺少极少好一般差好一般差有无系统运行情况系统结构用户界面有无创新总体功能、性能总体设计合理性操作简便、帮助信息系统特色(25分)(10分)(10分)(5分)(50分)好一般差好一般差好一般差有无个人工作量(8分)团结协作、爱护公物验收操作、解决问题能力(2分)12345验收评语:教师签名:文档系统运行其他