软件工程课程设计
实验指导书
《软件工程课程设计》课程是软件工程专业学生必修的教学实践课程,目的是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为更深入地学习和今后从事软件工程实践打下良好的基础。通过上机实践加深学生对软件工程知识的理解和综合应用,熟悉并掌握一般系统软件的设计方法和过程,初步具备比较大型的软件的设计和开发经验环节。
一、综合实验目的
本课程属专业教学实践必修课程,课程任务是要求学生针对具体的软件工程项目,完成从软件工程管理、需求分析、概要设计、详细设计、编码、测试等各阶段的工作,使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
二、综合实验的内容
1、app应用开发
2、基于HTML5的应用开发
3、基于微信公众平台的应用开发
4、基于J2EE的应用系统开发
5、自选题目(需老师认可)
以上题目任选。
三、实验环境
开发环境: Java、.NET、SQL Server、IIS、tomcat、Rational系列软件、CVS、HTML5安卓、IOS等。
四、实验安排
时间: 9-16周
五、综合实验的要求
主要内容是要求学生对软件的生命周期的每一个阶段包括可行性分析、需求分析、概要设计、详细设计、编码、测试、项目计划与管理等严格按照软件工程的规范实施一个具体的案例开发。
本课程设计要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。具体要求如下:
1) 每个班级按项目小组进行分组,每组3人,分工明确。
2) 每个项目组都必须采用scrum敏捷开发方法,并采用版本控制工具管理开发全程的文档、代码等,采用专业测试工具进行系统测试。
3) 每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,项目的选定必须考虑“范围、期限、成本、人员、设备”等条件;项目经理负责制定“项目开发计划”、管理项目并根据项目进展情况对项目开发计划进行调整;对于调整的项目开发计划必须存档;
注:项目经理有责任对小组成员不负责任的行为(不认真、不做事)进行管理,对指出两次以上仍不改者可以在向指导教师汇报后作开除处理,被开除者如没有再组成团队(至少四人)并按时完成任务,则最终成绩按不合格处理。
4) 项目开发计划必须由粗到细通过GANT图给出,每项任务要落实到人且规定该任务的起止日期和时间;明确每个阶段提交文档的日期和时间;每个项目小组必须明确指定文档的审查小组和审查人员以及审查结果的返回日期;审查小组和审查人员不得是完成被审查内容的完成者;审查结果至少包括:存在的问题、出现问题的所在文档的位置及页码、具体建议等;每个阶段的审查结果不得少于10个问题;
5)每个项目小组必须提供下列文档,文档中必须注明执笔者、完成者(签名)和完成日期,其中完成需求分析和设计工作的人员不能相同,完成编码和审查/测试的人员不能相同;文档包括:
l 程序代码及相应技术文档(项目开发计划、需求分析规格说明、系统设计文档、数据设计文档、测试计划和结果分析、项目总结);
l 可以独立运行的程序可执行文件及使用手册、安装手册、编码清单;
l 课程报告(汇编前述技术文档);
l 审查/测试问题清单
六、考核办法
成绩评定采取百分制。
1、程序部分成绩评定方式为:
(1)所有小组按照组数分成两队,各小组组长组成该队的评分团,分别由教师和助教担任团长,负责检查该队的各个小组程序,并打分;
(2)对每一个组的所有打分,除掉最高分、最低分后求平均得到该组得分,如果该组人数不达标(未经指导教师批准)需再扣除5分;
2、平时考勤成绩和报告成绩由助教在指导教师指导下评定,小组最终实验成绩为程序成绩加上报告成绩;
3、个人成绩计算方法:
小组成绩由文档SD和程序SP两部分组成。
个人课程综合成绩S由平时考勤S1(20%)、文档(30%)和程序(50%)组成。
若个人在小组中的贡献系数为C,则:
S= S1*0.2+SD*C*0.3+ SP*C*0.5
5、补充说明:
(1)被组长开除者若没有重新组队则个人最终成绩按照不及格处理。
(2)项目经理在小组中一般实验成绩排前两名。
(3)凡在小组中实际没有完成足够任务的成员,一经发现,个人实验成绩扣10~20分,项目经理实验成绩相应扣5~10分。
七、系统具体要求
1 项目可行性研究
l 成立项目小组并选定项目经理或项目小组长
l 项目经理召集小组成员选择开发项目
l 项目经理召集小组成员开展项目可行性研究
2 制定项目开发计划
l 项目经理召集小组成员针对所选项目开展讨论开发计划,进一步明确项目的大小、范围、复杂程度等
l 项目经理召集小组成员进行任务分解与任务分配
l 确定任务进度
l 确定完成项目的环境和工具
l 按照《软件文档编写概要》的格式要求,项目经理执笔完成《项目开发计划书》
3 需求分析
l 按照项目任务分配结果和项目进度要求,由任务承担人开展项目的需求分析的主要工作,不得超越前述项目的大小、范围、复杂程度等
l 项目小组的其他成员配合任务承担人,完成项目的需求分析
l 按照《软件文档编写概要》的格式要求,由任务承担人执笔完成《项目需求分析规格说明书》
l 由评审人员完成对《项目需求分析规格说明书》的评审工作,并给出评审意见
4 初步设计
l 按照项目任务分配结果和项目进度要求,并依据《项目需求分析规格说明》,由任务承担人完成项目的初步设计任务
l 项目小组的其他成员配合任务承担人,完成项目的初步设计任务
l 按照《软件文档编写概要》的格式要求,由任务承担人执笔完成《项目初步设计规格说明书》
l 由评审人员完成对《项目初步设计规格说明书》的评审工作,并给出评审意见
5 详细设计
l 按照项目任务分配结果和项目进度要求,并依据《项目初步设计规格说明书》,由任务承担人完成项目的详细设计任务
l 项目小组的其他成员配合任务承担人,完成项目的详细设计任务
l 按照《软件文档编写概要》的格式要求,由任务承担人执笔完成《项目详细设计规格说明书》
l 由评审人员完成对《项目详细设计规格说明书》的评审工作,并给出评审意见
6 实现
l 按照项目任务分配结果和项目进度要求,并依据《项目初步设计规格说明书》和《项目详细设计规格说明书》由任务承担人完成项目的具体实现任务
l 由任务承担人给出实现的源程序清单(打印或磁盘)
7 测试
l 按照项目任务分配结果和项目进度要求,并依据《项目需求分析规格说明书》、《项目初步设计规格说明书》和《项目详细设计规格说明书》,由任务承担人完成对已实现部分的软件或模块的测试任务
l 按照《软件文档编写概要》的格式要求,由任务承担人执笔完成《项目测试报告》
l 必须使用测试工具进行测试。
《软件工程课程设计》程序成绩评分细则
考核内容
|
90~100分
|
75~89分
|
60~75分
|
< 60分
|
是否按照软件工程的完整规范和流程进行软件开发以及所选题目是否具有一定的复杂性和可研究性
(权重0.4)
|
小组内遵循软工的相关标准和规范按时完成项目,且所开发的项目具有较大的复杂性和创新性
|
小组基本能按照软工的标准进行项目开发,并且能在截止时间内完成系统的核心功能;项目的复杂性和创新性一般
|
小组未能完全按照软工的标准进行开发,未能在规定时间内完成所有核心功能
|
完全不遵循软工开发规范,开发流程混乱,且项目的功能比较简单甚至无法正常运行
|
是否采用较为新颖的集成开发环境、开源平台、系统框架和相关测试软件以进行软件系统的开发、调试和实施
(权重0.2)
|
团队使用时下比较新颖的开发环境、热门框架以及相应的自动化测试工具,大大提高了项目的开发和调试效率
|
团队使用的开发环境和技术框架较为常见,团队成员能够掌握相关工具和平台的基本使用方法
|
团队使用的技术和开发环境比较传统,能够借助第三方平台和框架的相关特性进行系统开发,基本实现了预期的功能和设计
|
团队使用的技术比较过时,无法利用相关工具或框架及时解决开发和调试过程中遇到的问题,预期的核心功能未实现
|
在系统开发过程中组员是否沟通正常,彼此分工是否合理,以及面对较为复杂的工程问题能否协作完成
(权重0.2)
|
小组成员沟通正常分工合理,面对比较复杂的工程问题,小组成员经常进行技术性的讨论,协作解决相关的技术难题
|
小组成员之间沟通良好,分工比较明确,彼此能够进行较好的协作以推动项目开发工作的展开
|
小组成员能够正常沟通,由组长进行需求调研以及分配下一阶段的任务和工作;团队内大部分的成员基本上能按时完成组长的任务
|
小组成员存在沟通障碍,彼此缺少交流;未能对开发过程中遇到的工程性问题进行讨论,导致系统进展不顺利,未能实现预期的功能设计
|
是否能够流畅地对团队设计和开发的软件或系统进行现场演示和相关说明,并清楚的回答出老师和同学们提出的各种问题。
(权重0.2)
|
演示的过程清晰流畅,演示者能从技术、功能等方面对项目进行细致的阐述;并清楚的回答出现场提出的各种问题
|
演示者在演示过程中比较清楚的阐述了项目的功能、技术等内容,能回答出绝大部分的现场提问。
|
在演示过程中,演示者能够基本说清楚项目的设计、总体结构和背后的技术等内容,并且回答出一部分的现场问题
|
演示过程中演示者对项目缺少深入的了解,对项目背后的技术也不清楚,也无法准确的回答现场的提问
|
《软件工程课程设计》文档成绩评分细则
考核内容
|
90~100分
|
75~89分
|
60~75分
|
< 60分
|
是否按照软件工程的规范和标准形成包含开发计划、需求分析、概要设计等一系列完整的文档,并在文档准确标注出执笔者和完成人
(权重0.5)
|
小组严格遵循软工的标准和规范,从需求分析、概要设计、详细设计出发形成一套完整的文档,并准确标注出文档的执笔者和完成者
|
基本按照软工标准撰写文档以及标注执笔者和完成者,但在文档内容上
|
未能完全按照软工的标准书写文档,部分文档缺失且未标注出执笔者和完成人
|
完全不遵循软工开发规范,文档内容较差,且未清楚的标注出项目的执笔者和完成者
|
在撰写文档的过程中是否主动与其他队友进行交流和讨论,彼此分工明确
(权重0.3)
|
小组成员积极进行讨论,分工明确,逐步完成需求分析、概要设计、详细设计等文档
|
小组成员能够进行一定的交流,按时完成软工流程下的完整文档
|
小组成员之间交流较少,任务分配不合理,文档撰写工作为组内的部分成员进行
|
小组成员之间几乎不交流,组长和组员之间很少联系,报告由极少数人甚至1人完成
|
从内容上看,所撰写的文档是否语句通顺,内容详实,贴图恰当,符合相关规范
(权重0.2)
|
小组所撰写的文档条理清晰,内容充实,比较符合软件工程的相关规范
|
小组所撰写的文档比较符合要求,内容相对充实,语言也比较得体
|
小组所撰写的文档内容不足,贴图不够清楚,段落组织结构有一定的问题
|
小组撰写的文档存在不少的问题,内容空泛,语句不通顺,且使用了大量的口语化表达
|
《软件工程课程设计》平时成绩评分细则
考核内容
|
90~100分
|
75~89分
|
60~75分
|
< 60分
|
小组成员是否从始至终积极参与项目的设计与开发,并且认真参与考勤
(权重0.5)
|
小组成员积极对待项目,全程参与集体的讨论和规划,并且认真参与考勤
|
小组成员能够较为主动的参与项目的讨论,考勤也较为认真
|
部分成员未能全程参与项目的设计和开发流程中,考勤也有所缺失
|
小组成员之间缺少讨论,没人主导参与项目的设计与开发当中;且存在未说明情况下存在大量缺勤的情况
|
组长是否履行监督、引导的责任,以及小组成员是否服从相应的安排
(权重0.5)
|
组长认真履行了监督和引导组员的责任,组内的其他成员也积极响应组长安排
|
组长对待项目比较认真,承担了必要的监督和引导工作,在限定时间内,组内其他成员也能完成组长安排的任务或要
|
组长的责任心一般,只向组员推送必要的相关信息,缺少后续的监督和引导
|
组长对待项目不太上心,不能主动和组员进行沟通和引导,甚至漏发、错发重要的信息
|