您好,欢迎访问三七文档
《软件工程》课程设计《软件工程》课程设计为计算机科学与技术专业必修内容,建议学时为一到二周,计1至2个学分。由于程序设计、算法与数据结构、数据库概论等为软件工程课程的先修课程,进行本课程设计的学生应该具有所有这些先修课程的基本知识。一、课程设计的性质、目的与作用《软件工程》是研究软件工程的原理、方法与技术的一门科学。随着全球软件产业的日益壮大,软件工程的思想、方法、理论和技术日益得到业界的高度重视。软件工程所涉及范围很广,覆盖软件开发技术、软件工程环境、软件经济学、软件心理学以及软件工程管理等等。另外,软件工程自身也在不断地发展和创新。所以,通过本课程的课程设计的锻炼,使学生系统地掌握《软件工程》这门课的内容,并能运用软件工程的知识来指导软件开发的工作。同时,《软件工程》课程设计也是一个具体软件开发的实践活动,学生只有通过软件开发的实践,才能真正或更好地领会和理解软件工程的精髓。课程设计的目的作用:(1)提高学生使用软件工程的思想和思维方式开发软件的能力,把学习软件工程理论和应用软件工程的方法结合起来。(2)掌握不同软件过程模型和不同的软件开发方法的特点,提高学生灵活运用适当的过程模型和先进的软件开发方法解决特定的问题的能力;(3)重点培养学生需求分析和设计的能力,使学生能够根据软件工程教学规定的多个知识点,分析和解决比较复杂的应用问题。(4)提高对所获取的需求进行表达和描述的能力。使学生能够自觉遵守软件工程规范,提高编写需求规范说明书、设计说明书、用户手册等各种文档的能力。各种文档的可读性对实现软件工程的目标是非常重要的,学生在编写各种文档时,应注重提高所编写文档的可读性。各种文档的编写规范和内容要求附在课程设计后面。(5)把实际的软件开发实践和软件工程教学内容联系起来,进行对照比较,分析研究,以增强感性认识,促进将知识向能力的转化。二、课程设计的基本要求1)基本要求使学生系统地学习软件工程的原理、方法与技术;掌握软件工程管理和软件工具、环境的基础知识;学会运用软件工程思想解决软件开发的质量和效率问题;形成软件开发的工程化思想,了解软件工程的最新进展。学生在进行课程设计时,应确定开发小组,可以以2到4人为一组(TSP),也可以个人独立开发(PSP),还应确定准备采用的开发范型和开发方法,然后在选择一个具体的开发项目(本课程设计列出了六类开发范型和开发方法,以及相应的项目需求,还给出了一个含有多个具体课题的课程设计课题表),再根据课程设计指导书的要求进行项目开发的各项活动。课程设计期间必须完成需求分析、设计方案等文档的编写,并利用实际的语言环境实现自己所设计的方案。所实现的软件能够实际运行,达到需求所规范的具体要求。对于所编写的各种文档,要求逻辑安排合理,可读性、可理解性好。需求内容合理丰富,设计方案切实可行。对于所实现的软件,界面友好,操作方便。2)验收内容验收内容主要包括以下三个方面:①对课程设计所涉及到的知识点的掌握程度。②所开发的软件文档(课程设计报告)质量和③软件的运行情况。3)验收方式①学生提交课程设计报告,现场运行所开发的软件。②指导老师检查同学对课程设计所涉及到的知识点的掌握程度。一般而言,学生对应该掌握的知识点反映在自己课程设计报告中。验收老师通过提问来考察学生的掌握情况。③小组内部评议。根据课题的难易程度、完成情况和课程设计报告的内容等进行综合评定。指导老师验收时,按照优秀、良好、中、及格和不及格五个等级,给每个同学一个恰当的成绩。三、课程设计的主要内容为配合《软件工程》教学,巩固教学阶段所学内容,提高学生的软件工程实践能力,《软件工程》课程设计根据常用的软件开发范型,安排了六种类型的课程设计,学生可以任选其一作为课程设计类型。一、利用结构化开发方法开发软件;二、采用瀑布模型开发软件;三、采用原型模型增量开发软件;四、利用面向对象开发方法开发软件;五、利用UML建立软件系统分析模型;六、基于构件的软件开发。具体的需求选择可以参考软件工程课程设计指导。学生可以利用所学的软件开发工具和语言环境,按照TSP或PSP开发方法组织开发小组、制定开发过程和计划。指导《软件工程》课程设计的教师在安排学生课程设计时,可以根据教学的具体情况、具体的课程设计环境和课程设计条件、对学生的培养计划等提出要求。一名学生或一个课程设计小组选择其中的一种类型,并确定一个需求题目进行课程设计。本课程设计提供了一份课程设计课题表,给出了一些适合于课程设计的题目,同学们可以根据自己的具体情况选择,希望能够独立完成,尽量减少选题的重复。课程设计一——利用结构化开发方法开发软件1.课程设计目的1)通过该课程设计,加深对软件生命周期的理解,掌握结构化软件开发的基本过程。2)加深理解软件开发中需求分析的重要性,需求分析的质量直接影响到软件的质量、开发成本和开发周期。3)加深理解软件版本管理的内容和重要性。2.课程设计要求1)软件版本管理支持软件开发。2)按照瀑布模型的要求开发,给出各个软件开发阶段的文档,包括:软件计划和需求定义、软件需求规范说明书、软件总体设计文档、详细设计文档、测试计划、测试分析报告、用户操作手册。3.课程设计内容1)弄清软件版本管理支持软件的功能需求、性能需求、约束等具体内容,即该软件“做什么”。具体内容包括基线定义、软件配置项的定义和编号、版本编号、变更控制等。2)结构化分析。画分层的数据流图,编制相应的数据词典和处理逻辑说明。编写需求规范说明书。3)结构化设计。根据数据流图映射出相应的软件结构。包括软件结构设计、界面设计、数据结构和数据库设计。4)实现。编码实现所设计的算法。5)测试。包括测试方案设计、测试用例选取、测试结果分析等。4.课程设计设备1)PIII以上的微机。2)VisualC++,Delphi等设计语言和环境。3)文档编辑环境。5.课程设计步骤1)给出问题定义和软件计划,确定系统的规模和总目标,编写相关文档。2)需求分析。画出分层的数据流图,编制相应的数据词典和处理逻辑说明。编写需求规范说明书。3)总体设计,软件结构设计:①确定所画数据流图的类型是变换型,还是事务型?并将数据流图映射成软件结构图,即将系统按照功能划分成若干个模块。②确定每个模块的功能。③确定各模块间的调用关系。④确定模块间传递的信息,即接口参数。⑤根据设计的基本原理,进一步修改软件结构,并评价软件结构的质量。界面设计:设计反映系统主要功能的人机交互界面。数据结构设计:根据数据的结构特性,确定描述这些数据的数据结构。数据库设计:定义数据项、类型、长度,以及描述它们之间的层次或相互关系的表格。编写总体设计文档。编写用户使用手册。4)详细设计。设计每个模块的算法、控制结构和数据结构。可以用程序流程图、伪语言、表格等工具描述算法和控制结构。编写详细设计文档。5)设计测试方案、选择测试用例、编写测试计划。(测试主要功能,注重测试用例的选取。)6)编码,实现部分主要的功能,注重注释的质量。7)单元测试、编写单元测试报告。8)集成测试、编写集成测试报告。9)编写项目总结报告。6.预习要求1)预习或熟悉有关结构化开发的内容。2)预习有关版本控制的内容。7.课程设计结果分析1)复审和检查需求规范说明书的有效性、完备性和一致性等,如系统功能要求、性能要求是否合理?是否可以实现?、2)针对软件开发过程中遇到的问题进行分析,如遇到了什么问题?是怎样解决的?提出自己的看法。3)分析所开发软件的可维护性。课程设计二——采用瀑布模型开发软件1.课程设计目的1)通过该课程设计,加深对软件生命周期的理解,掌握软件开发的基本过程,掌握并区分各种软件开发的过程模型的特点。2)加深理解软件开发中需求分析的重要性,需求分析的质量直接影响到软件的质量、开发成本和开发周期。3)锻炼界面设计和数据库设计的能力。2.课程设计要求1)高校人事档案管理系统2)按照瀑布模型的要求,给出各个软件开发阶段的文档,包括:软件计划和需求定义、软件需求规范说明书、软件总体设计文档、详细设计文档、测试计划、测试分析报告、用户操作手册。3.课程设计内容1)问题定义和需求分析。弄清高校人事管理系统的功能需求、性能需求、约束等具体内容,即该软件“做什么”。具体内容包括:定义教师、实验人员和管理人员的基本信息,录入、存储这些基本信息;可以进行简单查询和条件组合查询;可以按照职称、职务、年龄、工龄、工资进行统计;可以打印输出有关报表;可以对教职工的基本信息进行维护、备份和恢复;采取必要的安全措施。2)总体设计和详细设计。包括功能设计、界面设计、数据库设计。3)实现。编码实现所设计的算法。4)测试。包括测试方案设计、测试用例选取、测试结果分析等。4.课程设计设备1)PIII以上的微机。2)VisualC++,Delphi等设计语言和数据库语言与环境。3)文档编辑环境。5.课程设计步骤1)给出问题定义软件计划,编写相关文档。2)需求分析,编写需求规范说明书。3)总体设计,编写总体设计文档。4)编写用户使用手册。5)详细设计,详细设计文档。6)设计测试方案、选择测试用例、编写测试计划。(测试部分主要的功能,注重测试用例的选取。)7)编码,实现部分主要的功能,注重注释的质量。8)单元测试、编写单元测试报告。9)集成测试、编写集成测试报告。10)编写项目总结报告。6.预习要求1)预习或熟悉有关瀑布开发模型的内容。2)预习有关数据库设计和界面设计的内容。7.课程设计结果分析1)复审和检查需求规范说明书的准确性、有效性、完备性和一致性等,分析系统功能要求、性能要求是否合理?是否可以实现?、2)针对软件开发过程中遇到的问题进行分析,如遇到了什么问题?是怎样解决的?提出自己的看法。3)分析所开发软件的可维护性和对需求变化的适应性。课程设计三——采用原型模型增量开发软件1.课程设计目的1)提高对快速原型开发模型和渐增开发模型的认识。通过该课程设计,加深对软件生命周期的理解,掌握软件开发的基本过程,掌握并区分各种软件开发的过程模型的特点。2)提高需求分析的能力,加深理解软件开发中需求分析的重要性,需求分析的质量直接影响到软件的质量、开发成本和开发周期。3)锻炼界面设计和数据库设计的能力。2.课程设计要求1)采用原型模型增量开发高校学籍管理系统。2)按照瀑布模型的要求,给出各个软件开发阶段的文档,包括:软件计划和需求定义、软件需求规范说明书、软件总体设计文档、详细设计文档、测试计划、测试分析报告、用户操作手册。3.课程设计内容1)问题定义和需求分析。弄清高校学籍管理系统的功能需求、性能需求、约束等具体内容,即该软件“做什么”。具体内容包括:定义学生的基本信息(包括学好、年龄、性别、专业等),录入、存储这些基本信息;录入和存储每个学生的各科成绩;可以进行各科成绩、单科成绩查询;可以按照班级平均成绩、各科平均成绩进行统计;可以打印输出各种成绩单;可以进行升留级自动报告;可以对学生基本信息进行维护、备份和恢复;采取必要的安全措施(如防止非法进入,非法修改成绩等)。2)总体设计和详细设计。包括功能设计、界面设计、数据库设计。3)实现。编码实现所设计的算法。4)测试。包括测试方案设计、测试用例选取、测试结果分析等。4.课程设计设备1)PIII以上的微机。2)VisualC++,Delphi等设计语言和数据库语言与环境。3)文档编辑环境。5.课程设计步骤1)给出问题定义软件计划,编写相关文档。2)快速需求分析,编写需求规范说明书。3)快速实现原型(包括界面设计、主要功能设计)。4)评价原型(可以在同学之间进行讨论、评价)。5)根据评价意见,完善和增强原型。6)实现最终的系统,编写各种文档。7)测试并提交产品。6.预习要求1)预习或熟悉有关增量开发模型的内容。2)预习有关数据库设计和界面设计的内容。3)熟悉支持快速原型开发的工具和环境。7.课程设计结果分析1)是否是利用原型系统实现需求规范说明书的准确性、有效性、完备性和一致性?是否体现了增量开发过程?分析增量开发对软件质量、开发成本和开发进度的影响。2)针对软件开发过程中遇到的问题进行分析
本文标题:SE课程设计
链接地址:https://www.777doc.com/doc-1651237 .html