第一篇:2010版030551007软件工程课程设计教学大纲
《软件工程课程设计》教学大纲
课程编码:030551007 学时/学分:2周/4
一、大纲使用说明
本大纲根据计算机科学与技术专业2010版教学计划制订。
(一)适用专业
计算机科学与技术专业。
(二)课程设计性质
生产实习。
(三)主要先修课程和后续课程
1、先修课程:C语言程序设计
2、后续课程:毕业设计
二、课程设计目的及基本要求
软件工程课程设计是软件工程的配套课程,是软件工程课程的后继教学环节,是一个重要的、不可缺少的实践环节。通过分析、设计和实现一个小型应用软件,进行一个从软件问题定义、需求分析、设计、编码、测试等软件开发全过程的训练,使学生能够针对具体软件工程项目,全面掌握软件需求分析、软件概要设计、软件详细设计、软件测试等阶段的方法和技术。
通过实践,让学生了解和掌握软件项目整体开发方法,并掌握在开发过程的不同时期所使用的具体方法及各种文档描述工具。要求学生具有较强的独立分析、设计、编程及测试能力,具有良好的程序设计风格,并能形成完备的软件开发文档。
三、课程设计内容及安排
软件工程课程设计学时为2周,采取集中方式,安排在授课完成后进行。学生每2-5人成立一个开发小组,自由组合,共同完成一个设计题目。每组选出小组项目负责人,并对小组成员按任务进行分工。每个小组在教师的指导下以软件设计为中心,独立地完成从需求分析、软件设计、编码到软件测试运行的软件开发全过程,并完成相应的文档。
具体安排如下:
第一阶段(1-2天):需求分析。
准确地了解需要解决的问题,分析系统的可行性,建立系统的数据模型(ER图)、功能模型(DFD图)和行为模型(状态图),并生成相关文档。
第二阶段(2-3天):概要设计。
分析、细化系统的数据流图,确定其类型并映射出软件体系结构,结合实际情况对结果加以优化,同时生成相关文档。
第三阶段(2-3天):详细设计。
完成数据库设计、界面设计和模块内部算法设计,用过程设计工具(如程序流程图、PAD图、N-S图等)描述算法过程。
第四阶段(3-4天):编码和测试。
选定编程语言,根据算法编写代码。采用综合测试策略对代码进行测试,先用黑盒测试法进行单元测试,再用白盒测试法进行系统测试。制订完善的测试计划,并记录测试用例和结果。对发现的错误可采用蛮干法、回溯法、原因排除法等基本方法进行调试。
第五阶段(1-2天):撰写报告。整理各阶段文档,完成课程设计报告。
四、指导方式
课程设计期间,指导教师进行全程指导,随时解答学生的疑问。
五、课程设计考核方法及成绩评定
课程设计完成后,统一安排答辩,并且每人提交一份软件工程课程设计报告。教师将根据学生的程序运行情况、答辩水平、报告的质量及平时的学习态度、出勤情况进行综合考核并给出最终成绩。
六、课程设计教材及主要参考资料
《软件工程导论(第5版)》,张海藩编,清华大学出版社,2008.2 《软件工程面向对象和传统的方法(第7版)》,Stephen R.Schach编,邓迎春译,机械工业出版社,2007.8 《UML系统建模与分析设计课程设计》,刁成嘉编,机械工业出版社,2008.1 《软件工程实验教程》,窦万峰编,机械工业出版社,2009.5
编写人:祁燕 关启学 王纪
审核人:姜学军 批准人:张焕君
第二篇:软件工程课程设计教学大纲
专业实践教学大纲
《软件工程课程设计》教学大纲
英文名称
课程代码:
学分:1 分
执笔人:金霜 审定人:
一、前言
《软件工程课程设计》是一个综合的设计性实验,是在学习完核心课程《软件工程》后,对《软件工程》所学内容的一次综合运用;旨在使学生进一步掌握软件工程的方法和技术,树立团队合作精神,培养学生的自主学习能力和创造性的工程设计能力,提高综合分析和解决问题的能力。
二、教学大纲
1、目的要求
《软件工程》是一门理论性和实践性非常强的课程,学生仅仅通过课堂获取知识是远远不够的,必须加强实践教学,利用具有实际工程背景的软件设计题目,和软件工程设计工具(rose、viso),培养学生对软件系统的需求分析、系统分析、软件测试能力。初步掌握系统分析、系统设计、系统测试的方法,让学生掌握软件工程设计工具(rose、viso)使用方法。
2、主要内容
(1)项目可行研究
☆ 成立项目小组,六人一组,其中4名开发人员,2名测试人员,并选定项目组长一名。
☆ 项目组长召集小组成员选择设计项目
项目可由老师指定,也可以学生自选后报老师审核。
☆ 项目组长召集成员进行项目可行性研究,确定项目的大小、范围和复杂程度等。☆ 确定任务进度、分工和完成项目设计的工具。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《项目可行性研究》部分。(2)需求分析
☆ 根据项目的大小、范围和复杂程度等情况,由全体组员共同完成项目的需求分析,包括项目功能、项目运行环境、项目开发环境、项目角色等。
☆ 使用软件工程设计工具绘制项目总功能图、总用例图,并进行文字阐述。☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《需求分析》部分。(3)系统概要设计
☆ 项目组长根据需求分析,进行任务分工,由开发人员进行系统概要设计
☆ 开发人员根据自己所分的模块任务,对模块的功能和参与者进行详细阐述,使用软件工程设计工具,绘制模块用例图
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统概要设计》部分。
(4)系统详细设计
☆ 开发人员根据自己所分的模块的概要设计,进行详细设计
☆ 开发人员对自己所分模块的实现流程进行阐述,并使用软件工程设计工具,绘制类图、活动图(或者是状态图,二选一)。
☆ 组长绘制项目的ER图。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统详细设计》部分。
(5)系统测试计划
☆ 根据系统需求分析,由测试人员共同完成测试计划编写。
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《测试计划》部分。(6)系统功能测试用例设计
☆ 组长根据测试需求分析,对测试人员进行任务分工。☆ 测试人员根据任务分工,绘制自己所分模块的实现顺序图。☆ 测试人员根据自己所绘制的顺序图,进行系统功能测试用例设计
☆ 按照《软件工程课程设计报告》的格式要求,完成报告中的《系统功能测试用例设计》部分。
(7)答辩(根据进度可选)
☆ 将各部分文档进行整合,完成《软件工程课程设计报告》
☆ 制作PPT,答辩时间5分钟,提问3~5分钟。(8)课时安排参考 ☆ 项目可行研究、需求分析4学时
☆ 系统概要设计、系统详细设计(系统测试需求分析、系统功能测试用例设计)8学时 ☆ 答辩4学时
三、成绩考核与评定
成绩考核由以下几部分组成:
(1)平时考勤占10%。
(2)设计表现占20%。组员的设计表现成绩由组长提供;组长的设计表现成绩由老师根据小组整体完成情况给于。
(3)答辩表现占20%,若没有答辩环节,以考勤分代替。(4)文档完成情况占50%。
成绩评定实行优、良、中、及格、不及格五个等级。
四、重点说明执行本大纲应注意的问题
1、严格审核学生所选项目,提倡项目的新颖性和实用性。
2、严格审核学生的需求分析和任务分工,确保每个学生有足够的工作量。
3、严格考勤,迟到15分钟之内算迟到,迟到2次算旷课1次;迟到15分钟以上算旷课。旷课2次,成绩即为不及格
4、允许学生上网查资料,但严格控制学生不得上网进行玩游戏、看电影等与课程设计无关的活动。
5、答辩主要围绕项目设计的合理性和可实现性提3-5个问题,根据学生回答情况,确定答辩分数。
6、审核文档,允许学生有所借鉴,但不得完全抄袭,一旦发现,以0分计。
附:教学参考书目(添加教材信息)
1、《软件工程》(第4版)人民邮电出版社
张海藩
2、《软件工程概论》 清华大学出版社
郑人杰、殷人昆
3、《软件工程课程设计大纲》由老师提供
4、《软件工程课程设计报告》由老师提供
5、《UML系统建模与分析设计课程设计》 机械工业出版社 刁成嘉、刁奕
6、《Rose工具使用方法参考》由老师提供
第三篇:《软件工程课程设计》教学大纲
《软件工程课程设计》教学大纲
英文名称: Software Engineering Course Design
学分:3 适用专业:
参考学时:
3周
实验学时: 3周 070472 课程编码:
上机学时:
计算机科学与技术(专升本)
大纲执笔人:
一、课程目标
系(教研室)主任: 李震
《软件工程课程设计》是实践性教学环节之一,是《软件工程》课程的辅助教学课程。通过课程设计,使学生掌握软件工程的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本过程,将理论与实际相结合,应用现有的CASE工具和软件开发文档规范,完成一个基于数据库的应用系统(DBAS)的设计与实现,把理论课与实验课所学内容进行综合,并在此基础上强化学生的实践意识、提高学生的综合运用能力和创新能力。
通过本课程学习,使学生掌握软件开发的基本概念、软件开发技术和流程;独立完成所有程序、文档的编写和调试工作;开发一套基于C/S或B/S结构的基于数据库的应用系统。形成数据库设计开发的基本能力;提高综合运用理论知识解决实际问题的能力。
二、基本要求
1、课程设计要求学生按项目分组进行,每个项目组由10人左右组成,可根据分组情况分别担任项目经理、技术经理、软件工程师、测试工程师、配置管理员、数据库管理员等角色。
2、在规定的时间内完成1个小型项目的计划、需求分析、设计、编码、测试和交付的全过程,要求按照软件企业的正规开发流程组织实施,并按照给定的文档规范标准撰写相关文档。
3、每组完成一个项目,题目可为学生信息管理系统、图书管理系统、在线考试系统、网上购物系统、超市管理系统等,也可自拟题目,但要经教师审核。
4、项目实训集中在机房进行,每天考勤,学生每天填写工作日志,每周进行周总结。
三、教学内容与学时分配建议
1、实训内容
(1)选题并制定项目开发计划
1天 由学生自愿或推荐选出项目经理,并成立项目小组,项目经理召集小组成员根据教师提供的题目进行选题,也可自由命题但要经教师审核通过。
针对所选项目讨论开发计划,明确项目的大小、范围、复杂度等,进行任务分解与任务分配,确定任务进度,确定完成项目的环境和工具,由项目经理完成《项目开发计划》。
(2)需求分析
2天
对系统的功能及性能需求进行分析,在项目组内答辩评审后,由任务承担人完成《需求规格说明书》。
(例如采用面型对象的方法进行需求分析,用Rational Rose工具进行UML建模。测试负责人组织书写测试用例。)
(4)概要设计
1天
在项目小组成员的配合下,任务承担人完成项目的初步设计任务,进行答辩评审后完成《概要设计说明书》。
(5)详细设计
3天
项目小组确定系统总体设计方案,建立软件系统的体系结构,并进行总体设计的答辩式评审,然后项目小组成员分工进行详细设计和界面设计,期间应建立数据库、表等,任务承担人完成《详细设计说明书》。
(6)编码及测试
7天
根据前期分析和设计工作进行代码的编写工作,要求给出详细的注释,包括:模块名,模块功能,中间过程的功能,变量说明等。
所有测试过程都要求采用综合测试策略;先作静态分析,再作动态测试。应事先制订《测试计划》,并要求保留所有测试用例,完成《测试分析报告》。
(7)项目交付、总结
1天
在全班范围内教师组织项目评审,项目经理完成项目开发总结报告。
2、提交内容
项目组按照软件工程文档模板要求提交以下文档的打印稿和电子稿:项目开发计划、需求规格说明书、概要设计说明书、详细设计说明书、编码清单(部分或全部)、测试计划、测试分析报告(部分任务)、项目开发中介报告。文档中必须注明完成者(签名)和完成日期。
每位同学要提交工作日志和周总结,需要项目经理签字。
项目经理提供本项目组的任务分工,及本项目组的成员工作评定,小组成员签字。
3、成绩评定 本次实训必须提交正式的针对特定项目的完整的设计文档和报告书。软件综合实训的成绩评定实行优秀、良好、中等、及格和不及格五个等级。优秀者人数一般不得超过总人数的20%。
四、教材及主要参考资料
[1] 史济民,顾春华,郑红.软件工程-原理、方法与应用[M].北京:高等教育出版社,2009.3.[2] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000.2.[3] 肖瑞奇.Dreamweaver CS5制作网页[M].北京:人民邮电出版社,2010.7.[3] 吴晨,张亮,张静.ASP.NET+SQL server 数据库开发与实例[M].北京:清华大学出版社,2006.8.请根据项目情况,修改和补充其它参考资料。
第四篇:软件工程课程设计
软件工程课程设计实验心得
经过一个星期的软件工程课程设计,本人在老师的指导下,顺利完成该课程设计。通过该课程设计,收获颇多。
一、对实验原理有更深的理解
通过该课程设计,掌握了什么是软件程序,软件程序工作的基本过程及其各阶段的基本任务,熟悉了软件程序总流程框图,了解了软件程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,课本上的知识师机械的,表面的。通过把该算法的内容,算法的执行顺序在计算机上实现,把原来以为很深奥的书本知识变的更为简单,对实验原理有更深的理解。
二、对该理论在实践中的应用有深刻的理解
通过把该算法的内容,算法的执行顺序在计算机上实现,知道和理解了该理论在计算机中是怎样执行的,对该理论在实践中的应用有深刻的理解。
三、激发了学习的积极性
通过该课程设计,全面系统的理解了软件工程程序构造的一般原理和基本实现方法。把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的软件工程的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过
自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对软件工程的认识更加深刻。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。在这次课程设计中,我就是按照实验指导的思想来完成。加深了理解文件系统的内部功能及内部实现,培养实践动手能力和程序开发能力的目的。
四、理解了该知识点以及学科之间的融合渗透
本次课程设计程序部分是用C语言编写的,把《计算机操作系统》,《软件工程》,《算法分析与设计》《C语言》四门学科联系起来,把各个学科之间的知识融合起来,把各门课程的知识联系起来,对计算机整体的认识更加深刻。使我加深了对《计算机操作系统》,《软件工程》,《算法分析与设计》《C语言》四门课程的认识。
第五篇:《软件工程》教学大纲
《软件工程》教学大纲
《软件工程》教学大纲 课程编号及名称:040112软件工程 2 教学目的与要求:
软件工程是计算机科学与技术专业开设的一门专业必修课,是指导计算机软件开发与维护、培养学生计算机软件开发与应用综合能力的一门综合性课程。学生通过本课程的学习与课程实践,应能了解软件项目开发和维护的一般过程,掌握软件开发的基本原理和技术,掌握现代化的软件开发方法和步骤,为今后从事软件开发打下坚实基础。3学时学分:
总学时48学时,总学分3。其中授课40学时,实验8学时。4 先修课程的要求:
数据结构、C语言程序设计、面向对象的程序设计、数据库系统原理 教材与教学参考书目:
[1]
选用教材:《软件工程(第二版)》齐治昌,高等教育出版社 [2] 《软件工程导论》(第四版)张海藩编著,清华大学出版社 [3] 《实用软件工程》(第二版)郑人杰编著,清华大学出版社 [4] 《软件工程技术概论》朱三元 等编著,科学出版社 [5] 《现代软件工程》(上、中、下)周之英 编著,科学出版社 [6] 《面向对象的系统分析》 邵维忠 杨芙清 著,清华大学出版社 [7] 《软件测试》(美)Ron Patton 著,周予滨 等译,机械工业出版社 [8] 《System Analysis and Design Methods, fifth Edition》,Jeffrey L.等著,高等教育出版社
[9] 《能力成熟度模型(CMM):软件过程改进指南》,SEI编著,刘孟仁 等译,电子工业出版社
[10] 《软件测试自动化技术与实例详解》,Mark Fewster & Dorothy Graham 著,舒智勇等译,电子工业出版社
[11] 《软件工程》第二版 王立福等编著,北京大学出版社 [12] 《UML参考手册》Ivar Jacobson,James Rumbaugh,Grady Booch著,姚淑兰、唐发根译,机械工业出版社 [13] 刘超编,《可视化面向对象建模技术--标准建模语言UML》,北航出版,1999年7月第一版 6 课程主要内容:
软件危机与软件工程;软件、软件工程过程与典型的软件工程过程模型;与瀑布模型、演化模型等相对应的软件开发方法;面向对象的开发方法等。
(一)绪论(2学时)
软件危机与软件工程概念;软件工程过程及其典型开发模型;软件开发应遵循的基本原则;软件质量评价与软件度量等
(二)可行性分析与需求分析(6学时)
可行性研究的任务、种类与方法;软件需求及需求分析的任务、意义;需求获取技术;结构化分析技术
(三)系统设计(6学时)
系统设计的阶段与任务;模块独立、内聚与耦合概念;结构化设计方法;Jackson方法;详细设计工具
(四)系统编码(2学时)
软件实现;开发工具选择的原则;软件编程的风格与规范
(五)系统测试(4学时)
《软件工程》教学大纲
软件测试的概念、任务与原则;软件测试的阶段及过程管理;软件测试方法及方案设计;软件调试;软件测试自动化;软件可靠性研究
(六)系统运行及维护(2学时)
系统交付使用的方式及相关工作;软件维护的种类与相关概念;软件维护的实施过程与责任分工;提高软件可维护性的技术
(七)原型开发方法(6学时)
传统开发方法的问题;原型概念;原型开发方法及其支撑条件
(八)面向对象的软件工程开发方法(8学时)
面向对象方法概述及其优势;面向对象的分析方法;面向对象的设计方法;统一建模语言UML; 软件复用
(九)软件项目管理与质量保证(4学时)
软件项目管理概述;软件项目规划与估算;软件项目风险管理;软件项目的组织与进度计划;软件配置管理概述、配置管理的内容与工具;软件质量保证与软件过程能力成熟度模型CMM 教学内容重点:软件工程过程与典型的软件工程过程模型;软件开发应遵循的基本原则;结构化分析与设计技术;原型开发方法;面向对象的分析与设计方法
教学内容难点:结构化分析与设计技术;面向对象的分析与设计方法 7 实验教学安排:
在结构化分析方法、结构化设计方法与Jackson方法、原型开发方法、面向对象的软件工程开发方法教学过程中安排3-4次实验活动,要求学生认真完成。8 课程考核方式:
由于本课具有实践性强的特点,建议采用大作业平时成绩与结课考试相结合的方法综合评定学生成绩。本课特点及教学中应注意的问题:
本课特点:
1、实践性强;
2、表面理解显得较易,切实掌握非常困难。针对以上特点,教学过程中应极为重视实践环节的指导与检查,要求学生认真完成实践活动,以求学得扎实、深刻。