软件工程系列课程设计的分组及选题策略框架
- 格式:doc
- 大小:231.50 KB
- 文档页数:7
《软件工程》课程设计大纲《软件工程》课程设计大纲一、实验课程性质《软件工程课程设计》是为计算机科学与技术及相关专业的学生开设的一门必修基础课程,是与《软件工程》课程相配套的一门软件开发实务操作课程,是《软件工程》实践性教学的重要环节。
二、实验教学目的通过本课程设计的教学,使学生通过实践深化对《软件工程》理论的理解和掌握,学会运用软件工程方法学分析问题和解决问题的能力,为以后的软件开发打下良好的基础。
三、实验教学内容从以下问题中任选一题,采用软件工程学方法完成该系统开发的问题定义、可行性分析、需求分析、总体设计、详细设计、系统实现和系统测试各阶段的工作,最终完成该系统的开发。
要求写出各阶段的文档并最后形成系统文档,提交目标系统。
1、小型图书管理系统。
该系统具有用户注册、借书还书、图书和读者信息更新、图书查询等功能。
系统应满足如下要求:(1)所有未借出的图书能供读者借阅;在同一时刻,一本书不能即被借出又可供借阅;(2)一个读者一次借出的图书数目不能超过预定值(不同读者的预定值不同)。
系统有两种用户:系统管理员和普通读者。
2、保温系统。
如果主开关处于“加热”状态,保温系统的控制器负责开关锅炉,监视锅炉系统的燃油流量和燃烧状态,进而调节进入房间的热流量。
当室内温度降至(T-2)℃以下,控制器启动锅炉。
这里T使用户设定的理想室温。
锅炉启动过程如下:(1)控制器下过路的马达发信号;(2)控制器监视马达速度,当马达达到正常操作速度时,启动点火并打开油阀;(3) 控制器监视水温,当水温达到预定值时,发信号打开水流循环阀,热水开始在室内循环;(4)如果发生异常情况,燃油流量指示器和广感器向控制器发信号,此时控制器发信号关闭系统;(5)当室内温度达到(T+2)℃时,控制器首先关闭油阀,延迟5s 后关闭锅炉马达。
系统应满足如下要求:锅炉停机后重启必须延迟5min;在主开关关闭或油阀关闭5s内应指示锅炉停机。
3、电梯问题。
软件工程课程设计方案一、概述随着信息技术的迅猛发展,软件工程课程在计算机相关专业中的地位日益重要。
本文旨在介绍一种软件工程课程的设计方案,以满足学生对软件工程领域的学习需求。
该方案具备结构合理、内容丰富、实践性强等特点,旨在培养学生的软件工程思维和实际应用能力。
二、课程目标本课程的主要目标是:1. 了解软件工程的基本原理和方法;2. 熟悉软件开发生命周期以及常用的软件开发模型;3. 掌握软件需求分析、设计、编码、测试和维护等核心技术;4. 培养学生团队合作和项目管理的能力;5. 提高学生解决实际软件工程问题的能力。
三、课程大纲1. 软件工程导论- 软件工程概述- 软件工程知识体系介绍- 软件工程发展历史2. 软件开发生命周期- 传统瀑布模型- 增量模型- 迭代模型- 敏捷开发模型3. 软件需求分析- 需求获取和分析方法- 需求规格说明书撰写- 需求验证与确认4. 软件设计- 结构化设计方法- 面向对象设计方法- 设计模式的应用5. 软件编码与测试- 编码规范与最佳实践- 软件测试方法和策略- 单元测试、集成测试和系统测试6. 软件维护与管理- 软件维护的类型和策略- 变更管理和配置管理- 项目管理与团队合作7. 软件工程实践项目- 学生分组进行软件工程实践项目- 项目管理和进度控制- 成果展示和评价四、教学方法1. 授课形式本课程采用理论讲授与实践相结合的教学模式,通过理论讲解、案例分析、小组讨论和实践操作等方式,使学生对软件工程的知识有一个全面的了解。
2. 实践操作鼓励学生参与实践项目,通过实践操作培养学生的动手能力和解决问题的能力。
3. 课堂讨论强调学生的互动参与,鼓励学生在课堂上提问和讨论,促进学生的思维活跃和能力提升。
4. 小组合作分组进行软件工程实践项目,培养学生的团队协作和项目管理能力。
五、考核方式1. 平时表现占比40%包括课堂参与、实践操作、作业完成情况等方面的评估。
2. 期中考试占比30%主要考核学生对课程基本知识的掌握情况。
软件工程课程设计方案一、设计的目的《软件工程》课程设计是计算机科学与技术专业集中实践性环节之一是学习完《软件工程》课程后进行的一次全面的综合练习。
本课程设计主要目的在于:①复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识;②为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识创造实践机会。
为学生提供主动学习、积极探索与大胆创新的机会;③使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性:④使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能;⑤通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。
二、参与人员与组织方式按照专业教学计划的安排,本课程设计要求07级计算机科学与技术专业的所有学生都必须完成,设计采用分组的方式进行,根据选题的不同,每组人数要求不超过指定的人数,两个班级配备两位指导老师进行全程指导。
三、设计内容课程设计可以网站开发或MIS系统开发为内容,开发工具自选。
采用传统的结构化分析与设计方法完成一个软件系统的分析、设计和开发。
学生根据自己的具体情况,可以从以下系统中选择一个,也可以自选题目。
设计题目:网站开发类:每组8人(一):网上书店My・eBookStore1 、问题描述:假设个体书店店主小童委托计算机专业的大学毕业生组成的开发小组(10人)为他创建网上书店系统My・eBookStore,以便能够扩展书店的客户群、科学管理、提高效益。
该书店以经营英语、计算机书籍为主。
在网上书店建立初期,要求在确保基本功能正常的情况下,尽量简化,并且在2个月内完成。
软件工程的课程设计一、教学目标本节课的教学目标是使学生掌握软件工程的基本概念、原则和方法,培养学生分析和解决软件工程问题的能力,提高学生的软件工程实践能力。
具体目标如下:1.了解软件工程的基本概念、历史和发展趋势;2.掌握软件工程的基本原则和方法;3.理解软件开发过程中的各个阶段及其任务。
4.能够运用软件工程原则和方法分析、解决软件工程问题;5.能够编写简单的软件工程文档;6.能够参与软件开发过程中的各个阶段。
情感态度价值观目标:1.培养学生对软件工程的兴趣和热情,提高学生对软件工程的认识;2.培养学生团队协作、积极参与软件开发过程的精神;3.培养学生遵循软件工程规范、提高软件质量的意识。
二、教学内容本节课的教学内容主要包括软件工程的基本概念、原则和方法,以及软件开发过程中的各个阶段。
具体安排如下:1.软件工程概述:介绍软件工程的定义、历史和发展趋势;2.软件工程原则:讲解软件工程的基本原则,如模块化、抽象化、迭代开发等;3.软件工程方法:介绍软件工程常用的方法,如结构化方法、面向对象方法等;4.软件开发过程:讲解软件开发过程中的各个阶段,如需求分析、设计、编码、测试等;5.软件工程实践:通过案例分析,使学生掌握软件工程的应用。
三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法,如讲授法、讨论法、案例分析法等。
具体方法如下:1.讲授法:用于讲解软件工程的基本概念、原则和方法;2.讨论法:学生就软件工程实践中的问题进行讨论,培养学生的思考能力;3.案例分析法:通过分析实际案例,使学生掌握软件工程的应用。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的教材,如《软件工程》、《软件开发方法》等;2.参考书:提供相关的参考书籍,如《软件工程实践》、《软件工程案例分析》等;3.多媒体资料:制作精美的PPT,展示软件工程的图片、图表等;4.实验设备:准备计算机、网络等实验设备,便于学生进行实践操作。
软件工程系列课程设计的分组及选题策略框架本文针对多数学生在软件工程系列课程设计中存在的选题盲目、分组随意、连续性差等问题,提出“固定分组、延续题目”的策略。
关键词:软件工程;课程设计;分组;选题;管理信息系统1引言我院软件工程系列课程中设置了四门课程设计:数据结构、数据库、软件工程及综合课程设计,分布于大学二、三年级的四个学期内(见图1)。
图1 哈工大软件学院本科四年课程设计分布情况每门课程设计过程中,要求学生在班级内组成3~5人的项目小组,且每组可以从参选题库中选题或自定题目。
然而经过5年的实践教学我们发现了一些不足之处:分组随意、选题盲目、管理困难、缺乏积累以及质量保证差。
课程设计是合作学习的一种具体形式,但国内外对于合作学习中分组策略的研究较少。
针对当前项目选题及分组研究中普遍存在的问题,本文将就哈工大软件学院软件工程系列课程设计过程中的分组及选题策略进行研究。
2分组策略研究2.1现有的分组策略(1) 随机的分组策略。
弊端很多,如(1)可能一组内的某几个成员性格合不来,勉强合为一组极有可能影响他们的工作热情;(2)随意的分组可能产生所谓的公平,但其科学性根本无从掌控;(3)随机的分组容易使学生存在“短期行为”现象,因为没人能够预料下一次课程设计会和哪些同学在一个组内。
(2) 教师指定的分组策略。
这种策略存在一定的科学性,然而事实证明这种方法也不实用。
一方面要牵扯教师很多精力,另一方面,这种指令性的安排容易降低学生们组内合作的积极性。
(3) 学生自主的分组策略。
这种策略正是当前我们采用的方式。
即要求学生在班级内自愿成组,每组3~5个人,学生根据志趣相投、同一寝室或有很好的合作经历等因素进行成组。
这种自主分组的策略目前比较成功,学生们很快就能够组织好小组并开始工作。
2.2鼓励“固定分组”的自主分组策略(1) 策略分析经观察发现,自主分组原则下的固定分组将更加有利于合作。
我们的课程设计先后有四次,如果鼓励学生从第一、二次开始就尽量使小组成员固定,则可以达到如下好处:合作效率高、失败风险小、创新可能大、教师管理工作减轻、学生团队意识增强。
《软件工程》课程设计一、课程设计目的软件工程是计算机科学与技术以及相近专业的一门主要课程,通过软件工程课程实践,进行软件工程的实际综合演练,完成一个实际软件项目的分析、设计、开发、测试全过程,贯穿领会软件工程的基本思想,明晰软件工程阶段划分与各个阶段的主要任务,以MicroSoft Visio、Project、Rose、VSS、Power Designer为例学习计算机辅助软件工程工具的基本使用方法,力图初步具备采用规范化的软件工程方法进行软件项目研发的能力。
二、课程设计任务1.掌握应用软件分析、设计和实现的基本过程2.掌握应用软件工程的分析、设计、实现的方法3.学习使用CASE工具三、课程设计要求课程实践以实际应用中的小型题目为主,要求设计人员独立完成。
要求学生能把软件工程学的基本原理和方法应用到软件的实际开发和设计中。
根据不同的题目类型选择一种或两种开发模式,完成系统设计(概要设计),详细设计,部分编码/测试工作。
具体要求如下:1、每个人必须有程序运行结果(所完成的两个模块)2、每个人必须交《软件工程课程设计报告》和程序清单(所完成的两个模块)3、课程设计任务必须由个人独立完成,禁止相互抄袭,如有发现,双方都不及格。
四、提交实验报告文挡及要求五、打分标准:1、根据考勤情况:学生不得以自己有私人电脑为借口而不到实验室进行课程设计工作,教师要不定期检查学生进度。
2、根据所实现模块运行状况。
3、根据《软件工程》课程设计报告,学生能对自己的文档和代码面对教师提问并能熟练地解释清楚,以上三项缺一不可。
4、由于课程设计各题目的难度不尽相同,所以成绩的评定将根据各人完成题目的难度和完成情况的不同,分别评定成绩,如未能完成任何题目,则以不及格计算。
5、随机抽取学生演示并讲解自己所完成题目的设计目的和设计思路,并完成教师的提问。
六、时间安排课程设计任务完成时间为17周结束,届时上交课程设计报告和程序。
课程设计时间:周一1-4 周二 1-4,5-8 周三 1-8 周四 1-4 课程设计地点:办公楼五楼实验室其他时间:在教室内进行工作。
软件工程课程设计安排一、课程设计选题仔细阅读下列各课程设计题目的说明和设计要求,每位同学从中选择一题,也可自选题目(自选题目必须经过指导教师的认可)。
要求通过课程设计的实践,进一步理解和掌握软件工程原理,提高对实际项目的分析和设计能力,体会软件工程方法学、软件开发的过程,熟悉文档资料的编写规范。
二、课程设计总体要求(1)选定题目后,要严格按照题目要求独立完成,不可随意更改题目。
(2)选择任意一门编程语言,实现窗体应用程序或网页编程,界面要友好;(3)严格按照软件工程的生命周期进行,每个阶段都必须提交相应的文档(可行性研究报告、需求规格说明书、概要设计说明书、详细设计说明书);(4)文档要按照软件开发文档指南(国家标准)编写;(5)最终完成的软件程序要能够运行,并进行演示;(6)课程设计报告要符合规范。
三、课程设计成绩评定课程设计的成绩评定以选定课题的难易度、完成情况和设计报告为依据综合评分。
要求对于选定的题目,最后完成的软件程序要能够运行,而且要完成基本的功能,否则视为没有完成该题目。
四、课程设计题目题目一:学院课程安排系统1.系统简介每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。
假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。
2.限定条件(1)每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。
(2)学院中层干部的主讲课时不能超过4学时/周。
(3本学期出现严重教学事故的教师不能承担下各学期的主讲任务。
详细版!目录一、问题定义 (5)1.1问题的定义 (5)1.2 系统要解决的问题 (5)二、可行性研究 (6)2.1 引言 (6)2.1.1目的 (6)2.1.2背景及功能 (6)2.1.3 参考资料 (6)2.2 可行性研究的前提 (7)2.2.1 要求 (7)2.2.2 目标 (7)2.2.3 条件、假定和限制 (7)2.2.4 进行可行性研究的方法 (7)2.3 所建议的系统 (8)2.3.1 对所建议系统的说明 (8)2.3.2 处理流程和数据流程 (8)2.3.3 工作负荷 (9)2.3.4技术条件方面的可行性 (10)2.4 社会因素方面的可行性 (10)2.4.1 法律方面的可行性 (10)2.4.2 使用方面的可行性 (10)2.5 经济可行性 (10)2.6 结论 (10)三、项目开发计划 (11)3.1 引言 (11)3.1.1 编写目的 (11)3.1.2 背景 (11)3.1.3 参考资料 (11)3.2 项目概述 (11)3.2.1 工作内容 (11)3.2.2 产品 (12)3.2.4 完成项目的最迟期限 (13)3.2.5 关键问题及支持的系统条件 (13)3.3 支持条件 (13)四、需求分析 (14)4.1 系统需求 (14)4.2. 功能需求 (14)4.3业务流程图 (14)五、概要设计 (16)5.1 基本设计概念和处理流程 (16)5.2. 系统层次模块图 (16)5.3. 系统层次模块图 (16)5.4. 模块设计 (17)六、数据库设计 (18)6.1 引言 (18)6.1.1 编写目的 (18)6.1.2 背景 (18)6.1.3 定义 (18)6.1.4 参考资料 (19)6.2 外部设计 (20)6.2.1 标识符和状态 (20)6.2.2 使用它的程序 (20)6.2.3 约定 (20)6.2.4 专门指导 (20)6.2.5 支持软件 (20)6.3 结构设计 (21)6.4 运用设计 (25)6.4.1 数据字典设计 (25)6.4.2 安全保密设计 (25)七、详细设计 (26)7.1 引言 (26)7.1.1 编写目的 (26)7.1.2 背景 (26)7.1.3定义 (26)7.1.4 参考资料 (26)八、测试报告 (27)8.1 引言 (27)8.1.1 编写目的 (27)8.1.2 定义 (27)8.1.3 参考资料 (27)8.2 测试概要 (28)8.3 测试结果及发现 (31)8.3.1 测试具体实施 (31)8.4 对软件功能的结论 (32)8.4.1 用户登录模块 (32)8.5 分析摘要 (32)8.5.1 能力 (32)8.5.2 评价 (32)8.6 测试资源消耗 (32)九、用户手册 (33)9.1 引言 (33)9.1.1 编写目的 (33)9.1.2 定义 (33)9.1.3 参考资料 (33)9.2 用途 (33)9.2.1 功能 (33)9.2.2 性能 (34)9.2.3 安全保密 (34)十、附录 (36)10.1 数据库的封装代码DB.java (36)10.2 选课系统登陆界面代码Login.java (37)10.3 选课系统学生选课界面代码Student.java (41)10.4 学生选课情况查询代码Query.java (45)10.5 学生用户登录密码的修改代码Modify.java (48)10.6 教师查询学生选课的情况代码Teacher.java (51)10.7 超级管理员查询学生选课的情况代码Administrator.java (53)一、问题定义1.1问题的定义学生选课系统:也称学生课程选修制,即允许学生对学校所开设的课程有一定的选择自由,包括选择课程、任课教师和上课时间,选择适合自己的学习量和学习进程。
软件工程课程设计指导书《软件工程》课程设计任务书一.目的软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。
通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。
二.要求:1. 一人一组。
2. 熟悉Rose开发环境。
3. 掌握UML的基本模型元素(如角色、用例、类等)。
4. 熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)。
5. 进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程图,建立完整的系统数据库的逻辑模型。
6. 完成对系统的建模实现。
7. 进行检查,并提交设计报告。
三.报告要求:1. 实验题目2. 实验目的3. 实验要求4. 实验内容5. 系统设计的源程序和文档(包括说明)6. 心得体会四.参考资料:1. Wendy Boggs & Michael Boggs 著邱仲潘译《UML与Rational Rose2002从入门到精通》电子工业出版社2. Martin Fowler & Kendall Scott:UML Distilled Second EditionA Brief Guide to the Standard Object Modeling Language3. UML参考手册4. Jason T. Roff 著张瑜杨继萍等译《UML基础教程》清华大学出版社五.设计内容可自选题目,但须经过指导教师审查。
软件工程》课程设计要求一、分组选修JSP、Java .net、C#课程的同学按照所选课程任课教师的安排分组;其它同学4〜6人一组,由班长负责分组,每组指定一名组长。
二、选择题目选修JSP、Java .net、C#课程的同学从所选课程任课教师布置的题目中选题,也可从附录二中选题,也可小组自选题目,其它同学可从附录二中选题或小组自选题目。
三、选择软件开发方法所有同学都必须从附录一中选择相应的软件开发办法,按相应方法的规范完成软件开发。
分析、设计阶段由《软件工程》课程教师考查,实现阶段由相应选修课任课教师考查。
四、按照相应方法完成系统分析、设计,并完成相应文档。
系统开发结束(18 周末)应向《软件工程》课程教师提交规定文档,向选修课教师提交教师所要求文档。
1、《软件工程》课程设计结束,各小组须提交如下文档:1)《关于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《总体设计说明书》6)《详细设计说明书》以上文档撰写规范见附录三2、《软件工程》课程设计结束时,个人须提交的文档:《课程设计报告》,其中详细叙述自己所完成的工作。
五、成绩评定《软件工程》课程设计成绩=文档成绩+浮动分注:文档成绩由教师根据各小组所提交的6 份文档的完整性、质量、规范性打分;浮动分由组长根据每人贡献所给参考分及教师根据每人课程设计报告所给分综合评定给出。
注:《软件工程》课程设计时间:16~ 17周附录一:软件开发方法一、传统软件开发方法(瀑布模型)一、问题定义确定目标系统的性质、规模、目标。
二、可行性研究(一)从经济、技术、法律、操作角度分析系统可行性。
(二)若可行,则制度项目开发计划(项目成本、进度安排、分组情况……)三、需求分析(一)建立系统功能模型(DFD 、数据字典)(二)建立系统的数据模型(E-R图)(可选)(三)建立系统的动态模型(STD、时序图、Petri网)(可选)四、设计※总体设计(一)建立软件结构图(软件结构图反应模块及模块间的调用关系,每个模块为一个独立的功能)(二)设计数据库的表结构(每张表应规范到3NF,每张表应包含表名,字段,字段类型、主键、外键)(可选)※详细设计(一)模块设计(设计每个模块的界面及算法)模块界面:可将所设计界面抓图。
《软件工程》课程设计教学大纲陆惠恩编写1.实验总学时:2周-4周。
2.实验类型:设计型3.适用专业计算机科学和技术专业、计算机应用专业等。
4.实验目的对软件工程的全过程有感性认识和初步的经验。
要求学生书写软件开发文档、编制软件并写实验报告。
5.实验方法每组人数4-5人,按模块分工,各自进行设计后,集成为一个整体。
实验学时为2周的,建立数据库,设计用户界面,书写软件开发文档。
实验学时为4周的,可以完成一个难度适当的软件开发课题。
6.考核方式及办法6.1检查所设计的软件功能是否符合预定要求(50分)。
6.2检查软件文档的书写是否规范、完整、正确(45分)。
6.3软件设计是否有创新(5分)。
7.实验报告要求实验报告是实验工作的全面总结,是教师考核学生实验成绩的主要依据。
实验报告是学生分析、归纳、总结实验数据,讨论实验结果并把实验获得的感性认识上升为理性认识的过程。
实验报告要求语言通顺、图表清晰、分析合理、讨论深入,处理数据应由每人独立进行,不能多人合写一份报告。
实验报告要真实反映实验结果,不得伪造。
8.实验报告的内容8.1实验名称、班级、学号、学生姓名和实验报告日期。
8.2实验目的和要求,本人分工完成的任务内容。
8.3实验的硬件环境、软件环境。
8.4实验步骤、软件设计文档(项目可行性报告、设计计划、需求分析、概要设计、详细设计、数据库设计、源程序及简要说明、软件使用手册等)。
8.5实验测试报告:测试用例及测试情况。
8.6实验结果分析:讨论实验中遇到的问题,对已解决的问题介绍解决办法;对未解决的问题分析可能的原因。
8.7实验心得与体会。
9、参考文献9.1 张海藩,软件工程导论(第四版).北京:清华大学出版社2003年9.2 陆惠恩,软件工程. 北京:人民邮电出版社2007年9.3 陆惠恩,软件工程实践教程. 北京:机械工业出版社,2006年《软件工程》课程设计题目选编课程设计题目1招干考试成绩管理系统某市举行招聘考试,分三个专业:法律、行政学和经济学。
软件工程课程设计指导一、课程设计教学目的《软件工程课程设计》是为计算机专业本科《软件工程》课程配套设置的,是《软件工程》课程的后继教学环节,是一个重要的、不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件总体设计、软件详细设计、软件测试等阶段的方法和技术。
通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培养。
二、课程设计内容及要求本课程设计要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。
具体要求如下:1. 每个班级按项目小组进行分组,每组不得超过4人;2. 每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目。
项目经理负责制定“项目开发计划”、管理项目并根据项目进展情况对项目开发计划进行调整;3. 项目开发计划必须由粗到细给出,每项任务要落实到人且规定该任务的起止日期和时间;明确每个阶段提交文档的日期和时间;每个项目小组必须明确指定文档的审查人员以及审查结果的返回日期;审查小组和审查人员不得是完成被审查内容的完成者;审查结果至少包括:存在的问题、出现问题的所在文档的位置及页码、具体建议等;4. 每个项目小组必须按照给定的文档规范标准提供下列文档,文档中必须注明执笔者、完成者(签名)和完成日期。
其中对同一功能模块,完成需求分析和设计工作的人员不能相同,完成编码和审查/测试的人员不能相同;文档包括:项目开发计划(包括调整的项目开发计划)、需求分析说明书、概要设计说明书、详细设计说明书、编码清单(部分或全部)、测试报告等。
《软件工程》课程设计教学大纲陆惠恩编写1.实验总学时:2周-4周。
2.实验类型:设计型3.适用专业计算机科学和技术专业、计算机应用专业等。
4.实验目的对软件工程的全过程有感性认识和初步的经验。
要求学生书写软件开发文档、编制软件并写实验报告。
5.实验方法每组人数4-5人,按模块分工,各自进行设计后,集成为一个整体。
实验学时为2周的,建立数据库,设计用户界面,书写软件开发文档。
实验学时为4周的,可以完成一个难度适当的软件开发课题。
6.考核方式及办法6.1检查所设计的软件功能是否符合预定要求(50分)。
6.2检查软件文档的书写是否规范、完整、正确(45分)。
6.3软件设计是否有创新(5分)。
7.实验报告要求实验报告是实验工作的全面总结,是教师考核学生实验成绩的主要依据。
实验报告是学生分析、归纳、总结实验数据,讨论实验结果并把实验获得的感性认识上升为理性认识的过程。
实验报告要求语言通顺、图表清晰、分析合理、讨论深入,处理数据应由每人独立进行,不能多人合写一份报告。
实验报告要真实反映实验结果,不得伪造。
8.实验报告的内容8.1实验名称、班级、学号、学生姓名和实验报告日期。
8.2实验目的和要求,本人分工完成的任务内容。
8.3实验的硬件环境、软件环境。
8.4实验步骤、软件设计文档(项目可行性报告、设计计划、需求分析、概要设计、详细设计、数据库设计、源程序及简要说明、软件使用手册等)。
8.5实验测试报告:测试用例及测试情况。
8.6实验结果分析:讨论实验中遇到的问题,对已解决的问题介绍解决办法;对未解决的问题分析可能的原因。
8.7实验心得与体会。
9、参考文献9.1 张海藩,软件工程导论(第四版).北京:清华大学出版社2003年9.2 陆惠恩,软件工程. 北京:人民邮电出版社2007年9.3 陆惠恩,软件工程实践教程. 北京:机械工业出版社,2006年《软件工程》课程设计题目选编课程设计题目1招干考试成绩管理系统某市举行招聘考试,分三个专业:法律、行政学和经济学。
软件工程毕业设计题目选取与开题攻略在软件工程专业的学习过程中,毕业设计是非常重要的一环,不仅是对所学知识的综合运用,也是对学生综合能力的一次考验。
而毕业设计的第一步,就是选取一个合适的题目并完成开题报告。
本文将介绍如何选取软件工程毕业设计题目以及开题攻略,帮助同学们顺利完成毕业设计。
一、软件工程毕业设计题目选取1. 确定个人兴趣方向在选择毕业设计题目时,首先要考虑自己的兴趣方向。
毕业设计是一个漫长的过程,如果选择了一个自己不感兴趣的题目,很可能会在后期的研究和开发过程中失去动力。
因此,建议同学们首先确定自己的兴趣方向,选择一个与自己专业相关且感兴趣的题目。
2. 考虑实际需求除了个人兴趣方向外,还要考虑到实际需求。
可以选择一些与当前社会、行业相关的热点问题作为毕业设计题目,这样不仅可以提升毕业设计的实用性,还能增加对实际工作的适应能力。
3. 参考导师建议在选择毕业设计题目时,可以向指导老师请教,听取老师的建议。
老师通常会根据学生的专业特长和兴趣给出一些建议,有助于同学们更好地选择适合自己的毕业设计题目。
4. 查阅相关文献在选取毕业设计题目时,可以通过查阅相关文献,了解当前研究的热点和前沿领域,从中选择一个有挑战性和研究意义的题目。
同时,也可以借鉴他人的研究成果,进行改进和创新。
二、软件工程毕业设计开题攻略1. 确定研究方向和目标在开题报告中,首先要明确研究的方向和目标。
要描述清楚研究的背景和意义,明确研究的目的和意图,为后续的研究工作奠定基础。
2. 提出研究问题和方法在开题报告中,要明确提出研究的问题和解决方法。
要描述清楚研究的主要内容和技术路线,说明研究方法的可行性和有效性,为后续的研究工作提供指导。
3. 制定详细的计划和进度安排在开题报告中,要制定详细的研究计划和进度安排。
要明确每个阶段的工作内容和时间节点,合理安排研究任务和进度,确保毕业设计按时完成。
4. 论证研究的可行性和创新性在开题报告中,要论证研究的可行性和创新性。
《软件工程》课程设计要求一、分组3~5人一组,由班长负责分组,每组指定一名组长。
注:以java、.net方向的同学为主来分组,前台和信息技术方向的同学穿插在各组。
java、.net这两个方向的同学不要放在一组。
二、选择题目可从附录三中选题,也可选java、jsp、.net等课程设计中老师指定的题目,也可小组自选题目(应选小型软件:代码2000行左右,如小型数据库应用系统、小型网络应用软件等)。
三、选择软件开发方法从附录一中选择相应的软件开发办法,按相应方法的规范完成软件开发。
四、按照相应方法完成系统分析、设计,并完成相应文档。
1、《软件工程》课程设计结束,各小组须提交如下文档:若选择方法一、三,则需做完详细设计,需提交如下文档:1)《关于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《总体设计说明书》6)《详细设计说明书》若选择方法二,则需做完总体设计,需提交如下文档:1)《关于软件性质、规模、目标的报告书》2)《可行性研究报告》3)《项目开发计划》4)《需求规格说明书》5)《总体设计说明书》以上文档撰写规范见附录三。
2、《软件工程》课程设计结束时,个人须提交的文档:《课程设计报告》,其中详细叙述自己所完成的工作。
五、成绩评定《软件工程》课程设计成绩=文档成绩+浮动分注:文档成绩由教师根据各小组所提交的份文档的完整性、质量、规范性打分;浮动分由组长根据每人贡献所给参考分及教师根据每人课程设计报告所给分综合评定给出。
注:《软件工程》课程设计时间:19~20周若选择方法一、三完成系统分析与设计,小组每个成员都要参与功能分析、模块设计;若选择方法二完成系统分析与设计,小组每个成员都要参与功能分析、实体类类图的创建、用例分析模型或用例设计模型的建立(用例分析模型或用例设计模型二者选其一即可)。
(方法中标红部分)附录一:软件开发方法一、传统的软件开发方法(结构化的软件开发方法)适用于一般软件,特别适合于如下情况:1.数据结构+算法的程序设计思想。
软件工程系课程设计软件工程系印制2012.6龙岩学院软件工程系课程设计实施方案一、课程设计的目的和意义课程设计是继课程理论教学、课程实验后的一个综合性实践教学环节,是对课程理论和课程实验的综合和补充。
课程设计是学生应用所学课程的专业技术知识解决实际应用问题的演练,是设计思想、运算能力、绘图能力及查阅技术资料能力的综合应用。
课程设计培养了学生综合运用已学过的理论和技能去分析和解决实际应用问题的能力,对加深课程理论的理解和应用、切实加强学生的实践动手能力、创新能力和协作能力具有重要意义。
课程设计是学生学完计算机专业课程之后,使学生能更好地理解计算机核心课程(包括程序设计、数据结构、数据库、计算机网络等)的相关原理和思想和方法,并能利用这些原理、思想和方法来解决实际问题,强化了学生的动手能力。
课程设计是软件工程专业本科学生必不可少的一个综合性实践学习环节。
二、软件工程系课程设计的现状我系实践教学体系主要包括课程内实验、课程设计和毕业实习/设计三大模块。
从理论上来讲,目前的实践教学体系应该是合理和有效的。
然而,从实践教学体系的实际执行情况来看,还存在许多问题,学生的实践能力还远远没有达到预期的效果。
具体来说,在实践教学体系中,课程内实验模块做得相对较好。
通过课程内实验训练后,大部分学生认为掌握了基本的实践动手能力。
但是,对课程设计和毕业实习/设计这两个模块的调查结果令人担忧,很多学生认为它们没有达到综合和提高的训练效果,或者认为自己实践动手能力非常差。
为了切实有效地提高学生实践动手能力,本系通过组织教师经过广泛调查和深入分析研究,一方面认为要全面完善实践教学体系的各个环节,另一方面应突出重点,抓好课程设计这一中间环节势在必行。
三、计算机系课程设计实施方案课程设计是实践教学环节的重要组成部分,通过课程设计,可以培养学生运用相应课程及相关课程的理论技术知识,解决实际问题,使学生实现由知识向能力的转化。
搞好课程设计的教学工作,对实现专业培养目标,提高学生全面素质有重要作用。
软件工程系列课程设计的分组及选题策略框架本文针对多数学生在软件工程系列课程设计中存在的选题盲目、分组随意、连续性差等问题,提出“固定分组、延续题目”的策略。
关键词:软件工程;课程设计;分组;选题;管理信息系统1引言我院软件工程系列课程中设置了四门课程设计:数据结构、数据库、软件工程及综合课程设计,分布于大学二、三年级的四个学期内(见图1)。
图1 哈工大软件学院本科四年课程设计分布情况每门课程设计过程中,要求学生在班级内组成3~5人的项目小组,且每组可以从参选题库中选题或自定题目。
然而经过5年的实践教学我们发现了一些不足之处:分组随意、选题盲目、管理困难、缺乏积累以及质量保证差。
课程设计是合作学习的一种具体形式,但国内外对于合作学习中分组策略的研究较少。
针对当前项目选题及分组研究中普遍存在的问题,本文将就哈工大软件学院软件工程系列课程设计过程中的分组及选题策略进行研究。
2分组策略研究2.1现有的分组策略(1) 随机的分组策略。
弊端很多,如(1)可能一组内的某几个成员性格合不来,勉强合为一组极有可能影响他们的工作热情;(2)随意的分组可能产生所谓的公平,但其科学性根本无从掌控;(3)随机的分组容易使学生存在“短期行为”现象,因为没人能够预料下一次课程设计会和哪些同学在一个组内。
(2) 教师指定的分组策略。
这种策略存在一定的科学性,然而事实证明这种方法也不实用。
一方面要牵扯教师很多精力,另一方面,这种指令性的安排容易降低学生们组内合作的积极性。
(3) 学生自主的分组策略。
这种策略正是当前我们采用的方式。
即要求学生在班级内自愿成组,每组3~5个人,学生根据志趣相投、同一寝室或有很好的合作经历等因素进行成组。
这种自主分组的策略目前比较成功,学生们很快就能够组织好小组并开始工作。
2.2鼓励“固定分组”的自主分组策略(1) 策略分析经观察发现,自主分组原则下的固定分组将更加有利于合作。
我们的课程设计先后有四次,如果鼓励学生从第一、二次开始就尽量使小组成员固定,则可以达到如下好处:合作效率高、失败风险小、创新可能大、教师管理工作减轻、学生团队意识增强。
然而也可能存在某些不足,主要表现在两个方面:两级分化现象和沟通能力受限。
前一个问题可以通过教师在最初分组时的宣传和适当协调来解决,即让每组都有一个成绩略差的同学;而后一个问题可以通过加强班级的其他活动加以解决。
(2) 鼓励方法及“固定因子”的计算相对固定的分组策略具有较明显的优势。
为了达到增强分组稳定性的目的,本文设计如下的“固定因子”及其计算方法。
“固定因子”是本文定义的衡量小组稳定性的一个定量指标,是影响学生最终成绩的一个因素。
前后两次分组越稳定,则固定因子越高。
(1) 每次(尤其第一次)课程设计前要明确告知学生固定分组的奖励政策,使学生们在第一次合作时就对合作者选择有一个较长远的考虑;(2) 第一次课程设计后,记录每个班级的各组分组情况;(3) 从第二次课程设计开始,在评定每门课程设计的成绩时,计算每个小组的“固定因子”,并据此对各组得分进行调整。
越是稳定的小组其“固定因子”便越高,得到的加分也就越多。
下面以某次(非第一次)课程设计为例,给出“固定因子”的初步算法。
按规定每组成员数是3~5,为了研究方便,下面以5人组为例进行说明(见图2)。
图2 固定因子计算方法说明图假定上一组的五个成员编号均为1,则本次分组会出现如图2所示的七种情况(不同的组编号以1、2、3、4、5表示)。
情况a:如果本次分组的五个成员分别来自五个不同的组,则得到的“固定因子”为B=1/5;情况b:如果本次分组中仅有两个成员来自一组,其他组员来自不同的组,则认定B=2/5;情况c:如果本次分组中有两个成员来自一组,另有两个成员来自另外一组,则得到B=3/5;情况d:如果本次分组中有三个成员来自一组,其他两个成员来自不同的组,则得到B=3/5;情况e:如果本次分组中有三个成员来自一组,另两个成员来自另外一组,则得到B=4/5;情况f:如果本次分组中有四个成员来自一组,则得到B=4/5;情况g:如果本次分组的五个成员全部来自同一个组,则得到B=5/5。
需要讨论的是情况c和情况d、情况e和情况f的取值。
本文认为,从力量抗衡的角度讲,情况d优于情况c而情况f优于情况e,因为在情况c和情况e 下发生意见分歧时更容易产生较强的抗衡。
故此,暂时不对情况c和情况d、情况e和情况f的取值进行更细的区分。
有了基础的“固定因子”,不难对每个分组进行鼓励加分,算法例如:小组最终得分=小组分数×(1+(B-1/5)×0.15) (1)可见,稳定的组(如情况f)最多可得到12%的加分鼓励。
事实上,上述“固定因子”的计算应当是累计的,如第四次课程设计时需要考虑第三、二、一次的分组情况,且这种累计应当体现“越近越重”的原则。
另外,先后两次组成员人数不同的情况下B的算法应该作适当调整。
这些研究相对较复杂,因此作为未来研究工作的内容。
3选题策略研究3.1现有的选题策略分析选题即题目的确定过程。
这一过程大多在小组形成后进行,也有的小组负责人在小组完全确立之前便已经对题目有所考虑。
目前我们学院学生的选题采用参照题目与自选题目相结合的策略。
这两种策略相互补充能够较好地满足当前每门课程设计的需求,然而我们要将四门课程设计纳入统一管理,因此需要设计更好的选题策略。
3.2鼓励“延续题目”的选题策略现有的选题策略目前能够发挥基本作用,但由于没有明确的鼓励或导向,多数小组的学生在选题过程中存在一定的盲目性。
往往是在小组成员确定后,才一起商量到底做什么题目好些。
这样,便没有全面发挥系列课程设计的积极作用。
如果某小组选择了一个很有创意的题目,他们可以在历次课程设计中延续开发并逐渐完善,甚至可能将其完全产品化或者在毕业后以此为基础创建自己的公司。
因此,我们提倡在创新基础上的“延续题目”策略。
具体指无论最初的选题来自参选题目库还是自选题目,如果某组某次课程设计能够继续做同上次课程设计相同的题目,会得到分数奖励。
我们通过定义一个延续因子C来计算奖励的大小。
具体分下列两种情况:(1) 确立新题——如果某组确定了对本组来说新的题目,可以得到老师的允许和支持,但得不到加分鼓励。
此时“延续因子”为C=1.0。
(2) 延续题目——如果某组确定继续上一次课程设计所作的题目,则会受到明显的鼓励。
延续因子设为C=1.1。
这样,小组最终得分可以由小组总分与延续因子的乘积算得。
3.3“延续题目”策略的要求显而易见,这种鼓励政策将使更多的小组在最初(前一、二次)课程设计选题时,有较长远的考虑和规划。
然而,要想使该策略发挥明显的作用,必须满足以下要求:(1) 固定分组策略的成功。
没有相对固定的分组,很难确定某组是否做了延续的题目。
可见,固定分组策略的成功是延续题目策略成功的前提;(2) 规避管理风险。
某组选择延续题目,如果教师管理不严(如不了解前后两次存在的进展和区别),该组便可能存在“原地踏步”的情况。
简单地讲,可能有某小组存在“偷懒”心理或希望拿到高分而选择此策略。
可见,运用该策略的较高风险需要规避。
(3) 严格的质量保证。
正是由于该策略的”高收益、高风险”特性,使“延续题目”策略对质量保证的要求加大。
因此,本文提出如下具体要求:要求1:创新陈述。
开题时,小组必须陈述超越上一版本的明确的、具体的、可实现的创新点。
要求2:对比文档。
结题时,由成绩评定教师对其提交的文档进行对比分析。
要求3:对比演示。
结题时,要求学生做旧系统与新系统的对比演示。
4 信息系统支撑固定分组策略有利于高效率合作的实现,延续选题策略又能够极大地激发学生们的创新、创业意识,同时固定分组策略又是延续选题策略的前提。
然而,没有一个很好构建的信息系统的支撑,上述两个策略将难以实现。
为了便于历届学生在课程设计之前进行合理的分组和充分的选题,本文提出构建基于Web的管理信息系统。
系统的基本功能结构如图3。
图3 基于Web的课程设计管理系统功能结构图其中需要说明的是,题目库管理工作相对较繁锁,除需要负责教师在每门课程设计之后进行题目的整理及筛选工作外,还需要教师定期或不定期地搜寻难度适中的、且符合当前技术发展潮流的题目供学生选择参考。
此外,分组管理具有一定难度,尤其在奖励政策制定及延续题目判断方面会有一些算法问题需要结合实践进行解决。
系统可以按照上述参考算法为每一组计算出两个鼓励因子的数值,以备该课程设计结束后教师评定各组成绩时使用。
管理系统的构建,一方面可以使上述策略得以应用,另一方面,应用过程中得到的经验积累还可以使教师进一步优化两个因子的算法,使之最大限度地发挥激励学习的作用。
参考文献[1] 秦国林. 合作学习的基本理论及其借鉴意义[J]. 黑龙江高教研究,2007,(9):116-118.[2] 张修海. 合作学习分组策略的教学与研究[J]. 辽宁师专学报(社会科学版),2006,(02):75-76.[3] 周海乾,傅锡增. 大班教学的合作学习组织方式探索[J]. 教学与管理,2002,(7):48-49.[4] 汤颖. 毕业设计立项与选题管理及其支持系统[J]. 合肥工业大学学报(自然科学版),2006,29(5):613-616.[5] 赵旦峰,李刚. 论科学选题在本科生毕业设计中的重要性[J]. 黑龙江高教研究,2006,(10):109-110.[6] 林共市. 原始性创新科学研究的选题[J]. 科学与科学技术管理,2004,(4):36-39.。