软件工程课程设计指导书皖西学院信息工程学院计算机科学与技术专业2015年09月1.设计题目本课程设计以项目组为单位,每个项目组从课题选题表中选择一个题目。2.设计目的1.通过软件开发的实践训练,使学生进一步理解软件工程介绍的概念、方法和原理等内容,体会软件生存期的各个阶段和软件开发过程。培养学生在软件开发过程的团队精神和在团队中合作的过程。2.加深对开发过程中所涉及的各种图形工具的认识和理解;学会利用现有的计算机辅助工具独立完成软件系统的开发工作。3.学会查阅相关手册和资料,通过查阅手册和资料,进一步熟悉用工程化的方法开发系统,并掌握工程化方法的具体含义和如何解决实际问题。4.认真撰写总结报告,培养严谨的作风和科学的态度。3.问题描述3.1问题及要求每个项目组可从建议的题目中选择一个题目,也可以自选感兴趣的题目。自选题目应不低于课题选题表的难度,并在正式设计开始之前由指导教师审查批准。3.2选题的依据根据本科学生的知识结构和有限的时间,本课程设计不追求设计出高水平的大型程序,侧重于使学生掌握软件开发的全过程,细心体会每个环节的具体工作,建立起软件开发中“工程”的概念和方法。一方面为后继课程的学习打好基础,另一方面,为以后从事实际软件项目的开发提供了一个参考案例。4.时间安排及地点4.1时间安排课程设计在软件工程理论课程完成后,有授课教师安排在机房完成,时间为两周,可有多名本专业教师参与指导。具体进度建议安排如下:在软件工程开课期间有学生完成选题工作,撰写项目开发计划;根据理论课程知识进度完成需求分析和项目设计分析;在机房集中时间第一周内修订前期完成的内容,并以前期内容为依据进行编码实现;在第二周内完成系统测试,指导教师验收项目,学生整理相关文档。4.2课程设计地点信息工程学院实验室。5.组织形式5.1成立项目组成立若干个项目组,每个项目组开发一个系统。每项目组4-5人,选举组长1人,负责组织全组的开发工作。项目组由班长协调组织,并将分组结果报告指导老师。5.2项目组人员分工(建议方案)项目组成员的分工应按照同学的性格、兴趣、特点等安排。可行性研究,需求获取(分析)负责人:1-2人总体设计,详细设计负责人:1人编码及测试负责人:1人文档整理、修订:1-2人未建议部分的内容可由项目组长负责组织,或组内自行安排。5.3项目组成员的责任项目组长负责组织全组的开发工作。在开发过程中,当进行到某个具体阶段时,由该阶段的负责人负责组织工作,其他所有人员都是该阶段开发的成员。该阶段的负责人承担该部分的组织工作,其他同学也需要参加部分工作。这种一人负责,多人配合的分工,可以使全体同学都能经历软件开发的每一个阶段的工作,从而得到全面锻炼和提高。6.开发过程要求按照软件工程的思想和方法开发本系统,每一部分都要有完整的文档。开发过程、内容和提交的成果见附录3。每个项目组在提交的报告中要明确每个小组成员个人承担的任务、计划与进度;项目开发过程中要记录相关学科与软件工具学习内容摘要与存在问题、难点;好的创意与建议;开发或学习心得;文档草稿;重要信息与线索记录等。这样做可以有助于项目开发工作和自己的学习,也有助于最后完成个人和小组的课程设计报告。在正式设计的二周中,每天评估一次项目进展情况,若项目进展情况与计划偏离,应采取必要的措施进行调整和解决,以保证开发进度和质量,并将该评估及调整情况记录下来,写入《个人课程设计总结报告》中。7.课程设计报告撰写规范课程设计结束后,每个项目组撰写一份《课程设计项目组开发报告》,每个成员撰写一份《个人课程设计总结报告》,并将每份《个人课程设计总结报告》放在项目组报告后面,装订成册。设计报告的格式见附录4。7.1报告的要求报告采用打印方式,提交书面报告时将报告电子文档和项目软件打包一并提交。7.2报告结构及要求1.《课程设计项目组开发报告》内容(1)封面(2)正文正文应按章节有顺序撰写,要求层次分明,论述清晰,文字简练,方法通顺,图表规范,排版整齐。正文按如下章节编排:1.课程设计题目名称2.设计所完成的任务要求3.系统环境配置和使用工具简单介绍4.可行性分析和系统需求分析5.系统设计(包括:系统结构、详细设计以及数据设计等)6.软件测试(采取的测试策略、测试过程等)7.课程设计个人总结(包括收获和体会以及不足和存在的问题)(3)附录:附系统相应程序代码(4)附录:参考文献(资料)参考文献必须是学生在课程设计中真正阅读过或运用过的文献,包括:图书、手册、文章、网上资料等。2.课程设计个人总结报告内容(不少于800字)(1)项目名称(2)本人承担的主要任务(3)本人完成的主要任务(4)本人对项目的主要贡献(5)本人的经验和体会7.3课程设计报告提交日期书面报告提交截止日期:待确定项目代码程序等材料提交截止日期:待确定提交地点:信息工程学院计算机教研室办公室(综413)8.设计验收及成绩评定8.1课程设计成绩的组成本课程设计成绩由四部分组成:文档成绩40%、程序验收25%,平时考勤与项目准备20%,个人总结报告15%(个人总结报告每人一份)每个项目组的每一位学生前65%成绩相同(即该组的成绩),后35%成绩为个人成绩。因此,每一位想获得好成绩的同学,都必须在该项目组充分发挥团队精神,尽一切努力去为项目组的成绩而工作。8.2课程设计成绩评定方法设计成果验收和成绩评定由指导教师和同学共同完成。9、主要参考文献与网址[1]张海藩,吕云翔著.软件工程(第4版).北京.:人民邮电出版社.2013[2]张海藩,吕云翔著.实用软件工程.北京.:人民邮电出版社.2015[3]齐治昌等著《软件工程》,高等教育出版社[4]张海藩,吕云翔著.软件工程(第4版)学习辅导与习题解析.北京.:人民邮电出版社.2015[5]SoftwareEngineering——APractitionaer’sApproach,RogerS.Pressman,(英文版,第5版),机械工业出版社&McGraw-Hill,2001[6]文斌,刘长青,田园.软件工程与软件文档写作,清华大学出版社,2006[7][8]附录1:软件工程课程设计项目选题要求:学生可自己选择合适的题目,由班长负责登记分组情况(每组4-5人)并选出小组负责人(题目不限于此,若另有选题应先提交项目规划书,授课老师同意方可执行)学生管理系统图书借阅系统人事管理系统商品库存管理系统机房管理系统工资管理系统机票订购系统网络书店设备管理系统科研成果管理系统试题管理系统大学排课系统ATM管理系统校园导游系统客户管理系统高校教师工作量统计系统附录2:课程设计分组情况表组号负责人组员项目名称1客户管理系统2商品库存管理系统3人事管理系统4个人理财系统5ATM机管理系统6学生管理系统7图书管理系统8科研成果管理系统9机票预订系统10排课系统11工资管理系统12校园导游系统13试题管理系统14机房管理系统15ATM机管理系统16工作量统计管理系统附录3:项目组开发过程、课程设计包含主要工作开发过程工作内容可行性研究确定项目名称、规模,开发的技术与方法。根据每个成员的特点进行任务分工。研究本项目的技术可行性、经济可行性、操作可行性等项目开发计划制定项目开发计划,包括:进度计划、人员、资源等需求分析进行系统的需求分析,包括:功能要求,非功能要求;用适当的工具表示需求(数据流图)系统方案选择及功能模块划分确定系统的实现方案,比较各种方案;设计系统总体结构,划分功能模块详细设计设计每个模块内部的结构(数据结构和算法)编码及测试使用某种编程语言进行系统的编码实现,要求给出详细的注释,包括:模块名,模块功能,变量说明等。所有测试过程要求采用综合测试策略;先作静态分析,再作动态测试。制订测试计划,并保留所有测试用例,完成测试报告。提交整理各种软件工作产品,确定软件产品。总结课程设计报告和个人总结报告附录4:项目组课程设计报告格式示例软件工程课程设计项目组报告设计题目:班级:项目组号:项目组组长:项目组成员:指导教师:设计开始日期:设计完成日期:信息工程学院计算机科学与技术2015年11月目录1.课程设计题目名称及设计所完成的任务要求………………………………12.系统环境配置和使用工具简单介绍…………………………………………33.可行性分析与项目开发计划…………………………………………………44.系统需求分析…………………………………………………………………65.系统设计……………………………………………………………………96.系统实现与测试……………………………………………………………127.课程设计个人总结…………………………………………………………14附录:系统相应主要程序代码…………………………………………………15.附录:参考文献………………………………………………………………16四号,黑体小四号,宋体,1.5倍行距设计报告正文样式示例XXX系统设计与实现1.设计所完成的任务要求××××××××××××2.系统环境配置和使用工具简单介绍××××××××××××××××××××××××××××345附录:参考文献(资料)[序号]作者姓名.书名.译者.版次.出版单位.出版年份:引用部分起止页码一级标题,四号,黑体,加粗正文,小四,宋体,1.5倍行距3号,黑体,居中,加粗附录5软件开发文档编制指南(参考)1可行性研究报告可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行性;评述为了合理地达到开发目标而可能选择的各种方案;说明论证所选定的方案。可行性研究报告的编导内容容要求如下:1.1引言1.1.1编写目的1.1.2背景1.1.3定义1.1.4参考资料1.2可行性研究的前提1.2.1要求1.2.2目标1.2.3条件、假定和限制1.2.4进行可行性研究的方法1.2.5评价尺度1.3对现有系统的分析1.3.1数据流程和处理流程1.3.2工作负荷1.3.3费用开支1.3.4人员1.3.5设备1.3.6局限性1.4所建议的系统1.4.1对所建议系统的说明1.4.2数据流程各处理流程1.4.3改进之处1.4.4影响1.4.4.1对象设备的影响1.4.4.2对软件的影响1.4.4.3对用户单位机构的影响1.4.4.4对系统动行的影响1.4.4.5对开发的影响1.4.4.6对地点和设施的影响1.4.4.7对经费开支的影响1.4.5局限性1.4.6技术条件方面的可行性1.5可选择其他系统方案1.5.1可选择的系统方案11.5.2可选择的系统方案2……1.6投资及收益分析1.6.1支出1.6.1.1基本建设投资1.6.1.2其他一次性支出1.6.1.3非一次性支出1.6.2收益1.6.2.1一次性收益1.6.2.2非一次性收益1.6.2.3不可定量的收益1.6.3收益/投资比1.6.4投资回收周期1.6.5敏感性分析1.7社会条件方面的可行性1.7.1法律方面的可行性1.7.2使用方面的可行性1.8结论2项目开发计划编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度所需经费预算、所需软、硬件条件等问题作出安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下:2.1引言2.1.1编写目的2.1.2背景2.1.3定义2.1.4参考资料2.2项目概述2.2.1工作内容2.2.2主要参加人员2.2.3产品及成果2.2.3.1程序2.2.3.2文件2.2.3.3服务2.2.3.4非移交产品2.2.4验收标准2.2.5完成项目的最迟期限2.2.6本计划的审查者与批准者2.3实施总计划2.3.1工作任务的分解2.3.2接口人员2.3.3进度2.3.4预算2.3.5关键问题2.4支持条件2.4.1计算机系统支持2.4.2需要用户承担的工作2.4.3需由外单位提供的条件2.5专题计划要点3软件需求说明书软件需求说明书的编制是为了使用户和软件开